惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
C
Check Point Blog
J
Java Code Geeks
腾讯CDC
Apple Machine Learning Research
Apple Machine Learning Research
宝玉的分享
宝玉的分享
Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
量子位
Google DeepMind News
Google DeepMind News
I
InfoQ
The GitHub Blog
The GitHub Blog
aimingoo的专栏
aimingoo的专栏
N
Netflix TechBlog - Medium
Hugging Face - Blog
Hugging Face - Blog
博客园 - Franky
V
V2EX
Blog — PlanetScale
Blog — PlanetScale
T
The Blog of Author Tim Ferriss
小众软件
小众软件
博客园_首页
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
IT之家
IT之家

博客园 - mengrennwpu

龙虾白嫖指南,请查收~ Qwen3-Embedding国产化部署 LLM应用实践: NoteBookLM初次使用 LLM应用剖析: 手机智能助理Phone Agent LLM应用剖析: 小红书AI图文生成器-红墨 LLM应用剖析: 热点新闻助手TrendRadar LLM书籍参阅: 谷歌提示工程 LLM应用剖析: AI对冲基金 LLM应用剖析: 舆情分析多智能体-微舆BettaFish LLM应用实战-财经新闻自动聚合 今日吃瓜-艺术家集体抗议:OpenAI Sora项目背后的无偿劳动真相 LLM应用实战: 给个公司简称,输出公司全称 LLM应用实战: AI资讯的自动聚合及报告生成 LLM论文研读: GraphRAG的替代者LightRAG LLM应用实战: OpenAI多代理新作-Swarm LLM应用实战: 文档问答系统Kotaemon-1. 简介及部署实践 LLM论文研读: MindSearch LLM应用实战: 产业治理多标签分类 LLM应用实战:当图谱问答(KBQA)集成大模型(三) LLM实战:当网页爬虫集成gpt3.5
LLM实战:LLM微调加速神器-Unsloth + Qwen1.5
mengrennwpu · 2024-05-16 · via 博客园 - mengrennwpu

1. 背景

上一篇介绍了基于训练加速框架Unsloth,微调训练Llama3的显卡资源占用及训练时间对比。

近期Unsloth新增了Qwen1.5的模型适配,因此本qiang~马不停蹄地又进行了一次实验对比。

对Unsloth的简介,感兴趣的客观可以查阅上一篇《LLM微调加速神器:Unsloth + LLama3》。

2. 实战

本着眼过千遍不如手过一遍的宗旨,本qiang~针对Unsloth做了一个对比实现。

对比的实验环境为: A800,模型为Qwen1.5-32B-Chat。

可以使用如下命令进行更新unsloth​。

pip install "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"

2.1 比对维度

维度

说明

显卡

是否支持bf16

最大文本长度

max_seq_length

批次大小

per_device_train_batch_size

梯度累加步长

gradient_accumulation_steps

LoRA的rank

dropout

lora_droput

2.2 源码

源码请见地址,由于Qwen1.5和Llama3的prompt模板不一致,因此源码层面上也稍加了改动。

3 实验结果

3.1 A800

 

3.2 结论

针对于Qwen1.5-32B-Chat进行unsloth训练,与基于transformers框架训练进行比对,结论如下:

集成unsloth后,显卡占用确实更少,平均减少20%-25%,训练效率确实更快,不管是哪种维度,平均训练时间减少了27%-41%。

使用40G显存的单卡如A40,即可进行微调训练。

4. 总结

一句话足矣~

本文主要是使用unsloth框架针对Qwen1.5的高效微调实验,提供了详细的对比代码以及不同维度的对比分析结果。

之后会研读一遍unsloth的底层源码,具体是如何使用triton语言实现加速的,以及如何手写的前馈网络和反向传播的实现~

5. 参考

1. unsloth: https://github.com/unslothai/unsloth