project
Mellum2 - JetBrains 开源的混合专家模型
Mellum2 是 JetBrains 开源的面向软件工程系统的新机器学习模型。模型每 token 仅激活 2.5B 参数,专为软件工程 AI 工作流优化,支持代码生成、智能路由、子 ...
Mellum2是什么
Mellum2 是 JetBrains 开源的面向软件工程系统的新机器学习模型。模型每 token 仅激活 2.5B 参数,专为软件工程 AI 工作流优化,支持代码生成、智能路由、子 Agent 调用及私有化部署。凭借低延迟、高吞吐和低成本特性,Mellum2 在 LiveCodeBench 等代码评测中表现领先,是构建企业级 AI 编程助手和自动化工作流的高性能选择。
Mellum2的主要功能
-
智能代码生成:基于代码和自然语言数据训练,支持代码补全、函数生成与重构建议。
-
双模式推理:提供 Thinking(深度思考)与 Non-thinking(快速响应)两种模式,按需切换。
-
工作流路由与摘要:充当 AI 工作流的智能路由器,负责任务分发、文档摘要与中间推理。
-
工具调用与 Agent 协作:支持子 Agent 调用和工具链集成,可嵌入复杂自动化流程。
-
本地私有部署:可在企业内网或本地设备独立运行,无需依赖外部 API。
Mellum2的技术原理
- MoE 稀疏架构:采用 64 专家、每 token 激活 8 个专家的 Mixture-of-Experts 设计,总参数量 12B,实际激活仅 2.5B,使推理成本接近 2.5B 密集模型。结合 Grouped-Query Attention 与 滑动窗口注意力,显著压缩显存占用并加速解码。引入多 Token 预测头(Multi-Token Prediction),作为辅助预训练目标提升性能,充当投机解码的内置 Draft 模型,进一步降低延迟。
- 三阶段课程预训练:在约 10.6 万亿 Token 上进行训练,数据配比从通用网页数据逐步过渡到精选代码与数学内容,形成渐进式课程。用 Muon 优化器 配合 FP8 混合精度,采用 Warmup-Hold-Decay(线性衰减至零)学习率调度,在训练效率与模型稳定性之间取得平衡。
- 长上下文扩展:预训练基础模型通过 Layer-Selective YaRN 将上下文窗口扩展至 128K,仅对关键层进行位置编码插值,避免全层微调带来的性能损失。
Mellum2的核心优势
-
MoE 高效架构:12B 总参数仅激活 2.5B,显著降低推理成本,实现高吞吐、低延迟
-
垂直领域专精:放弃多模态,专注代码与自然语言,在软件工程场景下更精准、更轻量
-
生产级性能:在 LiveCodeBench v6 代码评测中 Thinking 模式得分 69.9,领先同级别开源模型
-
完全开源可商用:Apache 2.0 协议,可自由实验、微调及大规模商用部署
-
企业隐私友好:支持完全本地化运行,满足代码安全与数据合规要求
Mellum2的同类竞品对比
| 对比维度 | Mellum2 | Qwen3.5-9B | SeedCoder-8B |
|---|---|---|---|
| 模型架构 | 12B MoE(64 专家,8 激活,2.5B 活跃参数) | 9B 密集模型(Dense) | 8B 密集模型(Dense) |
| 开源协议 | Apache 2.0(完全可商用) | 开源(可商用) | 未明确/部分受限 |
| 模态支持 | 仅文本 + 代码(垂直专精) | 文本、代码、图像、视频(多模态通用) | 仅代码(单领域) |
| 每 Token 计算量 | ≈2.5B 参数(极低) | 9B 参数(全量激活) | 8B 参数(全量激活) |
| LiveCodeBench v6 | 69.9(Thinking) | 68.3(Thinking) | 28.1(Non-thinking) |
| BFCL V4 工具调用 | 45.6(Thinking) | 42.7(Thinking) | N/A(不支持) |
| AIME 数学推理 | 58.4(Thinking) | 73.4(Thinking) | 0(不支持) |
| 上下文长度 | 128K(YaRN 扩展) | 128K+ | 通常 4K-8K |
| 推理模式 | 双模式:Thinking + Non-thinking | 双模式:Thinking + Non-thinking | 仅 Non-thinking |
Mellum2的应用场景
-
智能代码补全与生成:在 IDE 中提供实时代码补全、函数生成、代码重构与编辑建议,替代传统自动补全工具。
-
调试与错误诊断:辅助开发者定位 Bug、分析堆栈信息、生成修复方案,降低调试时间成本。
-
多步推理与复杂任务分解:在 Agent 工作流中承担中间推理节点,将复杂需求拆解为可执行的子任务序列。
-
工具调用与函数编排:通过 Function Calling 连接外部 API、数据库或开发工具,实现自动化构建、测试与部署流程。
-
对话式编程助手:用自然语言交互方式解答技术问题、解释代码逻辑、推荐最佳实践,充当 24/7 技术顾问。