解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN

这篇具有很好参考价值的文章主要介绍了解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

话接上文的指令微调的样本优化方案,上一章是通过多样性筛选和质量过滤,对样本量进行缩减,主打经济实惠。这一章是通过扩写,改写,以及回译等半监督样本挖掘方案对种子样本进行扩充,提高种子指令样本的多样性和复杂度,这里我们分别介绍Microsoft,Meta和IBM提出的三个方案。

Microsoft:WizardLM

  • WizardLM: Empowering Large Language Models to Follow Complex Instructions
  • https://github.com/nlpxucan/WizardLM
  • 要点:使用prompt对种子指令样本进行多样化,复杂化改写可以有效提升模型效果

wizardLM提出了一套指令改写的方案Evol-Instruct对原始指令样本进行改写,改写后的指令用于微调模型显著超过了之前Vicuna使用ShareGPT微调LLAMA的效果,甚至在复杂指令上号称超过ChatGPT。

指令改写是使用大模型直接进行的,分成深度改写和广度改写两个类型,其中深度改写有5种不同的改写指令,广度改写有1种改写指令。Evol-Instruct对初始的指令集,也就是52K的Alpaca指令,总共进行了4轮改写,每轮改写会等权重随机选择一种深度、广度改写指令,经过过滤后总共得到了250K的改写指令用于模型微调。下图是一个指令改写的示例

解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN

下面我们具体看下改写指令是如何设计的

深度改写

深度改写把指令改写的更加复杂,包括加入限制条件,指令复杂化,指令具象化,增加推理步骤,输入复杂化等5种类型的指令。以下是加入限制条件的prompt指令,以下指令控制每次改写增加的字数,以及改写的程度,每次只增加部分难度,这样通过多轮的改写,就可以得到不同难度,多样性更高的指令集。

解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN

其他的四类prompt的差异主要在高亮部分,分别为

  • 指令复杂化:If #Given Prompt# contains inquiries about certain issues, the depth and breadth of the inquiry can be increased
  • 指令具象化:Please replace general concepts with more specific concepts.
  • 增加推理步骤:If #Given Prompt# can be solved with just a few simple thinking processes, you can rewrite it to explicitly request multiple-step reasoning.
  • 输入复杂化:You must add [XML data] format text as input data in [Rewritten Prompt]

广度改写

广度改写的目的就是为了扩充指令覆盖的范围,包括更多的话题,技能等等

解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN

改写基本是论文最大的亮点,除此之外的细节就不多细说啦。通过4轮改写,加上简单的样本过滤后得到的250K指令样本用于模型微调,效果上在收集的Evol-Instruct测试集,Vicuna的测试集,以及更高难度的测试集上WizardLM的效果都略超过vicuna还有alapca。但略有些奇怪的是vicuna似乎表现还略差于alpaca?Anyway, LLM时代评估指标的置信度都有限,方法学到手就好,模型表现莫要太当真.......

解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN

Meta:BackTranslation

  • Self-Alignment with Instruction Backtranslation
  • ClueWeb数据集:https://lemurproject.org/clueweb12/specs.php
  • Open Assistant数据集:https://huggingface.co/datasets/OpenAssistant/oasst1
  • 要点:结合质量过滤和半监督的指令样本挖掘方案扩充种子样本,多次迭代后可以提高模型效果

对比以上WizardLM从指令侧入手,通过改写指令来生成更多样,复杂的指令样本,来扩充种子样本集。Back Translation则是用了半监督的思路,从输出侧入手,通过从网络上爬取优质的人工编辑的内容作为输出,并为这些输出配上合适的指令来扩展已有的指令样本集。

解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN

因为是先有输出再有输入,所以论文使用了回译来命名此方案,核心两个步骤如下

1. Self-Augmentation

指令生成部分,论文先使用Open Assistant里面人工标注的3200指令样本数据作为种子数据来训练LLama模型,得到初版的对齐模型。SFT训练和常规略有不同,采用了反向对齐,也就是给定Output生成Instruction(P(X|Y))的条件生成任务。

然后论文针对爬取的网页数据,经过清洗后作为指令样本的输出,然后使用以上模型直接推理得到指令本身,对应以上P(X|Y)的条件生成任务。

这一步其实感觉也可以使用类似APE的prompt逆向工程方案来实现,让模型基于输出猜测最合适的指令是什么。这样SFT的模型可能也能完成这个步骤?

2. Iterative Self-Curation

第二步考虑以上生成的指令样本对可能存在很多低质量样本,因此需要进行质量过滤。质量过滤的模型同样是基于3200个种子指令样本,进行常规SFT得到初始模型。然后基于Prompt模板对以上得到的指令样本进行1-5分的绝对打分。主要评估回答是否明确有用无争议,能合理回答指令中的问题,并且回答的主语模型而非其他第三人称,Prompt如下,

解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN

同时论文使用了多轮迭代的训练,以上第一轮打分过滤出的高分样本,会和种子样本混合,重头进行SFT。然后微调后的模型会再用来对样本进行打分过滤,然后再混合重新SFT。

在SFT的样本构建中,论文使用了不同的Prompt来区分样本是来自人工标注的种子集,还是来自机器生成的扩展集,前者的prompt=“Answer in the style of an AI Assistant,后者的prompt=Answer with knowledge from web search,从而降低样本间不同回答format带来的模型学习混淆。

效果

整体效果评估,论文使用了混合测试集包括Vicuna,self-instruct, opena assistant,koala,HH-RLHF, LIMA等总共1130个指令数据。使用人工进行两两偏好对比,以下使用回译训练的HumpBack优于LIMA等质量过滤微调模型,以及Davinci,Claude等闭源模型。

解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN

同时论文进行了消融实验,对训练数据的数量和质量的影响做了进一步的测试,对比了未使用Self-Curation过滤的数据集,4轮过滤的数据集和5轮过滤的数据集,不同的样本量带来的效果差异,主要结论有两个

  1. 高质量样本集提升数量会带来效果提升:这里的结论和上一章LIMA的结论有矛盾顿,LIMA中在过滤后的Stack Exchange数据集上增加采样比例并不会提升效果。猜测这里可能的差异有:
  • Stack Exchange的指令丰富程度可能低于回译指令,和AlpaGasus中指令丰富程度有限的话增加样本量并不会带来效果提升的结论一致
  • Stack Exchange本身的指令质量低于回译,导致数量增加带来的效果增幅不明显。Anyway LLM时代一切结论都不可尽信,只是拓宽下思路,实际情况下处理问题还是要具体问题具体分析。
  1. 质量的影响大于数量: 在未过滤的数据集上提升量级不会显著带来效果提升,简单理解就是1个低质样本需要很多的高质量样本来弥补,当低质量样本占比太高的时候,无论如何提升样本量都不会提升效果。

解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN

IBM: Self Alignment

  • Principle-Driven Self-Alignment of Language Models from Scratch with Minimal Human Supervision
  • https://mitibmdemos.draco.res.ibm.com/dromedary
  • 要点:使用prompt规则让大模型Self-Instruct生成的推理样本更加符合人类偏好,部分代替RLHF阶段大量的人工标注

同样是改写方案,Self-Align在Self-Instruct的基础上上,通过引入对抗指令样本和3H相关的指令prompt,在SFT阶段就让模型进行偏好对齐。让模型先基于外化的偏好原则生成符合3H原则的回答,再通过SFT对齐把偏好内化到模型参数中,因为指令样本是Base模型自己生成的所以叫Self-Alignment。有些类似自监督,只不过样本特征被人工抽象成了人类偏好规则。

解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN

指令样本生成分成以下4个步骤

Self-Instruct生成指令

不熟悉Self-Instruct的同学,请先看解密prompt系列5. APE+SELF=自动化指令集构建代码实现,原始论文基于175个种子指令通过多轮的Bootstrap让大模型生成新的指令。

IBM论文在此基础上人工补充了20个不同主题的对抗种子指令。对抗样本我们在解密Prompt7. 偏好对齐RLHF章节针对Anthropic如何设计对抗样本进行了很详细的介绍,这里不再展开。IBM设计对抗样本的原则是模型在没有获取外部信息下无法回答,或者会回答错误的指令,例如询问天气,知识问答类的指令。通过补充这类种子指令,让模型在bootstrap过程中生成更多的对抗指令,从而通过指令微调的对齐注入3H(helpful+harmless+honest)偏好。

Self-Alignment生成回答

指令生成完,下一步就是需要让模型生成符合3H偏好的回答。论文的实现方案是通过规则指令+fewshot样例来实现。其中规则指令总共包含以下16条原则:1 (ethical), 2 (informative), 3 (helpful), 4
(question assessment), 5 (reasoning), 6 (multi-aspect), 7 (candor), 8 (knowledge recitation), 9 (static),10 (clarification), 11 (numerical sensitivity), 12 (dated knowledge), 13 (step-by-step), 14 (balanced & informative perspectives), 15 (creative), 16 (operationa)。

以下是附录中具体规则指令的前5条

解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN

而In-context的few-shot样本同样是固定的,few-shot的样本是为了指导模型如何遵守以上16条规则来进行指令回答,并加入了类似chain-of-thought的Internal Thoughts步骤,来强化模型在不同的上文中遵从不同的规则

解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN

微调

以上两步机器样本构造后,经过过滤总共得到了260K指令样本,用于模型微调。注意微调阶段不会使用以上的16条规则指令和few-shot样本,而是会直接使用回答部分。因为需要模型直接把3H原则指令通过微调内化到模型参数中,而不是基于条件上文进行符合偏好的回答。

微调的指令如下

解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN

微调后作者发现,以上构造的样本在微调模型后存在两个问题

  • 部分回答过于简短:个人感觉这和Prompt+few-shot的长度过长有关。因为条件上文过长,限制了下文的生成范围,导致回答过短。通俗点就是命题作文你的要求太多自然就没啥好写的了。
  • 部分回答未直接回答用户指令,而是去复述wikipedia上的内容:个人感觉这同样是以上的规则指令模型未能完全理解,影响了回答质量。

这里其实有个疑问,就是在大量指令和In-Context条件上文下,构造出的模型回答是否本身就是有偏的???而去掉条件上文直接去拟合回答后得到的模型是否也是bias的?这个问题要是有想法欢迎评论区留言~

为了解决以上问题,论文使用第一步对齐微调后,已经内化3H原则的模型,使用以下的Prompt指令引导模型重新对以上的260K指令进行回答生成,引导模型给出更丰富,跟全面的回答。然后再使用生成的样本进一步微调模型。

解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN

效果上在TruthfulQA的事实性评测,以及Big-Bench的3H评测上,微调后的模型相较LLama都有显著的提升。

想看更全的大模型相关论文梳理·微调及预训练数据和框架·AIGC应用,移步Github >> DecryPrompt


Reference文章来源地址https://www.toymoban.com/news/detail-711534.html

  1. Self-instruct: Aligning language model with self generated instructions
  2. SELF-QA Unsupervised Knowledge Guided alignment
  3. Self-Consuming Generative Models Go MAD
  4. Tagged back-translation.
  5. Becoming self-instruct: introducing early stopping criteria for minimal instruct tuning

到了这里,关于解密Prompt系列17. LLM对齐方案再升级 WizardLM & BackTranslation & SELF-ALIGN的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解密Prompt系列12. LLM Agent零微调范式 ReAct & Self Ask

    前三章我们分别介绍了思维链的使用,原理和在小模型上的使用。这一章我们正式进入应用层面,聊聊如何把思维链和工具使用结合得到人工智能代理。 要回答我们为什么需要AI代理?代理可以解决哪些问题?可以有以下两个视角 首先是我们赋能模型,如果说 LLM是大脑,那

    2024年02月15日
    浏览(50)
  • 解密Prompt系列14. LLM Agent之搜索应用设计:WebGPT & WebGLM & WebCPM

    前两章,我们分别介绍了基于微调和prompt的工具调用方案,核心都是如何让大模型和工具进行交互,包括生成工具调用语句和处理工具调用请求。不过在实际应用中,想要设计一个可以落地的LLM Agent,需要更全面整体的系统设计。本章我们以搜索工具为例,介绍如何更好和搜

    2024年02月10日
    浏览(50)
  • 解密Prompt系列20. LLM Agent之再谈RAG的召回多样性优化

    几个月前我们就聊过RAG的经典方案解密Prompt系列14. LLM Agent之搜索应用设计。前几天刚看完openAI在DevDay闭门会议上介绍的RAG相关的经验,有些新的感悟,借此机会再梳理下RAG相关的优化方案。推荐直接看原视频(外网)A Survey of Techniques for Maximizing LLM Performance RAG最关键的一环其

    2024年02月05日
    浏览(51)
  • 解密Prompt系列22. LLM Agent之RAG的反思:放弃了压缩还是智能么?

    已经唠了三章的RAG,是时候回头反思一下,当前的RAG是解决幻觉的终点么?我给不出直接的答案,不过感觉当前把RAG当作传统搜索框架在大模型时代下的改良,这个思路的天花板高度有限~ 反思来源于对RAG下模型回答的直观感受,最初我们被ChatGPT的能力所震惊,并不是它能背

    2024年02月03日
    浏览(96)
  • 解密Prompt系列8. 无需训练让LLM支持超长输入:知识库 & unlimiformer & PCW & NBCE

    这一章我们聊聊有哪些方案可以不用微调直接让大模型支持超长文本输入,注意这里主要针对无限输入场景。之前在BERT系列中我们就介绍过稀疏注意力和片段递归的一些长文本建模方案长文本建模 BigBird Longformer Reformer Performer,不过以上方案无一例外都需要在训练阶段引入。

    2024年02月08日
    浏览(45)
  • 解密Prompt系列19. LLM Agent之数据分析领域的应用:Data-Copilot & InsightPilot

    在之前的 LLM Agent+DB 的章节我们已经谈论过如何使用大模型接入数据库并获取数据,这一章我们聊聊大模型代理在数据分析领域的应用。数据分析主要是指在获取数据之后的 数据清洗 , 数据处理 , 数据建模 , 数据洞察 和 数据可视化 的步骤。可以为经常和数据打交道,但

    2024年02月05日
    浏览(55)
  • 解密prompt系列25. RLHF改良方案之样本标注:RLAIF & SALMON

    上一章我们主要唠了RLHF训练相关的方案,这一章我们主要针对RLHF的样本构建阶段,引入机器标注来降低人工标注的成本。主要介绍两个方案:RLAIF,和IBM的SALMON。 RLAIF: Scaling Reinforcement Learning from Human Feedback with AI Feedback RLAIF给出的方案是完全使用大模型来进行偏好样本的标注

    2024年03月25日
    浏览(41)
  • 解密prompt系列24. RLHF新方案之训练策略:SLiC-HF & DPO & RRHF & RSO

    去年我们梳理过OpenAI,Anthropic和DeepMind出品的经典RLHF论文。今年我们会针对经典RLHF算法存在的不稳定,成本高,效率低等问题讨论一些新的方案。不熟悉RLHF的同学建议先看这里哦解密Prompt7. 偏好对齐RLHF-OpenAI·DeepMind·Anthropic对比分析 RLHF算法当前存在的一些问题有 RL的偏好样

    2024年02月22日
    浏览(38)
  • 解密Prompt7. 偏好对齐RLHF-OpenAI·DeepMind·Anthropic对比分析

    前三章都围绕指令微调,这一章来唠唠RLHF。何为优秀的人工智能?抽象说是可以帮助人类解决问题的AI, 也可以简化成3H原则:Helpful + Honesty + Harmless。面向以上1个或多个原则,RLHF只是其中一种对齐方案,把模型输出和人类偏好进行对齐。大体分成3个步骤 人类偏好数据的标注

    2024年02月06日
    浏览(36)
  • 解密Prompt系列10. 思维链COT原理探究

    前一章思维链基础和进阶玩法我们介绍了如何写Chain-of-thought Prompt来激活生成逐步推理,并提高模型解决复杂问题的能力,这一章我们追本溯源,讨论下COT的哪些元素是提升模型表现的核心? 要进行因果分析,需要把思维链中的不同元素拆解开来,然后通过控制变量实验,来

    2024年02月11日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包