背景
baichuan-7B 是由百川智能开发的一个开源可商用的大规模预训练语言模型。
基于 Transformer 结构,在大约1.2万亿 tokens 上训练的70亿参数模型,支持中英双语,上下文窗口长度为4096。
在标准的中文和英文权威 benchmark(C-EVAL/MMLU)上均取得了同参数规模下的最好效果。
baichuan-7B的优点
- 在同尺寸模型中baichuan-7B达到了目前SOTA的水平。
- baichuan-7B使用自有的中英文双语语料进行训练,在中文上进行优化,在C-Eval达到SOTA水平。
- 不同于LLaMA完全禁止商业使用,baichuan-7B使用更宽松的开源协议,允许用于商业目的。
数据收集
- 原始数据包括开源的中英文数据和自行抓取的中文互联网数据,以及部分高质量知识性数据。
- 参考相关数据工作,频率和质量是数据处理环节重点考虑的两个维度。 我们基于启发式规则和质量模型打分,对原始数据集进行篇章和句子粒度的过滤。在全量数据上,利用局部敏感哈希方法,对篇章和句子粒度做滤重。
模型结构
整体模型基于标准的 Transformer 结构,采用了和 LLaMA 一样的模型设计。
-
位置编码:rotary-embedding
是现阶段被大多模型采用的位置编码方案,具有更好的外延效果。虽然训练过程中最大长度为4096,但是实际测试中模型可以很好的扩展到 5000 tokens 上,如下图:
-
激活层:SwiGLU, Feedforward 变化为(8/3)倍的隐含层大小,即11008。
-
Layer-Normalization: 基于 model.baai.ac.cn/model-detai…) 仅做参考
英文榜单
除了中文之外,也测试了模型在英文上的效果。