在 AI 炼丹界有一句至理名言:“数据决定上限,模型只是逼近这个上限。”
Unsloth “硬目标”蒸馏步骤
这种方法在工业界极其流行:用顶级大模型(GPT-4 或 Qwen-72B)生成海量高质量语料,然后用 Unsloth 对小模型(Qwen-0.5B)进行极其暴力的 SFT(监督微调),让它死记硬背老师的说话方式。
一、LLama.cpp的手动编译(如果装unsloth,可以不装,unsloth会自动装):
apt-get update
apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y
git clone https://github.com/ggml-org/llama.cpp
# 指定静态编译
cmake llama.cpp -B llama.cpp/build \
-DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON
# 编译出主要得可运行程序
cmake --build llama.cpp/build --config Release -j --clean-first --target llama-cli llama-mtmd-cli llama-server llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
huggingface.co 的模型下载大法:
pip install huggingface_hub hf_transfer
hf download unsloth/gemma-4-26B-A4B-it-GGUF \
--local-dir unsloth/gemma-4-26B-A4B-it-GGUF \
--include "*mmproj-BF16*" \
--include "*UD-Q4_K_XL*" # 动态 2 位请使用 "*UD-Q2_K_XL*"
gemma4的运行,官方参数 temp 1.0、top-p 0.95、top-k 64
# 温度1,发散思维,但又不至于出现幻觉
# 0.95 95%的数据匹配,把不沾边的数据滤掉
# 64 64层,把大多数层都加载
./llama.cpp/llama-server \
--model unsloth/gemma-4-26B-A4B-it-GGUF/gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf \
--mmproj unsloth/gemma-4-26B-A4B-it-GGUF/mmproj-BF16.gguf \
--temp 1.0 \
--top-p 0.95 \
--top-k 64 \
--alias "unsloth/gemma-4-26B-A4B-it-GGUF" \
--port 8001 \
--chat-template-kwargs '{"enable_thinking":true}'
二、Unsloth得安装(得翻墙,得有hf得login token,得装低版本的,高版本的对蒸馏数据有的不兼容):
# 不翻墙无法下载啊
export https_proxy=http://127.0.0.1:1080
# 教程是这一句安装,但是不行啊,这句在2026年4月14日,安装的是Python 3.13,这个版本高了,对某些训练数据集不友好
# curl -fsSL https://unsloth.ai/install.sh | sh
git clone https://github.com/unslothai/unsloth
cd unsloth
# 降级装Python 3.11
./install.sh --local --python 3.11
装完就自动运行起来了,先ctrl+c 断了,然后运行
# 不翻无法从HF下模型!!!
export https_proxy=http://127.0.0.1:1080
unsloth studio -H 0.0.0.0 -p 8888
然后打开http://ip:8888 设置admin密码,就可以进去了
打开studio,就可以开始炼模型了,之前的一大套东西,都简化了
首先选HF已经下载过的Qwen/Qwen2.5-1.5B-Instruct模型,然后方法QLoRA(4-bit), 要炼其它模型就可以输入HF的Token
底下上传之前准备好的训练数据,opus_full_3000.json,opos老师的3000条优质训练数据。然后就可以Start Training了

炼的时候可以看到进度,GPU的使用率,好想有块好显卡啊

炼完后去chat验收,选择Select model…,Fine-tuned是自己炼得模型,然后点击加载,需要一段时间……耐心等待一下

加载好后就可以看到了,如果想切换模型,就Eject弹出它

随便问了几个问题,感觉还行!

关键是那么多优质得语料,要从何处获得。据说anyrouter.top是某大厂专门开出来给大家免费使用,然后收集训练语料用的,可以理解,可以理解。
引用: