今日arXiv最热大模型论文:哈工深新研究发现!无需额外资源,SelectIT方法助力大语言模型精准调优

夕小瑶科技说 原创
作者 | 松果

引言:指令调优在大型语言模型中的重要性

在当今的人工智能领域,大语言模型(LLMs)已经成为了研究的热点,它们在理解指令和解决复杂问题方面展现出了令人印象深刻的能力。然而,要想进一步提升这些模型的性能,指令调优(Instruction Tuning,简称IT)显得尤为关键。IT通过使用指令数据对模型进行监督性调整,对于精炼模型以准确响应人类指令至关重要。

近期研究表明,与其简单地增加数据集的大小,不如精心挑选一个更小但质量更高的数据集来显著提升LLMs的性能。尽管如此,常见的高质量数据选择方法往往依赖于额外的模型或数据集,这不仅增加了成本,也限制了这些方法的广泛应用。

本文介绍了一种新颖的方法——SelectIT,它通过充分利用LLM本身的基础能力,特别是内在的不确定性,来有效地选择高质量的IT数据,而无需额外资源。此外还介绍了一个通过应用SelectIT到Alpaca-GPT4数据集而创建的新型IT数据集——Selective Alpaca

实验结果表明,使用Selective Alpaca进行IT可以显著提升模型能力。SelectIT的鲁棒性也在各种基础模型和特定领域任务中得到了验证。研究者的发现表明,更长且计算强度更高的IT数据可能是更优质的IT数据来源,为未来在这一领域的研究提供了宝贵的见解。

论文标题: SelectIT: Selective Instruction Tuning for Large Language Models via Uncertainty-Aware Self-Reflection

论文链接:https://arxiv.org/pdf/2402.16705.pdf

SelectIT方法概述:利用LLM内在不确定性进行高质量IT数据选择

1. SelectIT方法的基本原理

SelectIT方法是一种新颖的指令调整(Instruction Tuning, IT)数据选择方法,它通过利用大语言模型(LLMs)内在的不确定性来选择高质量的IT数据。这种方法不需要额外的模型或数据集,从而降低了成本并便于广泛采用。SelectIT的核心思想是通过评估LLMs在不同粒度上的不确定性——包括token级别、句子级别和模型级别——来提高IT数据选择的准确性。现有的高级数据选择策略严重依赖外部模型或数据集,然而,SelectlT有效地克服了这一限制。

2. SelectIT方法的三个自反射层次:Token、Sentence和Model

  • Token级别自反射(Token-level Self-Reflection):在这个层次上,SelectIT计算基于评分提示(rating prompt)和样本S的下一个token的概率,从而评估IT数据的质量。通过比较不同评分token的概率分布,SelectIT能够捕捉到LLMs在样本评估上的内在不确定性,并利用这种不确定性来提炼数据质量的信度。

  • 句子级别自反射(Sentence-level Self-Reflection)不同的提示会显著影响LLMs的输出,引入了评估IT数据的不确定性。SelectIT在这个层次上通过设计K个语义相似的评分提示来获取一系列质量分数,并计算这些分数的平均值来代表样本S的整体质量。此外,还使用标准差来量化LLMs对评分提示的不确定性,从而得到更可靠的IT数据质量度量。

  • 模型级别自反射(Model-level Self-Reflection):如果多个基础模型都确认一个样本是高质量的,那么这个样本可以被真正视为高质量数据。SelectIT在这个层次上利用不同基础模型对样本质量评估的不确定性,通过合理加权这些评估结果,形成对样本质量的综合评价。最终,SelectIT根据模型级别分数对样本进行排序,并选择排名靠前的样本作为高质量数据。

Selective Alpaca数据集的创建与特点

Selective Alpaca数据集是通过将SelectIT方法应用于Alpaca-GPT4数据集而创建的一种新的IT数据集。在创建Selective Alpaca时,使用了最受欢迎的LLaMA-2(7B, 13B, 70B)作为基础模型,并设置了超参数K=5,这决定了LLMs在Token级别自反射中的评分范围以及句子级别自反射中的评分提示数量。最终,选择了前20% 的高质量数据,形成了Selective Alpaca数据集。

Selective Alpaca数据集的特点包括:

  • 通过SelectIT选择的高质量IT数据,实验结果表明,使用Selective Alpaca进行IT可以显著提升LLMs的性能。
  • Selective Alpaca倾向于选择更长、计算量更大的IT数据,这与SelectIT的选择倾向一致。
  • Selective Alpaca在多种基础模型和特定领域任务中展现出了SelectIT方法的鲁棒性
  • Selective Alpaca数据集包含的指令长度显著长于原始Alpaca数据集,且在计算问题类型的比例上有所增加,这有助于提升LLMs在推理能力上的表现。

实验设置:评估SelectIT的性能

1. 使用的基准测试和数据集

为了全面评估大语言模型(LLMs)的性能,研究者采用了多样化的下游任务。

  • 事实知识方面,使用了Massive Multitask Language Understanding数据集(MMLU)来评估LLMs的事实知识,并报告了5-shot结果。
  • 推理能力评估方面,使用了广泛应用的两个数据集:Grade School Math数据集(GSM)和BigBench-Hard(BBH),并采用了CoT设置。
  • 多语言能力方面,通过TyDiQA,一个包含11种不同语言的多语言问答基准,进行评估,并采用了gold-passage设置。
  • 编码能力方面,使用了HumanEval数据集,并以0.8的温度参数报告了pass@10结果。
  • 开放式生成方面,利用AlpacaEval,该评估工具使用GPT-4有效评估模型输出,以评估LLMs生成的文本是否与人类一致。

2. 实施细节:模型、批次大小和训练周期

此实验使用LLaMA-2作为测试平台。研究者对其进行了3个周期的微调,批次大小设置为128。使用Adam优化器,其β1=0.9,β2=0.999,并采用余弦学习率调度器,学习率从2e−5开始衰减。研究者选择了4096的输入长度,因为它可以展示LLMs的最佳性能。

在解码过程中,研究者使用了beam=4。将温度参数设置为0.8,top-p采样参数设置为0.9,以提高输出文本的原创性,同时确保内容的准确性和相关性。

实验结果与分析:SelectIT与现有方法的比较

1. SelectIT在不同基础模型上的表现

实验结果显示,SelectIT在提升LLaMA-2在open-instruct基准测试上的性能方面,超越了现有的高质量数据选择方法。进一步的分析揭示了SelectIT能够有效地丢弃异常数据,并倾向于选择更长、计算强度更高的IT数据。

此外,SelectIT在不同的基础模型上都有显著的性能提升,例如在Mistral-7B模型上,SelectIT同样提高了模型在MMLU、BBH和GSM基准测试上的表现。

2. SelectIT在特定领域任务上的适用性

机器翻译(MT) 这一特定领域任务中,SelectIT也展现了其有效性。研究者选择了强大的MT LLM ALMA作为主模型,并选择了WMT'17至WMT'20人工编写的测试数据集和Flores-200的开发和测试集中的代表性语言对:德语⇔英语和中文⇔英语,共计30K训练样本,并使用WMT'22相应语言对的测试数据作为测试数据集。

最终通过SelectIT选择了6K高质量数据进行LORA微调。结果表明,SelectIT一致提高了ALMA的翻译性能,尤其是在从英语翻译到其他语言的方面,这可能是因为ALMA本身具有较强的英语能力,难以进一步提升。

这些结果表明,SelectIT是一种通用的方法,不仅适用于IT数据选择,也适用于特定领域任务。

SelectIT方法的有效性:从数据表示和特征分析角度探讨

1. SelectIT如何有效排除异常数据

SelectIT方法通过利用大语言模型(LLMs)内在的不确定性来选择高质量的指令调整(IT)数据,无需额外资源。这种方法包括三种粒度的自反思模块:令牌级、句子级和模型级,这些模块共同提高了IT数据选择的可靠性。

  • 令牌级别,SelectIT通过计算基于评分提示和样本的下一个令牌的概率来评估IT数据的质量。这种概率分布反映了LLMs对样本评估的内部不确定性。通过引入令牌级自反思(Token-R),SelectIT利用反映LLMs内部不确定性的令牌之间的分布来增强质量评估的可信度。

  • 句子级别,SelectIT实现了句子级自反思(Sentence-R),通过构建K个语义相似的评分提示来获取一系列质量分数,并计算这些分数的平均值来代表样本的整体质量。此外,SelectIT使用标准差来量化LLMs对评分提示的不确定性,从而提供了更细致和可靠的IT数据质量度量。

  • 模型级别,SelectIT引入了模型级自反思(Model-R),该策略利用不同基础模型的不同质量评估来最大化利用模型级不确定性。SelectIT建议使用LLMs的参数计数作为初始度量,以正确加权样本质量分数。

通过这些方法,SelectIT能够有效地排除异常数据,这一点在数据表示分析中得到了证实。使用T-SNE降维技术后,可以观察到,随机选择的数据难以区分远离中心的异常数据,而Selective Alpaca的大部分数据都集中在中心点周围,表明SelectIT主要包含高质量数据,并有效地排除了远离中心的异常数据。

2. SelectIT倾向于选择更长、计算量更大的IT数据

在数据特征分析中发现Selective Alpaca的指令长度显著长于Alpaca数据集和由ChatGPT选择的AlpaGasus,这意味着在相同数量的数据中,Selective Alpaca包含了更多的信息。此外,通过使用ChatGPT检查IT数据类型,发现Selective Alpaca倾向于选择高质量的数学问题数据,这为LLMs在推理能力上的改进提供了有力的解释。

讨论:SelectIT在不同模型规模和多样性基础模型上的应用

SelectIT不仅在LLaMA-2模型上表现出色,而且在其他基础模型上也显示出了鲁棒性。

  • 例如,尽管Selective Alpaca是由LLaMA-2模型选择的,但它也适用于Mistral-7B模型,并提高了其在多个任务上的能力,特别是在MMLU、BBH和GSM基准测试上。

这表明SelectIT不依赖于特定的基础模型进行数据选择,而Selective Alpaca可以有效提高不同系列或规模LLMs的能力。在多样性基础模型上,SelectIT也显示出了良好的适应性。

综上所述,SelectIT是一种有效的方法,能够在不同模型规模和多样性基础模型上应用,并且能够显著提高LLMs的能力。

结论与未来展望:SelectIT的贡献和潜在研究方向

SelectIT的提出和实施,为大语言模型(LLMs)的指令调整(IT)领域带来了显著的进步。通过利用LLMs内在的不确定性,SelectIT能够有效地选择高质量的IT数据,而无需额外的资源。这一方法不仅提高了模型的性能,还为未来的研究提供了新的视角,即更长和计算强度更高的IT数据可能是更优的信息源。

1. 指令数据量的影响: SelectIT的研究表明,优先选择顶尖的20%高质量数据可以优化Alpaca数据集的结果。未来的研究可以探索根据不同数据集中的数据质量调整这一阈值,以提高性能。此外,进一步探索如何利用未选中的数据,例如通过课程学习方法,可能会带来益处。

2. 不同规模的模型: 目前的分析仅限于参数少于30B的模型,由于计算限制。研究Selective Alpaca在更大规模的LLMs(从30B到70B参数) 上的效果,可能会提供有关该方法可扩展性和在不同模型大小上的适用性的宝贵见解。

3. 基础模型的多样性: 该研究仅使用LLaMA-2作为数据选择的基础模型。将研究范围扩大到包括Mistral等其他基础模型,可能会揭示更细微的数据选择策略,并提高整体效果。

4. 指令数据集: 尽管SelectIT已经应用于广泛使用的Alpaca数据集,但将这种方法扩展到其他指令调整数据集可能会为更广泛的LLM研究社区带来显著优势。

SelectIT的研究和实践表明,它能够有效排除异常数据,并倾向于选择更长和计算性的数据。这一发现不仅对于提升LLMs在特定任务上的性能至关重要,也为未来的研究方向提供了指导。

  • 例如,SelectIT在选择高质量的数学问题数据方面表现出偏好,这有助于提高LLMs的推理能力

此外,SelectIT的灵活性和通用性已经通过在不同的基础模型和领域特定任务上的应用得到了验证,这表明它是一个有效的IT数据选择方法。

总之,SelectIT为LLMs的指令调整提供了一种新的、高效的数据选择策略,它不依赖于特定的基础模型进行数据选择,并且能够有效提升不同系列或规模LLMs的能力。未来的研究可以在SelectIT的基础上,进一步探索和优化数据选择策略,以实现更广泛的应用和更好的性能提升。


相关推荐

  • Claude 3 相比 GPT-4 到底强在哪?我整理了一份总结
  • 好家伙!一个 Claude 3 约等于一个本科生...
  • 热搜第一!娃哈哈是高校实验室御用水,曾多次被写进论文里
  • 高校有哪些编制?哪些是高校“假编制”?
  • 急需有声配音员:对照文案阅读即可,地点、时间不限,不会可免费培训!
  • OpenAI公布重要邮件,反击马斯克起诉
  • 大模型与消费级GPU更配哦~|即将迎来"1-bit时代"
  • 图生文多模态大模型开源项目回顾:兼看20240307大模型进展早报
  • 多篇综述理清知识图谱现状,这167篇论文值得一读!
  • 进我的收藏夹吃灰吧:大模型加速超全指南来了
  • SpringBoot AOP + Redis 延时双删功能实战
  • 美团优选 | 智能推荐算法工程师
  • 万字长文 | Sora技术解析报告
  • 用 Python 优雅地编写 LaTeX
  • Sora 背后的大杀器:不仅仅是 DiT...
  • React状态管理专题:什么是属性钻取(Prop Drilling)
  • Spring boot 集成GraalVM JS引擎快速入门demo
  • 如果让你实现实时消息推送你会用什么技术?轮询、websocket还是sse
  • 2024年,大模型这些方向再次卷疯了!
  • 前端最能打的本地存储方案