大家好,我是 Ai 学习的老章

Unsloth Github 项目:https://github.com/unslothai/unsloth

Unsloth

Unsloth 秘密武器是动态量化,核心思路是:对模型的少数关键层进行高质量的 4-6bit 量化,而对大部分相对没那么关键的混合专家层(MoE)进行大刀阔斧的 1-2bit 量化。

另外

Unsloth 无缝兼容 HuggingFace Transformers、vLLM 和 LoRA 等生态工具。例如,直接调用FastLanguageModel接口即可加载 4 位量化模型,并通过SFTTrainer快速配置微调参数

GGUF

Unsloth 深度集成GGUF(GPT-Generated Unified Format),这一由 Llama.cpp 推出的高效量化格式专为边缘计算与本地部署设计。其核心优势包括:

  • 动态量化策略:支持 Q2_K、Q4_K_M、Q5_K_S 等多级量化方案,例如对注意力层采用 Q4_K_M(4 位混合精度),而对关键输出层保留 Q5_K_S(5 位稀疏量化),在精度与压缩率间实现最优平衡。

  • 硬件适配性:GGUF 通过预计算张量维度与内存对齐策略,显著提升 CPU/GPU 推理速度。实测显示,Unsloth 导出的 GGUF 模型在 Llama.cpp 上推理速度比原始 PyTorch 模型快 2.3 倍。

  • 跨平台兼容:支持 Windows/Linux/macOS 原生运行,甚至可在树莓派 5 等嵌入式设备部署。例如,Q4 量化后的 Llama-3-8B 模型仅需 8GB 内存即可流畅推理。

Use it

Huggingface 和 modelscope 上都可以找到 unsloth 开放的量化模型

比如

https://huggingface.co/unsloth/gemma-3-27b-it-GGUF/blob/main/gemma-3-27b-it-Q4_K_M.gguf

HF Hub 提供了一个查看 GGUF 文件的工具,可以检查元数据及张量信息(名称、形状、精度)。该工具可在模型页面(示例)和文件页面(示例)上使用。

apt-get update apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y git clone https://github.com/ggerganov/llama.cpp cmake llama.cpp -B llama.cpp/build \     -DBUILD_SHARED_LIBS=ON -DGGML_CUDA=ON -DLLAMA_CURL=ON cmake --build llama.cpp/build --config Release -j --clean-first --target llama-quantize llama-cli llama-gguf-split cp llama.cpp/build/bin/llama-* llama.cpp ## 下载模型 # pip install huggingface_hub hf_transfer # import os # Optional for faster downloading # os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1" from huggingface_hub import snapshot_download snapshot_download(   repo_id = "unsloth/gemma-3-4b-it-GGUF",   local_dir = "gemma-3-4b-it-GGUF",   allow_patterns = ["*Q4_K_M*"],  ) ## 启动模型 ./llama.cpp/llama-cli \     --model /unsloth/gemma-3-4b-it-GGUF/blob/main/gemma-3-4b-it-Q4_K_M.gguf \     --cache-type-k q4_0 \     --threads 12 -no-cnv --prio 2 \     --temp 0.6 \     --ctx-size 8192 \     --seed 3407 \     --prompt "<|User|>What is 1+1?<|Assistant|>"
Mac

我用丐版 mac mini 跑起

# 安装 brew install llama.cpp # 下载运行模型、注意格式!! llama-cli -hf unsloth/gemma-3-4b-it-GGUF:Q4_K_M

模型大小 2.5GB,运行起来仅使用了 Swap 内存

输出性能

llama_perf_sampler_print:    sampling time =       7.01 ms /    30 runs   (    0.23 ms per token,  4280.21 tokens per second) llama_perf_context_print:        load time =   20638.18 ms llama_perf_context_print: prompt eval time =     320.99 ms /    13 tokens (   24.69 ms per token,    40.50 tokens per second) llama_perf_context_print:        eval time =   50693.96 ms /  1044 runs   (   48.56 ms per token,    20.59 tokens per second) llama_perf_context_print:       total time =  347782.12 ms /  1057 tokens

采样阶段吞吐量 4280t/s,提示词处理 40.5t/s,生成阶段 20.59t/s

unsloth 量化模型也支持 ollama,不再细说

也支持 vLLM,我之前详细介绍演示过:

制作不易,如果这篇文章觉得对你有用,可否点个关注。给我个三连击:点赞、转发和在看。若可以再给我加个,谢谢你看我的文章,我们下篇再见!