背景
代码生成是 AI 模型被测试最频繁的领域之一。代码模型主要在编程材料上训练,能够编写、补全和解释代码。对已经发布通用开源模型的公司来说,推出代码模型是自然的下一步[1]。
理解这次发布,需要了解代码模型的评判方式。基准测试是对每个模型都运行的标准测试,最常见的一类要求模型写出能通过一组单元测试的函数。较新的基准则使用最新的竞赛题目,或要求模型预测代码的输出,因为这类题目不易靠记忆作答。
发布内容
零一万物于北京时间 2024 年 9 月 5 日以开源形式发布 Yi-Coder[2]。该系列有 1.5B 和 9B 两种规模,每种规模都有基础版和对话版[1]。基础版用于续写代码,对话版则按指令完成任务。
9B 模型在 Yi-9B 的基础上继续训练了 2.4 万亿词元,涵盖 52 种编程语言[1]。词元是一种小的文本单位,通常是一个词或词的一部分;2.4 万亿是非常大的训练量。覆盖 52 种语言,意味着训练材料不限于某一种语言所写的代码。
模型支持最长 128K 词元的上下文[1]。这意味着一次输入可以非常长,当开发者希望模型一次读取整个文件或多个文件时,这一点很有用。
关键细节
9B 对话版在 LiveCodeBench 上得分 23.4%。公司称,这使它成为参数低于 100 亿、得分超过 20% 的唯一模型[1]。LiveCodeBench 使用较新的编程题目,因此得分较少受模型记忆答案的影响。
同一模型在 HumanEval 上得分 85.4%,在 MBPP 上得分 73.8%[1]。这两项测试都考察模型能否写出通过一组测试的短函数。它们是代码模型中被引用最多的测试,因此成绩为读者提供了共同的比较基准。
影响
这次发布表明,一款规模相对较小的开源模型也可以在代码测试中具备竞争力。对开发者来说,与超大模型相比,规模较小的模型降低了试用以及将其接入自身工具的成本。
公司对成绩的说法应当独立核实。这些基准成绩来自公司自己的报告,而每项基准考察的能力各不相同。想要选用代码模型的读者,应根据自己关心的任务比较结果。
对普通读者来说,这次发布是专用模型如何纳入公司整体产品线的一个清晰例子。Yi-Coder 并非通用模型的替代,而是针对一类工作的补充,也体现了公司对程序员直接使用的工具的兴趣。
来源
- 1Meet Yi-Coder: A Small but Mighty LLM for CodeHugging Face Blog (01.AI)
- 201.AI、コード生成LLM「Yi-Coder」をオープンソースで公開@IT (ITmedia)
引用本页: 零一万物开源 Yi-Coder 代码模型. TellWorld, https://www.tellworld.net/zh/news/yi-coder-2024. 更新于 2026-11-08