尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
LLaMA-Factory 提速117%:一行配置省一半显存
LLaMA-Factory 提速117%一行配置省一半显存【免费下载链接】LlamaFactoryUnified Efficient Fine-Tuning of 100 LLMs VLMs (ACL 2024)项目地址: https://gitcode.com/GitHub_Trending/ll/LlamaFactory同一块 A100、同样的 2048 序列LLaMA-Factory 打开一行 Liger Kernel 配置后Qwen2-VL-7B 微调速度从 892 提到 1936 tokens/s显存从 18.2GB 降到 14.3GB。这是我在 LLM 微调里见过最直接的提速和显存优化。一张表看懂差距用 scripts/bench_qwen.py 在 A100 上跑的数batch 4、序列 2048、全参数 SFT指标标准 AttentionFlashAttention-2开启 Liger Kernel训练速度tokens/s3848921936显存GB28.618.214.3相对速度基准132%比 FA2 再快 117%显存相对标准基准-36%-50%精度基准无损无损117% 是什么概念1936 tokens/s 意味着每步 8192 个 token 半秒不到就过完1000 步冒烟跑下来约 7 分钟——你去趟楼下买杯咖啡回来数据已经滚了三遍。✅它到底做了什么从最反直觉的那个模块说起翻源码时我原以为第一个看到的是重写的 attention 内核。结果恰恰相反它动刀最狠的地方是训练每步里的交叉熵把模型预测概率和答案逐 token 比对算 loss 的那一步。逻辑在 src/llamafactory/model/model_utils/liger_kernel.py 里。显存大头不是注意力是交叉熵一句话结论词表 15 万时logits 矩阵才是整个网络里最大的中间张量。标准实现先把 (batch × 序列 × 词表) 的概率矩阵整个算出来再 softmax、再算 lossbatch 越大这张矩阵越吃显存。Liger Kernel 把矩阵乘 log-softmax loss压进一个融合 kernel算子融合把原来分三次调 GPU 的事合成一次分块计算完整矩阵从头到尾不落显存。效果光这一项就把速度从 384 顶到 1936 tokens/s表格里 117% 的大头就来自这里。一套换芯逻辑覆盖 25 个模型家族一句话结论你只需要开一个开关模型代码一行不用改。它按模型类型分发到各自优化过的版本model_type getattr(config, model_type, None) elif model_type qwen3: from liger_kernel.transformers import apply_liger_kernel_to_qwen3 elif model_type qwen2_vl: from liger_kernel.transformers import apply_liger_kernel_to_qwen2_vlLlama、Qwen含 VL 和 MoE、Gemma、GLM-4、Mistral 等 25 个家族都有入口。不在列表里的模型终端会提示当前架构不支持然后正常走回退路径——不用慌只是没加速而已。需要 logits 时它会自动退一步容易忽略但很见功力的一处当训练阶段必须拿到完整 logits比如算困惑度时代码会自动关掉省显存最狠的分块交叉熵退回普通 loss 计算。说白了省显存和保正确性冲突时它选保正确性。第二个引擎把显存花聪明上一节讲怎么算得快这节讲怎么省着花。类比一下考试复习不是每页作业都留着只留每章第一页翻回去时把中间过程重推一遍——用一点重算时间换一大截显存。这就是梯度检查点activation checkpointing中间结果不存了用的时候现算。实现在 src/llamafactory/model/model_utils/checkpointing.py有两处做得比标准实现更细只给要看的层加检查点。每层执行前先看有没有可训练参数没有的层LoRA 里是大多数直接正常跑不做检查点。相当于只给要回看的章节留书签。has_grad any(param.requires_grad for param in module.parameters()) if has_grad: return gradient_checkpointing_func(func, *args, **kwargs) else: return func(*args, **kwargs) # 无可训练参数的层直接算显存实在不够可以把第一页搬到 CPU 内存。开use_unsloth_gc: true后层的输入先拷到系统内存反向传播时再取回来重算。这是拿 PCIe 带宽换显存只在快 OOM 时才值得开。第三招是外置的ZeRO-3 把优化器状态和参数切分到多卡甚至 CPU仓库里examples/deepspeed/ds_z3_config.json就是现成配置。三招叠起来就是表格里 28.6GB 到 14.3GB 的那条线——比标准注意力少花一半。10 分钟搭好最小可用环境 我的流程克隆仓库、安装、在配置里加一行、跑起来。先克隆git clone https://gitcode.com/GitHub_Trending/ll/LlamaFactory cd LlamaFactory pip install -e .然后改训练配置。我在仓库自带的 LoRA 示例基础上只加了一行默认是关的### train per_device_train_batch_size: 4 bf16: true enable_liger_kernel: true # 默认 false缺依赖时会提示安装最后一条命令启动终端按顺序打出Liger kernel has been applied to the model.和Gradient checkpointing enabled.——看到这两行就说明加速真的生效了换个场景跑图文视频混合多模态纯文本不是它的极限scripts/bench_qwen.py 里专门造了图像 视频 文本的混合序列来压测多模态微调的收益反而更大吞吐提升 128%每小时处理样本从 4200 涨到 9580峰值显存降 53%视频帧撑起来的长序列不再内存爆炸序列越长分块交叉熵省得越多图文长文场景收益随 cutoff_len 水涨船高如果你的场景是图文或视频混训可以直接看examples/train_lora/qwen3vl_lora_sft.yaml这个现成配置再跑一遍--liger_kernel的 bench 对比。还没解决的部分 怎么参与诚实说两个当前的坑NPU 上非 Ascend 910 的卡代码里会主动关掉 swiglu 和融合交叉熵收益比 CUDA 上小一截ROCmAMD的完整适配还在路上量化训练INT8/INT4配合加速内核也有 1~2% 的精度波动如果你正好卡在这两点上或者想给新架构补融合算子可以从 src/llamafactory/model/model_utils/ 这个目录入手先看 issue 里有没有人踩过同样的坑再提 PR。1936 tokens/s、14.3GB 显存都是配置里一行 true 换来的。今晚就把那一行改成 true拿你自己的数据跑一遍看看你的卡能快多少。【免费下载链接】LlamaFactoryUnified Efficient Fine-Tuning of 100 LLMs VLMs (ACL 2024)项目地址: https://gitcode.com/GitHub_Trending/ll/LlamaFactory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

一条命令把qmc0变mp3:qmcdump快速解密完整指南

一条命令把qmc0变mp3:qmcdump快速解密完整指南

一条命令把qmc0变mp3:qmcdump快速解密完整指南 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 一条命令把QQ…

📅 2026/8/23 0:11:22
基于springboot体育馆预约系统设计与开发

基于springboot体育馆预约系统设计与开发

选题背景随着全民健身国家战略的深入推进和高校体育场馆资源的日益紧张,传统的人工登记、电话预约等体育馆管理模式已难以满足师生日益增长的多元化、便捷化运动需求。这些传统方式普遍存在信息不透明、预约流程繁琐、场地资源分配不均、高峰时段拥堵严重、管理效率…

📅 2026/10/24 9:42:52
基于springboot医院就诊管理系统设计与开发

基于springboot医院就诊管理系统设计与开发

选题背景:数字化浪潮下的医疗管理变革与SpringBoot技术赋能在当今社会,医疗健康领域正经历着一场前所未有的数字化、智能化深刻变革。随着我国“健康中国2030”战略的深入推进以及人口老龄化进程的加速,人民群众对高质量、高效率、便捷化医疗…

📅 2026/10/27 3:09:22
MORE NEWS

更多资讯

📰

JS逆向-RSA算法加密(苏宁登录接口password2参数)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

如何用 PoB 完成一次离线 Build 规划

如何用 PoB 完成一次离线 Build 规划 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding Path of Building(PoB)是一款面向《流放之路》玩家的离线 Bu…

📰

Strata 本地推理引擎选型与速度实测:4 个量化版本怎么选、你的电脑能不能跑

Strata 本地推理引擎选型与速度实测:4 个量化版本怎么选、你的电脑能不能跑 【免费下载链接】Strata Qwen3.8-Flash-Next on any consumer hardware: one-click install for Windows / Linux. Strata inference engine, OpenAI/Anthropic API on localhost, optiona…

📰

2021 年 6 月青少年软编等考 C 语言五级真题解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

DeepTutor 完整指南:把解题、知识库、自动出题与长期记忆装进一个本地工作台

DeepTutor 完整指南:把解题、知识库、自动出题与长期记忆装进一个本地工作台 【免费下载链接】DeepTutor DeepTutor: Lifelong Personalized Tutoring. https://deeptutor.info/. 项目地址: https://gitcode.com/GitHub_Trending/dee/DeepTutor DeepTutor 是…

📰

GD32H759+RT-Thread SPI驱动实战:时序、设备框架与Cache一致性

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬