THUDM / VisualGLM-6B

Chinese and English multimodal conversational language model | 多模态中英双语对话语言模型
Apache License 2.0
4.1k stars 418 forks source link

微调时 有个报错 killing subprocess #229

Closed vergil-ong closed 1 year ago

vergil-ong commented 1 year ago

image 微调时 有个报错 killing subprocess 内存 32G 显卡 3090 24G 还有个问题,当时内存跑慢了 但是 显存 没有变化 ![Uploading image.png…]() 脚本 是 finetune_visualglm_qlora.sh 请问大佬是啥问题呢?

1049451037 commented 1 year ago

因为qlora只能在cpu上加载权重……所以加载的时候模型和checkpoint文件都在内存上,这是由bitsandbytes决定的,我也控制不了,暂时没想到很好的解决方法

vergil-ong commented 1 year ago

那 是 内存的问题吗? 如果是的话 建议使用 多大的内存才能进行微调呢?

1049451037 commented 1 year ago

需要能同时装下两个模型大小的内存

1049451037 commented 1 year ago

哦,我改一下代码,好像想到解决方法了

1049451037 commented 1 year ago

@vergil-ong 改好了,可以使用dev分支试一下:https://github.com/THUDM/VisualGLM-6B/tree/dev ,由于改动会影响原来的代码,因此没有合并到main分支。

要注意的是需要安装github最新版的sat(因为sat刚刚也因为这个更新了,暂未发布到pypi所以不能直接pip):

git clone https://github.com/THUDM/SwissArmyTransformer
cd SwissArmyTransformer
pip install .
vergil-ong commented 1 year ago

image 执行了很久之后 出现这个报错,麻烦看下是啥问题? cuda问题?

1049451037 commented 1 year ago

这个不太清楚,我这边是可以正常跑的

vergil-ong commented 1 year ago

脚本默认使用的是 几张显卡呢? 我看网上说这个报错 可能是 显卡设备号的问题,我这个机器只有一张显卡,可以在哪儿指定呢?

1049451037 commented 1 year ago

默认就是单卡,你试试装一个新版本的cuda呢,有可能是cuda的bug

vergil-ong commented 1 year ago

我重新装了个ubuntu 的操作系统,现在可以微调了, 但是 我有个问题,微调的数据 有50多张图片,然后checkpoint 生成之后,新的checkpoint 好像效果不明显呢? 使用训练的图片,回答和原始差异不大 这是什么情况呢? 可以调整哪些参数吗?

1049451037 commented 1 year ago

https://github.com/THUDM/VisualGLM-6B/blob/main/finetune/finetune_visualglm.sh#L13