资讯动态

模型的蒸馏与量化

发布时间:2026/10/24 2:28:47 来源:尧图企业网站定制
模型的蒸馏与量化–让大模型跑进普通电脑的两条路deepseek-r1:7b-q4_k_m、Qwen3-8B、Llama-3.1-8B-Q5_K_M、DeepSeek-R1-Distill-Qwen-14B……这些名字背后其实就两件事模型是不是换小了蒸馏以及权重是不是压粗了量化。1. 蒸馏改模型量化改数字蒸馏Distillation 训练一个新的小模型让它学大模型的判断方式量化Quantization 不改模型结构只把权重从 FP16 压成 INT8 / INT4类比一下蒸馏 ≈ 请老教授带徒弟徒弟自己长成另一个人量化 ≈ 同一本书精装版换成平装本字还是那些字纸薄了所以看一个模型小了要先问是参数真少了还是每个参数占的位数少了2. 模型蒸馏大模型教小模型2.1. 原理蒸馏是 Hinton 那套老概念这两年被 DeepSeek-R1 带出圈 。流程一般是大模型Teacher比如 671B ↓ 生成软标签 / 推理过程 / SFT 数据 小模型Student比如 Qwen-14B ↓ 训练 蒸馏版小模型学生学的不是标准答案而是老师的输出分布——哪些词概率高、推理步骤怎么走 。DeepSeek-R1 官方放的那批就是典型DeepSeek-R1-Distill-Qwen-7BDeepSeek-R1-Distill-Qwen-14BDeepSeek-R1-Distill-Qwen-32BDeepSeek-R1-Distill-Llama-8B名字翻译过来就是Qwen/Llama 的身子R1 的功夫。2.2. 蒸馏改了什么参数量从 70B → 7B 都有可能结构学生通常是另一套小模型底座权重是重新训出来的不是原模型切一半是否要训练要3.3. 蒸馏的边界蒸馏版≠满血版缩小。14B 蒸馏模型能学到 R1 的按步骤推理味儿但参数量摆在那长上下文记忆不如原版罕见知识、复杂工程代码会掉链子别指望本地 7B 干 671B 的活3. 模型量化不改脑子只改记事本3.1. 原理神经网络推理时权重本质是浮点数矩阵。FP16 每个数占 2 字节INT4 只占 0.5 字节【与编程中的int不同编程中占4字节32bit】。量化就是FP16 权重 → 缩放因子 低比特整数模型层数、连接、参数量全都不动只是每个数写得粗略点 。后训练量化PTQ通常不需要重训拉下来转格式就行要求高再用 QAT量化感知训练回炉一下 。3.2. GGUF 里的 Q4_K_M 是啥本地圈常见命名规则 片段含义QQuantized 量化4 / 5 / 8每权重近似比特数KK-quant分组缩放方案MMedium敏感层混合更高精度S / LSmall / Large 变体所以Q4_K_M不是纯 4-bit大部分张量 4-bitattention.wv、FFN.w2 这类敏感层一半走 Q6_K实际约4.8 bit/权重3.3. 常见档位以 7B8B 为参考量化文件体积质量定位Q3_K_M~3.4G有损明显显存实在不够才用Q4_K_M~4.5G日常够用消费卡默认甜点Q5_K_M~5.3G更接近原版代码/推理稍稳Q6_K~6G近无损显存宽裕Q8_0~8G基本无损不差显存Q4_K_M 火的原因就一条显存占用砍掉约 70%聊天场景质量掉得不明显。3.4. 量化的代价多步数学、长链推理Q4 会抖上下文开很大时KV cache 也吃显存8G 卡硬跑 14B-Q4能加载也会掉 CPU 层量化省的是显存和带宽不省计算量本身——14B 量化后还是 14B 次计算只是每次算得便宜点4. DeepSeek 的例子最容易混看到ollama run deepseek-r1:7b很多人以为“哦把 671B 的 R1 压成 7B 了”不对。正确链路是DeepSeek-R1 671B满血 ↓ 蒸馏 DeepSeek-R1-Distill-Qwen-7B小模型 ↓ GGUF 转换 Q4_K_M 量化 deepseek-r1:7b-q4_k_mOllama 本地跑蒸馏负责变成 7B量化负责7B 能塞进 8G 显存所以满血版 → 多卡服务器蒸馏版 → 单卡 / 16G 内存 Mac量化版 → 消费级显卡本地跑通常叠加在蒸馏版上5. 为什么通常先蒸馏再量化单独用都有短板 只蒸馏 → 模型小了但 FP16 还占显存只量化 → 显存省了但原模型本来就大跑不动蒸馏量化 → 参数量下来 精度压下来端侧才实用标准流水线大模型训练 → 蒸馏出小模型 → 可选剪枝 → GGUF 量化 Q4_K_M → llama.cpp / Ollama 本地跑这也是为什么你现在在模型站看到的几乎每个能本地跑的小模型名字里要么带 Distill要么带 Q4_K_M或者两个都带。6. 落地到 Ollama / llama.cpp前面几层讲完最后一层是谁真正在跑llama.cpp 推理引擎加载 GGUF、做量化推理、调 CUDA/MetalOllama 上层管理器负责 pull 模型、起服务、11434 端口 API、显存调度Ollama └─ 内置 llama.cpp 运行时 └─ 加载 Q4_K_M.gguf └─ GPU 出 token同模型同量化下两者速度差通常很小几个百分点区别在于 Ollama 不让你调-ngl、kv-cache、flash-attn这些底层参数 。所以想ollama run五分钟跑起来 → Ollama想抠 tok/s、长上下文、CPU 层卸载 → llama.cpp

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑