大模型黑话解释
大模型黑话解释
听人说「上个 Q4」「别全参上 LoRA」「KV 打满了」时用。量化单独讲透,其余按场景对照。
1. 量化(Quantization)
一句话:用更少的比特去存模型权重,换显存和速度,略微牺牲精度。
模型里每个参数本来是高精度小数。训练和「原版推理」常用 16 位浮点(FP16 / BF16),每个数 2 字节。70 亿参数(7B)光权重就大约:
7e9 × 2 字节 ≈ 14 GB
消费级显卡往往只有 8GB、12GB。量化做的事,就是把这些数压成 8 位、4 位甚至更低:
| 你听到的 | 大约位宽 | 7B 体积量级 | 直观感觉 |
|---|---|---|---|
| FP16 / BF16 | 16 bit | 14 GB | 原汁原味,训练常用 |
| Q8_0 | 8 bit | 7–8 GB | 几乎无损 |
| Q5_K_M | ~5 bit | 5–6 GB | 质量和体积都要 |
| Q4_K_M | ~4 bit | 4–5 GB | 本地默认,Ollama 最常见 |
| Q3 / IQ2 | 3 bit 及以下 | 3 GB 以下 | 能跑就行,质量掉得快 |
像照片从无损压成 JPEG:日常看不出来,把细节放大才有噪点。所以「Q4 就能跑」不是偷工减料,是为了把模型塞进你的机器。
1.1 文件名怎么读
Ollama / llama.cpp 用的权重格式叫 GGUF。名字里的档位例如:
Q4_K_M:约 4bit,K 表示按块混合量化(比早期Q4_0细),M 是 medium(比 S 肥、比 XL 瘦)Q8_0:8bit,质量接近原版Q5_K_M:介于 Q4 和 Q8 之间
经验:日常 Q4_K_M;要质量升 Q5 / Q8;显存不够再降 Q3。别一上来用 IQ2。
1.2 量化不是这些东西
| 黑话 | 它在干什么 | 和量化的差别 |
|---|---|---|
| 蒸馏 Distillation | 另训一个小模型去模仿大模型 | 换了一套权重,不是把原权重存糙 |
| LoRA | 冻住原模型,另贴一小层来微调 | 是训练方法,不是压缩格式 |
| QLoRA | 先把原模型量化,再做 LoRA | 量化是为了训得动,不是为了上线体积 |
| GPTQ / AWQ | GPU 上的量化方案 | 和 GGUF 不是一条产线:vLLM 常用 AWQ,Ollama 常用 GGUF |
1.3 显存炸了,不一定是没量化
权重量化主要缩小模型文件。对话一长,真正往上爬的是 KV Cache(注意力的缓存),跟上下文长度、并发、层数有关。长文档 OOM,优先怀疑 KV,而不是「Q4 还不够狠」。
2. 现场翻译
| 原话 | 人话 |
|---|---|
| 上 Q4_K_M 的 14B,ctx 32k | 140 亿参数、约 4bit 量化,上下文开到约 3.2 万 token。8~12GB 显存常见能跑 |
| 别全参,LoRA 贴一下 | 不要改全部权重。冻住原模型,只训一小块适配器 |
| 先 RAG,别先微调 | 知识会变、要可追溯,就检索后回答。微调改的是习惯和技能 |
| 不是权重大,是 KV 打满了 | 模型文件没超,是长上下文的缓存把显存吃完了 |
| 温度调低,开 JSON mode | 少随机,强制按结构吐,适合抽取和接口 |
| 这是 MoE,激活 13B | 总参数更大,但每次只跑一部分专家。硬盘按总量,算力更接近激活量 |
3. 模型长什么样
参数量(7B / 14B / 70B)
B = Billion = 十亿个可学习数字。参数多通常更强,也更吃显存。比较模型时:先看参数量,再看量化档、上下文、是不是 MoE。
稠密 vs MoE
稠密:每次推理走完全部权重。MoE(Mixture of Experts):一排专家,路由只叫醒其中几个。所以会听到「总参数 47B、激活 13B」——硬盘按总量,算力更接近激活量。显存仍可能按总参数估,别只看激活量下单。
Transformer
现在聊天模型几乎都是 Decoder-only Transformer:从左到右一个 token 一个 token 生成。
多模态 / VLM
能看图、听声。能看不等于 OCR 专精,发票表格、印章、小字仍可能翻车。
4. 推理与部署
Token
模型读写的最小碎片,不是「一个汉字」或「一个英文单词」。英文大约 1 token ≈ 0.75 词;中文常 1 字 ≈ 1~2 token。计费、窗口、速度都按 token 算。
上下文窗口(ctx / num_ctx / 32K / 128K)
模型一次能「看见」的 token 上限,含输入 + 输出。窗口越大,KV Cache 越吃显存。标称 128K 不等于默认就按 128K 跑。
推理 Inference
用训好的模型生成答案。聊天、补全、工具调用都是推理,不是训练。
Prefill / Decode
先一次性读完提示(prefill,吃算力),再逐字往外吐(decode,吃显存带宽)。长文档卡住,常常慢在读入。
首字延迟 TTFT / 吞吐 TPS
多久开始说话,以及每秒能吐多少字。产品体感差,先看 TTFT。
运行时 ≠ 模型
Ollama / llama.cpp 是本地引擎(GGUF)。vLLM 是 GPU 高并发引擎。Qwen / Llama 才是模型。前者是跑步机,后者是运动员。
5. 训练与微调
预训练 Pretrain
在海量文本上学会语言,得到 base。base 很会续写,不一定会听话聊天。
SFT(监督微调)
用「问题–答案」对,把基座教成助手。数据质量比数量更重要。
RLHF / DPO
用「哪个更好」而不是标准答案,把口味调正。DPO 工程上更常见;GRPO 多出现在推理模型讨论里。
LoRA
不改原权重,另贴一小层低秩矩阵。产出是很小的 adapter,可插拔。细节见《LoRA 微调原理与实战》。
全参微调
所有权重都训练。数据少容易过拟合,还可能灾难性遗忘(新的会了,旧的忘了)。多数业务优先 LoRA。
蒸馏
让小模型模仿大模型的输出,把能力压缩进去。不是量化。
6. 提示与生成
Prompt / System prompt
你喂给模型的输入。System 放身份和硬规则,User 放本次任务。
思维链 CoT
先分步想再给结论。普通模型靠提示诱发;推理模型会自己长考。多花 token。
温度 Temperature / Top-p
控制「有多敢花样」。0~0.3 求稳(抽取、JSON);0.7~1.0 求活(写作)。先动温度,别两个一起乱拧。
幻觉 Hallucination
流畅、自信,但事实是假的。模型在补「最像真的」的下一句,不是在查资料。对策:RAG、要求引用、低温、允许说不知道、工具查真源。
7. 检索增强(RAG)
RAG
先查资料再生成,把私有知识临时塞进上下文。适合会变的知识库。微调改行为;RAG 更新知识。
Embedding
把文本变成向量,相近意思在空间里靠近。对话模型负责写;embedding 模型负责找。两者不是同一个模型。
切块 Chunking
长文切成检索单元。太大检索糙,太小语义断。重叠是为了避免关键句落在切口上。切块策略往往比换模型更影响效果。
混合检索
关键词(BM25)抓订单号、SKU;向量抓同义改写。
Rerank
向量先粗召回一堆,再用更准的模型把真正相关的顶上来。常见:召回 20,精排留 5,再塞给 LLM。
8. Agent 与工具
Agent
不只回答,还会规划、调工具、看结果再继续。可靠性取决于工具边界和停止条件,不取决于把提示词写得更像人。
工具调用 Function calling
模型输出「调哪个函数、参数是什么」,由你的程序真去执行。模型不直接碰数据库。
MCP
给 Agent 接工具、接数据源的一种标准协议。
ReAct
Thought → Action → Observation 循环。没观察就行动容易幻觉调用;没停止条件会死循环。
9. 评测与对齐
对齐 Alignment
让模型听人话、少作恶,而不只是会续写。base 没对齐,chat / instruct 对齐过。Guardrail 是外挂过滤。
跑分 / 榜
MMLU 偏知识,HumanEval 偏代码,GSM8K 偏数学,Arena 偏人气。刷榜和你的业务场景不是一回事。以自己的评测集为准。
10. 容易搅在一起的几对
| 甲 | 乙 | 别混的原因 |
|---|---|---|
| 量化 | 蒸馏 | 量化压同一套权重;蒸馏是另训一个小模型 |
| 微调 | RAG | 微调改模型行为;RAG 临时塞资料 |
| Token | 字 / 词 | 计费和窗口按 token,不是按汉字个数 |
| 参数量 | 上下文长度 | 7B 是脑子大小;32K 是一次能看多长 |
| Embedding 模型 | 对话模型 | 一个负责找相似段落,一个负责写回答 |
| Ollama | Qwen / Llama | 前者是跑步机,后者才是运动员 |
| Agent | Chatbot | Agent 会调工具、多步循环;聊天机器人通常一问一答 |
| FP16 | Q4 | 都是精度档。FP16 接近原版;Q4 是本地默认压缩档 |
和本仓库其它文的关系
- LoRA 原理与实战:《LoRA 微调原理与实战》
- 本地选型和显存表:《Ollama 开源大模型推荐》
- 检索链路:RAG / GraphRAG 相关文
本文只负责把黑话翻译成人话。
更多推荐


所有评论(0)