网易首页 > 网易号 > 正文 申请入驻

代码模型自我进化超越GPT-4o蒸馏!UIUC伯克利等提出自对齐方法 | NIPS 2024

0
分享至

新智元报道

编辑:alan

【新智元导读】代码模型可以自己进化,利用自身生成的数据来进行指令调优,效果超越GPT-4o直接蒸馏!

LLM作为智能的基座,可以衍生出各种能力。

代码能力就是其中一种:程序补全、注释、优化、修bug、测试等等。

而想要充分发挥LLM的巨大潜力,指令调优(Instruction Tuning)是至关重要的一步。


当前,高质量指令数据主要有两个来源:人工注释和蒸馏。

前者很贵,后者则受到限制。于是,人们开始另辟蹊径。

近日,来自UIUC、伯克利等机构的研究人员提出了SelfCodeAlign。

这篇工作首次证明了,可以通过自对齐(Self-Alignment)来获得强大的代码模型,不需要人工注释或者蒸馏,而且效果更好!

论文地址:https://arxiv.org/pdf/2410.24198

SelfCodeAlign在整个数据生成过程中,使用相同的基础模型进行推理,分为三步:

首先,从高质量的种子片段中提取不同的编码概念,以生成新任务。

然后,对每个任务的多个响应进行采样,将每个响应与测试用例配对,并在沙盒环境中对其进行验证。

最后,选择验证通过的示例来进行指令调优。


SelfCodeAlign是第一个完全透明的pipeline,使用纯自生成的指令数据对基础代码模型进行自对齐。

实验表明,使用SelfCodeAlign对CodeQwen1.5-7B进行指令微调,在HumanEval+上实现了67.1 pass@1,超过了参数量大10倍的CodeLlama-70B-Instruct。


在全部的三项基准测试(代码生成、数据科学编程、代码编辑)中,SelfCodeAlign都战胜了之前最先进的指令微调方法OctoPack。

此外,在HumanEval+上,SelfCodeAlign的性能超越了基于GPT-3.5-Turbo的蒸馏方法(包括 OSS-Instruct(61.6)和Evol-Instruct(59.1)),甚至打败了GPT-4o的直接输出蒸馏(65.9)!


这意味着,从模型自己的数据分布对齐中学习,可能胜于使用强大的teacher模型。

SelfCodeAlign适用于各种规模(从3B到33B)的LLM,比如StarCoder2-Struct就是以此为基础创建的(base model为StarCoder2-15B)。


自对齐代码生成

下图以StarCoder2-15B的指令调优过程为例,展示了SelfCodeAlign的流程:


种子选择

SelfCodeAlign首先从The Stack V1中收集一组种子代码片段。

此步骤中,确保种子片段多样化且高质量至关重要,它们将用作生成说明和响应的起点。

为了收集种子片段,研究人员从The Stack V1中提取所有带有文档字符串的Python函数,然后应用一系列过滤规则来确保种子片段的质量。

通过运行Pyright类型检查器、删除基准项、过滤掉文档质量差的函数,以及删除几乎重复的函数,总共从5M个函数中过滤出250k个Python函数。

概念生成

收集种子函数后,开始执行Self-OSS-Instruct,对OSS-Instruct的自对齐进行修改,以生成不同的指令。

具体来说,这里采用上下文学习(In-context learning)让基础模型从给定的种子代码片段中自行生成指令。

### System : I - > R
You are an extremely intelligent AI coding assistant . Please provide an accurate and reliable response to each user instruction . After delivering your response , verify its consistency and correctness by writing a series of executable tests .
### System : C - > I
Create a series of independent coding tasks that are original , distinct , diverse , and high - quality , fostering logical thinking . Each task must adhere to specified properties :
- category : the type of task ( e . g . , function implementation , class implementation , or program implementation )
- language : the programming language to be used
- difficulty : the complexity level of the task ( e . g . , easy , medium , or hard )
- concepts : fundamental principles and techniques the task is designed to incorporate , which developers must understand to effectively solve the task
Design the tasks so that the relevant concepts emerge naturally as the most appropriate solutions , without explicitly mentioning that a particular concept should be used .

作者使用了21个精心设计的示例来教模型如何工作:


指令生成过程分为以下两个步骤:

概念提取:对于每个种子函数,提示基本模型生成函数中存在的代码概念列表。代码概念是指编程中使用的基本原则和技术,例如模式匹配和数据类型转换。

指令生成:提示基本模型根据已识别的代码概念和两个附加属性(难度和类别)自生成编码任务,随机抽样以丰富生成指令的多样性。

执行筛选

根据Self-OSS-Struct生成的指令,下一步是将每条指令与高质量teacher模型(比如GPT-4)相匹配。

不过,很多强大的商业模型不允许用蒸馏来做这种事,而且,teacher模型也不一定就更加厉害,毕竟老师也会犯错误,这时就会起到负作用。

作者建议,明确指示模型在产生与自然语言交错的响应后,生成用于自我验证的测试来自对齐基本模型。

具体来说,对于每个指令,基本模型对格式的多个输出(响应、测试)进行采样,然后过滤掉那些在沙箱环境中测试失败的响应。然后,为每个指令随机选择一个验证通过的响应,应用于最终的指令微调数据集。

实验评估

本文全面评估了SelfCodeAlign在各种编码任务中的表现,包括:

函数生成:给定自然语言描述,要求LLM生成一个自包含函数,并测试函数的正确性和效率。 类生成:给定一个包含类级和方法级信息的代码框架,要求LLM生成类及其方法。 数据科学编程:给定数据科学任务的描述和部分代码片段,要求LLM完成代码片段以通过相应的测试。 文件级代码编辑:提供文件内容后,要求模型按照自然语言指令编辑程序。

函数级代码生成

公平起见,比较对象为类似规模的最先进的开源模型,基准测试选择LiveCodeBench。

LiveCodeBench是无污染评估的基准,包含2023年5月至2024年2月期间的400项最新Python算法挑战。这些任务来自Codeforce和LeetCode等网站,每个网站平均有20多个测试用例。


上表报告了在3个特定开始日期之后创建的问题的测试结果(pass@1)。SelfCodeAlign-CQ-7B的性能始终优于大多数基线模型。

此外,将开始日期向前移动对SelfCodeAlign-CQ-7B的影响很小,这表明模型不太可能受到污染。

类级代码生成

这里使用ClassEval评估类级代码生成的能力,ClassEval是100个类级Python代码生成任务的集合,涵盖100个类和410个方法,平均每个类33个测试,每个方法有8个测试。

作者将最大上下文大小设置为2048个token,测试了三种生成策略中每个模型的最佳类级pass@1(以及相应的方法级pass@1):

1. 整体生成:在给定类框架的情况下生成整个类; 2. 增量生成:将早期生成的方法放在提示符中来迭代生成类方法; 3. 组合生成:独立生成每个类方法,不查看其他方法。

上表中的类级pass@1需要同时生成正确的类和方法,而方法级pass@1仅检查生成的方法是否能通过方法级测试。

上表的结果显示,就类级性能而言,SelfCodeAlign-CQ-7B是表现最好的,不论是相比于开源指令微调模型,还是使用未知或专有指令微调数据的模型。

数据科学

DS-1000包含7个流行的Python数据科学库中1000个现实数据科学挑战。在这个基准测试中,模型必须完成部分代码片段才能解决问题。


上表显示,尽管SelfCodeAlign-CQ-7B只使用了有限的数据科学代码进行训练,但在与一众模型的比较中仍然表现出色。

代码编辑

代码编辑任务选用CanItEdit作为基准测试,该基准测试由三种类型的210个代码编辑任务(每种类型70个任务)组成:纠正(修复错误)、自适应(添加新功能)和完善(改进现有功能)。

对于每个任务,模型需要以原始代码片段和描述所需代码更改的自然语言指令作为输入,生成满足指令的代码片段。遵循原始基准测试中的设置,在0.2的温度下为每个任务进行20次测试。


上表报告了每种类型的pass@1以及所有任务的平均成绩。尽管没有专门针对代码编辑进行调优,但SelfCodeAlign-CQ-7B在CanItEdit上表现出强大的性能,实现了39.0%的pass@1,优于除CodeQwen1.5-Chat以外的所有模型。

参考资料:

https://x.com/YuxiangWei9/status/1852421529897972207

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
比亚迪、上汽,突传消息!

比亚迪、上汽,突传消息!

21世纪经济报道
2024-11-27 16:20:55
服了,她俩非穿紧身裤跑八百……要劝吗?

服了,她俩非穿紧身裤跑八百……要劝吗?

新浪财经
2024-10-27 21:14:05
又一位46岁女演员去世!死在床上3天才被发现

又一位46岁女演员去世!死在床上3天才被发现

书画艺术收藏
2024-11-27 22:03:36
马筱梅直播首谈与汪小菲初相识,差点就错过,网友:小梅好有勇气

马筱梅直播首谈与汪小菲初相识,差点就错过,网友:小梅好有勇气

娱乐的小灶
2024-11-28 16:45:32
宗国明,严重违反党的政治纪律、组织纪律、廉洁纪律、工作纪律和生活纪律

宗国明,严重违反党的政治纪律、组织纪律、廉洁纪律、工作纪律和生活纪律

新京报政事儿
2024-11-28 17:30:34
继“南极人”后,这5个品牌也卖起了吊牌,你买到的可能都是假货

继“南极人”后,这5个品牌也卖起了吊牌,你买到的可能都是假货

肖兹探秘说
2024-11-28 21:50:12
中年人最新解压圣地:萨莉亚

中年人最新解压圣地:萨莉亚

果壳
2024-11-28 12:13:34
鉴宝|累坏牛的那片田,是筱田悠的田!

鉴宝|累坏牛的那片田,是筱田悠的田!

贵圈真乱
2024-11-07 21:12:51
女人一生能接受跟多少个男人“发生关系”?一位女性讲述:好现实

女人一生能接受跟多少个男人“发生关系”?一位女性讲述:好现实

伊人河畔
2024-11-23 10:36:05
突发!恒大启动退款月底完成,4位高管过亿年薪曝光!

突发!恒大启动退款月底完成,4位高管过亿年薪曝光!

叮当当科技
2024-11-28 18:32:19
44岁智障女突然分娩,被曝曾屡次遭性侵!全村200人都可能是生父

44岁智障女突然分娩,被曝曾屡次遭性侵!全村200人都可能是生父

娱官儿
2024-11-28 12:24:43
妈妈偷偷在校服上绣一根葱,被女儿发上网,网友:感觉自己是废物

妈妈偷偷在校服上绣一根葱,被女儿发上网,网友:感觉自己是废物

晴晴给你讲故事
2024-11-27 17:07:22
瑞典要求中国船只协助调查海底电缆被破坏事件 外交部回应

瑞典要求中国船只协助调查海底电缆被破坏事件 外交部回应

财联社
2024-11-27 15:29:07
杀人诛心1枚,侮辱性更强

杀人诛心1枚,侮辱性更强

汉周读书
2024-11-27 10:59:33
古代专设“通房丫鬟”,主子同房要守床边,近身伺候才是重头戏!

古代专设“通房丫鬟”,主子同房要守床边,近身伺候才是重头戏!

刀刃历史
2023-10-24 20:08:15
中央为何决定:武警部队要归中央军委统一领导?

中央为何决定:武警部队要归中央军委统一领导?

李昕言温度空间
2024-11-10 16:35:12
对抗组织审查,大搞权钱交易!宗国明被“双开”

对抗组织审查,大搞权钱交易!宗国明被“双开”

观察者网
2024-11-28 16:51:46
马天宇被骗缅甸后续:失联5个月找到,有智力障碍,妈妈后悔自责

马天宇被骗缅甸后续:失联5个月找到,有智力障碍,妈妈后悔自责

金哥说新能源车
2024-11-28 17:12:51
菲政坛大变天!马科斯情况不妙,解放军动真格,菲盟友连夜撤退

菲政坛大变天!马科斯情况不妙,解放军动真格,菲盟友连夜撤退

领英前沿
2024-11-28 13:05:36
雷军烧130亿小米汽车卖爆了,高合烧100亿倒闭了!为什么?评论精辟

雷军烧130亿小米汽车卖爆了,高合烧100亿倒闭了!为什么?评论精辟

热闹的河马
2024-11-28 10:23:13
2024-11-28 22:32:49
新智元
新智元
AI产业主平台领航智能+时代
11794文章数 65709关注度
往期回顾 全部

科技要闻

讽刺谁?特斯拉称供应链付款周期缩至90天

头条要闻

库尔斯克被指成俄乌激战焦点 乌军:俄军踩着尸体推进

头条要闻

库尔斯克被指成俄乌激战焦点 乌军:俄军踩着尸体推进

体育要闻

道心破碎的姆巴佩,交出一张负分答卷

娱乐要闻

冯绍峰新恋情曝出!女方第一时间发文辟谣

财经要闻

洪灏:不要误解增量政策 不是数越大越好

汽车要闻

ID. CODE概念车/探岳L领衔 大众汽车携25款车亮相

态度原创

时尚
游戏
本地
艺术
军事航空

今年最火的5条裙子,怎么搭都好看

年度级欢乐比赛,NE选手个个是人才

本地新闻

云游中国|来伦布夏果感受充满Passion的人生

艺术要闻

故宫珍藏的墨迹《十七帖》,比拓本更精良,这才是地道的魏晋写法

军事要闻

涉嫌严重违纪 中央军委委员苗华被停职检查

无障碍浏览 进入关怀版