LIMA: Less Is More for Alignment

LIMA

【1】LIMA相关论文

图片

LIMA论文:LIMA: Less Is More for Alignment

论文地址:https://arxiv.org/abs/2305.11206

Cool paper:https://papers.cool/arxiv/search?highlight=1&query=LIMA+Less+Is+More

LIMA数据集:https://huggingface.co/datasets/GAIR/lima

LIMA-核心总结

【1】LIMA论文摘要

图片

1.LLM的训练分为两个阶段(1)对raw text进行无监督的预训练,以学习通用的表示; (2)大规模的指令微调和强化学习,以更好地对齐最终任务和用户偏好。

2.通过训练LIMA来衡量预训练和指令微调这两个阶段的相对重要性。LIMA只在1k 个精心挑选的提示和响应(prompts and responses)上进行标准监督损失的微调,没有任何强化学习或人类偏好建模。

3.LIMA表现出强大的性能,能够从训练数据中的少量示例中学习遵循特定的响应格式,包括从规划旅行路线 到 推测历史交替 的复杂查询。LIMA模型往往能够很好地推广到未在训练数据中出现的任务。

结论:LLM中的几乎所有知识都在预训练阶段获得,仅需要有限( only limited )的指令调优数据即可教会模型生成高质量的输出。[前提时base模型够强]

【2】 LIMA: Less Is More for Alignment -Cool Paper总结

Q: 总结一下论文的主要内容

A: 这篇论文的主要内容可以总结如下:

1.问题陈述:论文探讨了大型语言模型(LLMs)如何更好地对齐到特定的终端任务和用户偏好。它特别关注了预训练和指令调整阶段在模型对齐中的作用。

2.LIMA模型:提出了LIMA(Less Is More for Alignment),这是一个65B参数的LLaMa模型,通过在1,000个精心挑选的提示和响应上进行微调来训练。

3.实验设计:通过人类偏好研究和绝对性能分析,评估了LIMA与现有最先进模型(如GPT-4、Bard和DaVinci003)的性能对比。

4.主要发现:LIMA在许多情况下能够与或优于GPT-4、Bard和DaVinci003等模型。预训练阶段是知识获取的主要阶段,而有限的指令调整数据足以产生高质量的输出。通过微调少量示例,LIMA能够在未见任务上泛化并产生优秀的响应。数据多样性和质量对模型性能有显著影响,而单纯增加数据量可能不会带来同样的效果。

5.消融实验:研究了训练数据的多样性、质量和数量对模型性能的影响,发现在保持高质量响应的同时,增加输入多样性和输出质量有积极作用。

6.多轮对话能力:尽管LIMA没有针对多轮对话进行特别训练,但它能够进行连贯的多轮对话。通过添加少量多轮对话样本,可以显著提高其对话能力。

7.安全性分析:LIMA在处理潜在敏感或恶意请求时表现出一定的安全性,但仍有改进空间。

8.结论:论文的结果支持了“表面对齐假设”,即通过有限的、高质量的指令调整数据可以有效地对齐大型语言模型,强调了预训练在模型开发中的重要性,并为简化对齐过程提供了证据。

LIMA论文解读

【1】LIMA论文介绍-Introduction

1.预训练模型 对齐方法 主要集中在大规模的多百万示例数据集上的指令调优以及最近的人类反馈强化学习 (RLHF) 。

2.预训练模型 对齐需要的这些数据是通过与人类标注员的数百万次互动收集的,现有的对齐方法需要大量的计算资源和专业数据来达到 ChatGPT 级别的性能。

3.本论文 只需对1,000个精心挑选的训练示例进行微调,即可实现令人惊讶的强大性能,前提是有一个强大的预训练语言模型。

4.假设对齐过程可以是模型学习与用户互动的风格或格式,以展示在预训练阶段已获得的知识和能力 ~的过程。

5.为了检验假设,论文整理了1k个接近真实用户提示和高质量响应的示例。从社区论坛(如 Stack Exchange 和 wikiHow)中挑选了750个顶级问题和答案,样本考虑了质量和多样性。手动编写了250个提示和响应示例,同时优化任务多样性,并强调AI助手的一致响应风格。

6.最后训练LIMA,经过预训练的65亿参数LLaMa模型,并在这1k个示例上进行了微调。

7.消融实验表明,在不同时扩展提示多样性的情况下,仅仅扩展数据量会显著降低收益,同时优化数据质量会带来显著提升。此外,尽管没有对话示例,我们发现LIMA可以进行连贯的多轮对话,并且仅通过将30个手工制作的对话链添加到训练集中,就可以显著改善这一能力。总体而言,这些显著的发现展示了预训练的强大能力及其相对于大规模指令调优和强化学习方法的重要性。

【2】LIMA数据构建-Alignment Data

定义浅层对齐假设(Superficial Alignment Hypothesis):模型的知识和能力几乎完全是在预训练过程中获得的,而对齐则教会模型在与用户互动时应该使用哪种格式的子分布。

如果这个假设是正确的,并且对齐主要涉及学习风格,那么浅层对齐假设的一个推论是,给定一个预训练的语言模型,通过相对少量的示例进行微调就可以足够地调整预训练模型。

【LIMA的核心问题-高质量SFT数据构造】收集包含1k个提示和响应的数据集,其中输出(响应)在风格上彼此一致,但输入(提示)则多样化。具体来说,寻找以有帮助的AI助手风格呈现的输出。从各种来源整理了这些示例,主要分为社区问答论坛和手动编写的示例。

此外,还收集了一个包含300个提示的测试集和一个包含50个提示的开发集。表1展示了不同数据来源的概述,并提供了一些统计数据(参见附录A以获取训练示例的选择)。

图片

LIMA数据来源

2.1 社区问答【Community Questions & Answers】

从三个社区问答网站收集数据:Stack Exchange、wikiHow和Pushshift Reddit 数据集。一般来说,Stack Exchange和wikiHow上的回答与有帮助的AI代理的行为高度一致,因此可以自动挖掘;而高赞的Reddit回答往往具有幽默性或戏谑性,需要更手动的方法来整理符合适当风格的回答。

  • Stack Exchange含179个在线问答社区,每个社区都有自己的主题。在从Stack Exchange抽样时应用质量和多样性控制。首先将它们划为两类,STEM相关(包括编程、数学、物理等)和其他内容(英语、烹饪、旅行等)。| 然后使用温度τ = 3在这两个集合中分别采样200个问题和答案,以获得不同领域的均匀的样本,再在其中分别选择得分最高且标题符合的问题。之后,选择每个问题的最佳答案。| 为了让回复风格符合有用的AI助手的标准,作者还过滤了过短、过长、第一人称写作的回答,以及引用回答。此外,还删除了回答中的链接、图片和HTML标记,仅保留代码块和列表。由于Stack Exchange问题包含标题和描述,我们随机选择标题作为某些示例的提示,描述作为其他示例的提示。

  • wikiHow是在线维基风格的社区,涵盖了各种主题超过24万篇高质量文章。作者从其中先采样类别再采样文章,共采样200篇文章,以保证多样性。然后将文章标题作为提示,将文章正文作为回复。将典型的“这篇文章...”开头替换为“以下回答...”,并应用一些预处理启发式规则以修剪链接、图片和文本中的某些部分。

  • The Pushshift Reddit Dataset,用户可在Reddit这些子论坛中分享和讨论各种内容。Reddit的内容更偏向于娱乐而不是提供帮助,所以往往诙谐、讽刺的评论会获得高赞。因此,我们将样本限制在两个子论坛r/AskReddit和 r/WritingPrompts,并从中手动选择获赞最多的帖子中的示例。作者从r/AskReddit中选择了70个提示示例并将其用于测试集,从WritingPrompts中选择了150个提示及高质量答案,涵盖了诸如爱情诗和短篇科幻故事等主题,将其添加到训练集。所有数据实例均来自Pushshift Reddit 数据集。

2.2 手动编写的示例【Manually Authored Examples】

为了进一步丰富多样化数据集,超越在线社区用户提出的问题,我们从作者自身(即本工作的作者)那里收集提示。指定了两个作者组,A组和B组,每组分别创建250个提示,这些提示受到他们自身或朋友的兴趣启发。从A组中选择200个提示用于训练,另有50个提示作为保留的发展集。在过滤掉一些有问题的提示后,剩余的230个B组提示用于测试。

  • 为200个训练提示补充高质量的答案,这些答案由我们自己编写。在编写答案时,我们尝试设定一种适合有帮助的AI助手的统一语调。具体来说,许多提示的回答将包括对问题的某种认可,然后是答案本身。初步实验显示,这种一致的格式通常能提高模型性能;我们假设这有助于模型形成思维链条,类似于“让我们一步一步思考”的提示 。还包括了13个具有一定毒性或恶意的训练提示。仔细编写了部分或完全拒绝命令的响应,并解释了助手为何不遵从。此外,测试集中还有30个类似问题的提示,将在第4.3节中进行分析。

  • 除了手动编写的示例外,还从Super-Natural Instructions中抽取了50个训练示例。具体来说,我们选择了50个自然语言生成任务,如摘要、同义改写和风格转换,从每个任务中挑选一个随机示例。稍微编辑了一些示例,以符合我们200个手动示例的风格。虽然潜在用户提示的分布可以说与Super-Natural Instructions中的任务分布不同,但我们的直觉是,这个小样本为训练示例的整体混合增加了多样性,并有可能提高模型的鲁棒性。

手动创建多样化的提示并以统一风格编写丰富的回答是费力的。虽然一些近期的工作通过蒸馏和其他自动手段避免了手动劳动,优化了数量而非质量,但本工作探索了投资于多样性和质量的效果。

【3】LIMA模型训练-Training LIMA

图片

1.从LLaMa 65B开始,对1,000个示例的对齐训练集进行微调。

2.为了区分每个speaker(用户和助手),在每个对话的末尾引入特殊的end-of-turn token(EOT);这个标记作用和EOS相同,但避免了与预训练模型可能赋予预先存在的EOS标记的任何其他含义的混淆。

3.遵循标准的微调超参数:使用AdamW进行微调15个epoch,,权重衰减为0.1。不使用warm-up,将初始学习率设置为1e-5,并在训练结束时线性衰减到1e-6。批量大小设定为32个示例,文本长度超过2048个标记的部分会被修剪。

4.训练时一个明显偏离常规的做法是使用残差dropout;在残差连接上应用dropout,从底层的开始,线性地将比率提高到最后一层的(对于较小的模型,)。

5.发现困惑度(perplexity)与生成质量无关,因此使用保留的50个示例开发集中手动选择在第5个到第10个epoch之间的检查点。

【4】LIMA人工评估-Human Evaluation

通过将LIMA与最先进的语言模型进行比较来评估其性能,发现LIMA超越了OpenAI的基于RLHF的DaVinci003和一个基于52k个示例训练的65B参数的Alpaca复现模型,且常常产生比GPT-4更好或相当的响应。

对LIMA生成内容的分析发现,其中50%的输出被认为是优秀的。简单的微调如此少量的示例就足以与最先进的技术竞争,强烈支持了浅层对齐假设(第2节),因为这展示了预训练的强大作用及其相对于大规模指令微调和强化学习方法的相对重要性。

4.1 实验设置[Experiment Setup]

为了将LIMA与其他模型进行比较,为每个测试提示生成一个响应。然后,请标注员将LIMA的输出与每个基准模型进行比较,并标记他们更喜欢哪个。重复这一实验,将人类标注员替换为GPT-4,发现相似的意见一致性。结果如下:

图片

4.2 结果[Results]

由上图可见,人工标注与GPT-4标注具有同样的趋势,因此我们以人工标注结果为主要参考。首先,虽然Alpaca使用了52倍之多的指令微调数据,但依然不及LIMA。其次,即使使用RLHF技术的DaVinci003也不如LIMA的性能。BARD、Claude和GPT-4总体来看超越了LIMA的效果,但LIMA在许多情况下依然输出了更好的回复。

4.3 分析[Analysis]

LIMA用实验证明了仅用1000条精心撰写的提示数据就能训练出一个强大的模型,展示了高质量数据的作用与威力。但该结果也存在一定的局限性,构建这样的高质量数据集耗时耗力,很难扩展。另外,LIMA并不是一个产品级模型,仍旧处于实验阶段,它也会产生较差的结果。LIMA验证了绝大部分的知识是在预训练阶段习得的,一定程度上也说明了有效的SFT甚至可以超越RLHF的结果。

【5】对数据多样性、质量和数量的消融实验

通过消融实验研究训练数据的多样性、质量和数量的效果。我们观察到,对于对齐任务来说,扩大输入多样性和输出质量( input diversity and output quality)具有可测量的积极效果,而仅仅增加数量可能效果有限。

实验设置(Experiment Setup):在不同的数据集上对LLaMa-7B模型进行微调,保持相同的超参数。从每个测试集提示中抽取5个响应,并通过让ChatGPT(GPT-3.5 Turbo)根据1-6 likert scale对响应的有用性进行评分来评估响应质量。报告了平均得分以及95%置信区间。

图片

其中,实验结果表明,从Stack Exchange数据集中「在控制数据量的前提下,挑选质量较高的数据,可以提高模型的性能」;同时,通过对比Stack Exchange和wikiHow数据集,实验发现更具「多样性的数据可以提高模型性能」。但是「单纯提高模型训练数据 数量并不能提高模型响应质量」

【6】LIMA多轮对话-Multi-Turn Dialogue

一个仅在1,000个单轮交互中进行微调的模型能够参与多轮对话吗?

1.在10个实时对话中测试了LIMA,并将每个回答标记为Fail、Pass或Excellent。对于zero-shot chatbot来说,LIMA的回答出奇地连贯,引用了对话中先前步骤的信息。然而,很明显,模型正在进行超出其训练分布的操作;在10个对话中,LIMA在3轮交互内未能遵循提示。

2.为了提高其对话能力,收集30个多轮对话链。其中,10个对话是由作者撰写的,而剩下的20个则基于Stack Exchange的评论链,对其进行了编辑以适应助手的风格。使用合并后的1030个示例对预训练的LLaMa模型进行了新版本的微调,并根据与零样本模型使用相同的提示进行了10个实时对话。图8显示了这些对话的摘录。

图片

3.图7显示了回答质量的分布情况。添加对话显著提高了生成质量,使优秀回答的比例从45.2%提高到76.1%。此外,失败率从42轮中的15次(零样本)下降到46轮中的1次(微调)。

4.进一步比较了整个对话的质量,并发现在10个对话中,微调模型在7个对话中明显更好,并与零样本模型在3个对话中持平。(效果有点夸张...)从仅仅30个示例到达如此能力的飞跃,以及零样本模型能够进行对话的事实,强化了这样的假设,即这些能力是在预训练过程中学习的,并可以通过有限的监督调用出来。

【9】LIMA论文实验总结

Q: 论文做了哪些实验?

A: 论文中进行了一系列实验来验证LIMA模型的性能和对齐假设,具体包括:

模型微调:使用1,000个精心挑选的示例对预训练的65B参数LLaMa模型进行微调,创建LIMA模型。引入特殊的端到端标记(EOT)以区分对话中的用户和助手发言。使用标准的微调超参数,并手动选择在验证集上表现最佳的检查点。

人类偏好研究:与多个基线模型(包括GPT-4、Bard、DaVinci003和Alpaca 65B)进行比较。通过人类评估者和GPT-4本身对LIMA生成的响应进行评价,以确定其相对于其他模型的偏好。

绝对性能分析:手动分析LIMA生成的响应,将其分类为“失败”、“通过”或“优秀”,并评估其在遵循提示要求方面的能力。

分布外(Out-of-Distribution)性能分析:对LIMA在未在训练数据中出现的提示上的性能进行评估,以测试其泛化能力。

安全性分析:分析LIMA对潜在敏感或恶意请求的响应,以评估其在安全相关示例上的处理能力。

消融实验:研究训练数据的多样性、质量和数量对模型性能的影响。比较不同来源的数据集(如Stack Exchange和wikiHow)对模型性能的影响。测试在固定质量的情况下增加数据量对模型性能的影响。

多轮对话能力测试:通过收集额外的30个多轮对话样本并微调LIMA,来测试和提高其进行多轮对话的能力。对比零样本对话和微调后的模型在10场实时对话中的表现。

这些实验不仅评估了LIMA模型在各种任务上的性能,还深入探讨了对齐过程中不同因素的作用,为简化大型语言模型的对齐提供了见解和证据。

【X】关于LIMA的不同观点

如何看待FLANv2和LIMA关于LLM的指令微调的不同观点?

地址:https://www.zhihu.com/question/612864136

1.最近两篇比较火的论文"LIMA: Less Is More for Alignment"和"The False Promise of Imitating Proprietary LLMs"的观点对比

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

总结:

  • 两篇文章并不矛盾,都是同样的观点,如果想要达到chatgpt水平的模型,基础模型的参数量和训练数据量都必须够。

  • 如果基础模型训练的已经很好了,那么只需要很少精挑细选的instructions进行微调就能取得不错的效果。(LIMA)

  • 现在一些小模型用chatgpt的output训练后宣称达到了chatgpt的效果都是错误的。

2.如何看待FLANv2和LIMA关于LLM的指令微调的不同观点?

https://www.zhihu.com/question/612864136/answer/3130012259

LIMA:有点博眼球的嫌疑,看了他的评估集就会发现,这1000条SFT数据其实解决的问题在难度上是偏简单的,它的亮点是说明了底座的重要性,同时也展示了高质量SFT语料的重要性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值