大模子面试:基于 Llama 的模子都有哪些?有什么细微的差别? ...

打印 上一主题 下一主题

主题 1426|帖子 1426|积分 4278

题目

基于 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):
  1.     LlamaForCausalLM(
  2.       (model): LlamaModel(
  3.         (embed_tokens): Embedding(32000, 4096, padding_idx=0)
  4.         (layers): ModuleList(
  5.           (0-31): 32 x LlamaDecoderLayer(
  6.             (self_attn): LlamaAttention(
  7.               (q_proj): Linear(in_features=4096, out_features=4096, bias=False)
  8.               (k_proj): Linear(in_features=4096, out_features=4096, bias=False)
  9.               (v_proj): Linear(in_features=4096, out_features=4096, bias=False)
  10.               (o_proj): Linear(in_features=4096, out_features=4096, bias=False)
  11.               (rotary_emb): LlamaRotaryEmbedding()
  12.             )
  13.             (mlp): LlamaMLP(
  14.               (gate_proj): Linear(in_features=4096, out_features=11008, bias=False)
  15.               (up_proj): Linear(in_features=4096, out_features=11008, bias=False)
  16.               (down_proj): Linear(in_features=11008, out_features=4096, bias=False)
  17.               (act_fn): SiLU()
  18.             )
  19.             (input_layernorm): LlamaRMSNorm((4096,), eps=1e-06)
  20.             (post_attention_layernorm): LlamaRMSNorm((4096,), eps=1e-06)
  21.           )
  22.         )
  23.         (norm): LlamaRMSNorm((4096,), eps=1e-06)
  24.         (rotary_emb): LlamaRotaryEmbedding()
  25.       )
  26.       (lm_head): Linear(in_features=4096, out_features=32000, bias=False)
  27.     )
复制代码
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摆设包+本事大全


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦应逍遥

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表