前两期讲清了名字和原理,这一期讲缩写。
缩写本身不难记,难的是知道自己该用哪个。见过太多团队,一个检索能解决的问题,非要去微调,调完发现知识还是旧的;也有反过来,把该微调的东西硬塞进提示词,提示词越堆越长,效果越来越差。
下面按用途分四组,每组说清楚它解决什么问题、什么场景该用、什么场景别用。
第一组:训练侧的四个缩写
SFT 指监督微调。拿成对的"输入加期望输出"继续训练,让模型学会特定任务的形式和口径。适合任务边界清晰、有稳定标注来源的场景,比如固定格式的工单分类、固定的报告结构。代价是需要几百到几千条高质量样本,脏样本比没样本更糟。
RLHF 指基于人类反馈的强化学习。先让人给多个回答排序,再训练一个奖励模型,用它来给模型打分并优化。适合"好不好很难写成规则"的场景,比如对话的自然度。代价是流程重、周期长。
DPO 指直接偏好优化。它绕开了奖励模型这一步,直接用偏好数据优化。这几年在中型团队里用得更多,因为它把成本压到了能接受的范围。
LoRA 指低秩适配。它不改原来的权重,只在旁边挂两个小矩阵,训练量能降到原来的百分之几。要换任务就把这层拔掉换一个,底座共用。QLoRA 是把量化和 LoRA 叠起来,让单张消费级显卡也能微调。这套东西的意义是,微调从"必须有钱有卡"变成了"一个工程师周末能试"。
第二组:使用侧的三个缩写
RAG 指检索增强生成。做法是把资料切块、转成向量存起来,提问时先检索最相关的几块,连同问题一起交给模型。它解决的是知识时效和私域知识问题,也顺手解决了"引用可追溯"。
什么时候该上 RAG:资料会变、需要出处、量很大但结构不规整。什么时候别上:任务本身就是模型能力问题,比如让它学会一种写作风格,检索再多也没用。
Function calling 指函数调用,也有人叫工具调用。模型不直接执行,而是输出一个结构化请求,由外部代码去执行,再把结果交回模型。这是把模型从"聊天"变成"能干活"的关键一步。
Agent 指智能体。本质是把上面的循环包起来,让它自己决定下一步做什么:先调工具,看结果,再调下一个,直到任务完成。工程上真正难的从来不是模型多聪明,而是权限、错误处理和死循环。
MCP 指模型上下文协议,作用是统一"模型调工具"的接口格式。以前每接一个系统就写一套胶水,现在按协议写一次,多个客户端都能用。对做设备侧的人来说这个概念值得关注,它迟早会出现在本地助手与工控设备的对接上。
第三组:结构与成本
MoE 指混合专家。模型里有很多专家子网络,每次只激活其中一小部分。好处是同等算力下能堆更大的参数量,坏处是对显存和调度更挑。
量化是把权重从高精度压到低精度,常见的是 FP16 到 INT8 再到 INT4。精度越低模型越小、跑得越快,但能力会掉。真要上端侧,量化几乎是绕不开的一步,关键是要在自己的任务上实测掉多少,而不是看论文里的平均分。
KV cache 是推理时缓存注意力中间结果的技术。不做缓存的话每生成一个词都要重算前面全部内容,慢到不可用。它占的显存不小,长对话显存暴涨多半是它。
上下文窗口前面说过,这里只补一句:窗口大不等于用得好,长上下文里模型对中段信息的注意力会下降,重要内容放开头和结尾更稳。
第四组:评测里的几个名字
MMLU 是学科知识题集合,偏通识。GSM8K 是小学数学应用题,专门检验推理步骤。HumanEval 是代码补全任务。这三个名字经常出现在模型发布页上,看的时候要明白,它们测的是能力倾向,不是你的场景。
真实选型别只看榜单。做法是拿自己的一百条真实任务做成小测集,跑一遍看通过率,这个数字比任何榜单都对你有意义。
一张选型表,收个尾
想让它改说话方式、调格式,先写提示词,成本最低。想让它知道你的资料,用 RAG,别微调。想让它稳定执行一类任务,样本够就上 SFT 或 LoRA。想让它自动跑流程,用 function calling 加 agent,但先把权限和超时卡死。
最后一句提醒。这套东西更新很快,缩写会变,思路不太会变:先问清楚自己缺的是知识、是形式、还是能力,再决定用哪个工具。顺序反了,花多少钱都白花。