尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

SFT 微调数据怎么准备?4种常见格式一次讲懂

SFT 微调数据怎么准备?4种常见格式一次讲懂 准备 SFT 微调数据时核心并不复杂给模型一条任务再准备一个希望它学会的标准答案。例如想让模型学会把一句生硬的话改得更礼貌就可以准备这样的训练数据用户输入你这个文件写错了重新改一下。 标准回答这份文件里有几处内容可能需要调整麻烦你检查并修改一下。模型看过大量类似的“输入和标准回答”后就会逐渐学会按照要求完成任务。不过不同模型和训练框架要求的数据写法并不相同有的使用问答格式有的拆分任务和答案有的则采用对话格式。这些写法看起来不同但本质上都在表达同一件事用户给了什么内容模型应该返回什么结果。下面就用简单的例子看看 SFT 最常见的数据格式分别是什么以及它们适合哪些场景。1. 问答格式问答格式最简单适合知识问答。{question:什么是 RDB,answer:RDB 是 Redis 的快照持久化方式。}有些数据集也会写成{query:什么是 RDB,response:RDB 是 Redis 的快照持久化方式。}虽然字段名称不同但表达的意思相同question或query用户提出的问题answer或response希望模型学会的答案。这种格式适合知识问答客服问答企业内部问答专业领域助手。2. Instruction 格式Instruction 格式也叫 Alpaca 格式。它不只适合问答还可以用来训练模型完成总结、翻译、分类和改写等任务。{instruction:解释 RDB 和 AOF 的区别,input:,output:RDB 通过快照保存数据AOF 通过记录写命令保存数据。}如果任务中还有需要处理的内容可以放在input中{instruction:总结下面的内容,input:Redis 支持 RDB 和 AOF 两种持久化方式。,output:Redis 提供两种主要的数据持久化方案。}三个字段分别表示instruction要求模型做什么input需要处理的内容output希望模型生成的标准答案。可以把它理解为instruction任务要求 input任务材料 output标准结果3. Messages 对话格式Messages 是聊天模型微调中常见的数据格式。它会按照真实聊天的方式记录不同角色说了什么既可以表示单轮对话也可以表示多轮对话。单轮对话{messages:[{role:system,content:你是一名 Redis 技术助手。},{role:user,content:什么是 RDB},{role:assistant,content:RDB 是 Redis 的快照持久化方式。}]}其中常见的角色有system规定模型身份和回答要求user用户输入assistant希望模型学会的回答。例如{role:system,content:你是一名 Redis 技术助手回答要通俗易懂。}这句话是在告诉模型应该以什么身份、什么方式回答用户。多轮对话如果一条数据中包含多次连续交流就是多轮对话{messages:[{role:user,content:什么是 RDB},{role:assistant,content:RDB 是 Redis 的快照持久化方式。},{role:user,content:它有什么缺点},{role:assistant,content:Redis 突然故障时最近一次快照之后的数据可能会丢失。}]}第二个问题中的“它”指的是上一轮提到的 RDB。模型需要结合前面的内容才能正确理解并回答。Messages 格式适合聊天助手、连续问答、客服沟通、故障排查和上下文追问。需要注意多轮对话必须前后相关不能把几个完全无关的问题随意拼在一起。4. 3种格式有什么区别格式常见字段适合场景问答格式question/answer简单知识问答Instruction 格式instruction/input/output总结、翻译、分类、改写等任务Messages 格式messages、role/content单轮聊天、多轮对话、角色设定和上下文追问总结SFT 数据虽然有问答、Instruction 和 Messages 等不同写法但核心都一样告诉模型看到什么内容时应该给出什么结果。简单问答可以用问答格式需要完成总结、翻译、改写等任务时可以用 Instruction如果训练的是聊天助手则更适合使用 Messages。不过格式只是外壳。真正决定微调效果的还是数据是否准确、清晰能不能真实覆盖模型以后要处理的任务。
返回列表