跳到主要内容

AI 模型基础知识

· 阅读需 5 分钟
pemako
Developer

核心概念

权重(Weights)

模型通过海量训练数据,调整出数十亿个小数,这些数字就是"权重",记录了模型学到的所有知识(语法、常识、逻辑等)。

  • Qwen3-4B 中的 4B = 40亿个权重数字
  • 每个权重形如 0.3847291638...
  • 原始精度(FP16)下,40亿个数字需要约 8GB 存储空间

量化(Quantization)

有计划地降低权重数字的精度,从而缩小模型文件体积。

类比:记朋友身高

  • 175.3847291cm → 精确但占空间
  • 175cm → 四舍五入,误差极小
  • → 最省空间,但信息丢失多
格式每个数字占用效果
F1616 位原始精度,文件最大
Q88 位轻微损失
Q44 位明显压缩,质量尚可
Q22 位粗糙,质量损失大

量化后模型变小、运行更快,但会有轻微的"记忆模糊"。

K-Quants(分组量化)

普通量化是一刀切,所有权重用同样精度压缩。K-quants 把权重分组,重要的多保留精度,不重要的多压缩。

类比:打包行李

  • 普通做法:所有东西压到同样厚度
  • K-quants:护照/手机原样放,袜子/T恤真空压缩

Q4_K_M 内部实现:

  • 注意力层(最重要)→ 用 6 位存储
  • 其他层(次要)→ 用 4 位存储
  • 整体平均 ≈ 4 位多一点

GGUF 文件命名规则

量化方法分两套体系,命名规则不同:

旧方法(Legacy):Qn_0 / Qn_1

Q 4 _ 0
│ │ └── 0 = 基础版 / 1 = 加偏移值的改进版
│ └──────── 每个权重的位数
└──────────── Quantization(量化)
  • 每 32 个权重一组,统一压缩,算法简单
  • _0:基础版,直接截断
  • _1:在 _0 基础上加了一个偏移值,略微提升精度
  • 现已基本被 K-quants 取代,新模型很少使用

常见旧方法格式(以 14B 模型为例):

格式文件大小说明
Q4_0~7.5GB老式 4 位,精度一般
Q4_1~8.3GB老式 4 位 + 偏移,略好于 Q4_0
Q5_0~9.2GB老式 5 位
Q5_1~10GB老式 5 位 + 偏移
Q8_0~14GB老式 8 位,质量很高

新方法(K-quants):Qn_K_M / Qn_K_S

Q 4 _ K _ M
│ │ │ └── 变体:M=Medium / S=Small / L=Large
│ │ └──────── K-quants(分组混合精度)
│ └────────────── 每个权重的位数
└──────────────── Quantization(量化)
  • 把权重分组,对重要层使用更高精度
  • 同等文件大小下质量优于旧方法

变体(M / S / L)说明

  • _M(Medium):重要层多保留精度,效果更好,推荐
  • _S(Small):全部压更多,文件略小,质量略低
  • _L(Large):保留更多精度,文件略大,质量略好

旧方法 vs 新方法对比(14B 模型)

格式方法文件大小质量
Q4_0旧式~7.5GB一般
Q4_1旧式+~8.3GB略好
Q4_K_SK-quants~8.1GB
Q4_K_MK-quants~8.7GB更好

同等大小下优先选 K-quants。遇到只有 Q4_0 的模型,说明该模型较老或未更新转换版本。


4B 模型各量化版本对比

格式文件大小质量推荐场景
F16~8GB无损失微调 / 评测
Q8_0~4.3GB极小损失内存充足
Q6_K~3.4GB很小损失追求高质量
Q4_K_M~2.4GB均衡日常使用首选
Q4_K_S~2.2GB略低于 M内存略紧
Q3_K_M~1.7GB明显下降内存紧张
Q2_K~1.3GB较大损失极限省内存

本机配置与模型选择(Apple M3 Max 36GB)

为什么 Apple Silicon 适合跑本地模型

Apple M3 Max 的 GPU 和 CPU 共享同一块统一内存(Unified Memory),36GB 全部可用于装载模型,不像 PC 独显有单独的 VRAM 限制。M3 Max 内存带宽约 400GB/s,推理速度流畅。

各参数量运行情况

系统自身占用约 6GB,模型可用约 30GB(Q4_K_M 约 0.56GB / 10亿参数):

模型参数Q4_K_M 大小能否运行速度感受
4B~2.5GB✅ 轻松极快
7B~4GB✅ 轻松很快
14B~8GB✅ 轻松
32B~18GB✅ 舒适均衡推荐
40B~22GB✅ 可以稍慢
70B~39GB❌ 超出装不下

甜点区:32B Q4_K_M

  • 占用约 18GB,剩余 12GB 供系统和上下文缓存使用
  • 质量远超 7B/14B,是肉眼可见的提升
  • 推荐模型:
    • Qwen3-32B Q4_K_M — 综合能力强
    • Qwen2.5-32B-Instruct Q4_K_M — 中文表现特别好
    • Gemma3-27B Q4_K_M — 27B 更省内存,速度更快

关于 70B 的取舍

可以用更激进的量化勉强装入,但不推荐:

方案大小说明
70B Q2_K~26GB能跑,质量损失大
70B Q3_K_M~32GB勉强,质量尚可

原则:不建议用低质量量化换大参数。 32B Q4_K_M 的实际输出质量通常优于 70B Q2_K。


工具使用

LM Studio

  • 内置模型搜索,直接搜索模型名即可下载 GGUF 文件
  • 适合普通用户,无需命令行

llama.cpp

需要 GGUF 格式文件,支持命令行推理和服务器模式。

# 推理模式
./llama-cli -m ./models/model-Q4_K_M.gguf -p "你好" -n 512

# 服务器模式(提供 HTTP API)
./llama-server -m ./models/model-Q4_K_M.gguf --host 0.0.0.0 --port 8080

huggingface-cli 下载

pip install huggingface_hub

# 下载单个 GGUF 文件
huggingface-cli download <repo-id> <filename>.gguf --local-dir ./models

一句话总结

概念类比
权重模型学到的知识,存成几十亿个小数
量化把小数四舍五入,文件变小但略有损失
分组(K-quants)重要的数字少压,不重要的多压
Q4_K_M4位精度 + 分组策略,大小和质量最均衡