大模型学习笔记 · 第六篇 · SFT 实战与调参

📅 2026/7/3 14:55:56
大模型学习笔记 · 第六篇 · SFT 实战与调参
监督微调 SFT 是用「问题—标准答案」教模型怎么说话,是做定制对话模型最该先掌握的一步。调参的优先级是:先数据,再 epoch,再学习率,最后才是 cutoff_len 等细节。不要只看 loss,要用固定业务问题集人工对比训前训后。推荐小步快跑:先用两三百条核心数据快速训一版,根据 bad case 补数据,再全量训。一、SFT 在整条链路里扮演什么角色监督微调,Supervised Fine-Tuning,听起来学术,做的事却很具体:你给模型看大量「用户怎么问、理想情况下该怎么答」的样本,让它学会按这种方式回应。yaml 里 stage: sft 和 do_train: true 就是在声明这一步。在 LLaMA Factory 的典型工作流里,SFT 是主菜。偏好对齐、多卡分布式、多模态,都是 SFT 跑通之后的延伸。跳过 SFT 直接追求「高级对齐」,往往事倍功半。二、从官方 yaml 改成你的生产配置最实用的做法,是复制 examples/train_lora/qwen3_lora_sft.yaml,另存为新文件,然后改几处关键字段。model_name_or_path 换成你的基座模型。dataset 换成你在 dataset_info.json 里注册的名字。template 必须和模型匹配。output_dir 指到你自己的 saves 路径。learning_rate、num_train_epochs、cutoff_len 按数据和显卡调整。改完后执行 llamafactory-cli train 你的配置.yaml。第一次用自有数据,建议加 max_samples 或先训一个 epoch,快速看方向对不对,再开全量长跑。三、调参的真正顺序效果不对,第一反应不要是「学习率是不是错了」,而应该是「数据是不是有问题