150亿参数、一次通过率超60%,华为代码能力超GPT3.5的大模型来了

简介: 150亿参数、一次通过率超60%,华为代码能力超GPT3.5的大模型来了

这次,华为代码生成大模型盘古 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 超越了以往所有的代码大模型


方法概览


RRTF 框架


研究者们提出了一个更简单但是功能强大的框架 RRTF,它将几种前沿技术无缝结合,包括指令调优、Evol-Instruct 方法以及强化学习。本次方法的核心理念是:利用测试信号和人类偏好共同作为反馈,对响应进行排序,从而引导模型生成更高质量的代码。


因此,受最近大型自然语言模型与指令微调取得的进展启发,研究者提出了这一新的训练范式,即 RRTF 框架。框架概览如下图所示。


图 1:RRTF 框架概览


RRTF 包括以下三个步骤:采样、排序和训练。


采样阶段:通过 Evol-Instruct 生成的 prompt 对响应性进行采样。

排序阶段:根据单元测试和启发式偏好对不同来源的响应进行排序。

训练阶段:使用 prompt 三元组和被选用 / 被拒绝响应的相应分数来训练代码大模型。


模型架构


基于具有 Multi-Query-AttentionShazeer 的 decoder-only Transformer,研究者训练出一个 15B 参数的 PanGu-Coder2。同时利用 FlashAttention 来减少计算量和内存占用。因此,该模型的最大长度可以扩展到 8192。下表 1 显示了该模型的详细超参数。



训练语料库


由于手动收集高质量语料库耗时耗力,研究者遵循 Evol-Instruct 技术来构建其训练语料库。具体来讲,他们基于 Alpaca 20K 数据集,并迭代进化该数据集中的编程问题,从而获得新的编程问题。prompt 如下图 2 所示。



针对这些问题,研究者从不同模型中采样了答案。总的来说,他们收集了一个包含 100K 个有答案编程问题的原始语料库,并把它称为指令和解答方案对(instruction and solution pairs)。然后利用一些手动定义的规则在原始语料库上进行数据预处理,将其规模缩小至 68K。


更重要的,为了防止数据泄露,研究者花大力气调查了其 68K 数据集与 HumanEval 基准之间的潜在重叠。经过细致的调查,他们确信其实验中无数据泄露,进一步验证了 PanGu-Coder2 的有效性。


实现细节


研究者选择 StarCoder 15B 作为基础模型,并以 512 的全局批大小对其进行 6 epoch 训练。图 3 展示了单个训练样本的格式。除了在 prompt 中添加一对三引号外,研究者只使用从响应中提取的代码片段进行训练。



实验及评估


研究团队进行了一系列的实验来评估 PanGu-Coder2 的性能。


性能


该研究将 PanGu-Coder2 与现有的代码大模型在 Python 代码生成方面进行了性能比较。下表 2 显示了在 HumanEval 基准上的比较结果。


在所有闭源模型中,PanGu-Coder2 排名第二。与 PaLM-Coder 和 LaMDA 等大模型相比,PanGu-Coder2 虽然规模较小,但性能却更好。值得注意的是,PanGu-Coder2 的表现优于 OpenAI 的 GPT-3.5,但与 GPT-4 仍有差距。



表 3 展示了贪婪解码的比较结果。在所有基准测试中,PanGuCoder2 都取得了最好的成绩。值得注意的是,PanGu-Coder2 不仅在 HumanEval 上超过了 WizardCoder 和 StarCoder,而且在 CoderEval 和 LeetCode 上也超过了这两个模型。



表 2 和表 3 的实验结果可以得出以下结论:


在开源模型中,PanGu-Coder2 在 HumanEval 上以 61.64% pass@1 达到了 SOTA。

尽管 PanGu-Coder2 的规模较小,但其性能却优于 PaLM-Coder 和 LaMDA 等更大规模的模型。

PanGu-Coder2 是实验中唯一同时在 HumanEval、CoderEval 和 LeetCode 上都达到最佳性能的模型。


如下图 4 所示,整体准确率随着数据集大小的增加而增加:



在训练计算量方面,无论数据集大小如何,准确率可能会在训练开始时急剧下降或持平。大约 2 个 epoch 后,训练曲线变得更加稳定,准确率随着损失的减少而持续上升。3 个 epoch 后,准确率达到最佳,而 4 个 epoch 后,准确率变得更加稳定,显示出收敛的迹象。这表明,PanGu-Coder2 模型大约需要 3-4 个 epoch 才能完全捕捉到数据集中的知识,而之后的训练步骤对提高模型能力的帮助可能微乎其微。


用例研究


为了对模型进行实证研究并分析未来的工作方向,该研究比较和分析了三个模型的成功和失败案例:基础模型 StarCoder、指令调整模型 WizardCoder 和 PanGu-Coder2 模型。下图 5 显示了三种模型在贪婪解码(greedy decoding)和核采样(nucleus sampling)方面的异同:



图 5 还表明 PanGu-Coder2 和 WizardCoder 可以互补:虽然 PanGu-Coder2 解决了大部分问题,并且其中一些问题是 WizardCoder 无法解决的,但也有一些问题只能通过 WizardCoder 解决。此外,还有一些问题即使采样 200 次,这三个模型也都无法解决。


该研究选择 StarCoder、WizardCoder 和 PanGu-Coder2 生成的几个具有代表性的示例代码作为案例进行研究,以对 PanGu-Coder2 的优缺点进行评估。


如下图 6 所示,PanGu-Coder2 能够熟练地理解编程问题的逻辑,而 WizardCoder 和 StarCoder 在这方面有所欠缺。这一观察结果表明,PanGu-Coder2 通过该研究提出的排名反馈,有效地在编程问题陈述和代码解决方案之间建立了细致的映射。



如下图 7 所示,在某些情况下,PanGu-Coder2 和 StarCoder 的性能差于 WizardCoder,WizardCoder 可能受益于使用大量丰富注释代码指令进行训练。在某种程度上,这一观察表明,引入注释数据可能会在训练过程中产生积极效果。



此外,下图 8 给出了一个复杂的编程挑战,StarCoder、WizardCoder 和 PanGu-Coder2 都给出了错误的代码解决方案。这一观察结果表明,目前代码大模型在处理复杂编程要求方面仍达不到人类的熟练程度,还有一些改进的空间。



推理优化


GPU 内存消耗和推理速度是模型实际部署和使用的关键因素,因此该研究使用 CTranslate2 和 GPTQ 两种量化技术来进行实验,研究模型推理的优化策略。下表 4 展示了使用不同量化技术优化的模型的 GPU 内存消耗、推理速度和 HumanEval 性能。



参考链接:

https://zhuanlan.zhihu.com/p/548457445


相关文章
|
2月前
|
人工智能 Rust Kubernetes
开源11天,马斯克再发Grok-1.5!128K代码击败GPT-4
**马斯克的xAI发布Grok-1.5,超越GPT-4!**\n\nGrok-1.5以128K上下文长度提升文本理解,强化推理能力,在MATH与GSM8K数学测试中展现出色性能,HumanEval代码任务得分74.1%。基于JAX、Rust和Kubernetes的训练框架加速了研发,但更大规模带来资源需求挑战。开源策略促进发展,但也引出滥用与安全问题。
198 3
开源11天,马斯克再发Grok-1.5!128K代码击败GPT-4
|
2月前
|
人工智能 自然语言处理 算法
谷歌推出”自我发现“框架,极大增强GPT-4等大模型推理能力
【4月更文挑战第20天】谷歌DeepMind团队推出了SELF-DISCOVER框架,让大型语言模型能自我发现并构建推理结构,提升在复杂任务中的性能。该框架模仿人类解决问题方式,分两阶段选择和适应原子推理模块,以解决挑战。在多任务测试中,SELF-DISCOVER相比传统方法表现出色,性能提升42%,计算量减少10至40倍。它具有跨模型应用的普适性,并与人类思维方式相通。然而,它在某些任务类型上仍有优化空间,且需解决计算成本问题。论文链接:https://arxiv.org/abs/2402.03620
40 1
|
2月前
|
人工智能 搜索推荐 测试技术
模拟试错(STE)法让7B大模型测试超GPT-4
【2月更文挑战第24天】模拟试错(STE)法让7B大模型测试超GPT-4
75 1
模拟试错(STE)法让7B大模型测试超GPT-4
|
6天前
|
人工智能 自然语言处理 算法
大模型+蒙特卡洛树搜索,一招让LLaMa-3 8B奥数水平直逼GPT-4
【6月更文挑战第25天】 - 复旦大学和上海AI Lab的研究者提出这一算法,用于增强大型语言模型在复杂数学推理任务中的能力,解决现有模型推理准确性问题。 - **MCTSr**流程包括初始化、选择、自细化、自评估、反向传播和UCT更新,通过多轮迭代提升答案质量。 - 实验显示,该算法在**GSM8K**、**GSM Hard**、**MATH**和**Olympiad-level**数据集上表现出色,尤其在多次迭代后。 - 尽管计算成本高且不适用于所有问题类型,但研究揭示了强化LLMs推理能力的新途径,对未来的AI应用具有指导意义。
37 8
|
2月前
|
自然语言处理
Meta首发变色龙挑战GPT-4o,34B参数引领多模态革命!10万亿token训练刷新SOTA
【5月更文挑战第27天】Meta推出34B参数的多模态模型Chameleon,通过早期融合技术处理图像和文本,实现全面的多模态建模。在10万亿token的训练数据下,Chameleon在图像字幕生成和文本推理任务中刷新SOTA,展现出在混合模态生成和推理的潜力。然而,模型可能无法完全捕捉图像语义信息,且在某些特定任务上有优化空间。[论文链接](https://arxiv.org/pdf/2405.09818)
41 1
|
2月前
|
人工智能 自然语言处理 数据可视化
一键本地部署类GPT大模型,免费!
一键本地部署类GPT大模型,免费!
99 1
|
2月前
|
人工智能 测试技术 iOS开发
微软Phi-3,3.8亿参数能与Mixtral 8x7B和GPT-3.5相媲美,量化后还可直接在IPhone中运行
Phi-3系列是微软推出的一系列高效语言模型,旨在在移动设备上实现高性能。该系列包括 Phi-3-mini(38亿参数)、Phi-3-small 和 Phi-3-medium,它们在保持紧凑的同时,性能媲美GPT-3.5和Mixtral。模型通过精心筛选的数据集和优化训练策略,如数据最优化和阶段训练,实现高效能。 Phi-3-mini可在iPhone 14上运行,占用约1.8GB内存。这些模型在多个基准测试中展现出色性能,推动了AI在移动设备上的应用,增强了用户隐私和体验。虽然目前仅发布技术报告,但源代码和权重即将开放下载。
70 1
|
2月前
|
人工智能
8B文字多模态大模型指标逼近GPT4V,字节、华师、华科联合提出TextSquare
【5月更文挑战第10天】TextSquare,由字节跳动、华东师大和华中科技大学联合研发,是新型的文本中心视觉问答模型,借助Square-10M数据集在VQA任务上取得突破。在6个OCRBench等基准上超越现有最佳模型,如GPT4V和Gemini。模型利用视觉问答推理数据增强上下文理解,减少幻觉现象,平均准确率75.1%。但面对复杂问题和泛化能力仍有挑战。[论文链接](https://arxiv.org/abs/2404.12803)
46 4
|
2月前
|
数据采集 编解码 人工智能
超越GPT-4V,苹果多模态大模型上新!
【4月更文挑战第17天】苹果公司推出Ferret-UI,一款专为移动UI理解的新型MLLM,优于GPT-4V。该模型针对移动UI特点优化,采用“任意分辨率”技术处理屏幕细节,通过广泛的基础UI任务和高级任务训练,提升理解和推理能力。在基准测试中,Ferret-UI表现突出,显示了苹果在多模态语言模型领域的领先地位。尽管面临灵活性和训练数据质量挑战,Ferret-UI为移动应用自动化和智能助手发展开辟新路径。
61 1
超越GPT-4V,苹果多模态大模型上新!
|
2月前
|
机器学习/深度学习 传感器 人工智能
科技周报 | GPT商店上线即乱;大模型可被故意“教坏”?
科技周报 | GPT商店上线即乱;大模型可被故意“教坏”?
47 1

热门文章

最新文章