首页 > 其他分享 >LLM实战:LLM微调加速神器-Unsloth + Qwen1.5

LLM实战:LLM微调加速神器-Unsloth + Qwen1.5

时间:2024-05-16 21:32:07浏览次数:25  
标签:unsloth 训练 Unsloth 源码 LLM Qwen1.5

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

 

 


 

标签:unsloth,训练,Unsloth,源码,LLM,Qwen1.5
From: https://www.cnblogs.com/mengrennwpu/p/18196758

相关文章

  • LLM-通义千问:MyBatis-Plus 多租户插件
    MyBatis-Plus(简称MP)是一个对MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。多租户(Multi-Tenant)是一种软件架构技术,它允许多个组织(即“租户”)共享同一应用程序的实例,但每个组织的数据都是隔离且私有的。在多租户场景下,MyBatis-Plus提供了一种插件......
  • LLM-通义千问:掌握的Java知识过于零散,怎么系统地串一串
    要系统地整理和深化你的Java知识,可以遵循以下几个步骤和策略:1.回顾基础语言基础:从Java的基本语法开始,包括变量声明、数据类型、运算符、控制结构(if-else,for,while等)、数组和方法定义。面向对象编程:深入理解类与对象、继承、封装、多态这些核心概念,并实践如何设计良好的类......
  • 精通RAG架构:从0到1,基于LLM+RAG构建生产级企业知识库
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪......
  • LLMOps平台对比 dify vs bisheng
      difybisheng功能完备性、稳定性较为完备和稳定,从模型调优、可观测性、知识库管理等方面都优于bisheng升级全部docker容器搞定,操作简易功能完备性差一些,主要是核心团队在开发,issue较多如:助手运行时调LLM节点报错根据历史版本升级手册,升级操作较为复杂......
  • 小程序框架+LLM,从融媒到智媒进化思路
    过去5年,媒体行业一直都在进行着信息化建设向融媒体平台建设的转变。一些融媒体的建设演变总结如下:新闻终端的端侧内容矩阵建设,如App新闻端,社交平台上的官方媒体等新闻+本地生活双旗舰客户端,兼顾主流媒体核心宣传,同时也在推进探索本地民生经营新平台重塑融媒体用户增长......
  • LLM实战:LLM微调加速神器-Unsloth + LLama3
    1.背景五一结束后,本qiang~又投入了LLM的技术海洋中,本期将给大家带来LLM微调神器:Unsloth。正如Unsloth官方的对外宣贯:Easilyfinetune&trainLLMs;Getfasterwithunsloth。微调训练LLM,可以显著提升速度,其次显存占用也会显著减少。但有一点需要说明:unsloth目前开源部分只支......
  • vllm使用总结
    核心问题点60%内存存放参数,30%存放缓存的key,value向量,10%存放其他参数。LLM相对传统深度学习,对cache的管理较差。深度学习要求tensor内存连续,一般深度学习内存参数几乎不动,但LLM参数长度动态变化且周期无法预知导致cache内存碎片化共享内存做的比较差。LLMpredictnext......
  • Bellman_Ford
    基本上用不到的算法,和高精度一样,不常用,用到了又无可代替常用于限制边数的最短路算法。使用范围可以处理任意边权的图,可以处理负环,可以判断负环。时间复杂度\(O(nm)\)。因为太慢了,在求最短路的时候基本用不到,但是它的优化版SPFA则大大优化了时间复杂度,算是最短路里最好用的算......
  • 一个低级问题导致vLLM加载大模型时ray卡死
    这两天一直被一个问题困扰,用vLLM加载千问时不能开并行(tensor_parallel_size>1),一开就会卡在ray阶段,最初是提示StartedalocalRayinstance,后来手工启动ray集群,就提示connectedtoRaycluster。无论怎样调都无法跑下去,根本不会加载模型,换了各种版本的vllm、transformer、ray......
  • Berkeley vLLM:算力减半、吞吐增十倍
    BerkeleyvLLM:算力减半、吞吐增十倍来源 https://zhuanlan.zhihu.com/p/697142422 随着大语言模型(LLM)的不断发展,这些模型在很大程度上改变了人类使用AI的方式。然而,实际上为这些模型提供服务仍然存在挑战,即使在昂贵的硬件上也可能慢得惊人。现在这种限制正在被打破。最近,......