LLaMA-Factory 使用 alpaca 格式的数据集

news2024/9/21 2:46:52

LLaMA-Factory 使用 alpaca 格式的数据集

flyfish

alpaca 格式最初与Stanford大学的一个研究项目相关联,该项目旨在通过少量高质量的数据来微调大型语言模型。它受到了Alpaca模型(一种基于LLaMA的指令跟随模型)的影响,该模型是在Meta AI的LLaMA基础上进行改进而来的。

alpaca 格式的数据集应遵循以下格式:

[
  {
    "instruction": "user instruction (required)",
    "input": "user input (optional)",
    "output": "model response (required)",
    "system": "system prompt (optional)",
    "history": [
      ["user instruction in the first round (optional)", "model response in the first round (optional)"],
      ["user instruction in the second round (optional)", "model response in the second round (optional)"]
    ]
  }
]

在 data/dataset_info.json 文件中提供您的数据集定义,并采用以下格式:

对于 alpaca 格式的数据集,其 dataset_info.json 文件中的列应为:

"dataset_name": {
  "file_name": "dataset_name.json",
  "columns": {
    "prompt": "instruction",
    "query": "input",
    "response": "output",
    "system": "system",
    "history": "history"
  }
}

字段作用

instruction: 用户给出的指令或问题,是必须提供的信息。
input: 可选的额外输入信息,可以为空,用于提供给定指令的上下文或具体例子。
output: 模型根据指令和输入产生的响应,是必须提供的信息。
system: 可选的系统提示,用来为整个对话设定场景或提供指导原则。
history: 一个列表,包含之前轮次的对话记录,每一对都是用户消息和模型回复。这有助于保持对话的一致性和连贯性。

示例1: 单轮对话

[
  {
    "instruction": "解释一下什么是人工智能。",
    "input": "",
    "output": "人工智能(Artificial Intelligence, AI)是指由人制造出来的具有一定智能的系统,能够理解和学习人类的行为,并且能够执行任务、解决问题以及适应新环境。它通常包括机器学习、自然语言处理、计算机视觉等技术领域。",
    "system": "你是一位专业的AI讲师。",
    "history": []
  }

]

在这个例子中:

instruction 是用户给模型的指令。
input 字段为空,因为没有额外的信息提供给模型。
output 是模型根据指令生成的回答。
system 提供了一个角色设定,让模型扮演一位AI讲师。
history 列表为空,表示这是一个新的对话,之前没有对话历史。

示例2: 多轮对话

[
  {
    "instruction": "告诉我明天济南的天气。",
    "input": "",
    "output": "明天济南的天气预报显示是晴天,气温大约在15到25摄氏度之间。",
    "system": "你是一位气象专家。",
    "history": [
      ["今天济南的天气怎么样?", "今天济南的天气是多云转晴,气温大约在10到20摄氏度之间。"]
    ]
  },
  {
    "instruction": "那后天呢?",
    "input": "",
    "output": "后天济南可能会有小雨,气温会稍微下降一些,预计在13到22摄氏度左右。",
    "system": "你是一位气象专家。",
    "history": [
      ["今天济南的天气怎么样?", "今天济南的天气是多云转晴,气温大约在10到20摄氏度之间。"],
      ["告诉我明天济南的天气。", "明天济南的天气预报显示是晴天,气温大约在15到25摄氏度之间。"]
    ]
  }

]

在这个多轮对话的例子中:

第一条记录包含了用户询问明天济南天气的指令,以及模型给出的回答。
history 包含了前一轮对话的内容,这样可以让模型理解当前对话的上下文。
第二条记录则是继续上一轮的对话,询问后天的天气情况,同时history也更新为包含前面所有对话的历史。

模型能够一次性从新闻文章中提取出多个关键信息(如事件类型、地点、时间等),alpaca格式的数据集

[
  {
    "instruction": "从以下文本中提取发生的事件类型、地点和时间。",
    "input": "昨天,在加州的一家购物中心发生了一起火灾事故,幸好没有人员伤亡。",
    "output": "事件类型: 火灾; 地点: 加州; 时间: 昨天",
    "system": "你是一位信息分析师,擅长从文本中提取关键信息。",
    "history": []
  },
  {
    "instruction": "从以下文本中提取发生的事件类型、地点和时间。",
    "input": "本周三,加州市中心的一座办公楼发生了爆炸,造成多人受伤。",
    "output": "事件类型: 爆炸; 地点: 加州市中心; 时间: 本周三",
    "system": "你是一位信息分析师,擅长从文本中提取关键信息。",
    "history": []
  },
  {
    "instruction": "从以下文本中提取发生的事件类型、地点和时间。",
    "input": "上个月底,加州的一个工业园区内发生化学品泄漏,导致附近居民紧急疏散。",
    "output": "事件类型: 化学品泄漏; 地点: 加州的一个工业园区; 时间: 上个月底",
    "system": "你是一位信息分析师,擅长从文本中提取关键信息。",
    "history": []
  }
]

instruction 给出了明确的任务指示,即从给定文本中提取事件类型、地点和时间。
input 是包含相关信息的原始新闻文本。
output 则是模型应该生成的答案,它以结构化的方式列出了所有的关键信息。
system 提供了角色设定,帮助模型理解其任务背景。
history 在这个情况下为空,因为每个条目都是独立的单轮对话。

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

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

相关文章

Leetcode面试经典150题-97.交错字符串

给定三个字符串 s1、s2、s3&#xff0c;请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下&#xff0c;其中每个字符串都会被分割成若干 非空 子字符串 &#xff1a; s s1 s2 ... snt t1 t2 ... tm|n - m| < 1交错 是…

C++入门基础知识八

1.介绍new与delete 1.malloc和free是函数&#xff0c;new和delete是操作符 2.malloc申请的空间不会初始化&#xff0c;new可以初始化 3.malloc申请空间失败时&#xff0c;返回的是NULL&#xff0c;因此必须判空&#xff0c;new不需要&#xff0c;但是new需要捕获异常 4.申请…

【例题】lanqiao4403 希尔排序模板题

插入排序每次只能将数据移动一位。 已知插入排序代码为&#xff1a; def insert_sort(a):for i in range(1,len(a)):ji-1while j>0 and a[j]>a[i]:a[j1]a[j]j-1a[j1]a[i]return a希尔排序在插入排序的基础上&#xff0c;将数据移动n/2,n/4,…,1位。 for i in range(ga…

某东不固定大小旋转验证码识别

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 如有侵犯,请联系作者下架 旋转验证码基本是旋转小图到一定的角度去匹配大图的,通常的旋转验证码,中间缺口图部分大小固定,但是在某东上,大小不固定,部分数据集如下: 结合之前的旋转验证…

09.20 C++对C的扩充以及C++中的封装、SeqList

SeqList.h #ifndef SEQLIST_H #define SEQLIST_H#include <iostream> #include<memory.h> #include<stdlib.h> #include<string.h>using namespace std;//typedef int datatype; //类型重命名 using datatype int;//封装一个顺序表 class Seq…

.ipynb 图解介绍,轻松入门,提升效率

目录 01 使用jupyter遇到的问题1.1 Python requires ipykernel installed or requires an update 1.1.1 查询所有内核 1.1.2 选择对应的Python版本 02 理解jupyter规则 2.1 系统命令 01 使用jupyter遇到的问题 1.1 Python requires ipykernel installed or requires an up…

MyBatis 基本操作 - XML版

目录 配置xml文件 一&#xff0c;查询 - Select 1.1 全列查询 1.2 赋值问题 二&#xff0c;新增 - insert 2.1 使用对象插入 2.2 获取主键 三&#xff0c;删除 - delete 四&#xff0c;修改 - update 配置xml文件 <?xml version"1.0" encoding"U…

全国自闭症寄宿学校:为孩子提供全方位关怀

在自闭症儿童教育的广阔领域中&#xff0c;全国范围内的寄宿学校如同一座座灯塔&#xff0c;照亮了这些特殊孩子前行的道路。它们不仅提供了专业的教育服务&#xff0c;更以无微不至的关怀&#xff0c;为孩子们构建了一个温暖的家。在广州这座充满温情的城市&#xff0c;星贝育…

【Verilog学习日常】—牛客网刷题—Verilog快速入门—VL20

数据选择器实现逻辑电路 描述 请使用此4选1数据选择器和必要的逻辑门实现下列表达式。 数据选择器的逻辑符号如下图&#xff1a; 数据选择器代码如下&#xff0c;可在本题答案中添加并例化此数据选择器。 module data_sel(input S0 ,input S1 …

2024.9.20 Python模式识别新国大EE5907,PCA主成分分析,LDA线性判别分析,GMM聚类分类,SVM支持向量机

1.PCA 主成分分析用于特征提取、可视化和分类 根据要求&#xff0c;我在第一个代码框中完成了从指定路径提取图像数据&#xff0c;将其转换为灰度图像并将其展平。在这里&#xff0c;我将数字 88 设置为我的照片的标签&#xff0c;然后将所有 10 张照片传入代码。然后我定义了…

java之杨辉三角问题

给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 如何实现呢&#xff1f; 思路&#xff1a;首先&#xff0c;我们可以将杨辉三角视作i行j列的二维数组。除了第一行和第二行之外&am…

✨机器学习笔记(五)—— 神经网络,前向传播,TensorFlow

Course2-Week1: https://github.com/kaieye/2022-Machine-Learning-Specialization/tree/main/Advanced%20Learning%20Algorithms/week1机器学习笔记&#xff08;五&#xff09; 1️⃣神经网络&#xff08;Neural Network&#xff09;2️⃣前向传播&#xff08;Forward propaga…

最短路: Djikstra

最短路: Djikstra 适用于边权非负 如果存在负边权, 则当前距离dist最小的点, 不一定就是实际离源点最近的点,可能有负边导致其它路径离当前点更近 如下图所示, 如果存在负边, y点距离S点最近, 所以选中y点进行松弛, 贪心思想 当边权非负,离起点S最近的点,不能被更新, 如果在…

PointNet++改进策略 :模块改进 | SPVConv, 体素和点云特征融合提升小目标检测能力

论文题目&#xff1a;Searching Efficient 3D Architectures with Sparse Point-Voxel Convolution发布期刊&#xff1a;ECCV通讯地址&#xff1a;麻省理工 & 清华大学代码地址&#xff1a;https://github.com/mit-han-lab/spvnas 介绍 这篇论文的主题是如何为自驾车等应…

[译] Go语言的源起,发展和未来

本篇内容是根据2019年9月份Creating the Go programming language音频录制内容的整理与翻译, 两位主持人与Go 的创始人 Rob Pike 和 Robert Griesemer谈论了 Go 的起源、发展、影响和未来。这是一个史诗般的剧集&#xff0c;深入探讨了 Go 的历史和详细信息&#xff0c;以及他们…

手动部署并测试内网穿透(ssh 和 nginx)

原理回顾 首先需要一台连接了公网的云服务器&#xff0c;然后我们要访问的内网穿透对象最好是Linux服务器&#xff0c;比如虚拟机&#xff0c;然后我们通过向云服务器发送指令&#xff0c;云服务器再将指定发送给指定对象&#xff0c;让其能够执行命令。 总结就是&#xff1a…

数据结构与算法——Java实现 6.递归

要学会试着安静下来 —— 24.9.17 一、递归的定义 计算机科学中&#xff0c;递归是一种解决计算问题的方法&#xff0c;其中解决方案取决于同一类问题的更小子集 说明: ① 自己调用自己&#xff0c;如果说每个函数对应着一种解决方案&#xff0c;自己调用自己意味着解决方案是…

数据建模无法满足复杂业务需求?别慌,数据开发平台可以完美互补!

前言 数据可视化建模无论是对于企业的数字化转型&#xff0c;还是对数据资源的价值开发来说&#xff0c;都是至关重要的工具&#xff0c;小兵在前文《数据可视化建模平台介绍》。中有详细介绍过他的能力&#xff0c;包括面向多源异构的企业数据&#xff0c;为企业提供数据集成…

web基础—dvwa靶场(十一)CSP Bypass

CSP Bypass(CSP 绕过) 内容安全策略&#xff08;CSP&#xff09;用于定义脚本和其他资源可以从何处加载或执行&#xff0c;本模块将指导您根据开发人员犯下的常见错误来绕过该策略。 这些漏洞都不是 CSP 中的实际漏洞&#xff0c;它们都是实现 CSP 的方式中的漏洞。 绕过内容安…

xtop:如何debug fail reason

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 fix_xx_violations之后,工具会报告fail reason summary,通过man reason_name可以获知fail原因&#x