前段时间 Meta AI 的负责人离职让人怀疑 Llama 4 的进度出现了问题,结果没过两天 Meta 就发布了 Llama 4,似乎是为了打破传言。然而看完了现在已经公布的模型基础信息,我反而更觉得 Llama 项目内部已经极度混乱了。下面是我根据已有信息的分析,欢迎指正。
模型基础信息
Llama 这次正式发布了一个 109B 和 一个 400B 参数量的模型,以及一个未发布的 2T 参数量模型的信息,我把关键的架构信息汇总如下,以下信息均来自 Llama 自己的博客和 huggingface 模型页面:
名称 | 参数量 | 激活参数量 | 专家数 | 上下文 | 语料量 | GPU 时间 |
---|---|---|---|---|---|---|
Scout | 109B | 17B | 16 | 10M | 40T | 5.0M |
Maverick | 400B | 17B | 128+1 | 1M | 22T | 2.38M |
Behemoth | 2T | 288B | 16 | - | - | - |
这里都不用再看模型的评分表现了,这几个模型架构方面的对比就能看出很多问题了。
奇怪的 MoE 架构
Llama 4 这次从 Dense 模型全面转向了 MoE,但是诡异的点在于他们三个模型采用了两套 MoE 架构。最大的 Behemoth 和最小的 Scout 采用的是传统的 MoE,专家数也是 16 这个传统认为比较常规的一个专家数量,而中间的那个 Maverick 采用的却是 DeepSeek MoE 提出的一个新的细粒度专家加共享专家的模型是个 128 专家加 1 共享专家的架构。
一般来说一代模型都是采用同一个架构,只是在模型的层数和每层的宽度上做调整,两个有很大差异的模型在同一代就很奇怪。而且就算有变化也不应该是最大和最小的保持一致,把中间规模的给换了,给人的感觉是中间的这个 Maverick 其实是被 DeepSeek 冲击下重新仿照 DeepSeek 模型重新训练的,但是时间上来不及把三个都重做,只好就放在一块发布了。
奇怪的成本投入
一般来讲,模型参数规模越大,需要投入的成本越高。一方面是更大的模型可以容纳更多的知识,会提供给更大规模模型更多的语料;另一方在语料相同的情况下,更大的模型需要训练的参数更多 GPU 开销也会更高。所以通常来讲模型规模越大,需要的成本会越高。
然而到了 Llama 4 这里出现了两个指标都相反的情况。Maverick 的参数规模是 Scout 的接近 4 倍,但是 Maverick 训练的语料量只有 Scout 的二分之一,消耗的 GPU 时间同样也只有二分之一。考虑到这两个模型的激活参数量是一致的这个 GPU 时间可以理解,但是语料量也只给一半这个事情就很奇怪了。给我的感觉是要么这次只是试水新型的 MoE 架构,并没有想做完整训练,要么就是训到后面训崩了,从中间那个 snapshot 出来了。
奇怪的上下文长度
一般来讲更大的模型,能力会越强。可在这一代 Llama,最让人感到震撼的 10M 上下文是给的最小规模的 Scout,更大的 Maverick 反而是 1M 上下文。考虑到目前扩充上下文的主流方法还是在后训练做微调,更大的 Maverick 在后训练的投入上还不如更小的 Scout。
总结
给我的感觉是 Llama 4 这一代本来是想走传统 MoE,被 DeepSeek 冲击后又半路开始看 DeepSeek MoE。但是训练可能已经开始了,停下来又有阻力,所以中间又插了一个中规模的 Maverick。按照这个参数量选择来看是想用比 DeepSeek V3 小的参数量实现类似的性能。但是 17B 的激活要追平 DeepSeek V3 的 39B 激活我觉得还是有很大难度的。不过最后能让这一代的模型以这么混乱的形式发布,还加了个期货模型,我还是觉得 Llama 项目内部出了不少的问题。