微信扫码
与创始人交个朋友
我要投稿
“ 在当今的人工智能领域,开源基座大模型的角色日益重要 。本文会对主流开源大模型进行对比分析,并尝试探讨开源基座大模型选型的因素。给领域落地一些参考。”
Key Takeaways:
1 从数据、Tokenizer、模型架构对比不同qwen、deepseek、llama、yi等模型
2 尝试思考存在哪些开源大模型选型因素供读者参考
3 2024-06-09腾讯文档新增Qwen2、GLM4数据
01
—
开源的时代
本文对比的模型仅截至2024-06-09(因为Qwen2和GLM4的出现,本文重新更新,不得不说,开源模型如此繁荣,是这一阶段技术从业者最大的幸运!)。内容也同步更新至:
02
—
开源大模型对比之:Data&Tokenizer
对于开源大模型的数据和预处理来说,一般我们会关注如下的一些维度;
预训练数据:训练数据的数量、质量与多样性,是模型泛化能力的保障,唯有“吃得好”,模型方能“长得壮”;一般我们需要关注基座模型的数据量有几个T、数据来源、数据处理方式等;除了数据本身的处理之外,预训练的策略也很重要,arxiv/2309.14316 Physics of Language Models: Part 3.1, Knowledge Storage and Extraction这篇论文关于提升预训练基座模型效果中建议在预训练阶段就引入更多的指令微调数据,而不是将所有问答数据推迟到微调阶段。这有助于模型更有效地编码知识,能够获得更好的模型泛化能力。这个做法在Qwen技术报告中就有提及。
多语言支持:数据本身的训练语言决定了其所能投入使用的应用边界。对于我们来说,一般会考虑中文及多语言的应用场景效果
词表大小:模型的词汇表大小是其语言理解的基石,一个丰富的词汇库,会极大地扩展模型的表达能力,同时能减少推理时所需token数。
Tokenizer算法: 主流分词算法基本都采用BPE,工具使用google的SentencePiece或Openai的tiktoken。GLM4也由SentencePiece更新为Tiktoken了,只能说都在靠着OpenAI这个标杆对齐。
最大训练长度:能处理的最大序列长度,直接关系到模型处理长文本的能力,对于需要处理长文本的任务尤为重要。
这里将Qwen、LlaMa、Baichuan、Deepseek、Yi等各参数的模型结果进行了对比汇总。
明细及后续更新见前述腾讯文档。
03
—
开源大模型对比之:Architecture
一、Transformer decoder整体结构如下,以LLaMa3-8B为例
二、模型架构的重要性
从MHA到GQA,对于效率的提升有多少?
LLaMa2对比了MQA、GQA、MHA的效果,发现在效果不降很多的情况,GQA可以获得更好的性能。所以LLaMa2的34B和70B规模的模型选择了GQA。
从MHA到MLA,对于性能的提升有多少?
GatedMLP对于知识的存储效果相比正常常规MLP的效果有多少?
有篇研究大模型知识容量的论文arxiv/2404.05405 Physics of Language Models: Part 3.3, Knowledge Capacity Scaling Laws比较了GPT-2、LLaMA和Mistral等不同模型架构,发现在充分训练下,它们都接近于2比特/参数的容量比率。论文通过对比实验发现,在1000次曝光的条件下,所有模型(包括使用GatedMLP的LLaMA/Mistral和使用标准MLP的GPT-2)都能达到大约2比特/参数的知识存储比率。然而,在训练次数较少(如100次曝光)的情况下,GatedMLP的性能下降更为明显。进一步说明网络架构的重要性。
三、重要元素
对于开源大模型的架构来说,一般我们会关注如下的一些维度;
位置编码:
现在基本清一色的Rope了 ,建议查阅 https://kexue.fm/archives/8265
注意力机制:MHA、MQA、GQA、MLA
https://kexue.fm/archives/10091 从标准多头注意力到更大尺寸模型的GQA和MLA,这一部分基本是为了不丢效果情况下的性能优化
Pre-RMSNorm
Pre和Post的区别在于归一化是在残差之前还是在残差之后。
https://kexue.fm/archives/9009 中对pre推导发现pre其实是在增加模型的宽度,会损失效果,Post增加深度效果会更好。但《On Layer Normalization in the Transformer Architecture》这篇文章又显示了PreNorm更加容易训练。目前业内的各种模型如qwen、llama、mistral、deepseek等大厂又无一例外的都是PreRMSNorm,也很难得出结论说在更较大模型下的norm方式选择的差异性。所以这个问题上可以先了解其原理再观望分析看看。
RMSNorm移除了Mean的计算:
简化计算的同时减少了模型的计算量。
激活函数swiglu
Activation Function:这关系到模型对于信息的筛选,选择ReLU、GELU、Swish等不同的激活函数,会对模型产生不小影响。
注意力隐藏层维度、全连接隐藏层维度 :
Intermediate Size:中间层的大小影响模型的学习和复杂度,一个恰到好处的中间层,能够使模型既不过于简单,也能较为高效。
Hidden size决定了模型内部表示的丰富程度。更大的hidden size可以捕获更复杂的特征和模式,但同时也会增加模型的参数量和计算负担。
这里将Qwen、LlaMa、Baichuan、Deepseek、Yi等各参数的模型结果进行了对比汇总。
明细及后续更新见前述腾讯文档。
04
—
开源大模型对比之:领域落地选型因素
一、领域落地选型的探讨
一些选型因素整理如下:
二、Base版本、Instruct版本和Chat版本的考量
Base版本只是做了Next token prediction的预测,相当于纯粹是学习下一个词,用于下游任务一般会通过In Context Learning实现。Instruct一般会遵循特定的指令,代表听话能力。Chat版本会对多轮对话做针对性的优化,对齐helpful、harmnless、honest保证模型对人类有益,由于可能会和基座模型有知识冲突,会有对齐税问题。Base版本一般来说会被认为是最强的模型,因为其包含了最原始的知识储备,没有对齐税,所以对于下游的应用来说,很多时候会基于此版本进行训练。通常来说会加入通用的指令微调数据调整比例进行训练以减少灾难遗忘以获取最高的性能。
在去年2023年,指令微调的数据和方法都在发展探索阶段,发展到2024年, 这些工作已经很多了,诸如多任务指令微调、Rejection Sampling拒绝采样、DPO、SimPO等Reward Free、PPO等Reward model based、在线模型合并(Qwen2提出在线DPO)等算法发展非常迅速,都在试图减少对齐税。
所以现在很多生成能力很强的Chat模型,不仅解决了指代消解、上下文省略等问题,更尽可能的保留本身知识能力,在很多生成任务如摘要、RAG问答、领域多轮对话可以优先使用。在依赖知识储备的分类和匹配等非生成类问题上,Base模型不失为是一个更好的选择。
05
—
总结
总而言之,选择合适的基座大模型绝非易事,它需要综合考量众多因素。绝不只是只看最新最热图个热闹,即便选择了最热门的,也要尝试去理解,为什么他们做的这么好,可能不是每个人都会去做基座模型的预训练,但理解强基座模型的实现细节,有利于下游的应用开发。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-05-06
2024-07-25
2024-08-13
2024-06-12
2024-07-11
2024-06-16
2024-07-20
2024-09-20
2024-06-15
2024-06-06
2024-12-20
2024-12-19
2024-11-22
2024-11-19
2024-11-13
2024-11-13
2024-10-07
2024-09-22