【转行大模型工程师笔记】10-编程能力微调相关数据

我挑了几篇我觉得相关数据集比较好用的论文读一下,尽量摘取有信息量的内容

图片

WizardCoder

WizardCoder: Empowering Code Large Language Models with Evol-Instruct,ICLR24

huggingface 找不到论文数据集,但有一个类似数据集 https://huggingface.co/datasets/ise-uiuc/Magicoder-Evol-Instruct-110K

WizardCoder 是把 WizardLM 提出的指令进化利用在编程领域的工作,对通用指令进化做了编程领域改造。

进化框架非常直观,包含一些方法和一个问题:

在这里插入图片描述

用 GPT3.5 做的数据生成。进化方法有几种,1. 增加约束项 2. 具体化某个约束 3. 要求增加题目的推理步骤 4. 提供一段错误代码误导模型 5. 增加时空复杂度要求

种子数据是 20K 的 codealpaca,然后迭代生成多轮数据训练,每一轮数据和之前所有数据合并训练,直到观察到 HumanEval 的正确率下降停止迭代

总体效果:

在这里插入图片描述

因为多轮迭代是加数据量的,所以做了一个消融实验说明即使只用某一轮的,相同样本 / token 数的数据,进化后也比初始轮要好;而且作者验证了新生成内容和 humaneval 测试集的相关性比原始种子还低一些

在这里插入图片描述

用不同模型生成数据的差异:GPT3.5 和 GPT4 差别不大,CodeLlama 差一些

在这里插入图片描述

OctoPack

OctoPack: Instruction Tuning Code Large Language Models, ICLR24 spotlight

这篇提出了 commit pack 4T 预训练数据;还提出了 humanevalpack benchmark,包括六种编程语言下的写代码、修代码、代码解释任务 commit pack 的子集 (74w sample) 做 sft,使得 6B 模型超过之前 starcoder 16B 的效果

CommitPack 就是 Github 上的一个 Commit,各种编程语言都有:
在这里插入图片描述

以 python 为例

GPT4 对 CommitPack 的分类:
在这里插入图片描述

虽然作者收集了 4T 预训练数据,本文工作主要考虑在一个子集上微调的效果,用来微调的数据集:

在这里插入图片描述

作者考虑几类任务 EVALFIX (NL+C→C) ,EXPLAIN (NL+C→NL) ,SYNTHESIZE (NL→C) ;其中 EXPLAIN 的评测方式,是让模型解释代码,根据解释重新生成一份代码,再看新代码通过率

在这里插入图片描述

主要有三个结论:

  1. CommitPack 主要在 Code Fixing 帮助涨点
  2. 只有代码预训练的模型,不会解释代码
  3. COMMITPACKFT+OASST 效果比较好

名字解释一下:StarCoder -> OCTOCODER (16B),CodeGeeX2 -> OCTOGEEX (6B)

一个有趣的事情:预训练的 bloomz,在 Go 和 Rust 上是 0 分(因为语料相对太少),但是经过 sft 后有一些分数,而 sft 数据中并没有 Go 和 Rust 相关内容,因此作者认为指令遵循的能力在不同语言之间有一些泛化性;以及作者提出某种编程语言在预训练见的越多,sft 后该语言的性能就越好,比如 Rust 占的比重最少 (1.5%),因此表现就最差,很符合直觉

模型遇到的困难:即使两个任务非常相近,模型也可能会做其中一个而不会做另一个;模型在代码和自然语言之间切换困难;不会数字数

附录中还有一些过滤词表等有价值的内容

XcodeEval

xCodeEval: An Execution based Large Scale Multilingual Multitask Benchmark for Code Understanding, Generation, Translation and Retrieval, ICLR24 被拒稿

收集了 codeforces 的 7.5k 题目和相关的 5M+ 解答,构造七个任务,分析 chatGPT 的表现

数据集的特点是量大、题多、语言多、有测例

收集的一份数据是这样,解答既有通过的代码,也有未通过的

在这里插入图片描述

ChatGPT 在 humaneval 上 pass@1 达到 67,但是在 codeforces 上 pass@5 也只有 30,直观说明 codeforces 难很多

在这里插入图片描述

各个语言通过率和 pass@k 中 k 的关系如上

注意不同语言的测试集其实不一样,几乎所有语言都有 c++ 解答,然而可能只有简单题有 python 解

作者提供了在检索、编译、写代码、修改代码、翻译任务上的模型表现

除了 c++ 和 Java,模型修改代码的通过率都显著大于直接写代码,我猜测是因为这两种语言涵盖了比较多的难题,对于难题来说,要 chatGPT 做出来可能只能是背一份标准答案。在语言翻译上,当翻译目标是 c++ 或者 python 时模型表现比较好。

在这里插入图片描述

从右图看,chatGPT 竟然在 1600 分段有 10% 的通过率,而常识告诉我 chatGPT 应该不可能做对 1200 分及以上的题。再看左图,对于某个时间点以后的题,chatGPT 的通过率大幅下降,说明 chatGPT 应该是在互联网上见过原题。

剩下值得 LLM 研究者看的内容不多,略过。

CodeFeedback

OpenCodeInterpreter: Integrating Code Generation with Execution and Refinement

造了一个大量,多轮,包含大模型和人类反馈的数据集 Code-Feedback

在这里插入图片描述

薅开源羊毛:先从 Magicoder-OSS-Instruct、Python code of ShareGPT、Magicoder-Evol-Instruct 和 Evol-Instruct-Code 收集了 28w 问题,然后用 Qwen72B 进行难度打分 1-5,只保留难度为 4-5 的问题

编多轮数据的时候,使用 Packing 方法,用 BERT + KNN 把相似的单轮问题打包在一起

为了模型真实场景,对于每个问题,GPT3.5 生成一个初步回答,然后抽取代码片段并执行。将执行的输出和编译器结果给 GPT4,GPT4 给出一个认为正确的答案或者达到最大迭代次数才终止。 然后再模拟人类反馈:定义常见的人类反馈类别,包含语法和格式、效率、功能、清晰度、bug 等相关问题。然后让 GPT4 模型选择一个反馈,再自问自答。

生成的过程中,还会让 GPT4 估计生成错代码再 debug。

消融实验:

在这里插入图片描述

这里比较有趣的是发现要用两份 110k 的 WizardCoder 混上 CodeFeedback 效果最好,看起来 WizardCoder 带来的涨幅还比较显著

如何学习AI大模型 ?

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓

CSDN粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

👉1.大模型入门学习思维导图👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
在这里插入图片描述

👉2.AGI大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。
在这里插入图片描述

在这里插入图片描述

👉3.大模型实际应用报告合集👈

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)

在这里插入图片描述

👉4.大模型实战项目&项目源码👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战项目来学习。(全套教程文末领取哈)
在这里插入图片描述

👉5.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
在这里插入图片描述

👉6.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)
在这里插入图片描述

为什么分享这些资料?

只要你是真心想学AI大模型,我这份资料就可以无偿分享给你学习,我国在这方面的相关人才比较紧缺,大模型行业确实也需要更多的有志之士加入进来,我也真心希望帮助大家学好这门技术,如果日后有什么学习上的问题,欢迎找我交流,有技术上面的问题,我是很愿意去帮助大家的!

这些资料真的有用吗?

这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

在这里插入图片描述
在这里插入图片描述

CSDN粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值