256个专家只激活3B参数:Ornith-1.5-35B-A3B MoE架构为什么能赢过稠密大模型
【免费下载链接】Ornith-1.5-35B-A3B项目地址: https://ai.gitcode.com/hf_mirrors/ornith-ai/Ornith-1.5-35B-A3B
Ornith-1.5-35B-A3B 是 Ornith-1.5 家族中基于 MoE(Mixture of Experts,混合专家)架构的多模态推理模型:总参数约 35B,但每个 token 只激活约 3B 参数,推理成本接近小模型,却在 SWE-bench Verified、Terminal-Bench 等编码与 Agent 基准上全面超过 Gemma-4-31B 等稠密模型。
一、什么是 MoE:把"全员加班"改成"按需点将"
传统稠密模型处理每个 token 时,所有参数都要参与计算,模型越大、每次推理越贵。
MoE 的思路是:把每一层里最重的"专家网络"(FFN 模块)拆成很多个小组,再配一个路由器(Router),每个 token 只选少数几个专家来处理。这样:
- 总参数大→ 知识容量大(能"记住"更多模式)
- 激活参数小→ 单次推理计算量小、速度快
Ornith-1.5-35B-A3B 的名字就概括了它的身份:35B是总参数,A3B(Activated 3B)是每 token 实际激活的参数。
二、256个专家、每层选8个:它是怎么分配的
打开 config.json,能看到核心 MoE 参数:
| 关键配置 | 数值 | 含义 |
|---|---|---|
num_experts | 256 | 每层配备 256 个专家 FFN |
num_experts_per_tok | 8 | 每个 token 只激活 8 个专家 |
num_hidden_layers | 40 | 语言主干共 40 层 |
hidden_size | 2048 | 隐藏层维度 |
moe_intermediate_size | 512 | 单个专家内部宽度 |
vocab_size | 248320 | 词表规模 |
也就是说,每层有 256 个专家,路由器为每个 token 挑选 8 个(约 3%)。256 个专家 × 40 层,就是它 35B 总参数的大头所在;而每次前向传播真正"干活"的只有 3B 左右,这就是 A3B 的由来。
从权重清单 model.safetensors.index.json 还能看到一个重要细节:每层除了 256 个可选专家外,还额外配了 1 个shared_expert(共享专家)。
🧠 为什么需要共享专家?被选中的 8 个专家只负责"个性化"能力,而所有 token 都会经过的共享专家则承载通用语言能力,两者相加,保证任何 token 都有稳定的基础能力托底。这是当前 MoE 模型的常见稳健设计。
三、不只是 MoE:线性注意力让长上下文更便宜
config.json里的layer_types字段揭示了另一个隐藏亮点——注意力混合结构:
- 每 4 层中有3 层是
linear_attention(线性注意力),只有第 4 层是full_attention - 完整注意力层还采用 GQA(
num_key_value_heads=2,仅 2 个 KV 头)
这意味着 262,144(256K)token 的上下文窗口下,历史信息的记忆与计算开销大幅降低,长文档、大代码库场景不再被 KV Cache 拖垮。这也是为什么官方推荐在 2×80GB GPU 上以 256K 上下文部署,并用--enable-prefix-caching复用前缀。
四、3B激活参数凭什么"碾压"稠密巨兽?
MoE 的优势不是玄学,而是三个因素的叠加:
容量与成本的解耦稠密模型想要更强能力,只能把每个 token 的计算量一起做大;Ornith-1.5-35B-A3B 用 256 个专家堆出 35B 容量,推理却只花 3B 的算力——"装得下大知识,跑得快"。
稀疏激活 = 专家分工路由器让不同专家逐渐擅长不同类型的任务(语法、数学、代码、工具调用……),token 按需点将。对比同规模的 Qwen3.6-35B-A3B 和稠密的 Gemma-4-31B,Ornith-1.5-35B-A3B 在 Agent 编码类基准上领先幅度最大,正说明这种分工在"多步骤工具使用"上收益最高。
自改进训练放大了架构红利根据 README,Ornith-1.5 的突破在于端到端自改进循环:模型持续自己生成训练任务、构造求解脚手架、用强化学习打磨策略。好的架构(MoE + 线性注意力)提供了能力上限,自改进训练把上限兑现了出来。
五、官方基准成绩一览
以下为 README 公布的五次独立运行均值(节选):
| 基准 | Ornith-1.5-35B-A3B | Qwen3.6-35B-A3B | Gemma-4-31B(稠密) | Qwen3.5-397B |
|---|---|---|---|---|
| SWE-bench Verified | 79.0 | 73.4 | 52.0 | 76.4 |
| SWE-bench Pro | 59.6 | 49.5 | 35.7 | 51.6 |
| Terminal-Bench 2.1 (Terminus-2) | 67.8 | 52.5 | 42.1 | 53.5 |
| NL2Repo | 46.2 | 29.4 | 15.5 | 36.8 |
| GPQA Diamond | 89.2 | 86.0 | 84.3 | 88.4 |
可以看到:一个"只跑 3B 参数"的 MoE 模型,在多数编码/Agent 项上追平甚至超过了 397B 的 Qwen3.5——这就是稀疏激活对稠密大模型的降维打击。
六、新手部署速查:2×80GB 显卡跑满 256K 上下文
完整参数(bf16)约70GB,官方推荐 2×80GB GPU 部署,并保留 256K 上下文的显存余量:
- 运行时要求:Transformers ≥ 5.8.1、vLLM ≥ 0.19.1 或 SGLang ≥ 0.5.9
- 关键启动参数:
--tensor-parallel-size 2、--max-model-len 262144、开启前缀缓存,并启用推理解析器(--reasoning-parser qwen3)与工具调用解析器 - 建议采样参数:通用任务
temperature=0.6, top_p=0.95, top_k=20(与 generation_config.json 一致) - 上下文不够用时:官方验证过 YaRN 缩放(factor=4.0 可扩到约 1M token)
⚠️ 注意:Ornith-1.5-35B-A3B 是推理模型,助手回复会先输出<think>…</think>思考块再给答案,服务端需开启 reasoning parser,否则思维链会混进正文。
七、写在最后:为什么值得你关注这个模型
对新手而言,Ornith-1.5-35B-A3B 的价值可以浓缩成三句话:
- MoE 让"大模型"变得可部署——35B 容量 + 3B 激活成本,双 80G 卡即可本地跑 Agent 编码;
- 256 专家 + 1 共享专家的组合,兼顾了专业分工与基础稳定;
- 线性注意力 + 256K 上下文,让它能吞下整个代码库,成为真正可用的终端编码 Agent。
想深入了解架构与自改进训练细节,可直接阅读仓库内的 README.md(含全部评测口径说明)与 config.json(全部结构参数)。
【免费下载链接】Ornith-1.5-35B-A3B项目地址: https://ai.gitcode.com/hf_mirrors/ornith-ai/Ornith-1.5-35B-A3B
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考