软件开发工具供应商 JetBrains 近日宣布,将其专门为代码补全设计的语言模型 Mellum 的基础版本开源,并在 Hugging Face 平台上提供。此举旨在推动 AI 在软件开发领域的透明度与协作。
Mellum 的设计哲学并非追求无所不包,而是专注于一项核心任务:代码补全。 JetBrains 将这类模型称为 专用模型 (specialized model),强调其设计目标是在特定领域具备深度能力,而非盲目追求广泛的通用性。该模型支持多种编程语言的代码补全,包括 Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust 和 Ruby。
目前开源的 Mellum-4b-base
是 Mellum 系列的首个模型。 JetBrains 计划未来扩展此系列,推出更多针对不同编码任务(如差异预测等)的专用模型。
开源背后的考量
将 Mellum 开源的决定并非轻率之举。 Mellum 并非基于现有开源模型的微调版本,而是 JetBrains 从零开始训练的,旨在为其 IDE 产品提供云端代码补全功能,并已于去年向公众发布。
JetBrains 表示,开源 Mellum 是基于对透明度、协作和共享进步力量的信念。从 Linux 和 Git 到 Node.js 和 Docker,开源模式一直是推动技术重大飞跃的关键驱动力。考虑到当前已有开源 LLM 在性能上超越某些行业领导者的情况,AI 的整体发展遵循类似轨迹的可能性不小。
此举也意味着 JetBrains 将其核心技术之一开放给社区。通过在 Hugging Face 上发布 Mellum,该公司为研究人员、教育工作者和高级技术团队提供了深入了解专用模型内部工作原理的机会。这不仅仅是提供一个工具,更是对开放研究和协作的一种投入。
什么是专用模型?
在机器学习领域,专业化并非新概念,而是数十年来指导模型设计的核心方法——构建模型以高效、有效地解决特定任务。然而,近年来 AI 领域的讨论逐渐转向了试图涵盖所有任务的通用大模型,但这往往伴随着巨大的计算和环境成本。
专用模型则回归了专业化的初衷:构建在特定领域表现卓越的模型。
可以将其类比为 “T 型技能”:个体对许多主题有广泛了解(知识的广度,即 T 的横条),但在某个特定领域拥有深厚的专业知识(知识的深度,即 T 的竖条)。专用模型遵循同样的理念,它们并非为处理所有事情而生,而是在单一任务上进行特化并表现出色,从而在特定领域真正体现价值。
Mellum 正是这种理念的体现。它是一个相对较小、高效的模型,专为代码相关任务设计,首先是代码补全。
采用这种方法的原因在于,并非所有问题都需要通用解决方案,也并非所有团队都有资源或需求来运行庞大、包罗万象的模型。专用模型(如 Mellum)具有明显优势:
- 为特定领域任务提供精准性。
- 在运行和部署方面具有成本效益。
- 计算需求和碳足迹较低。
- 为研究人员、教育者和小型团队提供了更高的可及性。
这并非技术上的倒退,而是将成熟的专业化原则应用于现代 AI 问题。 JetBrains 认为这是一种更明智的前进方向。
Mellum 的性能表现如何?
Mellum 是一个多语言的 4B 参数模型 (Mellum-4b-base
),专门针对代码补全进行了优化。 JetBrains 在多个数据集上跨多种语言对其进行了基准测试,并在其 IDE 中进行了广泛的人工评估。
以下是 Mellum 与一些参数量更大的模型的性能对比数据(完整细节、结果和比较可在 Hugging Face 的模型卡中找到):
模型 | HumanEval Infilling (单行) | HumanEval Infilling (多行) | RepoBench 1.1 (2K context, py) | SAFIM (平均) |
---|---|---|---|---|
Mellum-4B-base | 66.2 | 38.5 | 28.2 | 38.1 |
InCoder-6B | 69.0 | 38.6 | — | 33.8 |
CodeLlama-7B-base | 83.0 | 50.8 | 34.1 | 45.0 |
CodeLlama-13B-base | 85.6 | 56.1 | 36.2 | 52.8 |
DeepSeek-Coder-6.7B | 80.7 | — | — | 63.4 |
注:HumanEval Infilling 测试代码填充能力,RepoBench 评估在真实代码库上下文中的表现,SAFIM 是另一个代码补全基准测试。比较模型包括来自 Meta 的 CodeLlama 系列和 DeepSeek 的 Coder 模型。
数据显示,尽管 Mellum 参数量较小,但在特定基准测试(尤其是在考虑其规模的情况下)中表现出了竞争力。这进一步印证了专用模型在特定任务上可以实现高效性能的理念。参数量并非衡量模型能力的唯一标准,特定任务的优化同样关键。
Mellum 适合哪些用户?
需要明确的是,当前在 Hugging Face 上发布的 Mellum 版本,主要目标用户并非普通的终端开发者,他们可能不会直接进行模型的微调或部署。
该模型的开放主要面向以下群体:
- AI/ML 研究人员: 特别是那些探索 AI 在软件开发中的作用、进行基准测试或研究模型可解释性的学者。
- AI/ML 工程师和教育工作者: 可以将其作为学习如何构建、微调和调整领域特定语言模型的基础,或用于支持关注 LLM 架构和专业化的教育项目。
即刻体验 Mellum
Mellum 基础模型现已在 Hugging Face 上线。 JetBrains 强调,这只是开始,他们的目标并非追求通用性,而是构建专注、高效的工具。对于希望探索、实验或基于 Mellum 进行构建的用户,现在可以访问并尝试该模型。