尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

解密Prompt系列4. 升级Instruction Tuning:Flan/T0/InstructGPT/TKInstruct

解密Prompt系列4. 升级Instruction Tuning:Flan/T0/InstructGPT/TKInstruct 前言这一章我们聊聊指令微调指令微调和前3章介绍的prompt有什么关系呢哈哈只要你细品你就会发现大家对prompt和instruction的定义存在些出入部分认为instruction是prompt的子集部分认为instruction是句子类型的prompt。对比前三章介绍过的主流prompt范式指令微调有如下特点面向大模型指令微调任务的核心是释放模型已有的指令理解能力(GPT3中首次提出)因此指令微调是针对大模型设计的因为指令理解是大模型的涌现能力之一。而prompt部分是面向常规模型例如BERT预训练与其说是instruction tunning更像是instruction pretraining是在预训练阶段融入多样的NLP指令微调而非针对特定下游任务进行微调而之前的promp主要服务微调和zeroshot场景multitask以下模型设计了不同的指令微调数据集但核心都是多样性差异化覆盖更广泛的NLP任务而之前的prompt模型多数有特定的任务指向泛化性在大模型上进行指令微调有很好的泛化性在样本外指令上也会存在效果提升适用模型考虑指令都是都是sentence形式的因此只适用于En-DnDecoder only类的模型。而之前的prompt部分是面向Encoder的完形填空类型下面我们介绍几个指令微调相关的模型模型都还是那个熟悉的模型核心的差异在于微调的指令数据集不同以及评估侧重点不同每个模型我们只侧重介绍差异点。按时间顺序分别是Flan T0InstructGPT TK-InstructGoogle: Flanpaper: 2021.9 Finetuned Langauge Models are zero-shot learnersgithubhttps://github.com/google-research/FLAN模型137B LaMDA-PT一言以蔽之抢占先机Google第一个提出指令微调可以解锁大模型指令理解能力谷歌的Flan是第一个提出指令微调范式的目的和标题相同使用指令微调来提升模型的zero-shot能力。论文使用的是137B的LAMDA-PT一个在web代码对话 wiki上预训练的单向语言模型。指令集在构建数据集上谷歌比较传统。直接把Tensorflow Dataset上12个大类总共62个NLP任务的数据集通过模板转换成了指令数据集为了提高指令数据集的多样性每个任务会设计10个模板所以总共是620个指令并且会有最多3个任务改造模板。所谓的任务改造就是把例如影评的情感分类任务转化成一个影评生成任务更充分的发挥已有标注数据构建更丰富的指令数据集。哈哈感觉这里充满了人工的力量。为了保证数据集的多样性和均衡性每个数据集的训练样本限制在3万并且考虑模型对一个任务的适应速度取决于任务数据集大小因此按使用数据集样本大小占比按比例采样混合训练。效果效果上137B的指令微调模型大幅超越GPT3 few-shot, 尤其是在NLI任务上考虑NLI的句子对基本不会在预训练文本中自然作为连续上下句出现。而指令微调中设计了更自然地模板带来了大幅的效果提升。除了以上存在明显效果提升的任务在一些任务本身就和指令相似的任务例如常识推理和指代消歧任务指令微调并不能带来显著的效果提升。作者做了更多的消融实验验证指令微调中以下几个变量模型规模:作者进一步论证了指令微调带来的效果提升存在明显的大模型效应只有当模型规模在百亿左右指令微调才会在样本外任务上带来提升。作者怀疑当模型规模较小时在较多任务上微调可能会占用模型本就不多的参数空间造成预训练时的通用知识遗忘降低在新任务上的效果。多任务影响:考虑指令微调是在多任务上进行作者希望剔除指令微调中多任务微调带来的影响。因此尝试进行多任务非指令微调使用数据集名称代替指令效果上指令微调显著更优说明指令模板的设计确实存在提升模型指令理解力的效果。few-shot:除了zero-shotFlan同时验证了few-shot的效果。整体上few-shot的效果优于zero-shot。说明指令微调对few-shot也有效果提升。结合prompt-tunning既然指令微调提升模型对指令的理解能力作者认为应该对进一步使用soft-prompt也应该有提升。因此进一步使用了prompt-tunning对下游任务进行微调不出意外Flan比预训练LaMDA的效果有显著的提升。BigScience: T0paper: 2021.10 Multitask prompted training enables zero-shot task generationT0: https://github.com/bigscience-workshop/t-zeroModel: 11B T5-LM一言以蔽之: Flan你想到的我也想到了! 不过我的指令数据集更丰富多样T0是紧随Flan发布的论文和FLan对比有以下以下几个核心差异预训练模型差异Flan是Decoder-only, T0是Encoder-Decoder的T5并且考虑T5的预训练没有LM目标因此使用了prompt-tunning中以LM任务继续预训练的T5-LM指令多样性T0使用的是PromptSource的数据集指令要比Flan更丰富模型规模Flan在消融实验中发现8B以下指令微调效果都不好而3B的T0通过指令微调也有效果提升。可能影响是En-Dn的预训练目标差异以及T0的指令集更多样更有创意样本外泛化任务 Flan为了验证指令微调泛化性是每次预留一类任务在剩余任务训练训练多个模型。T0是固定了4类任务在其余任务上微调下面我们细说下T0的指令数据和消融实验指令集T0构建了一个开源Prompt数据集P3(Public Pool of Prompts)包括173个数据集和2073个prompt。从丰富程度上比Flan提升了一整个数量级不过只包含英文文本更多数据集的构建细节可以看PromptSource的论文。作者在指令集的多样性上做了2个消融实验指令集包括的数据集数在T0原始指令集的基础上作者分别加入GPT-3的验证集以及SuperGLUE训练了T0和T0模型。在5个hold-out任务上更多的数据集并不一定带来效果的提升并且在部分推理任务上更多的数据集还会带来spread的上升模型在不同prompt模板上表现的稳定性下降每个数据集的prompt数§通过每个数据集采样不同数量的prompt进行训练作者发现随prompt数提升模型表现的中位数会有显著提升spread存在不同程度的下降不过看起来存在边际递减的效应。OpenAI: InstructGPTpaper: 2022.3 Training Language Model to follow instructions with human feedbackModel: (1.3B, 6B, 175B) GPT3一言以蔽之你们还在刷Benchamrk?我们已经换玩法了更好的AI才是目标这里把InstructGPT拆成两个部分本章只说指令微调的部分也就是训练三部曲中的第一步论文中叫SFT(Supervised fine-tuning)。从论文的数据构建和评估中不难发现OpenAI对于什么是一个更好的模型的定义和大家出现了差异当谷歌BigScience联盟还在各种不同的标准任务上评估LM模型能力提升时OpenAI的重点已经变成了更好的AI也就是能更好帮助人类解决问题的人工智能。简化成3H原则就是Helpful模型能帮助用户解决问题Honest: 模型能输出真实信息Harmless 模型输出不能以任何形式伤害人类于是正文部分的评估基本没有常见的AccuracyF1等,而是变成了各种人工评估的打分例如LikeScoreHallucinations等等。指令微调数据集的分布也从标准NLP任务向用户在playground中提交的问题偏移。下面我们细说下这两部分指令集先说下SFT指令集的构建InstructGPT构建了训练12725验证1653条prompt指令由标注员的标注样本和用户在playground中和模型交互的指令共同构成相比T0指令的多样性又有大幅提升。不过以下的指令数量包括了few-shot采样也就是1个instruction采样不同的few-shot算多条指令。除了丰富程度和T0以及Flan指令集最大的差异在于指令类型的分布。标注人员标注了以下三类样本Plain: 标注同学自由构建任务指令Few-shot自由构建任务的同时给出few-shot样例User-Based: 基于用户申请waitlist时给出的使用用途让标注同学构建对应的指令任务整体上会更偏向于用户在真实场景下和模型交互可能提问的问题自由式生成例如脑暴改写聊天自由创作类的任务占了绝大多数。而T0Flan的指令集集中在NLP的分类和QA任务这类任务的在实际交互中占比其实很小。下图是OpenAI play ground中收集的用户指令的分布以及从论文的表述中存在迭代也就是标注同学标注的指令集用于训练第一版InstructGPT然后发布到playground收集更多的用户和模型交互的指令再使用用户指令来训练后续的模型。因此在用户导向的数据集上OpenAI相比所有竞争对手都有更深厚的积累你以为在白嫖人家的playground人家也在收集数据提升他们的模型。SFT使用cosine rate decay 例如微调了16个epoch但是发现在第一个epoch上验证集就已经过拟合了但是过拟合会提升后续RLHF的模型效果。这部分我们放到RLHF章节再讨论也就是什么样的模型更合适作为RLHF的起点评估指标从论文对如何把3H原则转化成客观的模型评估指标的讨论上不难感受到OpenAI对于标注标准有过很长期的讨论和迭代包括3个方向Helpful有用性主要评价模型是否理解了指令意图考虑有些指令本身意图的模糊性因此有用性被泛化成标注同学1-7分的偏好打分。Harmless有害性针对模型输出是否有害其实取决于模型的输出被用在什么场景中。OpenAI最初是用疑似有害性作为判断标注不过看起来可能双审一致率不高不同标注同学对疑似有害的认知存在较大差异。因此OpenAI设计了几条明确的有害标准和风控类似包括涉黄涉暴有侮辱性言语等等。Honest事实性相比Honest的含义 Truthfulness更适合用与没有价值观的模型论文使用封闭域上模型伪造事实的概率和在QA问题上的准确率来评估。以上的标注标准具体反映在以下的标注页面中模型效果评估数据也分成了两部分标准NLP数据集和API收集的指令数据进行标注得到也就是OpenAI独有数据。API数据集有用性上不论是在请求GPT还是在请求InstructGPT的指令样本中不论是使用新的标注同学还是和标注训练样本相同的标注同学对比原始GPT3SFT之后的模型like score都显著更高并且存在模型规模效应。具体拆分到是否遵循指令是否给出伪事实以及能否对用户起到帮助作用上SFT微调后的模型都有显著提升。同时论文对比了使用Flan和T0的指令集对GPT3进行微调发现虽然比原始GPT3有提升但是效果会显著差于使用更接近人类偏好的指令集微调的SFT。论文给出了两个可能的原因公开NLP任务类型集中在分类和QA这和OpenAI playground中收集的任务分布存在较大的差异公开NLP数据集的指令丰富程度 人们实际输入的指令多样性标准NLP任务在TruthfulQA任务上SFT模型相比GPT有微小但是显著的提升整体事实性还是有待提高。在RealToxicityPrompts数据集上不管是人工打分还是Perspective模型打分都显示SFT相比GPT3在产出有害内容上比例有显著的下降。综上所述InstructGPT在指令微调上最大突破是指令数据集分布的差异性标准NLP任务更少自由开放类任务更多以及依赖Openai免费开放的playground可以持续收集用户的指令用于模型迭代。同时在评估标准上在语言模型之外引入3H体系来评价模型作为AI的能力效果。AllenAITK-Instructpaper: 2022.4 SUPER-NATURAL INSTRUCTIONS:Generalization via Declarative Instructions on 1600 NLP Tasks开源指令集https://instructions.apps.allenai.org/Model: 11B T5一言以蔽之没有最大只有更大的指令集在英文和非英文的各类任务上超越InstructGPTTk-Instruct最大的贡献在于开源了更大规模的指令数据集并且对上述提到的T0(promptSource)FlanInstructGPT指令集进行了对比总结如下TK-Instruct在76大类总共1616个任务上构建了指令集任务分布比T0和Flan更加多样和广泛比InstructGPT要小不过因为Instruct GPT的指令更多是开放生成类的用户指令所以不太可比)且占比上还是更偏向标准NLP任务类型。其他细节这里不再赘述这里放TK-InstructGPT更多是想看下以上T0InstructGPTTK-Instruct的效果对比。可以发现在内容理解任务上Tk-Instruct是要显著超越InstructGPT的在生成类任务上二者差不多。但整体和有监督微调虚线相比还有很大的提升空间。这里其实也是我对Chatgpt能力的一些疑虑不可否认它在拟人化和对话上的成功但是在标准NLP任务上ChatGPT的水平如何这一点有待评估好像又看到最近有类似的论文出来后面再补上这部分最后感谢你们的阅读和喜欢我收藏了很多技术干货可以共享给喜欢我文章的朋友们如果你肯花时间沉下心去学习它们一定能帮到你。因为这个行业不同于其他行业知识体系实在是过于庞大知识更新也非常快。作为一个普通人无法全部学完所以我们在提升技术的时候首先需要明确一个目标然后制定好完整的计划同时找到好的学习方法这样才能更快的提升自己。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】一、全套AGI大模型学习路线AI大模型时代的学习之旅从基础到前沿掌握人工智能的核心技能二、640套AI大模型报告合集这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示。三、AI大模型经典PDF籍随着人工智能技术的飞速发展AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型如GPT-3、BERT、XLNet等以其强大的语言理解和生成能力正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。四、AI大模型商业化落地方案五、面试资料我们学习AI大模型必然是想找到高薪的工作下面这些面试题都是总结当前最新、最热、最高频的面试题并且每道题都有详细的答案面试前刷完这套面试题资料小小offer不在话下。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
返回列表