LLM2LLM: Boosting LLMs with Novel Iterative Data Enhancement

LLM2LLM: Boosting LLMs with Novel Iterative Data Enhancement

相关链接:arXiv GitHub
关键字:LLMData AugmentationFine-tuningNLPLow-data Regime

摘要

预训练的大型语言模型(LLMs)目前是解决绝大多数自然语言处理任务的最新技术。尽管许多实际应用仍然需要微调以达到令人满意的性能水平,但许多应用处于低数据量状态,这使得微调变得具有挑战性。为了解决这个问题,我们提出了LLM2LLM,这是一种针对性和迭代式的数据增强策略,它使用教师LLM通过增加可用于特定任务微调的数据来增强小型种子数据集。LLM2LLM (1) 在初始种子数据上微调基线学生LLM,(2) 评估并提取模型出错的数据点,并 (3) 使用教师LLM基于这些错误数据点生成合成数据,然后将这些数据点重新添加到训练数据中。这种方法在训练期间通过LLM放大了错误预测数据点的信号,并将它们重新整合到数据集中,以便专注于LLM更具挑战性的例子。我们的结果表明,LLM2LLM显著提高了LLM在低数据量状态下的性能,超越了传统的微调和其他数据增强基线。LLM2LLM减少了对劳动密集型数据策划的依赖,为更可扩展和高性能的LLM解决方案铺平了道路,使我们能够处理数据受限的领域和任务。我们在低数据量状态下使用LLaMA2-7B学生模型,在GSM8K数据集上实现了高达24.2%的改进,在CaseHOLD上为32.6%,在SNIPS上为32.0%,在TREC上为52.6%,在SST-2上为39.8%,相比于常规微调。

核心方法

在这里插入图片描述

LLM2LLM的核心方法包括以下几个步骤:

  1. 微调学生模型:在初始种子数据上微调基线学生LLM。
  2. 评估和提取错误数据:评估学生模型在训练数据上的表现,并提取模型回答错误的数据点。
  3. 生成合成数据:使用教师LLM基于错误数据点生成新的合成数据,这些数据点在语义上与原始数据点相似但在表述上有所不同。
  4. 迭代数据增强:将生成的合成数据添加回训练集中,并在新的数据集上重复微调过程,以进一步提高模型性能。

实验说明

实验结果展示了LLM2LLM在不同数据集上的测试准确率提升情况。数据集包括GSM8K、CaseHOLD、SNIPS、TREC和SST-2,涵盖了从0.02%到50%的不同种子数据比例。实验中,我们使用了LLaMA2-7B作为学生模型,并以GPT-3.5作为教师模型。实验结果表明,LLM2LLM在低数据量状态下显著提高了模型性能,尤其是在数据量较少的情况下。

数据集基线微调准确率LLM2LLM准确率
GSM8K0.00%19.56% - 38.67%
CaseHOLD12.28%66.50% - 88.14%
SNIPS11.86%92.14%
TREC11.20%78.80% - 90.20%
SST-2127.06%92.66% - 94.04%

结论

我们介绍了LLM2LLM,这是一种自适应和迭代的基于LLM的数据增强框架,使用LLM来扩展较小的微调数据集,而不是手动生成更多数据。这种方法由于其迭代和针对性的本质而有效,它允许我们从LLM出错的数据点中增强信号。因此,我们能够在使用LLaMA-2-7B学生模型的低数据量状态下,在GSM8K、CaseHOLD、SNIPS、TREC和SST-2数据集上实现了显著的性能提升。未来的工作可以集中在调整我们框架的超参数上,以及将我们的方法与其他LLM技术(如提示调整和少样本学习)结合起来。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql数据库-DQL查询

Mysql数据库-DQL基本查询 1 DQL基本查询1.1 基础查询1.2 WHERE子句1)算术运算符2)逻辑运算符3)比较运算符A)BETWEEN... AND ...B)IN(列表)C)NULL值判断 4)综合练习 2 DQL高级查询2.1 LIKE 模糊查…

【清华大学开源软件镜像站】

清华大学开源软件镜像站 https://mirrors.tuna.tsinghua.edu.cn/ 一些常用的软件,使用量比较大的软件或工具,下载速度较慢的,可以试试清华镜像,在网站里搜索一下试试。

3D关键点检测项目 | 基于多视图视频+自监督的3D关键点检测实现

项目应用场景 输入来自多摄像头视频,使用自监督算法来进行 3D 关键点检测,特点是不需要依赖于单图的 2D 关键点特征,而是从多视图行为视频中直接检测 3D 关键点,项目适用于人类在内的一系列生物体 项目效果: 项目流程…

Qt打印系统库的日志 - QLoggingCategory

Qt的动态库通过源码可以可以看到含有大量的qCInfo 和 qCDebug 等大量的日志, 但是我们正常运行Qt程序,这些动态库或插件里面的日志是不会输出到我们的控制台里面的。 所以本章主要记录怎么输出这些日志出来。 一: 步骤 主要使用的是Qt的 函…

【分布式】——CAPBASE理论

CAP&BASE理论 ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/tree-learning-notes ⭐⭐⭐⭐⭐⭐ Spring专栏👉https://blog.csdn.net/weixin_53580595/category_12279588.html Sprin…

Rust控制台输出跑马灯效果,实现刷新不换行,实现loading效果

要在 Rust 中实现控制台刷新而不换行,以实现类似 "loading" 状态的效果,你可以使用 \r(回车符)来覆盖上一行的内容。 use std::io::{self, Write}; use std::thread; use std::time::Duration;fn main() {let loading_…

基于SSM学生信息管理系统

采用技术 基于SSM学生信息管理系统的设计与实现~ 开发语言:Java 数据库:MySQL 技术:SpringMVCMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 页面展示效果 总体功能设计 登录页面 后台首页 学生信息页面 添加学生用户 编辑…

泛型,数据结构,集合

文章目录 泛型介绍解决问题好处使用通配符泛型的下限泛型的上限 数据结构定义常见的数据结构栈(先进后出)队列(先进先出)数组结构链表结构哈希表结构 集合List集合特点特有方法子类及其底层数据结构LinkedList集合 Set集合特点没有特有方法子类及其底层数据结构LinkedHashSet集…

SPDZ基础使用手册(深度学习视角)

基本类型 深度学习中最常使用的便是秘密定点数sfix,有关定点数的高级运算协议请参阅Paper: Secure Computation With Fixed-Point Numbers. 容器类型 SPDZ的深度学习框架主要基于TensorFlow实现,其中使用的容器是张量Tensor,在库中的定义如下…

抓包神器大比拼:Thor、克魔助手和Http Catcher在iOS系统下的优缺点分析

引言 在苹果手机的iOS系统相对封闭的情况下,抓包工具并不是很常见。大多数人可能对这类工具并不熟悉,除了少数安全专家之外,一般用户很少会接触到这些工具。然而,在某些特定场景下,比如网络调试、安全测试等&#xff…

RTSP应用:实现视频流的实时推送

在实现实时视频流推送的项目中,RTSP(Real Time Streaming Protocol)协议扮演着核心角色。本文将指导你通过安装FFmpeg软件,下载并编译live555,以及配置ffmpeg进行视频流推送,来实现一个基本的RTSP流媒体服务…

WorkPlus AI助理实现私有化AI智能客服,助力企业满足客户需求

私有化AI智能客服的出现,以其卓越的性能和全面的功能,助力企业提升客户服务体验。WorkPlus AI助理作为一款领先的解决方案,可实现企业的私有化AI智能客服,提升客户服务的质量和效率。 私有化AI智能客服的价值和意义不言而喻。通过…