37 层压缩、6 层全看:文心 5.5 Flash Base 把效率省在了哪四个地方
11 月 5 日,百度在世界大会上开源了文心 5.5 Flash Base(ERNIE 5.5 Flash Base),权重挂在 Hugging Face 上,FP8 与 BF16 两种格式。稀疏 MoE,总参数 280B,每 token 激活 14B,33.5 万亿 token 从零预训练。
发布材料里有一句话,比任何分数都更像这份工作的说明书:
从注意力、残差连接到 MoE 层和输出头,逐个组件审视能力与效率的关系,将激活计算、KV cache 和长上下文处理开销纳入整体设计。
这句话是纲领。它说明这不是"堆参数再压一压",而是逐个组件算账。所以读这份发布,最有效的办法也是顺着它的顺序,一个组件一个组件看:改了什么、省了多少、代价在哪。
四个组件里,最值得看的是注意力那个——43 层里有 37 层只保留压缩视图,只有 6 层能看到全部 token。这个 37 比 6 的分工,决定了它在 1M 上下文下还能不能跑。
先说清楚一件事:这次放的是预训练终点的 Base 权重,没有中训练、没有后训练。 它不会聊天,下载下来直接调只会得到续写。所有"同尺寸 SOTA"的分数都建立在这个前提下,第五到七节会反复回到这一点。
一、底盘:43 层与那组数字
先把结构参数摆出来。官方给得比多数开源发布细。
| 项目 | 数值 |
|---|---|
| 层数 | 43 层 Transformer |
| hidden size | 4096 |
| 注意力头数 | 64 |
| 总参数 | 280B |
| 每 token 激活 | 14B(5.0%) |
| 预训练 token | 33.5 万亿 |
| 预训练上下文 | 128K |
| 微调 / 推理上下文 | 1M |
| MoE 配置 | 每块 512 个路由专家,每次选 10 个 + 1 个共享专家 |
| 专家隐空间 | 4096 维投影到 2048 维,专家在隐空间计算后映射回 |
【推算】14 ÷ 280 = 5.0%。这个激活比例和同代产品基本一致:GLM-5.3 是 40 ÷ 753 = 5.3%,DeepSeek-V4-Flash-Base 是 13 ÷ 284 = 4.6%,Hy3-preview-Base 是 21 ÷ 295 = 7.1%,MiMo-V2.5-Base 是 15 ÷ 310 = 4.8%。5% 上下是当前这代 MoE 的行业惯例,不是文心的特色。 真正的差异在下面四个组件里。
再核一处:43 层 ÷ 7 ≈ 6.1,而官方说"每七层保留一层做全 token 访问",实际 MLA 层是 6 层。规则与结果对得上。
二、组件一 · 注意力:37 层压缩,6 层全看
这是整套设计里最反直觉的一处。
长上下文的标准做法是让每一层都能看到全部历史,然后靠稀疏化(只算一部分位置)来省算力。文心反过来:绝大多数层干脆不看原始 token,只看压缩后的摘要。
具体分两层:
37 层走 HCA(重度压缩注意力)。 每 128 个 token 压缩成 1 条缓存条目。这一层做注意力时,是在这些压缩条目 + 最近一小段未压缩 token 构成的窗口上做稠密注意力。也就是说,它对远距离历史只有粗粒度视野,对眼前一小段保持精细。
6 层走 MLA(多头潜在注意力)。 这 6 层保留每个 token 的细粒度访问,但配了 DSA 稀疏注意力:一个轻量 indexer 给历史位置打分,核心注意力只在得分最高的 top-k 上计算。官方说,采用 DSA 后这些层的预训练 loss 与稠密注意力持平,训练速度显著提升。
为什么是这个分工?官方给的理由很实在:大多数层只需要对远距离历史有一个粗粒度的视野。
这句话可以推演:如果一层只负责"这一层楼大致是什么风格",它不需要看到每块砖;只有少数层需要精确寻址"第三排第二个货架上的那瓶水叫什么"。把精确寻址集中到 6 层,其余 37 层降级为摘要阅读,等于把一个全局的稠密问题拆成一个局部稠密 + 全局稀疏的问题。
还有一个配套设计值得单独说:头维度按层类型反向匹配。
| 层类型 | 头维度 | 为什么 |
|---|---|---|
| HCA(37 层) | 512 维宽头 | 在 128 倍压缩后的序列上做注意力,计算量小,宽头额外开销很低 |
| MLA(6 层) | 256 维窄头 | 逐 token 访问上下文,计算量大,必须用窄头压住 |
这和常见做法相反。多数模型全模型统一 head_dim,省事但浪费——计算量小的层本来可以用更宽的表示换取表达力,计算量大的层则需要收紧。按计算量反向分配维度,是一个几乎零成本的收益。
三、这笔账:KV cache 压到了标准配置的多少
37 和 6 这个分工,最直接的后果在 KV cache。
【推算】用"以标准全 token 层为单位"的相对开销算,只依赖官方明确给的两个数(37 层 HCA、128 倍压缩),不涉及 MLA 自身的压缩率:
43 层全部做全 token 访问 = 43 个单位
37 层 HCA:37 ÷ 128 = 0.289 个单位
6 层 MLA:6 个单位(按全 token 计,未计入 MLA 自带压缩)
合计 = 6.289 个单位
相对开销 = 6.289 ÷ 43 = 14.6%
也就是说,光是把 37 层降级成 128 倍压缩,KV cache 就压到了标准配置的约 15%——反过来,全 token 方案是现在的 6.8 倍。
这个估算刻意保守:MLA 层本身的 KV 是压缩过的潜在向量,不是完整的每 token 每头缓存,所以实际值还要更低。没把这一块算进去,是因为官方没披露 MLA 的压缩维度。这条属于未披露,也意味着 14.6% 是一个上限。
这个数看着不起眼,但它决定了 1M 上下文是不是一句空话。KV cache 是长上下文推理的主要显存开销,压到 15% 意味着同样的卡能承载 6 到 7 倍的并发上下文长度——或者同一张卡从"1M 跑不动"变成"1M 可以服务"。
注意一个区分:128K 是预训练长度,1M 是微调与推理时支持的上下文。 两个数差 8 倍,说明 1M 是靠外推或长度扩展拿到的,不是原生训练出来的。扩展方法官方没披露,这一条直接影响 1M 区的实际质量,用之前必须自己测。
四、组件二 · 门控:用自己本来就会生成的东西
注意力层的输出门通常要一个独立的投影矩阵。文心的做法是:改用这一层本来就会生成的低秩 query latent 来计算输出门。
关键在维度。官方说 latent 维度只有隐状态的四分之一。
【推算】hidden size 是 4096,四分之一就是 1024。一层门控投影的参数量:
| 方案 | 计算式 | 参数量 | 相对 |
|---|---|---|---|
| 标准门控投影 | 4096 × 4096 | 16.78M | 100% |
| 低秩门控(用 query latent) | 1024 × 4096 | 4.19M | 25% |
| 减少 | — | 12.59M | 75% |
算出来的 75% 与官方口径完全一致。这个一致性本身说明一件事:"参数减少 75%"不是一个实测数字,而是一个结构上的必然——输入维度降到四分之一,线性投影的参数就降到四分之一。
但真正值得记的是官方的半句话:“消融效果反而提升”。 参数少了四分之三,效果没有退化,还略有提升。这背后是一个常见的观察:门控信号本来就只需要低维信息(它做的是一个"该放多少"的连续调节,不是特征提取),给它一个全维投影矩阵,多出来的容量大多在拟合噪声。
顺带提另一项同层改进:虚拟头注意力(VHA),用带恒等跳连的轻量跨头低秩混合增强信息融合,推理时可以融合进注意力算子里,开销极小。相关工作《Virtual Head Attention》已被 NeurIPS 2026 接收。
五、组件三 · MoE:多路由器,成本不变
这一项是全篇唯一一个"不增加任何成本"的改进,所以值得单独一节。
传统 MoE 的流程是:token 进层,一个路由器打分,硬 top-k 选专家。问题有两个:
- 打分与专家实际效用只是弱相关,中深层尤其明显;
- 落选专家拿不到这个 token 的梯度,一旦选错就很难纠正,错误会自我强化。
第二个问题尤其麻烦。它意味着一次误判不是"这次差一点",而是"以后一直差"。
Multi-Router Latent MoE 的思路是把"一个路由器说了算"改成"多个路由器综合评定":多个独立初始化的 sigmoid 路由器同时打分,专家只要被某一个强烈看好、或被几个同时看好就能入选。单次误判不再决定结果。
关键在于成本那一句:激活专家数、FLOPs、通信量与单路由器完全相同。 官方明确说推理时没有额外成本,提升主要体现在原本最弱的中深层。
这种改进在工程上很少见——大多数质量提升都要拿算力或显存去换,而这次只是把"打分委员会的构成"改了。
MoE 层还有两处结构设计:
| 设计 | 内容 | 收益(官方口径) |
|---|---|---|
| 隐空间计算 | token 从 4096 维投影到 2048 维,专家在隐空间内计算后映射回 | 通信量与专家 FLOPs 约减半 |
| 负载均衡 | 无辅助损失的 bias 修正 | 避免辅助损失干扰主目标 |
第一条值得注意:把专家计算搬到低维隐空间,等于在"专家容量"和"传输成本"之间重新切了一刀。280B 参数里有大量是专家权重,这些权重不用动,但每次前向搬进搬出的激活值减半——对多卡部署是实打实的带宽节省。
六、组件四 · 输出头:ECHO 一物两用
最后一个是训练目标上的改动,也是四个组件里最巧的一个。
多 token 预测(MTP)通常要额外加一个预测模块,多一个网络分支、多一份通信、多一批参数。文心的 ECHO 不加这个模块,直接复用主干最后一层去预测后续 token。
三个后果:
- 省掉了 MTP 模块的参数与通信。
- 主干自己学会了"提前规划序列走向",官方说这有效提升推理与代码能力。
- 复用的最后一层还能当投机解码的草稿模型。
第三条是这个设计最漂亮的地方。投机解码需要一个"小而快"的草稿模型来猜后续 token,猜对了就省掉大模型的验证成本;通常这个草稿模型要单独训练。ECHO 让主干最后一层兼职做这件事,而且官方说它只训练了单步,在多步起草上的质量却大幅优于辅助 MTP 模块。
一份训练目标,同时拿到三样东西:省参数、提能力、白得一个草稿模型。 这是全篇性价比最高的一处。
七、支撑层:FlashMask-4 与分布式 Muon
架构之外还有两项工程底座,容易被跳过,但它们决定了上面那些设计能不能在大规模训练里成立。
FlashMask-4 是面向大 head_dim 的注意力算子。前文提到 HCA 层用 512 维宽头,常规注意力算子在这个维度上效率不好——宽头意味着更大的寄存器压力和更差的分块效率。专门为大 head_dim 写算子,是"反向分配头维度"这个设计能落地的前提。
分布式 Muon 优化器 针对数万卡集群优化,重点是降低跨节点参数同步的通信开销。Muon 本身是近两年受关注的优化器方向,把它做到分布式可用,是训练 33.5 万亿 token 的必要条件。
这两项没有给出对比数字,属于只说明做了什么,没说明省了多少。这一条是本次发布里信息披露最薄的部分。
八、那 6 项输在哪
官方给的说法是:在同一套评测流程下,30 项基准里 24 项第一。这句话是准确的,但完整的表述应该包括另外 6 项。
| 基准 | 文心 5.5 Flash Base | 对照最高 | 差距 |
|---|---|---|---|
| MMLU(5-shot) | 93.3 | DeepSeek-V4-Flash-Base 89.4 | +3.9 |
| MMLU-Pro | 78.4 | 69.2 | +9.2 |
| HumanEval+ | 82.3 | DeepSeek 69.5 | +12.8 |
| MBPP+ | 81.5 | — | +14.3(官方口径) |
| LiveCodeBench | 40.1 | DeepSeek 31.9 | +8.2 |
| RepoQA | 91.7 | — | — |
| ChineseSimpleQA | 落后 | DeepSeek 反超 | — |
| InfiniteBench | 落后 | DeepSeek 反超 | — |
| 全栈代码基准 | 落后 | Hy3-preview-Base 更好 | — |
三条必须写清的前提:
其一,全部为厂商自测,无第三方独立复现。 对照名单和评测管线都是发布方自己定的,这在这类发布里是常态,但引用时必须带这个前提。
其二,比较对象全是 Base 模型。 MMLU 93.3 是一个预训练终点、没有指令微调的模型的五样本分数。它能拿到这个分,靠的是 in-context learning,不代表它听得懂指令。这个分数不能和任何 chat 模型直接比。
其三,反超的项目有规律。 DeepSeek 在 ChineseSimpleQA(中文知识密度)和 InfiniteBench(超长上下文)上反超,Hy3 在全栈代码上更好。这恰好是三种不同的能力维度:中文语料覆盖、长上下文外推、仓库级代码。文心在"标准学术基准"上优势明显,在"贴近真实工程的长上下文与仓库级任务"上并没有。
这个分布有解释力:33.5 万亿 token 的预训练数据"着重加强那些事后难以补足的能力,如仓库级代码与长上下文理解"——这是官方自己的话。也就是说,它已经把重点放在这些方向上了,反超依然存在,说明对手在这些方向上的积累更厚。
九、Base 的边界:哪些能力必须在预训练解决
官方在讲数据时有一句话值得单独拎出来:
预训练数据决定了后续一切训练所依托的能力底座,因此语料着重加强那些事后难以补足的能力,如仓库级代码与长上下文理解。
"事后难以补足"这五个字,是一条可以拿来做判断的标准。
任何能力,可以按"改变它需要多少分布内的新样本"来分档:
| 能力类型 | 例子 | 补足成本 | 谁来解决 |
|---|---|---|---|
| 世界知识与事实密度 | 常识、学科知识、多语言词汇 | 需要海量分布内样本 | 只能在预训练 |
| 长上下文建模 | 1M 序列上的注意力与检索 | 需要长序列训练数据 | 只能在预训练(外推有限) |
| 跨文件依赖理解 | 仓库级代码、多文档一致性 | 需要真实工程语料 | 主要在预训练 |
| 指令遵循 | 听懂"用三句话总结" | 数千到数万条示范 | 后训练可解决 |
| 输出格式 | JSON、Markdown、特定模板 | 数百到数千条示范 | 后训练可解决 |
| 领域术语与话术 | 行业黑话、客服口径 | 数百条示范 | 后训练可解决 |
| 语气与人格 | 简洁、专业、活泼 | 数百条偏好数据 | 后训练可解决 |
分界线在第三行和第四行之间:上三行需要在预训练阶段把分布铺进去,下四行只需要少量示范。
这个划分能解释第八节那张表里的一处现象。DeepSeek 反超的两项——ChineseSimpleQA(中文事实问答)和 InfiniteBench(超长上下文)——恰好都在"只能在预训练解决"的那三行里。而文心领先的项目集中在 MMLU、MMLU-Pro 这类标准学术知识基准,也在那三行里,但属于"知识密度"这一档,可以通过堆高质量语料在较短时间内追平。
所以那张对比表真正说明的是:两家的预训练数据分布不同,不是一个比另一个强。 一家把中文事实和超长上下文铺得更密,一家把标准学术知识和代码铺得更密。
这对使用者的实际含义很直接:
- 你的场景缺的是知识与长上下文(比如要读完整套法规、整个代码仓库、多年度财报)→ 这个底座帮得上,因为这部分它已经铺进去了,你省掉的正是最难补的那一段。
- 你的场景缺的是格式与流程(比如要严格输出固定 JSON、要按客服话术回答)→ 任何 Base 都差不多,这类能力几百条示范就能教会。这种情况下,直接拿一个现成的 chat 模型做蒸馏,成本远低于自己走 SFT + RL。
- 你的场景缺的是某个垂直领域的知识(比如特定行业的规范、内部文档)→ 要看量级。几千条文档靠 RAG 就够,上百万条才值得动预训练或继续预训练。
这就是"开源 Base"这个选择的真实价值所在:它把最贵、最难补的那一段交给你,同时把最便宜的决策权也交给你。 你要判断的是自己缺的到底是哪一段。
十、许可与部署:三道不能忽略的约束
第一道:这是一份自定义许可,不是 Apache。
文心 4.5 是 Apache 2.0,5.5 Flash Base 换成了「ERNIE 5.5 Flash Base Model License Agreement v1.0」。三条会直接卡住工程决策:
| 条款 | 内容 | 工程影响 |
|---|---|---|
| 地域 | 欧盟、英国、韩国不在授权范围内 | 这些区域的节点不能用、不能改、不能分发 |
| 商业门槛 | 连续 12 个月相关收入 ≤ 5000 万美元免费,需事先声明并标注 Powered by ERNIE | 要在产品里加归属声明 |
| 超线 | 超过 5000 万美元需百度书面授权 | 大厂需走商务流程 |
| 用途限制 | 禁止用该模型或其输出去改进其他不相关的 AI 系统 | 不能用它产出蒸馏数据训自家模型 |
最后一条影响最大,也最容易被忽略——如果你打算拿它的输出去训练自己的模型,这在许可上是明确禁止的。 想做蒸馏的团队要先确认这一点。
第二道:部署门槛不是"几张卡",是"要不要上一台多卡机"。
【推算】权重体积按 总参数 × 每参数字节 估算:
| 精度 | 权重体积 | 说明 |
|---|---|---|
| BF16 | 约 560 GB | 8×H100(640GB)勉强装权重,留不出 KV |
| FP8 | 约 280 GB | 4×H100 可装权重,8 卡配置从容 |
官方给了 vLLM 与 SGLang 两条推理路径,英伟达也提供了微调参考流程。结合第三节那个 KV 只有标准 15% 的结论,FP8 + 8 卡是这套东西比较现实的起点。
第三道:Base 不是成品,你还要自己走两段路。
要把它变成能对话的东西,至少还要 SFT 和 RL 两段。官方说后训练版 ERNIE 5.5 Flash"将随后推出",但没有给日期。
所以现在拿到它,合理的预期是:这是一份可以省掉预训练成本的起点,不是一份可以直接部署的产品。 预训练 33.5 万亿 token 的成本省下来了,中训练和后训练的活还得自己干——而这恰恰是最需要领域数据和工程经验的部分。
十一、关键要点
-
开源的是 Base,不是 Chat。 预训练终点权重,未做中训练与后训练,下载下来只会续写。所有"同尺寸 SOTA"分数都建立在这个前提下,不能与任何 chat 模型直接比。
-
Base 的边界可以按「补足需要多少分布内样本」来划。 世界知识、长上下文建模、仓库级代码依赖必须在预训练铺;指令遵循、输出格式、领域术语、语气,几百到几万条示范就能教。上三行决定「能不能」,下四行决定「多好用」——这条线决定你到底该不该碰 Base。
-
37 层压缩 + 6 层全看,是这份设计最核心的一刀。 43 层里 37 层 HCA 只保留 128 倍压缩视图,6 层 MLA 保留全 token 精细访问并配 DSA 稀疏注意力。43 ÷ 7 ≈ 6,与"每七层留一层"的规则吻合。
-
KV cache 压到标准配置的约 15%。 按"37 ÷ 128 + 6"算得 6.289 个单位,对 43 个单位是 14.6%——反过来说,全 token 方案是它的 6.8 倍。这个估算未计入 MLA 自带压缩,所以 14.6% 是上限。
-
头维度按计算量反向分配。 HCA 层用 512 维宽头(压缩后序列计算量小,宽头便宜),MLA 层用 256 维窄头(逐 token 计算量大,必须收紧)。多数模型全模型统一 head_dim,这里按层反向匹配,几乎零成本。
-
门控省 75% 参数是结构必然,不是实测。 latent 维度 4096 → 1024,线性投影参数 16.78M → 4.19M,正好 75%。真正值得记的是官方那句"消融效果反而提升"——门控只需要低维信息。
-
Multi-Router 是唯一零成本的改进。 多个独立 sigmoid 路由器打分,专家只要被某一个强烈看好就能入选,单次误判不再决定结果。激活专家数、FLOPs、通信量与单路由器完全相同,提升集中在中深层。
-
ECHO 一物三用。 复用主干最后一层预测后续 token,省掉 MTP 模块、提升推理与代码能力,还白得一个投机解码草稿模型——且只训练单步,多步起草质量就优于辅助 MTP。
-
128K 是原生训练长度,1M 是微调推理扩展。 差 8 倍,扩展方法未披露。1M 区的实际质量必须自己测,不能按"标称支持"直接用。
-
那 6 项反超有规律。 DeepSeek 在 ChineseSimpleQA 与 InfiniteBench 上反超,Hy3 在全栈代码上更好——对应中文语料覆盖、长上下文外推、仓库级代码三个维度。文心在标准学术基准上优势明显,在贴近真实工程的长上下文与仓库级任务上没有。
-
许可比上一代收紧,且禁止蒸馏。 欧盟、英国、韩国不在授权地域;年收入 ≤ 5000 万美元需声明并标注 Powered by ERNIE;超过需书面授权;禁止用模型或其输出去改进其他不相关的 AI 系统——想做蒸馏的团队要先把这一条确认掉。
-
FP8 + 8 卡是比较现实的起点。 BF16 权重约 560GB,8×H100 的 640GB 勉强装权重不留 KV;FP8 约 280GB,4 卡可装、8 卡从容。
- 点赞
- 收藏
- 关注作者
评论(0)