这次,华为代码生成大模型盘古 Coder2 采用了一种类似于 RLHF(基于人类反馈的强化学习)的框架,相较前代实现了更高的一次生成通过率。
随着大模型成为 AI 开发新范式,将大语言模型集成至编程领域、完成代码生成与补全任务成为重要趋势之一。业界出现了一些引人瞩目的代码大模型,比如 OpenAI 的 CodeX、谷歌 DeepMind 的 AlphaCode、HuggingFace 的 StarCoder 等等。
在国内,去年 7 月底,华为诺亚方舟实验室语音语义实验室联合华为云 PaaS 技术创新实验室推出了其代码大模型 PanGu-Coder。与 Codex 和 AlphaCode 相比,该模型在代码生成的一次通过率(PASS@1)指标上大幅超越同等参数规模的模型,甚至优于规模更大的模型。除了英文外,PanGu-Coder 在中文上表现出色。
PanGu-Coder 模型大小和配置。
根据对 PanGu-Coder 的相关内测表现,它不仅熟悉常见算法,而且能熟练地使用各种 API,求解高等数学问题也不在话下。
一年过去了,PanGu-Coder2 终于来了,论文已在 arXiv 上提交。此次华为云、中国科学院和北京大学的研究者联合带来了更强大的代码生成大模型。
论文地址:https://arxiv.org/pdf/2307.14936.pdf
为了增强预训练代码大模型的生成性能,各种各样的方法被提出并应用,比如监督微调、指令调整、增强学习(RL)等。在本文中,针对现有基于 RL 方法所存在的问题并进一步挖掘代码大模型的潜力,研究者提出了一种全新的 RRTF 框架,它的全称为 Rank Responses to align Test&Teacher Feedback,成功地在代码大模型上应用自然语言 LLM 对齐技术。
就其思路而言,RRTF 框架有别于以往的 CodeRL 和 RLTF,而是遵循了 RLHF(基于人类反馈的强化学习)的思路,使用排序响应(代替奖励模型的绝对值)作为反馈,实现了更简单和高效的训练方法。
研究者将 RRTF 应用于开源的 StarCoder 15B 上,并推出了一个在所有已发布代码大模型中实现最佳性能的 PanGu-Coder2。该模型在 OpenAI HumanEval 基准上实现了 62.20% 的 pass@1 指标,相较 PanGu-Coder 3 亿参数版本的 17.07% 有了显著提升。
不仅如此,在 CoderEval 和 LeetCode 基准上的广泛评估结果表明,PanGu-Coder2 超越了以往所有的代码大模型。