【大模型LLM第九篇】高效的微调方式:Self-Evolved多样性数据采样

news2024/11/23 21:36:37

前言

b9630fafc840fafc07e8bfc048d58133.png

来自阿里巴巴和北京大学的文章:Self-Evolved Diverse Data Sampling for Efficient Instruction Tuning

link:https://arxiv.org/pdf/2311.08182

github:https://github.com/OFA-Sys/DiverseEvol

一、摘要

提升大型语言模型的指令遵循能力需要大量的sft数据集。然而,庞大的数量带来了相当大的计算负担和标注成本。为了研究一种label-efficient的指令微调方法,允许模型本身主动采样子集,引入了一种自进化机制DiverseEvol。

在此过程中,模型迭代地增强其训练子集以完善其自身的性能,而无需人类或更高级LLM的干预。数据采样技术的关键在于增强所选子集的多样性,因为模型根据其当前的embedding选择与任何现有数据点最不同的新数据点。

实验表明:模型在不到8%的原始数据集上进行训练,与完整数据训练相比,可以保持或提高性能。提供了实验证据来分析sft训练数据集多样性的重要性以及迭代采样方案相对于一次采样的的重要性。

二、方法

3ffb363086dbe25d319aebecbd42e6d3.png

目标是将指令数据挖掘形式化为一个迭代过程,根据策略逐步从庞大的源指令数据集中提取训练集进行训练

各种公式我就不一一讲了,主要的思想就是以下几步:

2.1 步骤

首先有一个训练集,其中一个是现有的P0训练集,之外还有个待挑选的数据集Q0

  1. 通过用P0训练集进行训练模型M0

  2. 用模型M0对P0的数据和Q0的数据做向量化

  3. 挑选Q0中k个距离P0距离最远的点,当作下一批训练数据加入到P0中,成为P1,迭代1-2-3步骤即可,不断的提升模型能力

有点子boosting的意思了,不停的拟合残差

2.2 最远的点

如何判断是最远的点?

其实很多paper这块的处理基本上没啥区别,主要把数据向量化了,那就是找最能代表一块空间的点留下(尽可能让一块空间有一个数据代表),重叠的或者离的近的去掉。

这里用的是最常用的k-center算法:https://zhuanlan.zhihu.com/p/711917766

最远点:每个新数据点与现有的P中的数据之间最小距离的最大化即可,就是离目前训练集最远的点:

82138412fd5a6c9dc1be64f3d0f201bf.png

2.3 k-center-sampling

该算法讲解:https://zhuanlan.zhihu.com/p/711917766

最主要的思想是,可以用k个中心点来代表目前的数据分布。

3d8ef0a2b4acdce8566a44ebda0fcd03.png

三、实验

3.1 评价方式

依然是winrate-chatgpt

483f24cfae6ffbf358b9903feaf9b662.png

3.2 结果

76b3a651bd301e8b9f3821b0978add5b.png

推荐阅读:

我的2022届互联网校招分享

我的2021总结

浅谈算法岗和开发岗的区别

互联网校招研发薪资汇总

公众号:AI蜗牛车

保持谦逊、保持自律、保持进步

e29eb8392297b95dea9adfa1a431af19.jpeg

发送【蜗牛】获取一份《手把手AI项目》(AI蜗牛车著)

发送【1222】获取一份不错的leetcode刷题笔记

发送【AI四大名著】获取四本经典AI电子书

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

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

相关文章

鸿蒙Harmony开发——设备发烫问题分析

; 本文字数:4207字 预计阅读时间:25分钟 设备过热问题是影响用户体验和设备性能的重要因素。过热不仅会导致性能下降,还可能损坏硬件。因此,开发者需要及时发现、分析并解决这一问题。本文将首先介绍评估设备过热的关键…

Qt/C++控件实例 QWidget联合动画实现卷轴效果

显示特点 动态翻页效果:数字在更新时,会有一个从前一数字向下一数字过渡的翻页效果。这种过渡动画使得数字变化过程更加平滑和自然,避免了突然的跳变。 高对比度显示:每个数字的背景框颜色为红色,数字颜色为白色&…

每日一个科研绘图·气泡图|24-08-24

一、气泡图 气泡图是一种数据可视化工具,它在传统的二维散点图的基础上增加了一个维度,使得我们能够同时观察三个变量之间的关系。这种图表通过点的大小来表示第三个数值变量的大小,从而提供了一种直观的方式来探索数据中的模式和趋势。 在…

Facebook的AI助手:如何提升用户社交体验的智能化

在现代社交媒体平台中,人工智能(AI)的应用正逐渐改变人们的社交体验。Facebook作为全球最大的社交媒体平台之一,已在AI技术的开发与应用上投入了大量资源,并通过其AI助手为用户提供了更加个性化、智能化的互动体验。这…

pycharm 隐藏 __ init __ .py 文件

pycharm 隐藏 __ init __ .py 文件 每次写python项目时,都会有一个自动生成__ init __ .py文件,看的很累,所以想把__ init __ .py文件给隐藏掉 方法: (1)File -> Settings (2) Appearance & Behav…

武汉流星汇聚:全球化布局与本地化运营,亚马逊电商帝国崛起秘诀

在数字时代的浪潮中,亚马逊如同一颗璀璨的星辰,照亮了全球电子商务的天空。作为美国乃至全球访问量最高的电商平台,亚马逊不仅重塑了消费者的购物习惯,更以其独特的商业模式、惊人的订单履行速度和卓越的购物体验,引领…

FFmpeg的入门实践系列四(AVS)

欢迎诸位来阅读在下的博文~ 在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力 文章目录 前期博客参考书籍一、AVS简介二、基于FFmpeg配置AVS2 前期博客 FFmpeg的入门实践系列一(环境搭建) FFmpeg的入门实践系列…

零基础5分钟上手亚马逊云科技-利用MQ为应用解耦

简介: 欢迎来到小李哥全新亚马逊云科技AWS云计算知识学习系列,适用于任何无云计算或者亚马逊云科技技术背景的开发者,通过这篇文章大家零基础5分钟就能完全学会亚马逊云科技一个经典的服务开发架构方案。 我会每天介绍一个基于亚马逊云科技…

揭秘AI绘画赚钱之道:学会这十大技巧,轻松踏入高薪岗位,实现财务自由!

亲爱的学友们,当我们谈论AI绘画,不仅仅是在描绘科技如何重塑艺术疆界,更是在探索一场颠覆性的商业革命。自从AI绘画技术从萌芽走向繁荣,它已经从简单的图像风格转换跃升为能读懂人心、创世般生成各类视觉作品的神奇力量。今天&…

哈夫曼树和哈夫曼编码详解(包含Java代码实现)

目录 什么是哈夫曼树?如何构造哈夫曼树?构造过程代码实现哈夫曼树的结构构建哈夫曼树并计算WPL值测试代码 什么是哈夫曼编码?如何构建哈夫曼编码?构建过程代码实现 什么是哈夫曼树? 哈夫曼树又称为最优树,是…

应用实例 | Simufact 增材制造工艺仿真助力保时捷薄壁件打印

在过去的 30 多年里,增材制造技术被广泛应用于各行各业,尤其在医疗器械、航空领域尤为突出。其中激光束进行金属粉末床熔融的工艺应用最为广泛,由该工艺制造的零部件普遍兼具高设计自由度、高灵活性、优异机械性能等特点。对于汽车行业&#…

百日筑基第六十天-学习一下Tomcat

百日筑基第六十天-学习一下Tomcat 一、Tomcat 顶层架构 Tomcat 中最顶层的容器是 Server,代表着整个服务器,从上图中可以看出,一个 Server可以包含至少一个 Service,用于具体提供服务。Service 主要包含两个部分:Conn…

都说25张宇是大趋势,那660、880还刷吗?

25上半年张宇很火,是有客观原因的: 1. 大纲改革后,大题变少了,选填变多了; 2. 但是考试覆盖的知识点不能少, ——因为知识点越少,随机性越高,这个考试就越不公平。 这直接导致了&…

vue组件和插件使用

前端组件 1、安装pinia(Vue 的专属状态管理库): npm install pinia2、安装pinia-plugin-persistedstate(持久存储插件): npm install pinia-plugin-persistedstate浏览器刷新时,有些数据希望是保存下来的。如用户登录后,用户信息会存储在全…

Scheme5.0标准之重要特性及用法实例(三十七)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列…

设置虚拟机使用主机以太网而不是WiF连接

虚拟机使用主机的以太网连接而不是Wi-Fi连接,可以通过在虚拟化软件中配置虚拟机的网络设置来实现。以下是一些常见的虚拟化软件(如VMware和VirtualBox)中设置虚拟机网络以使用以太网连接的步骤: 一、VMware中设置 1、打开虚拟网…

Python画笔案例-007 绘制水滴

1、绘制水滴 通过 python 的turtle 库绘制一个水滴的图案,如下图: 2、实现代码 今天绘制的水滴,在tuitle 库里并没有直接的功能可以绘制,我们仔细观察,可以看出,水滴往下越来越粗,所以我们可以…

API商品数据接口(电商数据api)——京东淘宝价格详情

众多品牌选择使用比价工具进行采购,主要是出于以下几个重要原因: 提高开发效率:API接口允许不同的应用程序之间高效地进行交互,节省了大量的人力物力成本,使得开发者可以将更多时间和精力集中于自身的核心业务。 增加数…

正则表达式匹配成对括号

匹配一对括号,用于在一个html文本中提取JSon 文本。例如 { “duration”:7599,"minBufferTime{second bracket }{third bracket} } 一对加粗的{} ,而不要中间的{}。简单写法会出现错误匹配。 在.Net Framework的正则表达式中,提供了”…

在Activity中使用Toast

在Activity中使用Toast Toast是Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间,我们现在就尝试一下如何在活动中使用Toast。 …