论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
人工智能
›
人工智能
›
llama-factory笔记
llama-factory笔记
tsx81428
论坛元老
|
2025-4-21 02:13:22
|
显示全部楼层
|
阅读模式
楼主
主题
1899
|
帖子
1899
|
积分
5699
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
llama-factory笔记
Qlora最低容忍度为4bit量化,损失在4-8%(8bit损失<1%),但3比特及以下都有两位数的损失
Qlora只是在微调过程中断送精度来量化微调,模型本身依然是全精度的
微调后量化使用的导出量校准数据集格式为[{“text”:“abc”},…]
导出装备选择auto,cpu可能报错;大模型文件导出可能报错,必要修改最大分块大小,即单个模型文件的最大大小(GB)。
evaluate主要比的是BLEU相似度,不是准确率
截断长度对显存占用影响较大,若数据集长度固定,可以低落到max_length乃至低于max_length(扬弃长文本数据)
方法理论
量化方法
BitsAndBytes
是一种简单易用的量化方法,特别适合对模型进行零样本量化(Zero-shot Quantization),因为它不必要额外的校准数据或校准过程。任何包含 torch.nn.Linear 模块的模型都可以直接使用该方法进行量化。别的,它通过高效的8位优化技能,将模型参数和中间盘算结果转换为8位表示,从而实现压缩和加快的目的。
**HQQ (Half-Quadratic Quantization)**的焦点优势在于其独特的量化策略,支持从8位到1位的多种比特量化,并引入了机动的参数设置(如 group_size 和量化轴的选择)以平衡精度与服从。HQQ的问题界说在于如何在零点量化中取得最优的零点和缩放倍数(z 和 s)。为了简化求解过程,HQQ 将缩放尺度s固定,仅优化零点z。
**EETQ (Easy and Efficient Quantization for Transformers)**是一种只对模型权重进行量化的后训练量化(PTQ)方法,具有较快的速度和简单易用的特性。它通过引入gemv算子这一全新特性,使得模型性能得到10%到30%的提升,是对现有量化方法的一次重大革新。
bitsandbytes直接内置比力方便,hqq在显存极低环境下更好用(显存占用降落更多),但安装复杂;两者性能相差不大,只是bitsandbytes只能8bit和4bit,而hqq还能2bit、3bit等。
加快方式
Flash Attention
是一种高效的注意力机制实现方式,旨在淘汰显存占用并加快Transformer模型的推理过程。它通过对注意力矩阵的分块处置惩罚和优化内存访问模式,显著提升了盘算服从。
Unsloth
是一种针对Transformer模型的高效训练和推理框架。它通过优化底层算子和内存管理,进一步提升了模型的运行速度,同时保持较高的精度。
vLLM
是一个专为大规模语言模型计划的推理优化工具。它通过高效的缓存管理和张量并行化技能,显著提升了长序列生成任务的性能。
auto即为flash_attention,unsloth更适合显存低的环境,unsloth比flash_attention速度快了40%,显存占用淘汰15%;flash_attention和unsloth主要用在训练过程中,vllm主要用在推理过程中
RoPE 插值方法
RoPE(Rotary Positional Embedding,旋转位置编码)是一种用于 Transformer 模型的位置编码方法,它通过旋转操作将位置信息嵌入到注意力机制中。RoPE 的焦点头脑是利用复数的旋转性子,使得位置编码在差别长度的输入序列中保持一致性和可扩展性。
然而,当输入序列长度超出模型训练时的最大长度时,RoPE 的表现可能会受到影响。为了解决这一问题,研究者提出了多种 RoPE 插值方法 ,以动态或静态的方式调整旋转角度,从而顺应更长的输入序列。
Linear
即线性插值方法,是一种简单的RoPE优化策略,通过对旋转角度进行线性扩展来顺应差别长度的输入序列。
Dynamic
即动态插值方法,根据输入序列的长度动态调整旋转角度,确保位置编码在差别长度下都能保持一致性。
**YARN (Yet Another Rotation-based Method)**是一种改进的RoPE插值方法,旨在更好地顺应差别长度的输入序列。它通过动态调整旋转角度,解决了长序列中的位置编码问题。
Llama3
是Meta提出的一种基于RoPE的改进方法,专注于提升长序列建模能力。它通过优化旋转角度的盘算方式,增强了模型在长上下文中的表现。
问题
传统 Transformer 的表现
RoPE 的解决方案
长度限定最大长度固定,无法扩展动态顺应差别长度,支持超长序列外推性差超过最大长度后性能急剧降落自然支持超长序列,外推性强缺乏相对位置信息仅编码绝对位置,难以捕捉相对关系同时编码绝对和相对位置盘算复杂度高相对位置编码必要额外盘算旋转操作高效,盘算开销低 RoPE插值方法能提升长文本结果,但假如没有特殊需求可以不使用,插值本身也会增加少少量开销(yarn最好,dynamic能动态厘革,linear适合全部文本长度相近的环境且耗时最短)
加快器
GaLore
(Gradient Accumulation with Low-Rank Embeddings)优化器旨在
淘汰内存占用
并加快训练过程。
利用低秩嵌入技能压缩梯度信息,低落内存需求。
支持梯度累积,实用于显存受限的场景。
在保持模型性能的同时,显著淘汰盘算资源消耗。
APOLLO
优化器是一种基于二阶优化方法的深度学习优化器,通过近似Hessian矩阵实现更高效的参数更新,
提升收敛速度
。
利用低秩近似和随机采样技能低落盘算复杂度。
提供更快的收敛速度和更高的优化精度。
实用于非凸优化问题,尤其在深度学习模型中表现优秀。
BAdam
(Blockwise Adam)优化器是Adam优化器的改进版本,通太过块更新参数来
淘汰内存占用
和盘算开销。
将参数分块,逐块更新,低落内存需求。
保留Adam优化器的自顺应学习率特性。
在资源受限的装备(如移动装备)上表现精良。
这三种加快器不能与Lora同时使用
纪录
Device
: AMD 7940HX + 4060(8GB) + 64GB RAM
梯度累计步数:8
1epoch Qwen2.5-1.5B-Instruct 模型本身2.87GB
batch_size=4 5408 item 截断长度128 时长3.5h 显存6.1GB
QLoRA未启用 加快方式flashattn
batch_size=4 5408 item 截断长度128 时长5h 显存4.3GB
QLoRA启用(4bit) 量化方法bitsandbytes 加快方式flashattn
batch_size=4 5408 item 截断长度128 时长2.5h 显存4.5GB
QLoRA未启用 加快方式unsloth
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
batchsize=16 5408item 截断长度64 时长5.6h 4.8GB
QLoRA未启用 加快方式unsloth
batchsize=32 2704item 截断长度64 时长5h 3.9GB
QLoRA未启用 加快方式unsloth
batchsize=32 2704item 截断长度64 时长5h 2.2GB
QLoRA(4bit) 量化方法bitsandbytes 加快方式unsloth
batchsize=64 1352item 截断长度64 时长5h 2.7GB
QLoRA(4bit) 量化方法bitsandbytes 加快方式unsloth
batchsize=256 338item 截断长度64 时长5h 5.9GB
QLoRA(4bit) 量化方法bitsandbytes 加快方式unsloth
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
batch_size=1 86530item 截断长度256 时长47.5h 显存6.4GB
QLoRA未启用 量化方法bitsandbytes 加快方式unsloth
batch_size=1 86530item 截断长度256 时长56.5h 显存2.7GB
QLoRA启用(4bit) 量化方法bitsandbytes 加快方式unsloth
batch_size=32 2704item 截断长度256 时长10h 显存3.7GB
QLoRA启用(4bit) 量化方法bitsandbytes 加快方式unsloth
batch_size=128 676item 截断长度256 时长9.5h 显存5.8GB
QLoRA启用(4bit) 量化方法bitsandbytes 加快方式unsloth
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
batch_size=16 5408item 截断长度256 时长45h 显存8.2GB
QLoRA启用(4bit) 量化方法bitsandbytes 加快方式flashattn
batch_size=1 86530item 截断长度256 时长640h 显存14.8GB
QLoRA未启用 量化方法bitsandbytes 加快方式unsloth
batch_size=1 86530item 截断长度256 时长93.5h 显存5.9GB
QLoRA启用(4bit) 量化方法bitsandbytes 加快方式unsloth
batch_size=4 21632item 截断长度256 时长32.5h 显存6.2GB
QLoRA启用(4bit) 量化方法bitsandbytes 加快方式unsloth
batch_size=8 10816item 截断长度256 时长28h 显存6.5GB
QLoRA启用(4bit) 量化方法bitsandbytes 加快方式unsloth
batch_size=16 5408item 截断长度256 时长25h 显存7.1GB
QLoRA启用(4bit) 量化方法bitsandbytes 加快方式unsloth
batch_size=32 2704item 截断长度256 时长22h 显存7.5GB
QLoRA启用(4bit) 量化方法bitsandbytes 加快方式unsloth
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
tsx81428
论坛元老
这个人很懒什么都没写!
楼主热帖
【pandas小技巧】--读取多个文件 ...
【参考】开发工程师职级与职级界定-职 ...
MySQL与Redis数据双写一致性工程落地案 ...
【毕业季】纸短情长,浅谈大二以前的学 ...
读SQL进阶教程笔记06_外连接
mysql修改表字段长度
kubernetes之镜像拉取策略ImagePullSec ...
BinaryBombs(二进制炸弹实验) ...
Apache Shiro反序列化漏洞(Shiro550) ...
手把手教你定位线上MySQL锁超时问题, ...
标签云
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
Java
IOS
Nosql
快速回复
返回顶部
返回列表