Yujia LiDavid ChoiJunyoung ChungNate KushmanJulian SchrittwieserRémi LeblondTom EcclesJames KeelingFelix GimenoAgustin Dal LagoThomas HubertPeter ChoyCyprien de Masson d'AutumeIgor BabuschkinXinyun ChenPo-Sen HuangJohannes WelblSven GowalAlexey CherepanovJames MolloyDaniel J. MankowitzEsme Sutherland RobsonPushmeet KohliNando de FreitasKoray KavukcuogluOriol Vinyals

摘要
编程是一种强大且无处不在的问题解决工具。开发能够辅助程序员甚至独立生成程序的系统,有望显著提升编程的效率与可及性。然而,迄今为止,将人工智能领域的创新成果融入编程系统仍面临巨大挑战。近期的大规模语言模型已展现出生成代码的惊人能力,能够完成一些简单的编程任务。但在面对更复杂、未曾见过的问题时,这些模型的表现依然不佳,尤其是当问题需要超越简单指令到代码翻译的深层推理能力时,例如需要理解算法和复杂自然语言的编程竞赛题目,仍然极具挑战性。为弥补这一差距,我们提出了 AlphaCode——一种用于代码生成的系统,能够针对需要深度推理能力的编程问题提出新颖的解决方案。在 Codeforces 平台近期编程竞赛的模拟评估中,AlphaCode 平均排名达到前 54.3%,在参赛人数超过 5,000 人的竞赛中表现优异。我们发现,实现稳定且出色的性能依赖于三个关键要素:(1)用于训练与评估的广泛且高质量的编程竞赛数据集;(2)基于 Transformer 架构的大规模、采样效率高的模型结构;(3)通过大规模模型采样探索解空间,并结合程序行为进行筛选,最终保留少量高质量的提交结果。
代码仓库
deepmind/code_contests
官方
GitHub 中提及
google-deepmind/code_contests
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| code-generation-on-apps | AlphaCode 1B | Competition Pass@5: 7.75% Competition Pass@any: 7.75% Interview Pass@5: 9.66% Interview Pass@any: 9.66% Introductory Pass@5: 20.36% Introductory Pass@any: 20.36% |
| code-generation-on-apps | AlphaCode 1B Filtered from 50000 | Competition Pass@any: 22.0 |