本集对应课程:开源专题 ·《蒸馏的代价:模型正在变得越来越像》《你的电脑能跑多大的模型》《Ollama 与 LM Studio 怎么上手》
音频与本文配套,本文为文字版深度解读,可独立阅读。
蒸馏让学生学老师,而学生学到的是老师的全部——本事、口癖、偏见、身份认知一起继承。当整个行业向少数几个老师学习,多模型交叉验证可能是假的。后半段动手:一个乘法算清显存,两个工具十分钟跑通本地模型。
本集横跨两个主题,一张图看清全貌:
| 主题 | 核心问题 | 关键结论 | 对应工具/动作 |
|---|---|---|---|
| 蒸馏的代价 | 学生向老师学,学到了什么 | 学到的是全部:本事 + 口癖 + 偏见 + 身份认知 | 查模型卡的底座血缘 |
| 蒸馏的代价 | 生态集中会怎样 | 20 万衍生模型共享同一批底层假设 = 单点依赖 | 多模型冗余要选底座不同的组合 |
| 蒸馏的代价 | 交叉验证还成立吗 | 血缘同源 → 在同一个地方一起错,交叉验证可能是假的 | 别把安全感建在厂商名字不同上 |
| 本地部署 | 我的机器能跑多大 | 显存 ≈ 参数量 × 精度系数(系数已含 KV Cache) | 一张表 + 一个乘法 |
| 本地部署 | 量化损失掉在哪 | 连续权重被舍入到有限档位,损失不均匀 | 长链条任务:小一号跑 INT8 > 大一号跑 INT4 |
| 本地部署 | 选什么硬件 | NVIDIA 拼速度,Apple 拼容量 | 显存大小 > 显卡贵贱 |
| 本地部署 | 怎么跑起来 | Ollama(命令行)/ LM Studio(图形界面) | 标签三段式 + 三个常见坑 |
| 论文 | 作者 / 编号 | 核心发现 |
|---|---|---|
| Generative Monoculture in Large Language Models | Wu & Black · arXiv:2407.02209 · 2024 | 多个模型基于相同底座蒸馏后,输出多样性显著下降。书评撰写、代码生成等本该有多种合理答案的任务上,不同模型结果高度趋同。作者用「单一文化」形容此状态 |
| Measuring and Understanding LLM Identity Confusion | Xu et al. · arXiv:2411.10683 · 2024-11 | 覆盖 27 个模型,25.93% 存在身份混淆——被问「你是谁」时错误声称自己是另一个模型。作者指出这类错误对用户信任的伤害比一般逻辑错误更大 |
两篇论文均可在 arXiv 公开检索,编号如上。核对日期 2026-08-07。
蒸馏别人家的模型是否越界,目前没有共识,但已有公开指控。这些都是一方的指控,被指控方并未承认,也没有第三方机构给出裁定。
放在这里是为了说明:这个领域的边界还在形成中。各家的服务条款大多禁止用自家输出去训练竞品,但技术上很难取证。
| # | 症状 | 典型表现 |
|---|---|---|
| 1 | 口癖被整批继承 | 某些句式在头部模型上高频出现后,在大量模型中同时冒出,成为识别 AI 写作的指纹 |
| 2 | 格式怪癖被继承 | 有的模型习惯在中文里给名词补英文标注,学它的模型也跟着写,哪怕场景完全不需要 |
| 3 | 连身份都学过去 | 问一个模型它是谁,它报出的是老师的名字 |
训练数据是老师的输出,老师怎么说话,学生就怎么说话。你没法只继承能力而不继承习惯——因为在训练数据里,这两样东西根本分不开,没有一把刀能把它们切开。
某个开源系列的衍生模型数量已超过 20 万个。
底座模型里的偏见、知识盲区、表达倾向,会沿着蒸馏链条一层层传下去。上游改一个训练策略,下游几万个模型跟着变。
这种结构在软件工程里有个熟悉的名字:单点依赖。20 万个模型,一个上游。
很多团队会同时调用两三个不同厂商的模型,让它们互相校验以降低出错概率。这套做法成立的前提是它们会犯不同的错。
如果这几个模型的血缘上溯到同一个老师,它们很可能在同一个地方一起错,而且错得一模一样。
为什么特别难发现:真实产品用的是什么底座,多数厂商并不写在产品页上。你面前只有名字和宣传,而名字和宣传恰恰是最不能说明血缘的东西。
需要的显存(GB) ≈ 参数量(B) × 精度系数
举例:8B 模型跑 INT4 → 8 × 0.65 ≈ 5.2 GB
单纯装载权重的话,INT4 每个参数占 0.5 字节,8B 模型只要 4 GB。但模型跑起来还要额外一块地方存放对话过程中积累的中间状态——即 KV Cache。
系数里已经含了这部分开销,所以不要在外面再乘一次余量,否则会算出没有机器跑得动的结论。
很多人在网上看到的显存估算之所以离谱到不可用,就是因为重复乘了余量。
| 档位 | 说明 |
|---|---|
| FP32 | 全精度。基本只在训练时用,本地推理没人这么跑 |
| FP16 | 半精度。模型发布时的原始格式,质量的基准线 |
| INT8 | 体积减半,质量损失通常察觉不到。显存够的话是稳妥选择 |
| INT4 | 体积只有原来的 1/4。多数日常任务上感受得到但可接受,本地跑最常用 |
量化是把本地部署门槛拉低最有效的一招:一张 8GB 显卡跑不动 FP16 的 8B 模型,换成 INT4 就轻松了。
量化做的事只有一件:把原本连续的权重,四舍五入到有限个档位上。
INT4 有兩处值得停一下:
模型每写一个词,都是在一堆候选里挑分数最高的那个。大多数时候第一名遥遥领先,挪一点无所谓;但总有些时候前两名咬得很紧,一点点扰动就足以让它们换位。
推论:量化的损失不是均匀分布的。
要求高的场景,宁可选小一号的模型跑 INT8,也别选大一号的跑 INT4。
| NVIDIA 显卡 | Apple Silicon | |
|---|---|---|
| 显存 | 独占,标称多少基本能用多少 | CPU 与 GPU 共享统一内存,系统不允许全部划给 GPU |
| 折算 | — | 按可分配的约 75% 折算(保守估计,可通过 iogpu.wired_limit_max 调整) |
| 速度 | 带宽高,生成速度快 | 带宽通常不及同价位独显,大模型上会慢一些 |
| 容量 | 硬上限,消费级目前顶到 32GB 左右 | 优势大,高配能装下消费级显卡碰不到的尺寸 |
| 生态 | 最成熟 | Apple 芯片上有 MLX 引擎 |
一句话:NVIDIA 拼速度,Apple 拼容量。
决定你能跑多大模型的不是显卡多贵,是显存多大。
后者的图形算力远不如前者,但模型装得进去,前者装不进去。
标签里带 A 字样的是 MoE(如总参数 30B、每次激活 3B)。
显存按总参数算,速度按激活参数算。 30B 的 MoE 你得准备装下 30B 的显存,但跑起来速度接近 3B。占地方大,跑得快。
适用场景:显存充裕但希望响应快(如大内存 Mac)。反过来,显存紧张时同样占用下选稠密小模型更划算。
| Ollama | LM Studio | |
|---|---|---|
| 形态 | 命令行 | 图形界面 |
| 上手 | 一条命令下载并运行 | 内置模型浏览器,可看到体积与量化档位再决定 |
| 服务 | 装好后自动在后台提供 | 也能开本地服务器 |
| 接口 | 兼容 OpenAI 格式 | 同样兼容 OpenAI 格式 |
| 特色 | 适合接进自己的程序 / 习惯终端 | 会提示当前机器能否带得动;Apple 芯片支持 MLX 引擎 |
不用纠结,两个可以都装——下载的模型文件互不冲突。很多人用 LM Studio 挑模型和试效果,用 Ollama 跑常驻服务。
标签通常有三段:模型系列名 / 尺寸 / 量化档位。尺寸那一段带 a 的就是 MoE(表示激活参数量)。
第一个坑:不写量化后缀时,工具拉的默认就是量化版(通常是 Q4 档),不是原始精度。很多人拿它跟官方接口的效果比,觉得开源模型不行——其实比的根本不是同一个东西。要对比质量,先确认两边跑的是不是同一个档位。
| 档位 | 建议 |
|---|---|
| Q4_K_M | 默认选它。体积与质量的平衡点,绝大多数工具的默认档 |
| Q5_K_M | 写代码或做数学题选这档更保险——这两类任务对精度损失敏感 |
| Q8_0 | 接近原始质量,体积也接近翻倍。显存充裕又想要最好效果时用 |
| Q3 及以下 | 除非显存实在不够,否则不建议。掉分开始明显,不如换小一号模型跑高一档 |
一条实用规律:模型越大,量化越安全。 32B 量化到 Q4 掉的那点分,往往还是比 8B 跑 Q8 强。显存有限时,优先保尺寸,再考虑档位。
iogpu.wired_limit_max 调整,75% 是默认情况下的保守估计,不是硬上限。*来源:xueai.miyang.cn(小山学堂 · 洛小山《学 AI 产品,从入门到精通》)*