-
Notifications
You must be signed in to change notification settings - Fork 418
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
微调Lora需要多少GPU资源 #209
Comments
尝试调小batch size,设置batch size=1试一下 |
那可能需要开启模型并行了,把 改为 model, args = FineTuneVisualGLMModel.from_pretrained(model_type, args, overwrite_args={'model_parallel_size':2}) 另外还需要把这行代码https://github.com/THUDM/VisualGLM-6B/blob/main/finetune_visualglm.py#L175 注释掉 不过要使用这个功能需要保证你的sat和visualglm都是最新版本的代码。
|
你好,如何使用多卡finetune呢,在.sh脚本中需要添加什么呢,谢谢 |
什么都不用添加,默认就是所有卡(qlora脚本的话就改一下--include) |
请问,我想调试下fine的代码,因为不熟悉qlora怎么实现的,但是执行文件是很长的.sh文件,如何在sat库中查看下qlora呢。感谢 |
用vscode定位引用库,或者直接在sat里搜索qlora |
你好,我使用了最新的visualglm代码,sat也更新到0.4.3,修改了以上的代码,运行报错: 以下是finetune_visualglm.sh代码:
|
多机跑的话可以用 |
使用这种方式,依旧报了同样的错误 |
说明你使用的方式不对。所以你需要研究一下deepspeed如何传环境变量(因为你也没提供更多信息,我也只能这么回复了。。) 大概是你的 |
感谢你的耐心解答。环境变量设置的没有问题,不开启模型并行已经可以跑通了,我用了10个节点,每个节点4块16G的卡,只不过每张卡使用度高达15.1G。 |
模型并行报什么错,环境变量没问题是什么意思?没问题的话就不会报没有LOCAL_WORLD_SIZE的错误呀 因为LOCAL_WORLD_SIZE就是模型并行要用的环境变量,你不开模型并行肯定就不报错了,但是你要开模型并行就必须设置这个变量 |
在你运行程序的当前目录(应该是VisualGLM-6B目录)创建一个名为
这样deepspeed就会传递这个环境变量了。 |
说明你没按照这里改对 |
哦,是lora的问题。 你把https://github.com/THUDM/VisualGLM-6B/blob/main/finetune_visualglm.py#L16C9-L19C9 16行到18删掉挪到下面去: 在https://github.com/THUDM/VisualGLM-6B/blob/main/finetune_visualglm.py#L16C9-L19C9 179行的位置插入如下代码: if args.use_lora:
model.add_mixin("lora", LoraMixin(args.num_layers, args.lora_rank, layer_range=args.layer_range), reinit=True) 这样做以后训练应该是可以跑通了,但是inference的时候也需要修改一下,也在from_pretrained后面加上这两句。 |
图是不是贴错了 |
更新了图 |
修复了,可以安装github最新版sat试一下:
不过据我观察model parallel开到2,显存还是会占用14.7G,开到4大概10G。 |
非常感谢你的细心解答!我安装了最新版本的sat(0.4.5),model parallel开到4,已经成功训练了,训练日志显示每次迭代MaxMemAllocated=4.2GB. 还有个小问题,是不是我使用多少个节点,model parallel就能开到多少,比如我现在10个节点,最多只能开到10? |
10个节点总共40张卡的话,最多可以开到40,只要hidden size能整除model parallel size就可以。 |
好的!再次感谢你,学到了很多! |
你好,https://github.com/THUDM/SwissArmyTransformer/issues/130这里面有你遇到的问题,你可以试试
----- Original Message -----
From: yiyi0810 ***@***.***>
To: THUDM/VisualGLM-6B ***@***.***>
Cc: sunxiaoyu12 ***@***.***>, Mention ***@***.***>
Subject: Re:_[THUDM/VisualGLM-6B]_微调Lora需要多少GPU资源_(Issue_#209)
Date: 2024-05-15 18:56
@1049451037 @sunxiaoyu12 两位好,抱歉打扰了,请问一下我按照这个流程修改可以使用lora进行微调了,但是在进行推理时,报错了。
执行命令:python cli_demo_mp.py --from_pretrained my_pretrained_path
报错如下:
2024-05-15.18.54.32.png (view on web)
请问知道如何解决吗?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
谢谢 已经解决啦 |
你好,目前使用3个节点对visualGLM进行微调(Lora),每个节点4张16GB的卡,一共是12张16GB的卡,依旧报OOM,请问我还需要增加多少才够用?
The text was updated successfully, but these errors were encountered: