llamafactory报错:双卡4090GPU,训练qwen2.5:7B、14B时报错GPU显存不足(out of memory),轻松搞定~~~

实际问题场景:

使用llamafactory进行微调qwen2.5 7B和14B的大模型时,会出现out of memory的报错。尝试使用降低batch_size(原本是2,现在降到1)的方式,可以让qwen2.5:7B跑起来,但时不时会不稳定,还是会报这个错误;微调14B的话,直接就报错了,根本跑起来。(显卡配置为两张23G的4090显卡,显存一共46G)目测lora微调显存的大小是模型本身大小的3倍以上,才能正常跑起来。

解决办法:

  1. 去qwen的官网找到下载ds_config_zero3.json这个文件
    https://github.com/QwenLM/Qwen/blob/main/finetune/ds_config_zero3.json
  2. 将文件放在llamafactory目录下
  3. 编辑ds_config_zero3.json这个文件,将device改成cpu即可
python 复制代码
"zero_optimization": {
        "stage": 3,
        "offload_optimizer": {
            "device": "cpu",
            "pin_memory": true
        },
        "offload_param": {
            "device": "cpu",
            "pin_memory": true
        },

注: 若不知道这个配置的代表什么含义的话,可以看这一篇deepspeed配置讲解

  1. 启动llamafactory-cli webui ,把参数设置好,然后预览下启动命令,复制出来
  2. 将命令复制出来 ,在llamafactory当前目录下直接粘贴,启动就大功告成了!!!
    (据说更大的模型都可以训练,只是需要的时间很多,没办法,时间换空间是这样了)

启动后查看显卡使用情况,显卡直接拉满

命令:nvitop

如果没有这个命令,pip install nvitop ,就可以实时查看显卡使用情况了

起飞

相关推荐
段一凡-华北理工大学1 天前
工业智能体:从Codex/Claude到项目实战~系列文章05:从“AI助手“到“工业智能体“:能力跃迁与落地范式
人工智能·python·claude·codex·工业智能体·高炉炼铁智能化
深蓝AI1 天前
ContextVar 到线程池就丢了?asyncio.to_thread 和 run_in_executor 实测
python
岁月宁静1 天前
什么是 Agent:从"会聊天"到"会做事"
人工智能·python
木头左1 天前
【Nginx】内网服务源 IP 白名单实战:动态域名解析放行网段 + 端口接管零改造
运维·nginx·白名单·反向代理
岁月宁静1 天前
AI 应用开发工程师简历怎么写:HR 初筛、技术复筛、面试追问,三道关卡各看什么?
人工智能·python·面试
来让爷抱一个1 天前
Python 异步里混用同步库,事件循环被卡住的全过程
开发语言·python
老金带你玩AI1 天前
全球股市跌麻了:AI在进化,牛马在买单
人工智能
禁默1 天前
启元 Q1 二次开发实践:Ubuntu 部署与仿真验证,从 PrimeConsole 到 ROS 2 Humble + RViz
linux·运维·ubuntu
skywalk81631 天前
把 去也网站 从 Ubuntu 搬到 FreeBSD:一次 Service Jail + nginx 的部署实录
linux·运维·nginx·ubuntu·freebsd
小肝一下1 天前
3.基础语法(3)
python