题目
基于 Llama 的模子都有哪些?有什么细微的差别?
Llama 生态
如今的模子架构根本都是 Llama 了。即使本来也有一些本身独创的结构,但是随着 Llama 生态环境的日趋同一,也都被迫向 Llama 低头了,不然没人适配你的特殊架构,自然就不带你玩了。比如 GLM 之前属于 Prefix LM,但是如今也酿成 Llama 类似了。
虽然大家都长的很像,但是细微之处还是有些不太一样。今天就聊聊跟 Llama 很像的模子之间的细微差别。
Llama 目前有3代,先看一下 Llama 本身的变革,然后再以 Llama 为基准看一下其他模子与 Llama 的不同。
Llama 1 2 3
Llama 1
Llama 1 的架构是基于 GPT 来的,做了如下的升级:
- 采用了 Pre-RMSNorm
- 把 Gelu 改成了 SwiGLU
- 位置编码改成了 RoPE
需要注意的是,这些内容都不是 Meta 首创的,但是 Meta 的 Llama 团队将他们组合到了一起而且取得了开源的 SOTA 结果。至于闭源的,那肯定早都用了。
其结构如下所示(Llama 7B):
- LlamaForCausalLM(
- (model): LlamaModel(
- (embed_tokens): Embedding(32000, 4096, padding_idx=0)
- (layers): ModuleList(
- (0-31): 32 x LlamaDecoderLayer(
- (self_attn): LlamaAttention(
- (q_proj): Linear(in_features=4096, out_features=4096, bias=False)
- (k_proj): Linear(in_features=4096, out_features=4096, bias=False)
- (v_proj): Linear(in_features=4096, out_features=4096, bias=False)
- (o_proj): Linear(in_features=4096, out_features=4096, bias=False)
- (rotary_emb): LlamaRotaryEmbedding()
- )
- (mlp): LlamaMLP(
- (gate_proj): Linear(in_features=4096, out_features=11008, bias=False)
- (up_proj): Linear(in_features=4096, out_features=11008, bias=False)
- (down_proj): Linear(in_features=11008, out_features=4096, bias=False)
- (act_fn): SiLU()
- )
- (input_layernorm): LlamaRMSNorm((4096,), eps=1e-06)
- (post_attention_layernorm): LlamaRMSNorm((4096,), eps=1e-06)
- )
- )
- (norm): LlamaRMSNorm((4096,), eps=1e-06)
- (rotary_emb): LlamaRotaryEmbedding()
- )
- (lm_head): Linear(in_features=4096, out_features=32000, bias=False)
- )
复制代码 Llama 2
Llama2 和 Llama1 结构根本类似,但是在更大的模子上(34B和70B) 采用了 grouped-query attention,主要是为了加速。
还有就是将上下文从 2048 扩展到了 4096.
Llama 3
Llama3 做了如下改变
- GQA 酿成标配。
- 上下文 从 4096 扩展到了 8192
- 词表大小从 32k 酿成了 128k。前两代都是基于 SentencePiece 的,Llama 3 直接采用了 Openai 的 tiktoken。因为 tiktoken 用 rust 进行了底层的深度优化,服从比其他家要好许多。
Baichuan 系列
Baichuan 1
Baichuan 1 可以说是完全复用了 Llama 1 的架构。把权重的名字改一改可以完全用 baichuan 的代码来加载 llama 的权重。具体怎么修改的代码放在付费内容了,感兴趣可以看看。
有如下的差别:
- llama 的 qkv 三个权重矩阵,在 baichuan 里酿成了一个矩阵,相当于 qkv concat 起来了。
- 扩充了 llama 的词表,参加了中文,词表大小为 64k,llama 1 为 32k。
- 上下文为 4096, llama 1 为 2048.
Baichuan 2
Baichuan 2 的架构在 Llama 2 的底子上做了一些创新。
- 在 lm_head 模块加了一个 norm,论文中说是可以提升结果
- 在 13B 的模子上采用了 Alibi 位置编码。
- 词表从 64k 扩充到了 125,696
Baichuan 3 & 4
没有开源。
Yi
yi 的架构和 llama2 一样。需要注意的是 llama2 只在更大的模子上利用了 GQA, 但是 Yi 在所有系列都用了。
在经历过一些开源协议的质疑之后,如今 yi 的模子可以用 LlamaForCausalLM 加载了。
Qwen
Qwen 1
Qwen 1 和 Llama 1 的区别如下:
- qkv 矩阵和 baichuan 类似,酿成了一个 concat 后的大矩阵。
- 这个 qkv 的矩阵有 bias,这一点和大多数模子都不一样。这是因为苏剑林的一篇文章,认为参加 bias 可以提高模子的外推本领:https://spaces.ac.cn/archives/9577
- 词表大小为:151936
- 练习的长度是2048, 但是通过一些外推手段来扩展长度。
Qwen 1.5
实在 Qwen 1.5 开始,比起 Llama 就多了许多本身的东西,只不外 Qwen 1 仍然和 Llama 很相似,所以这里也一并写一下吧。
1.5 的版本更像是在 1 的底子上做了许多扩展,重点如下:
- 扩展长度到 32K
- sliding window attention 和 full attention 的肴杂
- 32B 的模子实行了利用 GQA
- tokenizer 针对代码做了一些优化。
Qwen 2
Qwen 2 包罗了 1.5 的所有改变。和 llama 2 的区别:
- qkv 矩阵有 bias
- 全尺寸利用了 GQA
- 上下文扩展为 32K
- 采用了 Dual Chunk Attention with YARN
- 还有一点就是在同等尺寸上,Qwen 2 相对于 1.5 和 1,将 MLP 模块的 hidden size 变大了,其他模块的 hidden size 变小了。以提高模子的表达的影象本领。
- 词表又扩充了一点点。
ChatGLM
GLM 最开始的时间采用的是 Prefix LM,但是后来也都改成 Decoder Only LM 了。
所以虽然 GLM 要早于 Llama,但是最后还是和 Llama 变得很像。上面提到的实在最像 Qwen 1.
所以也说一下与 Llama 的区别:
- qkv 矩阵和 baichuan 类似,酿成了一个 concat 后的大矩阵。
- 这个 qkv 的矩阵有 bias。
MiniCPM
目前已经转战 size 略小一点的模子,也取得了很不错的结果。
我粗看其架构应该和 llama 3 差不多,区别:
- 采用了 Weight Tying
- 整体框架采用了 deep and thin 的结构。
有个细节是,我看论文里写的词表大小为:122,753, 似乎有点非主流。因为一般都需要设置成 8 大概64 的倍数。
Gemma
我要说 Gemma 是基于 Llama 的,Google 肯定是不承认的。
Google 有不承认的底气,毕竟 Transformers 是人家搞出来的, GLU 也是人家的,MQA 和 GQA 也是人家搞出来的。
终极发现 Llama 中除了 Pre-RMSNorm 和 RoPE,其他都是 Google 的结果。只能说 Google 真的是 “斗宗强者,恐怖如斯”。
但是最后的架构和 Llama 实在还是很像。区别如下:
Gemma 1
- MLP 的激活采用了 GeGLU 而不是 SwiGLU
- 采用了 MHA。但是 2 代还是换成了 GQA
- 利用了 Weight Tying
Gemma 2
- MLP 的激活采用了 GeGLU 而不是 SwiGLU
- 融合了 Local and Global Attention
- 利用了 Weight Tying
普通人如何抓住AI大模子的风口?
领取方式在文末
为什么要学习大模子?
目前AI大模子的技术岗位与本领培养随着人工智能技术的迅速发展和应用 , 大模子作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模子以其强盛的数据处理惩罚和模式辨认本领, 广泛应用于自然语言处理惩罚 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机会 。
目前,开源人工智能大模子已应用于医疗、政务、法律、汽车、娱乐、金融、互联网、教育、制造业、企业服务等多个场景,其中,应用于金融、企业服务、制造业和法律领域的大模子在本次调研中占比高出 30%。
随着AI大模子技术的迅速发展,相干岗位的需求也日益增加。大模子产业链催生了一批高薪新职业:
人工智能大潮已来,不参加就可能被淘汰。如果你是技术人,尤其是互联网从业者,如今就开始学习AI大模子技术,真的是给你的人生一个重要建议!
最后
如果你真的想学习大模子,请不要去网上找那些零零碎碎的教程,真的很难学懂!你可以根据我这个学习门路和体系资料,制定一套学习计划,只要你肯花时间沉下心去学习,它们肯定能帮到你!
大模子全套学习资料领取
这里我整理了一份AI大模子入门到进阶全套学习包,包罗学习门路+实战案例+视频+书籍PDF+面试题+DeepSeek摆设包和本事,需要的小伙伴文在下方免费领取哦,真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发
部分资料展示
一、 AI大模子学习门路图
整个学习分为7个阶段
二、AI大模子实战案例
涵盖AI大模子的理论研究、技术实现、行业应用等多个方面。无论您是科研职员、工程师,还是对AI大模子感兴趣的爱好者,皆可用。
三、视频和书籍PDF合集
从入门到进阶这里都有,跟着老师学习事半功倍。
四、LLM面试题
五、AI产品经理面试题
六、deepseek摆设包+本事大全
|