promptgarten 🌱
🌍 DE
术语●●○5 分钟 · +40 XP

量化(Quantisierung/Quantization):大模型如何塞进你自己的电脑

用更低的数值精度存储模型能大幅节省存储空间——代价是一点点、通常难以察觉的质量损失。

基本原理

模型权重在训练时通常以高精度存储,常见的是16位浮点数(FP16)。量化会在训练之后降低这种精度,比如降到8位(INT8)或4位(INT4)——每个数值占用的存储空间明显减少,整个模型的体积也随之缩小。

为什么这对本地运行的模型至关重要

一个70亿参数的模型以FP16存储大约需要14GB内存——对许多笔记本电脑来说太多了。使用常见的4位量化(Q4_K_M),同样的模型只需要约4.5GB,这才使得模型能在普通消费级硬件上实际运行。正因如此,量化后的模型是Ollama等工具的基础。

GGUF格式

GGUF是Ollama或llama.cpp等工具使用的量化模型的常见文件格式——它把权重和元数据(分词器、配置信息)打包进一个单独的文件,文件名中可以看到Q4_K_M或Q8_0之类的标识后缀。

代价:质量损失

量化越激进,精度损失就越大。在Q4_K_M量化下,标准基准测试中测得的质量损失通常只有百分之一到三——对大多数日常任务几乎察觉不到。而在压缩强度进一步增加时,损失就会明显变得更大。

示例

ollama create --quantize q4_K_M meinmodell # 把一个FP16模型转换为4位版本——存储需求降到约三分之一,质量损失通常低于3%。

🛠️ 练习——自己动手试试

用Ollama下载一个开放模型,比较不同量化级别下的体积和表现。

  1. 安装Ollama,下载一个默认量化级别的模型,例如ollama run gemma4。
  2. 查看已下载模型的文件大小(例如通过ollama list)。
  3. 如果有的话,下载同一模型的另一个量化级别(例如带q8_0标签的版本)作对比,并比较同一问题下的体积和回答表现。

自查清单

  • 两个量化级别之间的文件大小差异有多大?
  • 在普通问题上,你是否真的察觉到了质量差异?

小测验

把一个模型从FP16量化到4位(例如Q4_K_M)会发生什么?

分享:𝕏in💬

来源

相关主题

在本地运行开放模型(Ollama 等) ●●○什么是 LLM? ●○○AI agent 的成本控制 ●●○专家混合(Mixture of Experts,MoE):为什么大模型不会一次性激活全部参数 ●●●