第11章 Unsloth 优化:Phi-3 微调支持与 Llama 3 缺陷修复
许多 Llama 3 的微调模型都存在故障,我们曾在 Reddit 帖子上讨论过此问题。所以,请务必使用我们的 Llama 3 基础笔记本或 Instruct 笔记本!
此外,Mistral v0.3、Qwen 和 Yi 现在也获得了支持。我们将 Phi-3 的速度提升了 2 倍,内存使用量减少 50%;Mistral v3 的速度提升了 2.2 倍,VRAM 使用量减少 73%。所有预量化的 4-bit 模型(下载速度提升 4 倍,包括 Phi 3、Qwen 等)均位于我们的 Hugging Face 页面上。
我们还在 Colab 上上传了一个新的 ORPO 笔记本。我们的 GitHub 项目获得了 10,000 颗星,并被选入年度 GitHub 加速器计划!
别忘了在 GitHub 上给我们点星 ⭐ 并加入我们的 Discord 服务器 ❤️ 性能基准测试 模型 VRAM 🦥 Unsloth 速度 🦥 VRAM 节省 🦥 更长上下文 🤗 Hugging Face + FA2 Llama-3 8B 24GB 2x 63% 3 倍长 1x Llama-3 70B 80GB 1.8x 68% 6 倍长 1x Phi-3 Mini 24GB 1.85x 51% 3 倍长 1x Phi-3 Medium 24GB 1.8x 50% 3 倍长 1x Mistral v0.3 7B 24GB 2x 74% 4 倍长 1x FA2 指 Flash Attention 2。测试配置为:使用 Alpaca 数据集,批处理大小(batch size)为 2,梯度累积步数(gradient accumulation steps)为 4,秩(rank)为 32,并对所有线性层(q, k, v, o, gate, up, down)应用 QLoRA。24GB 显卡使用的是 Google Colab 新的 L4 GPU,80GB 显卡使用的是 A100 80GB。 🦙 Llama 3 微调问题 人们普遍认为 Llama 3 的微调要么无用要么效果不佳。然而,这种看法源于我们已识别并解决的若干问题。在 Unsloth 社区的帮助下,我们解决了其中许多问题,现在使用 Unsloth 进行微调应该可以完美运行!
以下是主要问题列表: 微调期间重复的 BOS 标记可能会导致问题。请查看此处。Unsloth 会自动修复此问题。GGUF 转换存在问题。请留意重复的 BOS 标记。同时请使用 CPU 而非 GPU 进行转换。Unsloth 内置了自动 GGUF 转换功能。 Llama 3 基础版本(非 instruct)的部分权重存在“缺陷”(未充分训练):<|reserved_special_token_{0->250}|> <|eot_id|> <|start_header_id|> <|end_header_id|>。这可能导致 NaNs 和异常结果。Unsloth 会自动修复此问题。
根据 Unsloth 社区的反馈,添加系统提示词(system prompt)能显著提升 Instruct 版本(甚至可能是基础版)的微调效果。量化问题也很普遍,这表明 Llama 3 其实能获得不错的性能,但选错方法会拖累表现。例如,微调时建议使用 bitsandbytes 的 nf4 格式以提升精度;若使用 GGUF,则尽量选用“I”版本。长上下文模型有时训练得并不理想——有些只是简单扩展 RoPE theta,甚至没有进行任何训练,随后用某种拼接数据集勉强转化为长上下文,因此效果往往不佳。由于上述问题,许多 Llama 3 的微调模型都存在缺陷,我们在 Reddit 帖子上对此展开了进一步讨论。因此,务必使用我们的 Llama 3 基础版笔记本或 Instruct 版笔记本!
Phi-3 微调速度提升 1.8 倍
我们成功将 Phi-3 mini 和 medium 转换为 Mistral 架构模型,使 Unsloth 的全套优化得以生效!已上传至我们的 Hugging Face 页面。
我们如何确认这种“Mistral 化”是有效的?Unsloth 社区成员将我们改造后的 Phi-3 mini 版本上传至 Hugging Face 开放 LLM 排行榜,结果表明其精度与微软原版相当。其他“Llama 化”版本则表现不佳,尤其在 MMLU 基准测试上。事实上,若对比 Unsloth 改造版 Phi-3 的训练损失,我们的版本损失率甚至略低于原版!这很可能是因为我们将注意力矩阵拆分为三个模块(Q、K、V),使 4 位量化能更精准地表示每个矩阵,而原版模块是将这三者融合在一起的。原版的 MLP 门控和上投影也是融合的,我们将其拆分了。
试试我们的 Phi-3 Mini 3.8B 笔记本和 Phi-3 Medium 14B 笔记本(可通过 Colab 运行)!配合 Unsloth,Phi-3 Medium 可轻松运行在免费的 Tesla T4 Colab 上,且上下文长度比 FA2 长 3 到 4 倍!💕 谢谢大家!我们还很荣幸入选了 Github 年度加速器计划!非常兴奋能与全球其他 10 个精彩项目并肩合作,对此充满期待!Github 的博客文章有更多细节!
也欢迎通过我们的 Ko-fi 捐赠页面支持我们。特别感谢:Abuben, Jaya, Oliver, jedamaster, Nguyen, Mo, Icecream102, arthrod, Teto, Chimiste, Martin & FullOff_Bad_Ideas 等新支持者!🙏
照例,欢迎加入我们的 Discord 服务器寻求帮助,或者单纯表达支持!也可以在 Twitter 和 Substack 上关注我们。感谢阅读! Daniel & Michael Han 🦥
2024年5月23日 全部模型支持即将上线 免费开始使用 加入我们的 Discord