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.mzph.cn/news/770547.shtml

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

相关文章

Facebook账号防封方法及解禁方法

Facebook作为跨境主要业务平台,一直以来封号率都非常高。相信点进来的各位或多或少地遇见了个人号被封,广告账户被禁,FB主页被封等情况。针对此类问题,今天就小编也来分享自己的Facebook防封经验。 一、Facebook被封原因 主要有以…

个人周总结

个人周总结: 对于总体方向目标的完成,完成的不是很好,这周内的很多天都在游离,就是事情可能有需要做的,但是动力不很足,期间就是有点摆烂了。后面及时调整调整吧,有这种情况,一个原…

基于springboot的美食分享管理平台+数据库+部署文档+数据库表结构文档+免费远程调试

项目介绍: 基于springboot的美食分享管理平台。Javaee项目,springboot项目,采用M(model)V(view)C(controller)三层体系结构,通过SpringBoot MybatisBootstrap来实现。MyS…

【JavaEE】进程是什么?

文章目录 ✍进程的概念✍进程存在的意义✍进程在计算机中的存在形式✍进程调度 ✍进程的概念 每个应⽤程序运⾏于现代操作系统之上时,操作系统会提供⼀种抽象,好像系统上只有这个程序在运⾏,所有的硬件资源都被这个程序在使⽤。这种假象是通…

C语言 | qsort()函数使用

目录: 1.qsort介绍 2.使⽤qsort函数 排序 整型数据 3.使⽤qsort函数 排序 结构体数据 4. qsort函数的模拟实现冒泡排序 qsort()函数 是一个 C语言编译器函数库自带的排序函数, 它可以对指定数组(包括字符串,二维数组&#x…

聚观早报 | 滴滴2023年Q4营收;微软推广Copilot

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 3月25日消息 滴滴2023年Q4营收 微软推广Copilot 极狐汽车将出口西班牙 华为公开智能驾驶新专利 华为P70系列发布…

【分布式】——分布式事务

分布式事务 ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/tree-learning-notes ⭐⭐⭐⭐⭐⭐ Spring专栏👉https://blog.csdn.net/weixin_53580595/category_12279588.html SpringMVC专…

Java day16 filter

filter 1、入门2、生命周期3、执行顺序问题4、注解 1、入门 UserServlet.java package com.cky.servlet;import jakarta.servlet.ServletConfig; import jakarta.servlet.ServletContext; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebIni…

Java后端项目性能优化实战-群发通知

背景 公司群发通知模块性能存在问题,我进行全面的系统调优,系统处理能力大幅提升。 原发送流程 优化后的发送流程 优化的点 说明:以下问题基本都是压测过程遇到的,有些问题普通的功能测试暴露不了。优化目标:保证高…

weindos的docker 运行Hyperf 日志

weindos的docker 运行日志 进入cmd窗口 docker run --name hyperf -v D:\phpstudy_pro\WWW\hyperf.com\hyperf-skeleton:/data/project -p 9501:9501 -it --privileged -u root --entrypoint /bin/sh hyperf-skeleton:latest D:\phpstudy_pro\WWW\hyperf.com\hyperf-skeleton是…

网络: 套接字

套接字: 在网络上进行进程间通信 网络字节序与主机字节序的转化 sockaddr sockaddr struct sockaddr {sa_family_t sa_family; // 地址族char sa_data[14]; // 地址数据,具体内容与地址族相关 };sockaddr_in :主要是地址类型, 端口号, IP地址. 基于IPv4编程…

6.使用个人用户登录域控的成员服务器,如何防止个人用户账号的用户策略生效?

(1)需求: (2)实战配置步骤 第一步:创建新的策略-并编辑策略 第二步:将策略应用到服务器处在OU 第三步:测试 (1)需求: 比如域控,或者加入域的…

【iOS ARKit】3D文字

首先,3D场景中渲染的任何虚拟元素都必须具有网格(顶点及顶点间的拓扑关系),没有网格的元素无法利用GPU 进行渲染,因此,在3D 场景申渲染 3D文字时,文字也必须具有网格。在计算机系统中&#xff0…

Ruoyi若依框架下载流程详细解读(SpringBoot-Vue)

图解: 前端设计: 前端设计一个link文字连接或者按钮(ElementUI)Element - The worlds most popular Vue UI framework 前端请求设计: import request from /utils/request //下载示例模型定义语言的JSON export const…

零售商品计划新篇章:智能管理系统的挑战与机遇

在零售企业管理中,商品计划管理在零售企业运营中占据核心地位。面对日益激烈的市场竞争和消费者需求的多样化,零售企业在商品计划管理方面面临着诸多挑战和需求。以下针对这些挑战和需求的分析,以及对一套智能商品计划管理系统应具备的功能和…

每日一练:LeeCode-200、岛屿数量【DFS递归+BFS队列】

给你一个由 1(陆地)和 0(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边…

【微服务】Eureka(服务注册,服务发现)

文章目录 1.基本介绍1.学前说明2.当前架构分析1.示意图2.问题分析 3.引出Eureka1.项目架构分析2.上图解读 2.创建单机版的Eureka1.创建 e-commerce-eureka-server-9001 子模块2.检查父子pom.xml1.子 pom.xml2.父 pom.xml 3.pom.xml 引入依赖4.application.yml 配置eureka服务5.…

【数据结构刷题专题】—— 二叉树

二叉树 二叉树刷题框架 二叉树的定义: struct TreeNode {int val;TreeNode* left;TreeNode* right;TreeNode(int x) : val(x), left(NULL), right(NULL); };1 二叉树的遍历方式 【1】前序遍历 class Solution { public:void traversal(TreeNode* node, vector&…

CI/CD 搭建jenkins基础测试环境构建项目(一)

Jenkins是一个开源的持续集成工具,可以帮助开发团队自动化构建、测试和部署他们的软件项目。通过Jenkins,开发团队可以实现快速、高效地交付软件,并及时发现和解决问题,从而提高团队的生产力和软件质量。持续集成/持续交付&#x…

后端常问面经之操作系统

请简要描述线程与进程的关系,区别及优缺点? 本质区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位 在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之…