当前位置: 首页 > news >正文

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

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.lryc.cn/news/442575.html

相关文章:

  • 【Mysql】Mysql数据库基础
  • 一文彻底让你搞懂轨迹规划(总结)
  • windows C++ 并行编程-异步消息块(二)
  • 【软件基础知识】什么是 API,详细解读
  • 计算机四级-计算机网络
  • 【linux 获取时间】
  • Dockerfile部署xxljob
  • Conda新建python虚拟环境问题
  • 这几个优秀的工具网站真心值得推荐——搜嗖工具箱
  • ESP32开发 -- VSCODE+PlatformIO环境安装
  • MySQL--导入SQL文件(命令行导入)
  • 【C#基础】函数传参大总结
  • 初学51单片机之IO口上下拉电阻相关
  • Resnet50网络——口腔癌病变识别
  • Python 中自动打开网页并点击[自动化脚本],Selenium
  • Spring Boot-自动配置问题
  • CS61B学习 part1
  • 我Github的问题解决了!
  • Pytorch构建神经网络多元线性回归模型
  • 如何基于Flink CDC与OceanBase构建实时数仓,实现简化链路,高效排查
  • ActiveMQ、RabbitMQ 和 Kafka 在 Spring Boot 中的实战
  • 火语言RPA流程组件介绍--获取关联元素
  • 【2024研赛】【华为杯E题】2024 年研究生数学建模比赛思路、代码、论文助攻
  • Linux——K8s集群部署过程
  • 二.Unity中使用虚拟摇杆来控制角色移动
  • 基于SpringBoot的旅游管理系统
  • Linux套接字
  • 软件测试面试题(5)——二面(游戏测试)
  • C#基于SkiaSharp实现印章管理(8)
  • 信通院发布首个《大模型媒体生产与处理》标准,阿里云智能媒体服务作为业界首家“卓越级”通过