【大模型LLM第十一篇】微调自动化数据选择方式之MoDS

devtools/2024/10/22 18:34:07/

前言


来自中科院自动化所的paper

MoDS: Model-oriented Data Selection for Instruction Tuning

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

github:https://github.com/CASIA-LM/MoDS

一、摘要

sft已经成为让LLM遵循用户指令的一种方式。通常,需要使用数十万个数据来微调基础LLM。最近,研究表明少量的高质量指令数据就足够。然而,如何在给定的数据中选择合适的指令数据?

为了解决这个问题,提出了一种面向模型的数据选择(MoDS)方法,该方法基于考虑三个方面的新标准来选择指令数据:质量、覆盖范围和必要性。

首先,利用质量评估模型从原始指令数据集中过滤出高质量子集,然后设计算法进一步从高质量子集中选择具有良好覆盖率的seed instruction dataset。应用seed数据集来微调基础LLM获得初始sft LLM。最后,用一个必要性评估模型来找出初始sft LLM效果较差的sft数据,将这些数据作为下一步改进LLM的必要指令。

从原始指令数据集中得到一个小的高质量、覆盖面广、必要性高的子集。实验结果表明,使用MoDS方法选择的 4,000 个指令对进行微调的模型比使用包含 214k 指令数据的完整原始数据集进行微调的模型表现更好。

二、方法

这个方法主要聚焦于三点:

  • Quality: 数据样本的质量
  • Coverage: 即多样性
  • Necessity: 对模型sft重要且唯一,主要从,大模型能很好的回答,说明模型学习好了,如果不能生成好的回答,说明LLM缺乏这个能力,则这个样本是必要的去提升模型能力。

分为三步骤

  1. Quality Evaluation
  2. Diverse Data Selection for Seed Instructions
  3. Augmented Data Selection.

2.1 Quality Evaluation

直接用一个reward model进行样本质量评分

reward model:reward-model-deberta-
v3-large-v22 (基于DeBERTa架构)

超过某个阈值的数据样本挑出来,当作 high-quality in struction dataset

2.2 Diverse Data Selection for Seed

依然采用k-center-greedy聚类来得到subset

讲解和代码:https://zhuanlan.zhihu.com/p/711917766

最终得到的样本集称为:seed instruction dataset

2.3 Augmented Data Selection

利用seed instruction dataset训练一个sft model.

用这个sft model对high-quality in struction dataset进行推理,之后用一个review model对生成的response和instruction计算一个review score,采用的模型依然是reward-model-deberta-v3-large-v22 (基于DeBERTa架构)

如果review score低于某个分数,则代表模型生成的response不是那么好,收集全部的低review score的样本,之后再用一次K-center greedy选取一个子集,作为加强数据集。

相当于做了一个high-quality in struction dataset选多样性subset,之后再通过预测不好的样本集,再补充一部分增强模型能力。

最终用这两个subset组成最终的数据集进行训练

三、实验

还做了一个 k-center和random采样的对比实验,这种实验基本上在用k-center的情况下都会对比一下:


http://www.ppmy.cn/devtools/104637.html

相关文章

前端缓存机制及其特点

1、localStorage localStorage 是一种 Web 存储(Web Storage)技术,它属于浏览器提供的客户端存储机制。localStorage 的特点使它被广泛用于持久性的数据存储,即使在浏览器关闭并重新打开之后,数据仍然保留。 localSt…

白盒测试及其测试方法

什么是白盒测试 是针对程序的逻辑结构进行测试,主要适用于单元测试阶段 与黑盒测试不同的是,黑盒测试是根据业务需求设计用例的输入输出,白盒测试是对程序系统的内部逻辑实现设计输入输出。 通常的流程是先静态测试,后动态测试…

ES配合高德地图JS-API实现地理位置查询

目录 实现功能点 技术选型 具体实现 Vue3整合高德地图JS API-2.0 添加商户:前端 添加商户:后端/ES 查询用户当前地理坐标 获取附近(指定距离)的商户 总结/测试Demo代码地址 测试概述:用户使用高德地图组件获取商户…

Docker学习之路【八】安装主从复制MYSQL8

拉取MySQL镜像 #拉取MySQL镜像 docker pull mysql:8.0.37创建存储目录 #创建数据存储目录 mkdir -p /docker/mysql/master/data #创建日志目录 mkdir -p /docker/mysql/master/logs #创建配置文件目录 mkdir -p /docker/mysql/master/conf运行容器 docker run -p 3340:3306 …

前端与后端的身份认证

这里写目录标题 前端与后端的身份认证Web开发模式服务端渲染的Web开发模式前后端分离的Web开发模式根据场景选择开发模式 身份认证为什么需要身份认证不同开发模式下的身份认证 Session认证机制HTTP协议下的无状态性如何突破HTTP无状态的限制CookieCookie的几大特性&#xff1a…

uniapp踩坑实战之引用‘uview-ui‘

我是在dcloud插件库里面下载的,默认他默认下载在了“uni_modules”,而我用官方的方式总是报:文件查找失败:uview-ui at main.js 以下是官方方法,但我这里一直报错,是因为直接写他是从“node_modules”文件…

不可思议!分享6款AI论文大纲提纲自动生成器,导师直夸好

在当今学术研究和写作领域,人工智能(AI)技术的迅速发展为论文写作带来了革命性的变化。AI论文大纲生成器作为其中的重要工具,能够显著提高论文撰写效率和质量。本文将介绍六款AI论文大纲生成器,这些工具不仅能够帮助学…

大数据技术之HBase简介(1)

目录 HBase 简介 HBase 定义 HBase 数据模型 HBase 逻辑结构 HBase 物理存储结构 HBase 基本架构 HBase 简介 HBase 定义 Apache HBase™ 是一种分布式、可扩展的 NoSQL 数据库,它基于 HDFS 进行数据存储。 HBase 数据模型 HBase 的设计理念源自 Google 的 BigTa…