进阶 unsloth.ai 2026-10-07 22:27:00 · 6 阅读
第5章 Unsloth:TinyLlama 微调提速 387%,GGUF 转换加速 6 倍
unsloth
下载
☰
下载
博客 TinyLlama 提速 387%,GGUF 转换提速 6 倍2024年1月18日 • Daniel & Michael 撰写
TinyLlama Colab T4
387%
更快
TinyLlama Colab T4
-74%
显存
DPO Zephyr 1×A100
188%
更快
DPO Zephyr 1×A100
-11.6%
显存
大家好,好久不见,这次更新我们带来了不少新东西!也祝大家新年快乐!
现在你可以在免费的 Google Colab 上微调 TinyLlama,速度提升 387%,显存占用减少 74%,并支持 packing,跑完 Alpaca 52K 数据集一个 epoch 只需 84 分钟!上下文窗口也会自动从 2048 扩展到 4096 tokens!Notebook
借助 🤗Hugging Face 的 packing 支持,TinyLlama 相比不用 packing 的方式快了足足 6700%!太惊人啦!
我们预先量化了 Llama-7b、Mistral-7b、Codellama-34b 等模型,下载速度提升 4 倍,并通过减少内存碎片节省 500MB 到 1GB 显存,再也不怕 OOM 了!Mistral-7b 的 Notebook。
你可以用 save_pretrained_merged 或 saved_pretrained_gguf 直接把 Unsloth 训练的模型保存为 float16(供 VLLM 使用)、推送到 🤗HF Hub,或直接转换成 GGUF,速度提升 6 倍!Mistral-7b 的 Notebook,保存方法见 notebook 下方部分。
Unsloth 还通过 Llama Factory 集成,提供了易用的图形界面,感谢 Llama Factory 团队的帮助!
DPO 训练速度提升 188%,显存减少 12%。Notebook
应大家的热烈要求,现在已支持所有 Llama/Mistral 系列模型,包括 Yi、Deepseek、Starling 和 Qwen。快来试试你喜欢的模型吧!不支持的话会报错 :)
Hugging Face 🤗
如果你还没看到,我们也在 Hugging Face 上发了一篇博客。通过直接集成 Unsloth,用户只需安装我们的包,就能获得 2 倍的微调速度和 50% 的显存节省。非常感谢 Hugging Face 团队和 Younes Belkada 促成了这次合作,期待未来有更多合作!我们也已出现在 🤗Hugging Face 的文档中!
我们在 Tesla T4 和 A100 Google Colab 实例上用 4 个数据集跑了 59 次基准测试。所有测试均对全部线性层(attention 和 MLP)应用 QLoRA(rank 为 16),并开启梯度检查点。对比最新版 Transformers(4.36,在 Pytorch 2.1.1 下原生集成 SDPA),Unsloth 最高快 2.7 倍、省 74% 显存。我们还在免费 Google Colab 实例(低内存、1 块 T4 GPU、Pytorch 2.1.0 CUDA 12.1)上做了测试。全部 59 个 notebook 均已提供,方便完整复现,更多细节见 Unsloth 的基准测试说明。
其他重要更新
LoRA 新增 Bias 和 Dropout 功能
支持 LoftQ、RSLoRA(Rank stabilized LoRA)以及所有 PEFT 参数
针对 Jupyter Notebook 用户,我们加入了 DPO 流式统计,方便你实时监控模型表现
所有 notebook 还支持原生文本流式输出,让你更轻松地处理文本数据
支持我们!💕 作为一对没有收入、没有融资的两兄弟团队,我们开设了捐赠页面。你可以在 Ko-fi 上直接支持我们!任何捐赠都将不胜感激,捐赠者还能提前体验我们未来的部分新功能。
老规矩,欢迎加入我们的 Discord 服务器获取帮助或表示支持!也可以在 Twitter 和 Substack 上关注我们。感谢各位的持续支持! 代码 GGUF 转换速度提升 6 倍,新增 QLoRA 与 float16 融合支持: model.save_pretrained_merged("dir", save_method = "merged_16bit")
model.save_pretrained_merged("dir", save_method = "merged_4bit")
model.save_pretrained_gguf("dir", tokenizer, quantization_method = "q4_k_m")
model.save_pretrained_gguf("dir", tokenizer, quantization_method = "fast_quantized") model.push_to_hub_merged("hf_username/dir", save_method = "merged_16bit")
model.push_to_hub_merged("hf_username/dir", save_method = "merged_4bit")
model.push_to_hub_gguf("hf_username/dir", tokenizer, quantization_method = "q4_k_m")
model.push_to_hub_gguf("hf_username/dir", tokenizer, quantization_method = "fast_quantized") 模型下载速度提升 4 倍,通过预量化模型减少 500MB 以上 GPU 碎片化开销: "unsloth/mistral-7b-bnb-4bit",
"unsloth/llama-2-7b-bnb-4bit",
"unsloth/llama-2-13b-bnb-4bit",
"unsloth/codellama-34b-bnb-4bit",
"unsloth/tinyllama-bnb-4bit", 感谢阅读! Daniel & Michael Han 🦥
2024 年 1 月 18 日 Unsloth Studio 即将推出! 免费开始使用 加入我们的 Discord
| 1 A100 40GB | Dataset | 🤗Hugging Face | 🤗 + Flash Attention 2 | 🦥Unsloth | 🦥 VRAM reduction |
| Code Llama 34b | Slim Orca | 1x | 1.01x | 1.94x | -22.7% |
| Llama-2 7b | Slim Orca | 1x | 0.96x | 1.87x | -39.3% |
| Mistral 7b | Slim Orca | 1x | 1.17x | 1.88x | -65.9% |
| Tiny Llama 1.1b | Alpaca | 1x | 1.55x | 2.74x | -57.8% |
| DPO with Zephyr | Ultra Chat | 1x | 1.24x | 1.88x | -11.6% |
| Free Colab T4 | Dataset | 🤗 Hugging Face | 🤗 + Pytorch 2.1.1 | 🦥 Unsloth | 🦥 VRAM reduction |
| Llama-2 7b | OASST | 1x | 1.19x | 1.95x | -43.3% |
| Mistral 7b | Alpaca | 1x | 1.07x | 1.56x | -13.7% |
| Tiny Llama 1.1b | Alpaca | 1x | 2.06x | 3.87x | -73.8% |
| DPO with Zephyr | Ultra Chat | 1x | 1.09x | 1.55x | -18.6% |
老规矩,欢迎加入我们的 Discord 服务器获取帮助或表示支持!也可以在 Twitter 和 Substack 上关注我们。感谢各位的持续支持! 代码 GGUF 转换速度提升 6 倍,新增 QLoRA 与 float16 融合支持: model.save_pretrained_merged("dir", save_method = "merged_16bit")
model.save_pretrained_merged("dir", save_method = "merged_4bit")
model.save_pretrained_gguf("dir", tokenizer, quantization_method = "q4_k_m")
model.save_pretrained_gguf("dir", tokenizer, quantization_method = "fast_quantized") model.push_to_hub_merged("hf_username/dir", save_method = "merged_16bit")
model.push_to_hub_merged("hf_username/dir", save_method = "merged_4bit")
model.push_to_hub_gguf("hf_username/dir", tokenizer, quantization_method = "q4_k_m")
model.push_to_hub_gguf("hf_username/dir", tokenizer, quantization_method = "fast_quantized") 模型下载速度提升 4 倍,通过预量化模型减少 500MB 以上 GPU 碎片化开销: "unsloth/mistral-7b-bnb-4bit",
"unsloth/llama-2-7b-bnb-4bit",
"unsloth/llama-2-13b-bnb-4bit",
"unsloth/codellama-34b-bnb-4bit",
"unsloth/tinyllama-bnb-4bit", 感谢阅读! Daniel & Michael Han 🦥
2024 年 1 月 18 日 Unsloth Studio 即将推出! 免费开始使用 加入我们的 Discord