LLM 大模型的 SFT 及 DPO 实践

LLM 大模型的 SFT 及 DPO 实践
1. 动机与背景Q: 为什么需要 SFT ?GPT等预训练模型已经展现出了强大的通用能力。然而这些“通才”模型在面对特定领域任务、遵循特定格式要求或适应特定企业需求时往往表现不佳。这时监督微调Supervised Fine-Tuning, SFT就成为连接通用能力与专业需求的关键桥梁。SFT 是在预训练模型的基础上使用高质量的指令-回答配对数据对模型进行有监督的微调使其能够更好地理解并执行特定类型的任务。2. Qwen2-VL SFT 实操使用Qwen2-VL-2B-Instruct.2.1 模型计算图介绍详见 参考 [1].2.2 模型文件从 hf 社区拉取 qwen 的模型文件.模型权重 safetensors 文件占用为 4GB.文件大小文件名1.2Kconfig.json76configuration.json272generation_config.json12KLICENSE1.6Mmerges.txt3.8Gmodel-00001-of-00002.safetensors410Mmodel-00002-of-00002.safetensors56Kmodel.safetensors.index.json347preprocessor_config.json17KREADME.md4.1Ktokenizer_config.json6.8Mtokenizer.json2.7Mvocab.json2.3 数据准备与预训练的海量无标注数据不同SFT 数据通常规模较小但质量要求极高直接决定了模型在目标场景下的表现。3. tf-transformers 多代码存什么精度 ≠ 微调时用什么精度训练。检查点 bf16 是因为推理和发布用. 实际 SFT 中通常这样组件dtype模型权重bf16计算用 fp32master优化器维护激活bf16梯度bf16反传时→ 转 fp32 更新优化器状态Adam 的 m、vfp32lossfp32自动4. LLaMa Factory 零代码参考my blog, Qwen-VL 视觉大模型 计算图拆解及SFT实操