进阶 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 的文档中!
1 A100 40GBDataset🤗Hugging Face🤗 + Flash Attention 2🦥Unsloth🦥 VRAM reduction
Code Llama 34bSlim Orca1x1.01x1.94x-22.7%
Llama-2 7bSlim Orca1x0.96x1.87x-39.3%
Mistral 7bSlim Orca1x1.17x1.88x-65.9%
Tiny Llama 1.1bAlpaca1x1.55x2.74x-57.8%
DPO with ZephyrUltra Chat1x1.24x1.88x-11.6%
我们在 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 的基准测试说明。
Free Colab T4Dataset🤗 Hugging Face🤗 + Pytorch 2.1.1🦥 Unsloth🦥 VRAM reduction
Llama-2 7bOASST1x1.19x1.95x-43.3%
Mistral 7bAlpaca1x1.07x1.56x-13.7%
Tiny Llama 1.1bAlpaca1x2.06x3.87x-73.8%
DPO with ZephyrUltra Chat1x1.09x1.55x-18.6%
其他重要更新 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

评论 (0)