AI技术-监督微调SFT
监督微调SFT监督微调的本质是采用少量的高质量的指令-回答针对仅有续写功能的Base模型改造成会对话的小助手。因为模型的知识和能力全部依靠预训练SFT算法可以激发响应指令分布。所以这个阶段提示词的质量远远比数量要重要的多1000条高质量的精选词条远高于一万条参差不齐的词条所产生的效果好。核心操作使用ChatTemplate拼接多轮对话通过LossMask确保模型只进行学习生成回复功能不去浪费容量来拟合用户提问的分布QAQ1SFT的Loss和预训练有什么区别为什么要Mask掉Prompt部分Loss和预训练的目标函数都是NextTokenPrediction的交叉熵但是SFT算法仅在Response回复部分计算Loss。具体实现是将Prompt的TokenLabel设置为-100因为这样就可以让模型不会自发的学习生成用户问题的分布仅让模型关注于在给定问题下生成回复。如果不进行Mask的话模型就会浪费参数容量来拟合用户输入的分布导致训练集被稀释严重的可能会造成角色模糊。Q2为什么SFT的学习率要比预训练小1-2个数量级一般预训练的数据量都是T级别的需要很大的学习率来快速学习通用的基本知识。但SFT算法的训练数据量比较小一般就数万条到数百万条并且分布很窄不宽泛如果学习率比较高模型就会迅速拟合到SFT的数据上并冲淡预训练阶段学习掌握到的通用能力这就会导致灾难性遗忘。因此SFT学习率通常要比预训练低1到2个数量级这样就可以采用温和的调整模型行为。Q3为什么SFT有时反而会加重模型的幻觉产生这个问题的主要原因是如果SFT数据中存在模型在预训练阶段没有接触过的知识这就相当于告诉模型要在不知道的时候也要给出一个回答但这个回答肯定是一本正经的胡说八道。因此SFT的数据尽量落在模型已存在的知识边界内。对于超出边界的问题SFT数据应该告知模型回答我不知道而不是强行胡编乱造答案否则就会加重幻觉。SFT算法代码/公式示例import torch import torch.nn as nn # 假设 input_ids 已通过 Chat Template 拼接完成 labels input_ids.clone() # 核心将 prompt (system user) 部分的 label 设为 -100 prompt_length len(prompt_tokens) labels[:prompt_length] -100 # 注意EOS token 必须保留计算 loss否则模型学不会停止生成 loss_fct nn.CrossEntropyLoss(ignore_index-100) loss loss_fct(logits.view(-1, vocab_size), labels.view(-1))文章转载自AI技术-监督微调SFThttps://mp.weixin.qq.com/s/Mm0Yl2PEKnIp4Wd5Ykc8Yg

相关新闻

51单片机温度报警器全流程开发指南:从Proteus仿真到普中开发板实战

51单片机温度报警器全流程开发指南:从Proteus仿真到普中开发板实战

1. 项目缘起:一个经典的温度报警器,为何值得重做?最近在整理资料时,翻到了几年前用普中开发板做的一个51单片机温度报警器项目。这个项目可以说是单片机学习者的“必修课”之一,网上相关的代码和教程多如牛毛。但当我重…

2026/8/1 21:36:21 阅读更多 →
深度解析Cocos2d-x源码:从内存管理到渲染合批的进阶指南

深度解析Cocos2d-x源码:从内存管理到渲染合批的进阶指南

1. 项目概述:为什么我们要“啃”Cocos2d-x源码?如果你是一名使用Cocos2d-x引擎的游戏开发者,无论是刚入门的新手,还是已经用它上线过几款产品的老手,可能都经历过这样的时刻:引擎的某个API行为和你预期的不…

2026/8/1 22:28:05 阅读更多 →
Objective-C Block内存布局与实现原理详解

Objective-C Block内存布局与实现原理详解

1. Block内存布局深度解析在编程领域,Block是一种特殊的语法结构,它允许我们将代码块作为参数传递或存储在变量中。理解Block的内存布局对于编写高效、安全的代码至关重要。今天我们就来彻底拆解Block在内存中的组织方式。Block本质上是一个对象&#xf…

2026/8/1 21:49:59 阅读更多 →

最新新闻

TypeScript入门指南:从动态脚本到静态类型的工程实践

TypeScript入门指南:从动态脚本到静态类型的工程实践

1. 从“动态脚本”到“静态类型”:为什么我们需要TypeScript?如果你写过JavaScript,尤其是参与过稍具规模的Web项目,那你大概率经历过这样的场景:深夜加班,你信心满满地提交了一个新功能,结果线…

2026/8/2 1:03:11 阅读更多 →
单片机毕设项目:基于 STM32 的可调速电机智能监测终端实现 基于霍尔传感器的实时车速检测系统设计(016601)

单片机毕设项目:基于 STM32 的可调速电机智能监测终端实现 基于霍尔传感器的实时车速检测系统设计(016601)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/2 1:03:11 阅读更多 →
PyTorch中view与reshape的区别:内存连续性与视图机制详解

PyTorch中view与reshape的区别:内存连续性与视图机制详解

1. 项目概述:为什么我们需要关心view和reshape?在PyTorch里折腾张量,view()和reshape()这两个函数你肯定用过,乍一看它们干的事儿好像一模一样:改变张量的形状。新手常常把它们混为一谈,甚至在一些教程里也…

2026/8/2 1:03:11 阅读更多 →
LangChain集成关键配置片段

LangChain集成关键配置片段

本地部署大模型:3天搞定OllamaLangChain,20万行代码的实战踩坑实录最近接了一个金融客户的项目,他们公司刚拿到数据合规认证,内部系统绝对不能走云端API。需要帮他们在内网搭建一个能处理合同审查、财报分析的AI助手,数…

2026/8/2 1:02:10 阅读更多 →
拒绝“单线程爬虫”死循环:AI 工具集官网后端架构从 Spring Boot 2.7 到 3....

拒绝“单线程爬虫”死循环:AI 工具集官网后端架构从 Spring Boot 2.7 到 3....

拒绝“单线程爬虫”死循环:AI 工具集官网后端架构从 Spring Boot 2.7 到 3.4 的平滑迁移实录昨天凌晨三点,监控大屏上的 CPU 指标突然拉满,紧接着是 Tomcat 进程被 OOM Killer 强杀的报警弹窗。这个负责维护国内数百个 AI 工具集官网数据的后…

2026/8/2 1:02:10 阅读更多 →
Tesseract OCR引擎深度技术剖析:高性能光学字符识别实现与企业级方案

Tesseract OCR引擎深度技术剖析:高性能光学字符识别实现与企业级方案

Tesseract OCR引擎深度技术剖析:高性能光学字符识别实现与企业级方案 【免费下载链接】tesseract Tesseract Open Source OCR Engine (main repository) 项目地址: https://gitcode.com/GitHub_Trending/te/tesseract Tesseract作为开源光学字符识别引擎&…

2026/8/2 1:01:10 阅读更多 →

日新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/2 0:23:22 阅读更多 →