詳細解釋
llama.cpp 項目於 2023 年推出的二進制模型格式,專為本地 CPU/GPU 推理優化,支持多種量化精度(Q2 到 Q8)。
設計目標:
- 單文件:模型所有信息(權重、詞表、超參數)封裝在一個文件
- mmap 兼容:支持內存映射,加載超大模型無需全部讀入 RAM
- 量化友好:內建多種量化方案,用戶可選性能與質量平衡
- 擴展性:支持添加新特性(如 LoRA、不同架構)而不破壞向後兼容
與舊格式對比:
- vs GGML(前身):GGUF 修復了 GGML 的架構限制,支持更多模型類型
- vs PyTorch .pth:GGUF 專為推理優化,體積小、加載快,但不可訓練
- vs Safetensors:Safetensors 是通用格式,GGUF 專為 llama.cpp 生態
使用場景:
- 本地運行:Ollama、LM Studio、jan.ai 都使用 GGUF
- 消費級硬件:4-bit 量化讓 70B 模型可在 48GB VRAM 運行
- 邊緣設備:2-bit 量化適合 Raspberry Pi 等嵌入式設備
生態工具:
- llama.cpp:核心推理引擎(C++)
- huggingface-cli:下載和轉換 GGUF 模型
- quantize:從 FP16 轉換為各種量化級別
命名:GGUF = GPT-Generated Unified Format,但現已支持 Llama、Mistral、Qwen 等多種架構。
2024 年 GGUF 成為本地 LLM 的事實標準格式,Hugging Face 上絕大多數新模型都提供 GGUF 版本。