百川智能开源大模型baichuan-7B剖析

来自:吃果冻不吐果冻皮

进NLP群—>加入NLP交流群

baichuan-7B 主要是参考LLaMA进行的改进,且模型架构与LLaMA一致。而在开源大模型中,LLaMA无疑是其中最闪亮的星,但LLaMA存在如下问题:

  • LLaMA 原生仅支持 Latin 或 Cyrillic 语系,只使用了少量中文数据集进行训练,因此,对于中文支持不是特别理想。

  • 原版LLaMA模型的词表大小是32K,仅有少量中文词,对于中文的解码效率较低。

baichuan-7B的改进如下:

效果改进:用于提升模型的效果以及解码效率。

  • 分词改进:词表大小为64K(使用2000万条以中英为主的多语言语料训练分词模型,显著提升对于中文的压缩率),而LLaMA词表大小为32K。

  • 数据集改进:使用了大约 1.2T 中英 tokens 进行训练(基于开源的中英文数据和自行抓取的中文互联网数据以及部分高质量知识性数据进行的数据清洗),而 LLaMA 7B 使用 1T 英文 tokens 进行训练。

技术改进:用于提升训练稳定性和吞吐量。

  • 算子优化技术:采用更高效算子,如 Flash-attention,NVIDIA apex 的 RMSNorm 等。

  • 算子切分技术:将部分计算算子进行切分,减小内存峰值。

  • 混合精度技术:降低在不损失模型精度的情况下加速计算过程。

  • 训练容灾技术:训练平台和训练框架联合优化,IaaS + PaaS 实现分钟级的故障定位和任务恢复。

  • 通信优化技术,具体包括:

    • 采用拓扑感知的集合通信算法,避免网络拥塞问题,提高通信效率。

    • 根据卡数自适应设置 bucket size,提高带宽利用率。

    • 根据模型和集群环境,调优通信原语的触发时机,从而将计算和通信重叠。

此外,该模型开源可商用,也算是一个优势吧。

可以看到,现在的大模型,从算法层面改进的空间似乎很小了,更多的是从工程和数据层面上进行改进从而来提升其性能。

最后,希望国产大模型越来越好~~


进NLP群—>加入NLP交流群

猜你喜欢

转载自blog.csdn.net/qq_27590277/article/details/131266726