大家好,我是 Ai 學習的老章
Unsloth Github 項目:https://github.com/unslothai/unsloth
Unsloth
Unsloth 出圈是 DeepSeek-R1 爆火的時候,它發布了最小 1.58 位量化版本的 R1,把 DeepSeek-R1 這個非常大的模型(它有 6710 億個參數,也就是 671B)通過“量化”把原本 720GB 的模型壓縮到只有 131GB 的大小。
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 文件的工具,可以檢查元數據及張量信息(名稱、形狀、精度)。該工具可在模型頁面(示例)和文件頁面(示例)上使用。
linux 安裝依賴、下載模型、運行
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,我之前詳細介紹演示過:
制作不易,如果這篇文章覺得對你有用,可否點個關注。給我個三連擊:點贊、轉發和在看。若可以再給我加個,謝謝你看我的文章,我們下篇再見!
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.