微调效果好不好多半先看数据。入门用 Alpaca 格式的 JSON 最省事instruction 是问题output 是你希望模型学会的回答。数据文件放进 data 目录在 dataset_info.json 里注册名字yaml 里写 dataset 引用即可。对话模板 template 必须和基座模型匹配训练和推理要用同一个否则效果会断崖式变差。模型主要学的是回答部分output 写什么样模型就学成什么样。一、数据从哪来比数据长什么样更重要真实项目里的训练数据往往来自业务现场客服系统导出的历史对话内部 FAQ 和知识库整理成的问答对运营或专家人工标注的「标准问—标准答」Excel 清洗后转成的 JSON或者用 Easy Dataset、DataFlow 等工具半自动生成再人工抽检。无论来源如何有一条原则始终成立质量比数量重要。五百条准确、风格统一、业务无误的问答常常比五千条杂乱、矛盾、过时的样本更有用。微调不是把数据堆进模型里碰运气而是在用样本塑造模型的行为边界。二、Alpaca 格式入门最该掌握的一种写法每条数据由三个核心字段组成。instruction 是用户的问题或指令。input 是补充信息没有可以留空字符串。output 是你希望模型学会的回答这是整个样本里最关键的部分。如果有多轮对话可以加 history 字段用「上一轮问题、上一轮回答」这样的二元组列表表示上下文。项目自带的 data/identity.json 是极好的小样本它教模型「你是谁、谁开发的、怎么自我介绍」条数不多但非常适合第一次验证流程。ShareGPT 格式适合更复杂的多轮对话和工具调用场景结构是 conversations 消息列表。入门阶段先用 Alpaca 就够等确实要做 Agent、function call再读 data/README_zh.md 里 ShareGPT 的说明。三、让框架认识你的数据三步完成第一步把 JSON 文件放进 data 目录比如 data/my_customer_service.json。第二步打开 data/dataset_info.json增加一段注册信息告诉框架文件名和字段映射关系。名称自取比如 my_csfile_name 指向你的文件columns 里说明 instruction、input、output 分别对应 prompt、query、response。第三步在训练 yaml 里写 dataset: my_cs。如果有多个数据集用逗号连接比如 dataset: identity,my_cs框架会把它们按配置合并使用。练手阶段建议先用内置 demodataset: identity,alpaca_zh_demo再配合 max_samples: 500 限制条数快速跑通。流程没问题之后再换成自己的几千条业务数据。四、对话模板很多人忽略、但极关键的细节不同模型的「说话格式」并不相同。同样一句「你好」在 Qwen、LLaMA、ChatGLM 里拼进模型的完整文本格式是不一样的。Template 的作用就是把「用户说了什么、助手该回什么」包装成该模型认得的格式。yaml 里的 template: qwen3_nothink 必须和基座模型匹配。README 里的模型表有 Template 列照抄即可不要凭感觉猜。Qwen 模型用了 llama3 模板轻则回答怪异重则乱码复读。更隐蔽的一种错误是训练用一种 template推理换成另一种试聊效果会突然变差让人误以为是训练失败。记住一条铁律训练用什么 template推理就必须用什么 template。五、模型到底在学哪一部分监督微调时用户问题部分通常不算 loss模型不需要背问题助手回答部分才算 loss模型重点学这里。这意味着output 字段里写的每一个字都是在给模型立规矩语气正式还是活泼回答简短还是详尽是否用礼貌用语是否带必要免责声明。如果你希望模型简短回答训练数据里的 output 就要简短一致。如果样本里有的回答长篇大论、有的回答一句话模型学到的也会摇摆不定。数据即产品规范这句话在微调里非常 literal。六、上线前值得花半小时做数据自检逐条抽检问答是否准确有没有过时或错误的业务信息。看风格是否统一正式和口语混用会让模型不知道听谁的。适当去重大量重复样本会让模型只会复读。敏感信息要脱敏手机号、工号、内部 ID 不应原样进入训练集。确认 instruction 和 output 成对出现没有空 output。最后再次核对 template 是否与模型匹配。偏好对齐所需的数据格式不同需要「好回答 vs 差回答」成对出现并在 dataset_info.json 里设 ranking: true。只做 SFT 的阶段可以先完全不管这件事。七、带走一个实用结论数据放在 data 目录注册在 dataset_info.json引用在 yaml 的 dataset 字段。格式拿不准对照 data/README_zh.md 和官方 demo 文件。效果怪先查 template 是否配对再查 output 是否真正代表了你想要的回答方式。