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

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即可
"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 ,就可以实时查看显卡使用情况了

起飞在这里插入图片描述在这里插入图片描述

http://www.lryc.cn/news/510850.html

相关文章:

  • 全局webSocket 单个页面进行监听并移除单页面监听
  • JVM调优实践篇
  • 【JavaEE】Spring Web MVC
  • VSCode 插件开发实战(七):插件支持了哪些事件,以及如何利用和监听这些事件
  • 指针详解之 多层嵌套的关系
  • Animated Drawings:让纸上的角色动起来
  • 技术与教育的结合:高校听课评价系统的设计与实施
  • web移动端项目常用解决方案
  • LabVIEW软件项目设计方案如何制定
  • 数据结构(Java)——链表
  • 变量与数据类型 - 整型、浮点型、字符型等
  • MacOS安装Xcode(非App Store)
  • 运行Zr.Admin项目(后端)
  • Ubuntu24.04最新版本安装详细教程
  • js版本之ES6特性简述【Proxy、Reflect、Iterator、Generator】(五)
  • CSS实现一个自定义的滚动条
  • CKA认证 | Day8 K8s安全
  • 深度分析java 使用 proguard 如何解析混淆后的堆栈
  • bash 中 ${-#*i} 是什么意思?
  • 什么是Top-p采样与Top-k采样?大模型推理时如何同时设置?解析Transformers库源代码
  • java队列--数据结构
  • 【WebSocket】tomcat内部处理websocket的过程
  • 【踩坑/Linux】Vmware中的Ubuntu虚拟机无法访问互联网
  • overleaf中的includegraphics设置图片缩放,居中显示
  • IPv6的地址类型
  • Elasticsearch:analyzer(分析器)
  • 【工作感悟】
  • 事件(event) SystemVerilog
  • 【MySQL学习笔记】关于索引
  • APIs-day3