合成数据的pipline

news2024/9/21 16:36:09

参考:https://github.com/yizhongw/self-instruct

总体来说就是 大模型自己遵循一套流程来生成数据,然后来微调自己。
在这里插入图片描述

1.指令生成

每一个迭代都选8个任务的指令作为该任务的提示样本,其中6个是人写的,2个是生成的。
然后组成输入送入模型进行输出引导,直到达到token限制或者够16个任务。
在这里插入图片描述

2.指令分类

作者对于分类任务和非分类任务的后续处理是不同的,所以用少样本学习提示的方式让LLM判断是否任务为分类。

3.实例生成

根据指令及其任务类型,独立地为每个指令生成实例。

针对分类和非分类任务,使用两种不同的Prompt构造方法:
1).输入优先:主要针对生成类任务,要求LM根据指令优先 生成实例中的输入X,然后再产生相应的输出Y。

2).输出优先:主要针对分类任务,给定指令,首先生成可能的类别标签,再根据类别标签生成输入X。避免生成偏向某一标签的输入。

4.筛选与后处理

筛选标准:
1.只有当新指令与任何现有指令的ROUGE-L相似度小于0.7时,才将其添加到任务池中。
2.还排除通常不能被语言模型处理的指令,包含某些特定关键词(例如,图像、图片、图表)。
3.在为每个指令生成新实例时,过滤掉完全相同或具有相同输入但不同输出的实例。

总结指标

1.ROUGE-L

来源
ROUGE是一种广泛使用的自动文本评估指标,用于比较生成文本和参考文本之间的相似度。
ROUGE可以看做是BLEU 的改进版,专注于召回率而非精度。换句话说,它会查看有多少个参考译句中的 n 元词组出现在了输出之中。

生成文本C和参考文本S。L代表LCS,最长公共子序列。
R LCS 表示召回率,表示参考文本中有多少内容被生成文本所覆盖。
P LCS 表示精确率,表示生成文本中有多少内容与参考文本匹配。
F LCS 是 ROUGE-L。

在这里插入图片描述
取值区间:通常在 0 到 1 之间。0: 表示生成的文本与参考文本完全不匹配。1: 表示生成的文本与参考文本完全匹配,所有的词序列都对齐。

2.BLEU

来源
通过计算生成文本中的 n-gram(n 个连续词语序列)与参考文本中的 n-gram 的匹配情况来评估文本质量。常用的 n 值包括 1(unigram)、2(bigram)、3(trigram)和 4(4-gram)。
1-gram 精确率表示译文忠于原文的程度,而其他 n-gram 表示翻译的流畅程度。
在这里插入图片描述
lc是生成文本的长度,lr是参考文本的长度。
wn是指n-gram的权重,默认为1/n。
pn是指n-gram 的精确率,也就是c和r中的n-gram的匹配数量 / c的n-gram数量。
BP指惩罚因子,避免生成文本过短导致精确率过高。当生成文本大于参考文本的长度,设为1;小于等于参考文本的长度时,设为e^(1-lr/lc)。

Self-BLEU 是一个用于评估生成文本集合多样性的指标。它的核心思想是利用 BLEU 指标来衡量一个句子与同一生成集合中其他句子的相似性,从而间接评估整个集合的多样性。
计算方法:
将集合中的每个生成句子分别作为假设句(hypothesis),将集合中的其余句子作为参考句(reference),计算每个句子的 BLEU 分数。
然后对所有句子的 BLEU 分数取平均值,这个平均值就是该集合的 Self-BLEU 分数。

取值区间:通常在 0 到 1 之间。0: 表示生成的文本与参考文本没有任何匹配的 n-gram。1: 表示生成的文本与参考文本完全匹配。

3.Distinct-N

是一种测量句子多样性的指标。它关注一个句子中不同n-gram的数量。不同n-gram的数量越多,文本的多样性越高。

在这里插入图片描述
Count(unique ngram)表示回复中不重复的ngram数量,Count(word)表示回复中ngram词语的总数量。

取值区间: Distinct 指标的取值范围在 0 到 1 之间。0: 表示生成文本中的 n-gram 完全重复,没有任何多样性。1: 表示生成文本中的每个 n-gram 都是独一无二的,具有最大的多样性。

参考:
https://zhuanlan.zhihu.com/p/144182853
https://mindnlpdocs-hwy.readthedocs.io/zh-cn/latest/api/engine/metrics.html#module-mindnlp.engine.metrics.distinct
https://github.com/geek-ai/Texygen/blob/master/docs/evaluation.md#self-bleu-score
https://blog.csdn.net/weixin_43937790/article/details/129767661

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

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

相关文章

从零到一:家政保洁小程序搭建全攻略与功能作用深度解析

目录 一、家政保洁小程序主要功能 二、家政保洁小程序搭建教程 (一)前期准备 (二)注册与选择工具 (三)设计与开发 (四)测试与优化 (五)发布与推广 一、…

笔记本CPU天梯图(2024年8月),含AMD/骁龙等新CPU

原文地址(高清无水印原图/持续更新/含榜单出处链接): 2024年8月笔记本CPU天梯图 2024年8月笔记本CPU天梯图 2024年8月5日更新日志:常规更新Cinebench R23、PassMark笔记本CPU天梯图,新增Geekbench 6.2单核多核天梯图&…

您真的了解人类反馈强化学习(RLHF)吗?

生成性人工智能,就像ChatGPT和Gemini这样的应用,现在可火了,感觉我们生活中越来越离不开它们。 不过呢,这些工具虽然厉害,但用的时候也得留个心眼,因为它们可能会搞出些问题来。比如,有时候AI可…

DP转Type-c方案 带PD快充(外接显卡与VR)

DP转Type-C技术允许用户将DisplayPort信号转换为Type-C接口,‌以便连接和支持Type-C接口的设备。‌ DP转Type-C技术主要应用于需要将DisplayPort信号转换为Type-C接口的情况,‌以便连接和支持只有Type-C接口的设备。‌这种转换技术通过专门的转换器或连…

前端项目中的Server-sent Events(SSE)项目实践及其与websocket的区别

前端项目中的Server-sent Events(SSE)项目实践 前言 在前端开发中,实时数据更新是提升用户体验的重要因素之一。Server-SentEvents(SSE)是一种高效的技术,允许服务器通过单向连接将实时数据推送到客户端。下面将从SSE的基本改变,使用场景展…

TCP问题总结

TCP三次握手与四次挥手 1.TCP 头格式有哪些? 标注颜⾊的表示与本⽂关联⽐较⼤的字段,其他字段不做详细阐述。 序列号:在建⽴连接时由计算机⽣成的随机数作为其初始值,通过 SYN 包传给接收端主机,每发送⼀次数 据&am…

MapReduce入门教程

这可不是目录 入门定义与说明数据分析Map和Reduce阶段的任务<Kn,Vn>分析MapReduce的数据类型其他说明(持续更新) 开发案例(持续更新)自定义的wordcountcsv文件操作序列化操作 入门 定义与说明 数据分析 以下未数据分析示意图 Map和Reduce阶段的任务 Map阶段的任务&a…

安科瑞Acrel-2000ES储能能量管理系统在新型电力系统下分布式储能的研究

摘要&#xff1a;传统电力系统的结构和运行模式在以新能源为主体的新型电力系统中发生了巨大的变化&#xff0c;分布式储能作为电力系统中重要的能量调节器&#xff0c;也迎来了新的发展机遇。立足于储能技术发展现状&#xff0c;分析了分布式储能技术特点及在清洁可再生能源方…

ALLEGRO直接转PADS方法

1.ALLEGRO转PADS之前系统上添加用户变量 打开环境变量窗口&#xff0c;以WIN10为例 添加变量和值 变量名&#xff1a;AEX_BIN_ROOT值&#xff1a; PADS软件中translators软件的bin目录路径比如我的&#xff1a;AEX_BIN_ROOTD:\MentorGraphics\PADSVX.2.3\SDD_HOME\translator…

用python的manim库实现表格的绘制和制作【table 上】

表格的定义&#xff1a;按行和列排列的信息&#xff08;如数字和说明&#xff09;。 这是人们参加的运动的表格&#xff1a; 接下来绘制一些表格&#xff1a; 1. 创建一个包含小数数字的表格{DecimalTable} DecimalTable 是 Manim 中用于创建一个包含小数数字的表格的类。这个…

SD-WAN在海外网络加速中的优势

随着全球化的加剧&#xff0c;企业在海外业务拓展中面临着网络延迟、数据安全和成本等一系列挑战。针对这些问题&#xff0c;SD-WAN(软件定义广域网&#xff09;成为了企业网络架构的良好选择。本文将详细介绍SD-WAN在海外加速中的应用和优势。 1.SD-WAN是什么? SD-WAN是一种网…

软件开发者申请代码签名证书流程

软件目前已经成为人们生活和工作不可或缺的一部分&#xff0c;随着互联网的普及和软件分发渠道的多样化&#xff0c;软件的安全性和可信度变得越来越重要。 为了确保软件的完整性、安全性和来源可信性&#xff0c;代码签名证书应运而生。 在软件完成了开发之后&#xff0c;开…

硬件面试经典 100 题(31~40 题)

31、多级放大电路的级间耦合方式有哪几种&#xff1f;哪种耦合方式的电路零点偏移最严重&#xff1f;哪种耦合方式可以实现阻抗变换&#xff1f; 有三种耦合方式&#xff1a;直接耦合、阻容耦合、变压器耦合。直接耦合的电路零点漂移最严重&#xff0c;变压器耦合的电路可以实现…

软件测试经典面试题(答案解析+文档)

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1、B/S架构和C/S架构区别 B/S 只需要有操作系统和浏览器就行&#xff0c;可以实现跨平台&#xff0c;客户端零维护&#xff0c;维护成本低&#xff0c;但是个性化…

EXCEL数据清洗步骤

1.合并的单元格: 用Ctrl+g查找空值,拆分单元格,ctrl enter填充 2.空值+空行: 辅助列+counta,筛选出空值行 3.重复值: 条件格式——突出显示单元格规则——重复值 数据——数据工具——删除重复值 4.脏数据 图片,批注,空格,条件格式 5.数据提取 ctrl e智能填充…

Web自动化测试:UI自动化框架结构以及思路!

在学会使用unittest后&#xff0c;实际上UI自动化的基础骨架已经搭建起来了&#xff0c;剩下的就是利于这套框架&#xff0c;增添一些我们需要的功能&#xff0c;目前看来&#xff0c;我们已经可以使用此框架来批量运行用例&#xff0c;欠缺的是整体的思路以及一些其他功能细节…

RSA算法解析

目录 引言 网络通信的明文传输风险 HTTP的不安全性及其风险点 ​编辑HTTPS的引入 为什么需要HTTPS HTTPS与HTTP的主要区别 TLS协议概述 TLS的作用和重要性 TLS在网络层的位置 TLS握手过程 握手过程的目的和步骤 TLS握手的各个阶段 RSA算法原理 RSA算法的基本概念 …

八股文学习总结

八股文学习总结 文章目录 八股文学习总结一、总体概况二、Java基础三、集合四、JUC五、JVM六、MYSQL七、Redis八、MQ九、计网十、OS十一、附上我记的笔记 一、总体概况 八股文也看了好多天了&#xff0c;我对八股文基本上考察哪些点也都有了印象&#xff0c;主要的分为Java基础…

uni-app 开发App时调用uni-push 实现在线系统消息推送通知 保姆教程

一、引言 在开发App时避免不了需要推送系统通知&#xff0c;以提高用户的使用体验。在自己的一个工具型的小app上全流程接入了uni-push2.0的推送能力&#xff0c;做个记录&#xff0c;以防后期需要用到。在阅读本教程前最好先看看官方文档&#xff0c;结合官方文档使用&#xf…

Android自定义view

前言 在Android开发时&#xff0c;我们经常会碰见在很多地方会重复使用相同的布局&#xff0c;或者是需要显示一些非基础组件&#xff0c;这个时候我们第一反应就是去自定义布局。将很多常用的UI业务需求&#xff0c;封装成一个View来操作&#xff0c;可以有效加快我们编码和开…