当前位置: 首页 > news >正文

llama-factory笔记

llama-factory笔记

RoPE 插值方法能提升长文本效果,如果没有特殊需求可以不使用(yarn最好,dynamic能动态变化,linear适合所有文本长度相近的情况且耗时最短)

加速方法:内置了flash_attention,auto即为flash_attention,unsloth更适合显存低的情况;flash_attention和unsloth主要用在训练过程中,vllm主要用在推理过程中

Qlora框架下的具体量化方法:bitsandbytes直接内置比较方便,hqq在显存极低情况下更好用(显存占用下降更多),但需要安装

Qlora最低容忍度为4bit量化,损失在4-8%(8bit损失<1%),但3比特及以下都有两位数的损失

Qlora只是在微调过程中牺牲精度来量化微调,模型本身依然是全精度的

微调后量化使用的导出量校准数据集格式为[{“text”:“abc”},…]

导出设备选择auto,cpu可能报错;大模型文件导出可能报错,需要修改最大分块大小,即单个模型文件的最大大小(GB)。

evaluate主要比的是BLEU相似度,不是准确率

截断长度对显存占用影响较大,若数据集长度固定,可以降低到max_length甚至低于max_length(抛弃长文本数据)

记录

Device: AMD 7940HX + 4060(8GB) + 64GB RAM

1epoch Qwen2.5-1.5B-Instruct 模型本身2.87GB

batch_size=16 5408item 截断长度64 时长8h 显存5.6GB
QLoRA未启用 加速方式flashattn

batch_size=16 5408item 截断长度64 时长8.5h 显存3.7GB
QLoRA启用(4bit) 量化方法bitsandbytes 加速方式flashattn

batch_size=32 2704item 截断长度64 时长8h 显存5.6GB
QLoRA启用(4bit) 量化方法bitsandbytes 加速方式flashattn

batch_size=1 86530item 截断长度1024 时长43h 显存3.7GB
QLoRA未启用 加速方式flashattn

batch_size=4 21632item 截断长度256 时长11.5h 显存3.9GB
QLoRA未启用 加速方式flashattn

batch_size=4 21632item 截断长度256 时长15.5h 显存2.1GB
QLoRA启用(4bit) 量化方法bitsandbytes 加速方式flashattn

batch_size=4 21632item 截断长度256 时长32h 显存2.7GB
QLoRA启用(8bit) 量化方法bitsandbytes 加速方式flashattn

1epoch Qwen2.5-3B-Instruct 模型本身5.74GB

batch_size=1 86530item 截断长度256 时长58h 显存6.7GB
QLoRA未启用 量化方法bitsandbytes 加速方式flashattn

batch_size=1 86530item 截断长度256 时长84h 显存2.6GB
QLoRA启用(4bit) 量化方法bitsandbytes 加速方式flashattn

batch_size=4 21632item 截断长度256 时长27h 显存3.1GB
QLoRA启用(4bit) 量化方法bitsandbytes 加速方式flashattn

batch_size=16 5409item 截断长度256 时长16h 显存5.1GB
QLoRA启用(4bit) 量化方法bitsandbytes 加速方式flashattn

batch_size=32 2704item 截断长度256 时长16h 显存7.1GB
QLoRA启用(4bit) 量化方法bitsandbytes 加速方式flashattn

1epoch Qwen2.5-7B-Instruct 模型本身14.1GB

batch_size=1 86530item 截断长度256 时长700h 显存14.5GB
QLoRA未启用 量化方法bitsandbytes 加速方式flashattn

batch_size=1 86530item 截断长度256 时长174h 显存6.2GB
QLoRA启用(4bit) 量化方法bitsandbytes 加速方式flashattn

http://www.dtcms.com/a/72453.html

相关文章:

  • python二级复习(1)
  • 编程题-第k个语法符号(中等)
  • 在react当中利用IntersectionObserve实现下拉加载数据
  • 使用生成对抗网络(GAN)进行人脸老化生成的Python示例
  • Conda 虚拟环境创建:加不加 Python 版本的深度剖析
  • Python(最新版)集成开发环境PyCharm下载安装详细教程
  • 开源WAF雷池本地化部署与远程查看网站安全防护的详细操作指南
  • 深度解析螺栓连接计算题:原理、计算与应用
  • Helm 简介与安装
  • 【leetcode hot 100 199】二叉树的右视图
  • ModelScope推理QwQ32B
  • SpringBoot手动注册定时任务
  • 【WRF-Urban】使用 CGLC-MODIS-LCZ_100m 数据集运行 WRF 时的城市参数化问题
  • 从0开始搭建微服务架构特别篇SpringCloud网关聚合knife4j
  • S/4 ERP QM 结合 EWM
  • 【C#】Http请求设置接收不安全的证书
  • 通义Qwen实战(1): 环境安装及微调实战
  • 蓝桥杯每日一题——Acwing 5438. 密接牛追踪2
  • Linux mount和SSD分区
  • JetsonOrin源码安装部署PaddlePaddle
  • 【java】集合的基本使用
  • [Linux][经验总结]Ubuntu6.11.0 docker更换镜像源(实操可用的正确方法)
  • 深入解析前后端分离架构:原理、实践与最佳方案
  • 算法手记5
  • ngx_event_conf_t
  • Qt事件处理(重写event)
  • nginx不在默认的yum仓库的解决方法
  • libstdc++ GLIBCXX_3.4.20 not found 解决方法
  • 计算机毕业设计:基于SSM理发店造型中心网上预约评价系统
  • C11标准对于C语言的内存模型的描述