Customizing an LLM for Enterprise Software Engineering
本文介绍了专为 Google 内部软件工程生态定制的 Gemini for Google(GfG),该专用大语言模型通过全面的数据筛选与中期训练端到端流程进行适配,在一项大规模研究中显著提升了开发效率与代码质量,同时为企业模型定制提供了可复用的蓝图。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你拥有一位才华横溢、世界级的厨师(原始 AI 模型)。这位厨师几乎能烹饪任何菜肴:意大利面、法式糕点或日本寿司。他们接受了公共图书馆中所有食谱书的训练。
然而,你工作在一个庞大、高科技的企业食堂(Google 的内部软件生态系统)里。这里的规则很奇特。你们不使用标准烤箱,而是使用定制建造的专有机器。食材独一无二,而“食谱”(代码)拥有特定的、奇怪的名称,大楼外的人无人知晓。
如果你请这位世界级厨师为你的食堂烹饪一餐,他们可能会尝试使用标准食谱。菜肴看起来不错,但无法在你的机器上运行,甚至可能弄坏食物。
这篇论文描述了 Google 如何让那位世界级厨师接受专项特训营,从而成为专为他们特定食堂服务的完美厨师。他们将这位新厨师称为"Google 版 Gemini"(GfG)。
以下是他们如何做到的,分解为简单步骤:
1. 收集“秘密食谱书”
团队没有仅仅给厨师提供更多公共食谱,而是收集了一个庞大的内部文档库。这不仅仅是代码,而是其工程师工作方式的完整历史:
- “评审”日志:他们查看了数千次对话,其中高级工程师审查代码,指出“修复这里”,随后初级工程师进行修复。这教会了 AI 如何接受反馈并改进。
- “故障修复”日志:他们观察了工程师如何修复构建失败(当软件停止工作时)。AI 学到了:“哦,当出现这个错误时,解决方案通常是修改这一特定行。”
- “速度”日志:他们研究了工程师如何加快程序运行速度,教会 AI 识别瓶颈并提出修复建议。
- “聊天”日志:他们使用了内部问答环节,工程师在其中询问关于奇怪的内部工具的问题,教会 AI 公司特定的名称和行话。
2. “中期训练”手术
通常,你要么从头开始训练模型(从零开始),要么仅在末尾进行调整(微调)。Google 采取了中间路线。
将原始 AI 想象成一名刚完成高中学业的学生(通用预训练)。
- 问题:如果你直接开始教他们高级企业法律,他们可能会忘记如何做基础数学或撰写简单文章。这被称为“灾难性遗忘”。
- 解决方案:他们没有从高中最后阶段开始,而是回到了学生的大三阶段。他们让学生带上“秘密食谱书”(内部数据),并从此点继续学业。这样,学生既保留了通用的智慧,又学习了特定的企业规则。
3. 结果:更智能的助手
他们用29,000 名工程师测试了这款新的"Google 版 Gemini",并将其与标准版本进行了对比。结果就像比较一个通用 GPS 与一个知道你所在城市所有捷径的 GPS:
- 减少来回沟通:当工程师寻求帮助时,标准 AI 需要多约 23% 的对话轮次才能正确完成任务。而专用 AI 更常能一次就正确完成。
- 更高的代码存活率:由专用 AI 编写的代码,通过审查并实际投入最终产品使用的可能性提高了 17%。它被拒绝或出错的可能性更低。
- 现实世界的胜利:
- “时间旅行”迁移:他们利用 AI 将十年前的旧系统更新为新系统。它自动完成了 80% 的工作,将时间缩短了一半。
- “智能粘贴”:当工程师将代码从一个文件复制到另一个文件时,AI 自动修复了导入语句和变量名称,使其立即生效,节省了数千次击键。
4. 他们的收获(经验教训)
这篇论文为任何试图这样做的人强调了三大经验教训:
- 更多数据并不总是更好:仅仅将所有数据扔给 AI 可能会使其困惑。他们必须精心挑选合适的数据组合,否则 AI 会养成错误的习惯(例如,在应该直接行动时却喋喋不休)。
- 不要对抗格式:他们发现,调整内部数据以符合 AI 原始训练风格,比强迫 AI 学习一种新的、奇怪的格式要容易得多。
- 真实测试至关重要:你不能仅仅在多项选择题测验中测试 AI。你必须观察它在现实世界中的表现。工程师是否真的接受了代码?它是否通过了审查?这才是真正的分数。
核心结论
这篇论文并非关于发明一种新型大脑。它是关于将一个非常聪明、通用的大脑带入特定公司内部进行专项实习。通过向其灌输公司自身的历史、错误和成功,他们创造了一个不仅“懂代码”,而且懂他们的代码、他们的工具以及他们的工作方式的 AI。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。