← 最新论文
💻 computer science

No Resource, No Benchmarks, No Problem? Evaluating and Improving LLMs for Code Generation in No-Resource Languages

本文通过引入新的基准测试,解决了无资源编程语言中的代码生成挑战,并证明了一种具有成本效益的策略,即先在目标语言数据上对基座模型进行进一步预训练,随后通过权重差值迁移注入指令遵循能力,其效果显著优于对指令微调模型进行直接微调。

原作者: Alessandro Giagnorio, Alberto Martin-Lopez, Gabriele Bavota

发布于 2026-06-16
📖 1 分钟阅读☕ 轻松阅读

原作者: Alessandro Giagnorio, Alberto Martin-Lopez, Gabriele Bavota

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你拥有一个才华横溢、超级聪明的机器人助手(一种大语言模型,简称 LLM),它是一名编程专家。你可以要求它用 Python 或 Java 写代码,它就像一位掌握经典意式料理食谱的大厨一样——它能熟练掌握这些特定的语言,因为它已经读过了数百万本关于这些语言的“食谱”(训练数据)。

但如果你要求这个机器人去烹饪一道全新的、极其冷门的菜系,而从未有人为这道菜写过食谱呢?比如,一个公司昨天才刚刚发明的语言,或者是一个尚未在互联网上分享过的特定行业专用工具。

这篇论文正是关于如何教会那个机器人烹饪这些“零资源”料理的。

问题所在:机器人一脸茫然

研究人员发现,当他们要求顶尖 AI 模型编写这些新语言(他们测试了 GleamMoonBit)的代码时,这些机器人几乎完全陷入了混乱。

  • 高资源语言(Python/Java): 机器人的正确率约为 80–90%。
  • 低资源语言(如 Lua 或 R): 机器人的表现尚可,正确率约为 50–60%。
  • 零资源语言(Gleam/MoonBit): 机器人几乎 100% 失败。

类比: 这就像是要求一位只用过刀的大厨,突然去使用一种从未见过的、形状奇特的全新工具。他们不仅仅是做出了小错误;他们甚至连如何正确握住工具都不知道。这些错误不仅仅是“厨艺不好”;它们是“语法错误”——机器人甚至无法写出代码的基本结构,因为它根本不了解这种新语言的语法。

实验过程:我们如何教导机器人?

团队尝试了四种不同的方法来帮助机器人学习这些新语言,将这些新语言视为机器人需要为考试而学习的一门新学科。

  1. “小抄”法(少样本学习/Few-Shot 与 RAG): 他们在要求机器人编写代码之前,先给它提供几段用新语言编写的代码示例或手册中的片段。
    • 结果: 这确实有一点帮助,就像给学生几道练习题一样。机器人变得好了一点,但仍然在基础层面挣扎。
  2. “速成班”法(微调/Fine-Tuning): 他们拿到了机器人,并向它喂入了该新语言所能找到的所有代码和文档,强迫它重新学习一切。
    • 结果: 这效果很好。机器人对这种语言的学习能力有了显著提升。
  3. “深度潜水”法(预训练/Pre-Training): 他们拿到了一个原始版本的机器人(一个尚未被教导如何遵循指令的版本),并将所有可用数据——每一份代码文件和每一页手册——都喂给了它。
    • 结果: 这是最终的赢家。因为他们使用了所有的数据(而不只是用于微调的那些整齐、有序的示例),机器人对这种语言的学习更加深入。它获得了最高的评分。

转折点:“聪明”的机器人 vs. “原始”的机器人

这里有一个转折。执行“深度潜水”(预训练)效果最好,但它有一个副作用。

  • 那个深度学习了该语言的机器人是一个“原始”模型。它完美地掌握了这种语言,但它忘记了如何听从人类的指令。如果你问它:“写一个函数来将两个数字相加”,它可能会只是盯着你看,或者写出一些乱码,因为它已经不再被训练去遵循指令了。
  • “聪明”的机器人(经过指令微调的模型)可以完美地遵循指令,但它们对这种新语言的表现却很糟糕。

解决方案:“技能迁移”(指令迁移/Instruction Transferring)

研究人员想出了一个聪明的黑客手段,可以在不花费巨额资金进行训练的情况下,实现两全其美。

隐喻: 想象你有两胞胎。

  • 双胞胎 A 是一位精通新菜系的顶级大厨,但他很鲁莽,不听指挥。
  • 双胞胎 B 是一位礼貌、听话的服务员,但他完全不懂这种新菜系。

与其重新雇佣一名厨师或从头开始重新训练服务员,研究人员想出了一个方法,可以将双胞胎 B 的“礼貌”和“倾听技巧”复制并粘贴到双胞胎 A 身上。
他们计算了礼貌的服务员与原始大厨之间的“差异”,然后将这个“差异”添加到了那个掌握新语言的专家机器人身上。

  • 结果: 他们创造了一个既是新语言专家、又懂得如何完美遵循指令的机器人。
  • 额外收获: 这个技巧效果极佳,通过这种“技能迁移”得到的较小、较便宜的机器人(80 亿参数),其表现竟然优于一个仅仅进行了常规微调的更大、更昂贵的机器人(320 亿参数)。

核心结论

如果一家公司今天发明了一种新的编程语言,他们不能仅仅购买现成的 AI 助手并期望它能直接投入使用。AI 会失败。

然而,这篇论文展示了一条前进的路径:

  1. 收集该新语言现有的任何微量代码。
  2. 教会一个原始 AI 模型这种语言(预训练)。
  3. 使用“技能迁移”技巧赋予该模型遵循指令的能力。

这使得公司能够为自己独特的、专有的语言构建专门的 AI 编程助手,而无需投入数百万美元进行大规模训练。他们可以利用一个小巧、聪明的模型,仅需极低的成本就能将其打造成为语言专家。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →