赞
踩
从ChatGPT火爆出圈到现在纷纷开源的大语言模型,众多出入门的学习者以及跃跃欲试的公司不得不面临的是开源大语言模型的选型问题。
基于开源商业许可的开源大语言模型可以极大的节省成本和加速业务迭代。
当前(2023年11月17日)开源的大语言模型如下:
模型 | 所属公司 | 发布时间 | 开放模型 | 许可 | 词表大小 | 语料 | Huggingface下载量 | 模型结构 | 位置编码 | 激活函数 | 隐变量维度dimension | 自注意力头的个数n heads | 层数n layers | 输入序列长度sequence length | 训练时长 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LLaMA-2 | Meta | 2023年8月 | 7B 13B 70B | 允许商用,月活超7亿需向Meta申请许可 | 32000 | 2.0T | 70B-chat下载量1.69M,变种还有若干 | Casual decoder | RoPE | SwiGLU | Pre RMS Norm | 7B 4096, 13B 5120, 70B 8192 | 7B 32, 13B 40, 70B 64 | 7B 32, 13B 40, 70B 80 | 4096 | A100 7B 184320, 13B 368640, 70B 1720320 |
baichuan-2 | 百川智能 | 2023年9月6日 | 7B 13B base/chat | 代码Apache 2.0,模型非商用 | 125696 | 2.6T | 1-7B 95.5k,2-13B 40.8k, 2-7B 20.5k | Prefix decoder | RoPE | GeGLU | Post Deep Norm | 7B 4096, 13B 5120 | 7B 32, 13B 40 | 7B 32, 13B 40 | 4096 | |
ChatGLM3 | 智普 | 2023年10月 | 6B | 填问卷登记后允许免费商业使用 | 65024 | 1.5T左右中英 | 8k | Casual decoder | RoPE | SwiGLU | Post Deep Norm | 4096 | 32 | 28 | 8192 | |
千问 | 阿里 | 2023年8月 | 7B 14B | 允许商用,超过1亿用户机构需申请 | 151936 | 7B 2.4T,14B 3.0T | 25k | Casual decoder | RoPE | SwiGLU | Pre Layer Norm | 4096 | 32 | 32 | 8192 | |
Bloom | BigScience | 2022年7月 | 560M 1.1B 1.7B 3B 7.1B | 允许商用 | 250880 | 366B | 125M | Casual decoder | ALiBi | GeLU | Pre Layer Norm | 4096 | 32 | 30 | 2048 |
还有很多其他的开源中英大语言模型,但基本都有Llama的影子,有些是直接扩充Lllama的词汇再用新的数据集重新训练,这些大语言模型包括Chinese-LLaMA-Alpaca-2、OpenChineseLLaMA、Panda、Robin (罗宾)、Fengshenbang-LM等,这里就不一一列出了。
和信息大爆炸一样,模型也是呈现大爆炸的态势,如何选择一个合适自己/公司业务场景的基座大模型就显得十分重要,模型选择的好,至于训练方法和一些训练技巧以及超参设置都不那么重要,相对而言数据工程确是相对重要的。一个模型的选择需要结合自身的目的和资源决定。
从模型到落地,涉及到方方面面的东西,相对而言模型公司也注意到了,所以开源模型也会附带一些Agent等支持。选择模型第一要考虑的是license问题,如果是学习目的,那么几乎所有开源的大语言模型都可以选择,结合算力和内存资源选择合适参数量的模型即可,如果是蹭免费GPU的,建议选择7B及以下的模型参数。
如果是商用目的的建议选择70B及以上的模型,个别很窄的垂直领域也可以考虑30B左右的,甚至是7B的参数,如果是端上智能,考虑7B参数量。
10B以内的中英模型,建议选择chatglm3-6B(生态工具支持也挺好,性能在10B里中英文很不错,上下文长度基座有8k,长上下文大32k)以及llama-2的变种(LlaMA-2生态很好,工具很多)模型。算力有限的学生建议选择Bloom 1.1B模型。
chatglm和LlaMA-2在模型有些差异,关于mask和norm的差异性区别如下。
mask机制是用于Transformer模型self-attention机制中的技术,用以控制不同token之间的注意力交互。有两种类型的mask:padding mask和sequence mask。
post layer norm。在原始的transformer中,layer normalization是放在残差连接之后的,称为post LN。使用Post LN的深层transformer模型容易出现训练不稳定的问题。post LN随着transformer层数的加深,梯度范数逐渐增大,导致了训练的不稳定性。
pre layer norm。将layer norm放在残差连接的过程中,self-attention或FFN块之前,称为“Pre LN”。Pre layer norm在每个transformer层的梯度范数近似相等,有利于提升训练稳定性,但缺点是pre LN可能会轻微影响transformer模型的性能,为了提升训练稳定性,GPT3、PaLM、BLOOM、OPT等大语言模型都采用了pre layer norm。
x R M S ( x ) ⋅ γ , R M S ( x ) = 1 d ∑ i = 1 d x i 2 \frac{\mathbf x}{RMS(\mathbf x)} \cdot \gamma, RMS(\mathbf x)=\sqrt{\frac{1}{d}\sum_{i=1}^dx_i^2} RMS(x)x⋅γ,RMS(x)=d1i=1∑dxi2
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。