只有虚拟主机可以做网站吗,洛阳做网站的公司,新郑网络推广,网站自定义301SFT#xff08;Supervised Fine-Tuning#xff0c;监督微调#xff09;#xff0c;还有一个常用别称——Instruction Tuning#xff08;指令微调#xff09;#xff0c;是大模型落地应用中最基础、最常用的核心技术之一。从事大模型相关工作的程序员#xff0c;几乎每天…SFTSupervised Fine-Tuning监督微调还有一个常用别称——Instruction Tuning指令微调是大模型落地应用中最基础、最常用的核心技术之一。从事大模型相关工作的程序员几乎每天都会听到这样的说法“这个问题解决不了做一轮SFT试试”。当下大模型调优手段层出不穷比如Prompt Engineering提示词工程、RAG检索增强生成、SFT、RLHF等很多小白和刚接触大模型的程序员都会困惑面对具体业务场景SFT到底是不是必要的有没有更高效的替代方案我在实操过程中也多次陷入这样的思考。本文不深入讲解LoRA等微调技术的具体操作细节这类科普已经非常多重点聚焦SFT的设计初衷、实操逻辑、应用场景和核心局限性用通俗的语言实操案例帮小白和程序员彻底搞懂“ SFT究竟能教会模型什么”看完就能快速判断自己的场景是否需要用SFT。为什么需要SFT预训练过程中模型通过自监督的方式学习了互联网上如CommonCrawl、Wikipedia几乎全部的知识但这也让模型本质上只掌握一个技能就是Next Token Prediction文字接龙像人类说话一样从左到右一个字接一个字。自监督的核心在于不需要人手动给数据打标签而是模型直接利用文本自身的结构来生成训练数据以一段文本“河北的省会是石家庄”为例模型会将其拆解为一系列的预测任务河北→的河北的→省会河北的省会→是河北的省会是→石家庄如果你尝试和一个预训练之后的Base Model基座模型进行对话会发现它只是不断在基于概率分布“续写”文本而非“回答”你的问题。例如当你输入“河北的省会是哪里”时Base Model可能会续写“…石家庄”因为在预训练语料中“河北”、“省会”、“石家庄”这几个词在很多的上下文序列中紧密相连。但这没完它也可能会续写“…市区的天气”甚至可能生成一段关于石家庄历史的百科。Base Model停止续写主要基于预训练阶段习得的终止符EOS End of Sentence在预训练的语料中主要用于区分两篇毫不相关的文章以及开发者设定的max token限制它只是觉得这篇文章写完了而不是回答清楚了你的问题。SFT的设计初衷就是建立模型对人类意图的理解与遵循能力。通过高质量的Instruction-Response pairs教会模型识别特定的输入指令Instruction并按照人类期望的格式和风格生成输出Response。比如当模型看到“总结”时它知道应该输出尽量简短的表述当看到“翻译”时它知道输出的语言类型要发生改变。早期的GPT-3实际上就是Base Model通过大量的SFT、RLHF训练出了InstructGPT在此基础上才诞生了后来风靡全球的ChatGPT。通过SFT模型才学会了与我们对话。SFT如何让模型学会“对话”听懂“指令”对话模版模型在预训练时接触的是纯文本并不理解谁是“用户”什么是“回答”。SFT过程中会引入特殊的控制符Special Tokens来划分结构。以常见的 ChatMLChat Markup Language由OpenAI 提出格式为例一段对话会被转化为如下形式送入模型|im_start|system 你是一个乐于助人的AI助手。|im_end| |im_start|user 如何制作红烧肉|im_end| |im_start|assistant 制作红烧肉需要准备五花肉、生抽...|im_end|这些特殊标记让模型能够明确区分哪些话是系统指令System Prompt决定行为准则哪些是用户当下的提问User Prompt哪些是它自己以前说的话。这种标记方式也能够防止提示词注入模型在 SFT 阶段被严格训练只听从|im_start|system里的指令用户在|im_start|user块里输入的作弊指令很难越权去修改系统的预设即便用户在对话框里手写了|im_start|system系统也会将其处理为普通字符因为真正的|im_start|system系统指令对模型而言是一个特殊的Token ID。高质量数据集按照Stanford Alpaca格式单轮对话的主流格式一个标准的SFT样本通常由三个部分组成指令Instruction明确的任务描述例如“请将以下段落翻译成法语”。输入Input可选任务所依赖的上下文信息例如具体的待翻译文本。在某些格式下输入会被合并到指令。输出Output/ResponseGround Truth是期望模型生成的理想回答。{ instruction: 请将以下这段话翻译成英文, input: 人工智能正在改变我们的生活方式。, output: Artificial intelligence is changing the way we live. }对于多轮对话目前主流模型基本都采用OpenAI Messages格式通过role字段区分角色。{ messages: [ { role: system, content: 你是一个乐于助人的编程助手。 }, { role: user, content: 帮我写一个Python的快排算法。 }, { role: assistant, content: 好的这是快排的代码\n python\\\\ndef quicksort... }, { role: user, content: 能解释一下它的时间复杂度吗 }, { role: assistant, content: 当然。快排的平均时间复杂度是 $O(n \log n)$... } ] }为了从根本上提升模型的泛化能力和指令遵循质量SFT对于数据质量和多样性有极高的要求。首先任务的类型是非常多样的比如问答、总结、推理、翻译、创意写作、代码编写。如果数据集过于单一例如全是翻译任务模型会产生“过拟合”现象误以为自己只是一个翻译器。其次人类的真实需求是极其零碎且多变的。同样一个需求有人会说“帮我写个大纲”有人会说“列出目录”。模型需要能够提取出指令背后的共性意图从而在面对全新的、训练集中未出现过的表达时才能能给出合理的响应。对于输出样本也是同理如果样本中的回答高度重复或模版化模型会倾向于学习到一种极其机械的回答风格。训练目标SFT的训练过程中引入了关键的掩码Masking机制。这也是SFT与预训练最大的区别点。在预训练中模型计算每一个token的交叉熵损失Cross-Entropy Loss学习预测整个文本序列。但SFT的过程中虽然给模型输入了完整的对话但它只为“回答”部分负责。更具体来讲在前向传播环节模型依然能“看到”完整的指令内容并基于指令计算内部的注意力状态。但反向传播的时候梯度更新仅由模型对回复部分的预测误差驱动。模型不会因为无法准确预测用户的提问用词而受到“惩罚”。这种机制使得模型专注于给出准确的答案。研究表明在微调过程中选择极小的学习率对于防止“灾难性遗忘”至关重要这能使模型在保留通用推理能力的同时有效吸收领域专有知识。参数更新在确定了数据和训练目标后下一个决策点是更新多少参数这就引出了全量参数微调 Full Fine-Tuning和参数高效微调PEFT。全量参数微调本质上就是将预训练权重作为初始值在新的数据分布上重新进行一次完整的训练更新模型内部全部参数。这种方式理论上限最高适合与预训练领域差异巨大的任务如从英语微调到古文或特定垂直领域但资源消耗极大且容易引起灾难性遗忘、丧失预训练阶段习得的通用能力。参数高效微调指在保持预训练模型的大部分权重冻结Frozen的情况下仅训练极小一部分新增参数或选定的参数往往只需要更新0.01%-1%的参数这种方式显存占用极低同时具有极强的模块化优势比如你有 10 个不同的下游任务你只需要部署1个基础模型10个微小的插件根据用户的请求动态加载不同的 PEFT 插件。通过LoRA Merging如 Linear Merging, TIES-Merging技术还可以按照比例混合多个适配器的权重。SFT能教会模型什么如果用一个词来概括就是“对齐”。这很像是互联网大厂里的黑话如果说你是老板大模型是员工如果你想指配他完成一项工作一定要“对齐”预期。这里的预期可能包含很多比如任务是什么、应该怎么做、不要做什么、如何思考等等。更具体来说指令遵循——教会模型“做什么任务“前面已经提到这是SFT最直接的作用它让模型理解“翻译”、“总结”背后的意图建立“指令-行为”的映射关系。风格和格式对齐——教会模型“怎么说话”SFT能极其有效地约束输出空间改变模型的表达方式包括精准输出特定的结构化格式JSON、XML、SQL代码块或Markdown表格如果你的训练集里100%都JSON数据、没有多余的文字模型就会学会“只输出JSON格式不多废话”。语气礼貌、毒舌幽默、专业严谨、二次元等通过包含大量礼貌用语或中立客观的陈述句能够消除预训练阶段可能带有的偏见或攻击性。篇幅长度简洁、详尽如果你要求回复极简训练样本中的Response都不应超过50字。安全边界与拒绝机制——教会模型“哪些话不能说”SFT被广泛用于安全对齐即教会模型识别有害指令如“如何制造炸弹”并输出标准的拒绝文本“我不能协助该请求…”。但SFT的对齐是较为浅层的研究和工业实践都表明仅靠SFT难覆盖所有“细腻、模糊、情境化”的价值判断容易出现训练数据里没覆盖到的边界、 Prompt注入绕过等问题这部分通常要靠RLHF等偏好优化补充。领域知识适配——教会模型“更会用某一行业知识”通过在特定领域如法律、医疗、金融、编程语言等的高质量标注数据上做SFT可以显著提升模型对专业术语理解和使用。虽然模型在预训练阶段可能已经“见过”某些垂直领域的知识但这些知识往往被淹没在海量的互联网噪声中。在面对专业问题时预训练模型可能会因为“互联网语料”的干扰给出一个通俗而非专业的回答。SFT能够激活模型这部分潜能/知识类似于告诉模型“请优先调用你大脑深处那些专业且准确的知识”通过“少而精”的数据起到拨乱反正的作用减少模型产生幻觉使其回答符合专业标准。思维模式——教会模型“怎么思考”SFT可以不只是教答案还可以教“过程”与“策略”。通过在 SFT数据中加入“思维链”CoT即不仅提供答案还提供详细的推理步骤教会模型“先思考后回答”的模式此外SFT在垂类领域也能够引导模型模仿特定专家的思考逻辑比如医疗遵循“症状 - 鉴别诊断 - 实验室检查 - 最终诊断”、法律遵循“案件事实 - 引用法律条文 - 法理分析 - 判决建议”。SFT or 提示词工程为什么写一段提示词无法解决必须要做SFT吗SFT是通过特定任务的数据集直接修改模型的内部参数使其产生“肌肉记忆”提示词工程Prompt Engineering简称PE则利用上下文学习In-Context Learning的机制在不改变模型权重的前提下引导模型行为。上下文学习是LLM涌现出的一种能力在输入中加入指令、背景信息或少样本示例模型通过观察输入中的示例在潜在向量空间中识别出任务模式从而生成符合预期的响应。一些理论研究将其成为隐式梯度下降——Transformer架构处理Prompt中的示例时内部的注意力层会通过前向计算产生类似于梯度更新的效果从而针对当前任务“临时地”调整了内部表征。如果说LLM是一位顶级的演员预训练是多年的基本功训练你的Prompt是让他读的剧本上下文学习就是他在读完剧本的一瞬间“入戏”了在接下来的表演中他的言行举止完全切换到了剧本要求的那个角色上。如果业务场景处于探索期缺乏足够的领域数据、需求每周甚至每天都在变化PE结合少样本示例能够在几秒钟内改变模型的输出逻辑这提供了无与伦比的敏捷性。实验研究也显示对于大多数通用任务PE可以达到70%至85%的准确率但在面对医疗、法律等专业领域时PE往往会触及瓶颈。相比之下经过微调的模型表现通常比通用模型高出22%至35%。相比Prompt EngineeringSFT的优势在哪呢精度上限与领域专业化SFT之所以能突破精度上限是因为它能强制模型学习领域内的专有词汇和逻辑结构。SFT允许模型学习到权重极低的“长尾分布”数据即垂类领域专业知识上文已经提到过也能够捕捉“不可言传”的细微特征例如“请写出具有某种专业医疗风格的诊断报告”无论你用Prompt描述得多么详细模型对“风格”的理解依然带有预训练时的偏差。但你直接喂给模型5000篇医疗专家写的报告模型能够自动捕捉那些连人类都总结不出来的深层特征这种大规模数据的特征提取能力是区区几百字的Prompt无法企及的。举个例子互联网公司用大模型判断一篇帖子是否优质“优质”可能包含特定的业务偏好如字数、配图比、独家观点。Prompt很难通过寥寥数语描述清楚这些复杂的、非线性的边界。SFT通过大量数据让模型学习到Prompt无法表达的细微特征从而在模糊地带一些内容处于优质与平庸的边缘做出更符合业务逻辑的决策。行为一致性与格式控制PE在处理格式要求比如JSON格式输出、或者幽默的语气时具有脆性Brittleness由于对提示词的措辞极度敏感微小的语义扰动可能导致截然不同的输出风格。在长对话或复杂任务也中存在明显的指令漂移现象模型容易受到先前生成内容的干扰导致语气不一致或忘记初始设定的约束。而SFT具备极高的稳定性能够实现“骨子里的改变”不受上下文长度的影响。降低推理成本如果你的Prompt里塞了大量的Few-shot和背景资料每次调用都会产生额外的Token费用和推理时间因为KV Cache的存在主要增加了首字延迟同时由于模型Context Window的限制提示词写得太长留给生成内容的空间也就小了。SFT能够将这些要求固化到模型内在参数中Prompt只需要承载简单的需求激发和路由等工作。这意味着更少的Token输入、更低的延迟以及更高的吞吐量。长期来看对于高并发场景SFT具有明显的经济性。注意在实际落地过程中SFT与提示词工程不应该被视为二选一的抉择而是不同阶段的优化手段。提示词工程非常适合MVP阶段跑通逻辑、快速验证但当你的Prompt已经变成了“小作文”长到让响应变慢、当你发现无论怎么调优Prompt模型还是偶尔犯错、或者当你追求长期极致的性价比时就是启动SFT的时候了。SFT的局限性缺乏负反馈SFT最大的问题在于缺乏负反馈它只告诉了模型“什么是对的”却没有告诉它“什么是错的”。这源于训练集中本身就只有正确答案SFT损失函数也只关注如何让模型逼近正确答案。如果标注数据中存在细微的逻辑错误模型也会不加甄别地全盘吸收。由于SFT的模型不具备判别能力这可能会导致一系列的副作用幻觉在SFT的训练中模型被强制要求拟合每一个输出这导致模型学会了“无论输入什么我都必须给出一个看起来很专业的答案”。当面对自己知识库之外的问题时模型不会说“我不知道”而是会模仿训练集里那种“自信的语气”编造事实。安全性浅层对齐SFT建立的安全防御往往是“浅层”的。因为仅靠正向样本难以划定“安全红线”比如你教孩子“要礼貌”但没教他“不能给陌生人开门”。如果不明确给模型看大量的攻击性样本并标记为“禁止”模型很难自发产生对潜在风险的免疫力。攻击者仍然可以通过诱导让模型在保持“正确语气”的同时输出有害内容。无法纠错在推理过程中如果SFT模型在开头生成了一个错误的词由于它没有经历过“从错误状态中恢复”的训练这种错误会随着自回归过程不断累积最终导致整段崩坏也就是一步错步步错。要让模型真正理解什么是“好”和“坏”通常还需要后续的RLHF来进一步打磨其泛化能力。此消彼长模型通过SFT获得特定领域能力如代码生成、医学问答的同时往往在通用常识、多轮对话或原始预训练任务上的表现出现大幅下滑。我们也很难通过SFT让模型在多个专业领域都达到最佳表现。一方面模型参数量是有限的因此模型的权重调整是一个全局性的博弈强化某一方面的能力往往会以牺牲另一方面的能力为代价。如果强制要求一个模型在所有领域都是第一最终可能导致它在任何一个领域都只是“二流水平”。另一方面不同领域对“最优回答”的定义不同金融领域要求严谨、低容错文学创作要求发散、有创意在一套参数中平衡这些截然不同的目标也非常困难。高质量标注数据的极度依赖这个不多赘述模型的能力受限于训练集的质量、标注者的水平。每一条数据都必须是“金牌数据”不能有格式错误或逻辑瑕疵。最后对于正在迷茫择业、想转行提升或是刚入门的程序员、编程小白来说有一个问题几乎人人都在问未来10年什么领域的职业发展潜力最大答案只有一个人工智能尤其是大模型方向当下人工智能行业正处于爆发式增长期其中大模型相关岗位更是供不应求薪资待遇直接拉满——字节跳动作为AI领域的头部玩家给硕士毕业的优质AI人才含大模型相关方向开出的月基础工资高达5万—6万元即便是非“人才计划”的普通应聘者月基础工资也能稳定在4万元左右。再看阿里、腾讯两大互联网大厂非“人才计划”的AI相关岗位应聘者月基础工资也约有3万元远超其他行业同资历岗位的薪资水平对于程序员、小白来说无疑是绝佳的转型和提升赛道。对于想入局大模型、抢占未来10年行业红利的程序员和小白来说现在正是最好的学习时机行业缺口大、大厂需求旺、薪资天花板高只要找准学习方向稳步提升技能就能轻松摆脱“低薪困境”抓住AI时代的职业机遇。如果你还不知道从何开始我自己整理一套全网最全最细的大模型零基础教程我也是一路自学走过来的很清楚小白前期学习的痛楚你要是没有方向还没有好的资源根本学不到东西下面是我整理的大模型学习资源希望能帮到你。扫码免费领取全部内容最后1、大模型学习路线2、从0到进阶大模型学习视频教程从入门到进阶这里都有跟着老师学习事半功倍。3、 入门必看大模型学习书籍文档.pdf书面上的技术书籍确实太多了这些是我精选出来的还有很多不在图里4、AI大模型最新行业报告2026最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。5、面试试题/经验【大厂 AI 岗位面经分享107 道】【AI 大模型面试真题102 道】【LLMs 面试真题97 道】6、大模型项目实战配套源码适用人群四阶段学习规划共90天可落地执行第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…扫码免费领取全部内容3、这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】