【机器学习】(35)—— 微调、蒸馏与提示
文章目录1. 基础模型还不是完整的业务方案2. 微调用任务数据继续训练2.1 全参微调与参数高效微调2.2 代码任务样本格式概念3. 蒸馏用大模型教小模型3.1 常见做法3.2 代码软标签示意4. 提示工程不改权重改写法4.1 少样本提示示例4.2 代码拼接提示模板5. 离线推理先计算再缓存6. 汽车场景下的路径选择6.1 端到端核对7. 能力边界与常见误区8. 术语与延伸阅读9. 小结摘要第 34 篇介绍了基础大模型与 Transformer。基础模型懂不少语言规律却不一定直接进行具体业务的理解。本文主要说明三条常见适配路径——微调fine-tuning、蒸馏distillation、提示工程prompt engineering——并补充离线推理与汽车场景选择。适合读完 LLM 入门、准备把模型接到具体业务的读者。读完可以理解参数改动、压缩模型、输入优化的操作和区别。1. 基础模型还不是完整的业务方案基础 / 预训练 LLM 见过大量文本对语法、用词、常见写法有统计上的把握也能续写、写一点「像创作」的内容。但对常见监督学习问题——回归、分类、按固定字段输出——它往往只是平台不是开箱即用的解决方案。要把平台变成可用的解决方案工程上常见三条路径路径是否改模型参数参数量变化主要代价微调是通常与基础模型同级训练算力需要任务数据蒸馏训练较小的模型明显变小效果通常略有下降提示工程否不变依赖写提示有时不稳定汽车例子通识模型可能泛泛写「建议检查点火系统」业务若要求输出{fault_code:...,urgency:...}就需要微调、提示约束或蒸馏出专门分类器。表格里的品牌 ID仍然优先使用 【机器学习】29—— Embedding没有必要事事都上 LLM。前文骨架见 【机器学习】34—— 更大的语言模型。2. 微调用任务数据继续训练微调在预训练权重上再用任务相关样本继续训练让预测更加贴近当前应用。研究与实践里有时只需要几百到几千条高质量例子就能解锁可观的任务表现——前提是基础模型已经足够强。2.1 全参微调与参数高效微调标准全参微调反传时更新几乎所有权重算力成本高。**参数高效微调parameter-efficient fine-tuning**只更新一小部分参数或外挂低秩适配模块在可以接受的效果下降低训练成本。方式特点全参微调潜力大成本高容易在小数据上过拟合参数高效微调只更新部分参数在大模型落地中更加常见指令微调用「指令→回答」对提高按指令回答的程度重要事实微调后的模型参数个数通常与基础模型相同。基础模型 100 亿参微调版往往仍是约 100 亿参——变的是权重数值与任务表现不是「自动变小」。2.2 代码任务样本格式概念监督学习式微调常见「输入文本 → 目标文本 / 标签」对。车评情感示意# 每条样本prompt输入与 target期望输出train_rows[{prompt:评论这车油耗比宣称高不少市区开很费油。\n情感,target:负面,},{prompt:评论空间够用高速稳油耗也能接受。\n情感,target:正面,},{prompt:评论外观还行隔音一般。\n情感,target:中性,},]defformat_sft_example(row:dict)-str:拼成训练时看到的完整文本具体模板随框架而异。returnrow[prompt]row[target]print(format_sft_example(train_rows[0]))训练目标仍是下一 token / 输出位上的交叉熵与第 33、34 篇的概率建模一脉相承。划分、验证、早停纪律见 【机器学习】28—— 神经网络小结小样本微调更容易背答案必须留验证集。3. 蒸馏用大模型教小模型微调后的 LLM 往往仍然很大在线推理成本高、速度慢。蒸馏训练一个更小的模型预测更快、资源更少效果通常略逊于教师模型。3.1 常见做法用大模型教师对大量输入做批量推理得到标签或分数用这些数据训练小模型学生线上部署学生模型教师有时能提供比「硬标签 0/1」更丰富的信号如连续毒性分数学生不仅学习正负类还能学习边界情况。角色作用教师 teacher规模大、更准、更贵可以离线运行学生 student规模小、更快、更便宜服务在线流量蒸馏数据教师输出的标签 / 软分数汽车例子离线用大模型给历史工单打「紧急程度」分数再蒸馏出可以实时运行的小分类器用于进线分流。3.2 代码软标签示意硬标签是类别下标软标签是概率分布信息更密importnumpyasnpdefsoft_cross_entropy(student_logits:np.ndarray,teacher_probs:np.ndarray)-float: student_logits: (C,) 学生未归一化分数 teacher_probs: (C,) 教师给出的概率和为 1 返回标量损失教学用未做温度缩放。 zstudent_logits-student_logits.max()pnp.exp(z)pp/p.sum()# 交叉熵- sum t * log preturnfloat(-(teacher_probs*np.log(p1e-12)).sum())# 三类低 / 中 / 高 紧急度教师给出软分布teachernp.array([0.05,0.25,0.70])student_logitsnp.array([0.1,0.2,1.5])print(软标签损失:,round(soft_cross_entropy(student_logits,teacher),4))真实蒸馏常对 logits 做温度缩放再让学生拟合教师分布上式只说明「学生在学一整条分布而不只是 argmax」。4. 提示工程不改权重改写法提示工程让使用者通过输入中的说明与例子约束模型输出格式与内容。不增加、不减少、不改动模型参数——改的是推断时喂进去的文本。类型含义汽车向例子零样本 zero-shot只提供指令「用一句话总结工单」单样本 one-shot提供 1 个格式例子再提问先示范一条 JSON再给新工单少样本 few-shot提供多条例子多条「症状→可能系统」示范4.1 少样本提示示例任务根据评论输出情感标签只能是 正面 / 中性 / 负面。 评论油耗虚高很失望。 情感负面 评论空间可以配置一般。 情感中性 评论高速稳油耗也能接受。 情感模型若按格式续写「正面」即少样本在起作用。零样本如果只写「评论苹果。类别」可能讲成科技公司而不是水果——缺少上下文时歧义大这和第 33 篇「上下文不足」是同一类现象。4.2 代码拼接提示模板FEWSHOT[(油耗虚高很失望。,负面),(空间可以配置一般。,中性),]defbuild_sentiment_prompt(review:str,shotsFEWSHOT)-str:lines[任务输出情感标签正面/中性/负面。,]fortext,labelinshots:lines.append(f评论{text})lines.append(f情感{label})lines.append()lines.append(f评论{review})lines.append(情感)return\n.join(lines)print(build_sentiment_prompt(高速稳油耗也能接受。))提示调得好常常可以先验证产品形态不够稳定或格式要求极严时再进行微调。提示不会让参数量变多。和微调对比微调改的是权重提示改的是推断输入。同一基础模型不同提示可以得到不同行为换模型后同一套少样本是否仍然有效需要重新抽检。5. 离线推理先计算再缓存参数极大时在线实时调用可能太慢不适合「每个请求都跑一遍大模型」的回归 / 分类。工程上常用离线推理offline / bulk / static inference周期性地对一批输入跑模型把结果写入缓存在线侧只读取缓存。大批语料 / ID 列表 → 大模型批量预测 → 缓存表 在线请求 → 查缓存必要时异步刷新适合每周或每月更新一次的同义词表、批量打标、历史工单重打分等。不适合必须毫秒级、且输入完全不可预知的交互除非另外配备小模型或检索方案。实现上可以把「工单 ID → 紧急度分数」写成键值缓存新工单若未命中再异步送入教师模型或学生模型补算。缓存命中率与刷新策略往往比纠结模型大一点还是小一点更影响体验。在线推理离线推理请求时计算预先计算延迟敏感吞吐与成本优先适合成对对话适合批量打标 / 缓存6. 汽车场景下的路径选择需求优先尝试试摘要口径、输出格式提示工程零样本 / 少样本固定字段、领域黑话仍然不稳微调可以先做参数高效微调要低延迟分类 / 打分上线教师打标 蒸馏学生品牌、车型等表格字段Embedding 监督模型可以预先计算的批量标签离线推理 缓存多类标签与 Softmax 头仍然见 【机器学习】27—— 神经网络多分类。表示与词表纪律见 【机器学习】32—— Embedding 串讲、【机器学习】33—— 语言模型。6.1 端到端核对[ ] 是否必须用 LLM表格模型是否已经作为基线 [ ] 先通过提示能否达到可用再决定是否微调 [ ] 微调有验证集监控过拟合 [ ] 若上线延迟紧张评估蒸馏或离线缓存 [ ] 生成内容有规则 / 人工闸门防止幻觉 [ ] 训练与蒸馏数据中的偏见已做基本检查7. 能力边界与常见误区情况说明以为微调会自动减小模型微调通常保持同级参数量变小依靠蒸馏以为多写提示等于在训练提示不改参数几百条数据全参硬训超大模型容易过拟合且极其昂贵优先参数高效或更小基座蒸馏只抄 argmax 硬标签软分数往往信息量更大离线缓存从不更新分布漂移后会过期忽略数据偏见教师与微调数据的偏见会传给学生安全结论只依靠生成仍然需要校验见第 34 篇幻觉讨论三条路径可以组合少样本验证想法 → 微调提升质量 → 蒸馏部署或教师离线打标 → 学生在线服务。8. 术语与延伸阅读术语含义基础 / 预训练 LLM大规模通识预训练得到的通用模型微调 fine-tuning用任务数据继续训练适配具体应用参数高效微调只更新部分参数以降低成本蒸馏 distillation大教师教小学生对齐预测提示工程通过输入说明与例子约束输出零 / 单 / 少样本例子条数为 0 / 1 / 多离线推理预先批量预测并缓存资源说明【机器学习】34—— 更大的语言模型Transformer 与生成【机器学习】33—— 语言模型下一词与上下文【机器学习】29—— Embedding表格高基数特征【机器学习】28—— 神经网络小结验证与过拟合【机器学习】27—— 神经网络多分类Softmax 多类头Hugging Face PEFT参数高效微调工具9. 小结基础 LLM 是平台微调用任务数据改权重以贴合应用参数量通常不变蒸馏用教师信号训练更小的学生换取速度与成本提示工程不改参数依靠零样本 / 单样本 / 少样本约束输出。离线推理适合可以预先计算的批量任务。汽车场景里先通过提示试验口径再微调需要上线较小模型时再蒸馏结构化 ID 继续使用 Embedding。系列导航上一篇【机器学习】34—— 更大的语言模型下一篇预告语言模型这几篇串一下如果本篇对你有帮助欢迎点赞、收藏、关注博主机器学习专栏持续更新中下次更新不迷路。

相关新闻

Mac用户如何免费实现NTFS完美读写?Nigate开源工具完全指南

Mac用户如何免费实现NTFS完美读写?Nigate开源工具完全指南

Mac用户如何免费实现NTFS完美读写?Nigate开源工具完全指南 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and managemen…

2026/10/2 19:48:06 阅读更多 →
从非结构化文本到结构化数据:基于NLP与规则匹配的实体信息抽取实践

从非结构化文本到结构化数据:基于NLP与规则匹配的实体信息抽取实践

在实际开发中,我们经常需要处理一些看似非结构化、甚至带有娱乐性质的文本数据,例如社交媒体上的帖子、用户生成的评论或游戏中的对话。这些数据可能包含大量表情符号、非标准语法和隐含的上下文信息。如何从这类文本中提取出结构化的、可供程序处理的信…

2026/10/14 17:16:46 阅读更多 →
无参考图像质量评估:从原理到PyTorch实战

无参考图像质量评估:从原理到PyTorch实战

1. 项目概述:为什么我们需要“无参考”的图像质量评估? 在图像处理、计算机视觉乃至日常的社交媒体运营中,我们每天都在和图像打交道。无论是手机拍摄的照片、网络下载的素材,还是算法生成的图片,一个绕不开的核心问题…

2026/10/9 9:12:02 阅读更多 →

最新新闻

材通PPR精工保温管|全国区域代理商招募中

材通PPR精工保温管|全国区域代理商招募中

很多人买热水管时容易踩一个认知坑:这水管“耐95℃”,放阳台、露台、屋顶肯定没问题。结果过一个夏天,明装那段管子表面发白、手一敲邦邦硬,这就是被紫外线“烤”老了。耐热的PPR管子为何扛不住晒?耐热和耐晒&#xff…

2026/10/16 7:17:05 阅读更多 →
程序员转型AI大模型:机遇、陷阱与实战路线全解析

程序员转型AI大模型:机遇、陷阱与实战路线全解析

我自己在工程师圈子里观察到一个现象:最近半年,讨论“程序员转型AI大模型”的人,比讨论框架版本更新的人还多。打开技术社区,永远有人在问“现在转大模型还来得及吗”;朋友圈里,不是晒大模型课程打卡&#…

2026/10/16 7:17:05 阅读更多 →
Git新手5步实操地图:从clone到push的最小闭环

Git新手5步实操地图:从clone到push的最小闭环

1. 这不是命令行说明书,而是一张你随时能抄作业的Git操作地图“10分钟图文并茂手把手教会你Git常用指令”——看到这个标题,我第一反应不是点开,而是把手机倒扣在桌面上,泡了杯浓茶。为什么?因为过去三年里&#xff0c…

2026/10/16 7:17:05 阅读更多 →
面向过程与面向对象:本质是建模思维的分岔路口

面向过程与面向对象:本质是建模思维的分岔路口

1. 为什么“面向过程”和“面向对象”不是两种写法,而是两种思考方式?刚入行那会儿,我带过几个零基础转行的学员。有位A同学学完C语言函数调用后信心满满,说:“面向过程不就是把任务拆成一个个函数嘛?”接着…

2026/10/16 7:17:05 阅读更多 →
Git高频指令速查手册:10个救命命令手把手教学

Git高频指令速查手册:10个救命命令手把手教学

1. 这不是Git教程,是“能立刻用起来”的指令速查手册你有没有过这种时刻:刚在团队群里被,说“主干分支被误提交了,快回滚”,你手指悬在键盘上,脑子里却只浮现出git push和git pull两个词?或者写…

2026/10/16 7:17:05 阅读更多 →
Matpower兼容MATLAB新版linprog接口补丁

Matpower兼容MATLAB新版linprog接口补丁

简介:本资源是针对MATPOWER 7.1与8.0版本在MATLAB R2023a环境下调用linprog函数时出现兼容性报错的专用修复补丁,面向电力系统优化建模初学者及MATPOWER实际使用者。当运行test_matpower或test_most测试套件时,若触发‘LINPROG不接受X0参数’…

2026/10/16 7:16:04 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →