今日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的基础上,进一步探索和优化数据选择策略,以实现更广泛的应用和更好的性能提升。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/436717.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Material UI 5 学习01-按钮组件

Material UI 5 学习01-按钮组件 一、安装Material UI二、 组件1、Button组件1、基础按钮2、variant属性3、禁用按钮4、可跳转的按钮5、disableElevation属性6、按钮的点击事件onClick 2、Button按钮的颜色和尺寸1、Button按钮的颜色2、按钮自定义颜色3、Button按钮的尺寸 3、图…

量化交易日记 基础概念篇

联系方式 17710158550 NBEATS (Neural Basis Expansion Analysis for Time Series)、NHiTS (Neural Hierarchical Interpolation for Time Series Forecasting)、LSTNet (Long Short-Term Memory Network)、TCN (Temporal Convolutional Network)、Transformer、DeepAR (DeepAR…

TikTok(字节跳动)的新人工智能Boximator

AI 视频生成器最近占据了科技头条新闻,特别是在 OpenAI 宣布推出Sora之后,Sora 是他们的第一个视频模型,可以通过简单的文本提示生成令人惊叹的 AI 视频。 如今,制作 TikTok 的公司字节跳动也加入了这一行动。他们创建了Boximato…

FPGA AXI4总线操作教程

AXI(Advanced Extensible Interface)总线是一种高性能、低延迟的片上系统(SoC)接口标准,广泛应用于现代数字系统设计中。它允许不同的硬件组件以高效、可靠的方式进行数据传输和控制。本教程将介绍AXI总线的基本操作和…

卧室装修干货|榻榻米的4种类型及优缺点。福州中宅装饰,福州装修

卧室想要做榻榻米设计,不知道如何下手,这篇文章一定要看:常见榻榻米的类型有哪些?这些类型分别有哪些优缺点呢? 榻榻米是一种传统的日本床铺设计,近年来在现代室内设计中越来越受欢迎。它以低矮的床垫和简洁的线条为…

004-执行上下文事件循环

执行上下文&事件循环 1、执行上下文2、执行上下文类型3、执行上下文的生命周期4、示例说明5、事件循环机制6、宏任务7、微任务8、同步任务、宏任务、微任务9、代码执行顺序 - 示例 💡 Tips:用于说明 浏览器 对 JavaScript 执行顺序,涉及知…

Unity UGUI之Scrollbar基本了解

Unity的Scrollbar组件是用于在UI中创建滚动条的组件之一。滚动条通常与其他可滚动的UI元素(如滚动视图或列表)一起使用,以便用户可以在内容超出可见区域时滚动内容。 以下是Scrollbar的基本信息和用法: 1、创建 在Unity的Hierarchy视图中右…

Debian篇——系统安装在SD卡上如何调整系统分区大小

背景:我的SD卡是128G的,开发商安装好系统后,我发现SD的系统分区才8.9G空间(剩下的108G未分区),不够使用,于是需要调整系统分区的大小。 1.查看系统盘挂载情况 df -h 2.查看系统盘在哪个分区 …

解决java: 无法访问javax.servlet.ServletException

问题 在对历往项目工具类总结和归纳更新过程中,common模块在compile编译过程中遇到了“Error java: 无法访问javax.servlet.ServletException 找不到javax.servlet.ServletException的类文件”这个报错问题。 IDE使用的是idea2021。 解决方法 pom中增加如下依赖&…

十七、IO流

IO 目录 一、IO流的概述IO流的分类 二、基本流2.1字节流2.2 字节输出流写出数据的三种方式2.3 换行和续写2.4 字节输入流2.5 文件拷贝2.6 IO流中不同JDK版本捕获异常的方式2.7 字符集详解2.7.1 ASCII字符集2.7.2 GBK字符集2.7.3 Unicode字符集 2.8 为什么会有乱码2.9 Java中的编…

python之海龟绘图

海龟绘图(turtle)是一个Python内置的绘图库,也被称为“Turtle Graphics”或简称“Turtles”。它采用了一种有趣的绘图方式,模拟一只小海龟在屏幕上爬行,而小海龟爬行的路径就形成了绘制的图形。这种绘图方式最初源自20…

某资产管理系统打点过程中的免杀经历

上周,被扔过来单位内部的一个链接,让渗透一下,本以为三下五除二很快就能测完,没想到在对抗杀软时费了一番功夫,再加上杂七杂八的事儿,经过了一个星期才测完(# ̄~&#xff…

API(接口) | 软件组件之间信息交互的“桥梁”

Hi,大家好,我是半亩花海。本文主要从 API 的定义、包含、用途和其他方面来简单地介绍 API(接口) ——软件组件之间信息交互的“桥梁”。 目录 一、什么是 API? 二、 API 中所包含哪些? 补充 三、API 可…

SQL server内存问题排查方案

前言 由于昨晚线上服务器数据库突然访问数据缓慢,任务管理里面SQL server进程爆满等等,重大事故的排查拟写解决方案。 整体思路 查询数据库请求连接:排查连接池是否占满查询数据库请求量:排查数据是否存在反复查询查询数据库阻…

Mysql 学习(十五)redo 日志

redo 日志 什么是redo日志?在说这个之前我们先来想一个场景,在访问磁盘的页面之前,我们会先把页面缓存到Buffer Pool之后,才会访问。写页面的时候也会先将buffer pool中的页面修改之后,然后在某个时机才会刷新到磁盘中…

【Oracle Database】如何远程连接服务器、创建用户、从本地dmp导入表

C:\Users\test>imp test/123456ip/orcl:1521 fileE:\db.dmp tablestable1,table2Import: Release 11.2.0.3.0 - Production on 星期一 3月 4 12:59:09 2024Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.IMP-00058: 遇到 ORACLE 错误 1263…

vue3 vue-i18n 多语言

1. 安装 npm install vue-i18n -s 2. 引入main.js import { createI18n } from vue-i18n import messages from ./i18n/index const i18n createI18n({legacy: false,locale: Cookies.get(language) || en_us, // set localefallbackLocale: en_us, // set fallback local…

Spring面向切片编程AOP概念及相关术语(一)

个人名片: 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️…

面试问答之Spring进阶

文章目录 🐒个人主页:信计2102罗铠威🏅JavaEE系列专栏📖前言:🎀说说你对Spring的认识与理解🐕Bean的分类🐕 BeanFactory 接口和ApplicationContex 接口 的区别🐕SpringBe…

Canvas笔记04:绘制九大基本图形的方法,重头戏是贝塞尔曲线

hello,我是贝格前端工场,最近在学习canvas,分享一些canvas的一些知识点笔记,本期分享canvas绘制图形的知识,欢迎老铁们一同学习,欢迎关注,如有前端项目可以私信贝格。 Canvas是HTML5中的一个绘…