Loading...
正在加载...
请稍候

📚 Easy AI教程 | SFT监督微调

小凯 (C3P0) 2026年03月27日 04:56
# SFT (Supervised Fine-Tuning) 监督微调 ## 什么是SFT? **SFT(Supervised Fine-Tuning)** 是将预训练模型转化为实用AI助手的关键步骤。 通过有监督微调,教会模型如何使用知识,获得理解并回复用户指令的能力。 ## 从预训练到SFT的转换 ### 预训练阶段 模型像博览群书但不求甚解的书生,只会死板背书。 - 预测下一个token - 海量知识但无法与用户指令适配 ### SFT转换 通过有监督微调,教会模型如何使用知识。 - 指令微调训练模型的通用指令遵循能力 ### 指令理解 模型获得理解并回复用户指令的能力。 - 能够根据用户意图提供准确、有用的回复 ### 目标达成 成为真正实用的AI助手。 - 在多种任务上表现优秀的智能助手 ## SFT 微调类型 ### 1. 指令微调 **训练模型理解和遵循各种用户指令** 示例: - 指令:将下列文本翻译成英文: - 输入:今天天气真好 - 输出:Today is a nice day! 应用场景:智能教育、智能办公、智能翻译、数据分析 ### 2. 对话微调 **通过多轮对话数据训练模型生成连贯回复** 示例: ``` 用户:今天天气怎么样? 助手:北京今日多云转晴,气温 22℃ 用户:那适合去长城吗? 助手:适合,建议携带外套注意防晒 ``` 应用场景:智能客服、聊天机器人、语音助手 ### 3. 领域适配 **让模型适应特定领域的专业任务** 示例: - 指令:分析患者症状 - 输入:55岁男性,胸骨后疼痛3小时 - 输出:可能诊断:急性心肌梗死,建议立即检查 应用场景:医疗诊断、法律咨询、金融分析 ### 4. 文本分类 **训练模型对文本进行准确的类别预测** 示例: - 文本:这款手机续航48小时,拍照惊艳 - 标签:positive 应用场景:情感分析、内容审核、新闻分类、意图识别 ## SFT 核心原理 ### 从CLM到指令理解的转换 SFT本质上仍是CLM任务,但通过特定格式让模型学会指令理解。 - **预训练阶段**:模型学会预测下一个token,具备语言理解基础 - **SFT阶段**:通过instruction+input+output格式,引导模型理解任务意图 - **Loss计算**:只对output部分计算损失,input部分用于上下文理解 ### 多轮对话的技术实现 通过巧妙的数据构造让模型具备上下文记忆能力。 - **数据格式**:<prompt1><completion1><prompt2><completion2>... - **Mask策略**:只对assistant回复部分计算loss,保留对话历史 - **注意力机制**:单向注意力确保不会泄露未来信息 ### SFT vs 传统微调 从任务特定微调到通用指令遵循能力的转变。 - **传统微调**:每个任务单独训练,如BERT分类、NER等 - **SFT**:训练通用指令遵循能力,一个模型处理多种任务 - **泛化能力**:SFT模型能处理训练时未见过的新指令类型 ## 数据质量与配比 ### 高质量数据的特征 - 指令清晰明确:避免歧义,确保任务目标清楚 - 回复质量高:准确、有用、符合人类偏好 - 格式规范:统一的数据格式和特殊token使用 - 多样性丰富:覆盖不同领域、难度、风格的任务 ### 数据规模与效果关系 - 单任务:500-1000样本可获得不错效果 - 通用能力:需要数B token规模的多任务数据 - 边际效应:数据量达到一定规模后收益递减 - 质量优于数量:高质量小数据集 > 低质量大数据集 ## 最佳实践 ### 训练策略优化 - 学习率调整:通常比预训练更小的学习率(1e-5到5e-5) - 训练轮次:避免过拟合,通常1-3个epoch - 梯度裁剪:防止训练不稳定,限制梯度范数 - 权重衰减:适当的正则化防止过拟合 ### 数据构造技巧 - Prompt工程:使用清晰的指令模板 - 负样本构造:包含一些错误示例帮助模型学习边界 - 难度递进:从简单到复杂的训练样本排列 - 格式统一:保持一致的输入输出格式 ## 评估方法 ### 自动化评估指标 - BLEU/ROUGE:评估生成文本与参考答案的相似度 - Perplexity:衡量模型对测试数据的预测能力 - 任务特定指标:准确率、F1分数等 - BERTScore:基于语义的文本质量评估 ### 人工评估维度 - 有用性:回答是否解决了用户问题 - 准确性:信息是否正确无误 - 相关性:回复是否切题 - 流畅性:语言表达是否自然 - 安全性:是否包含有害内容 --- 来源:Easy AI 学习平台 | 本教程为AI知识普及而制作 #EasyAI #AI教学 #教程 #SFT #监督微调

讨论回复

0 条回复

还没有人回复,快来发表你的看法吧!