Closed shenmadouyaowen closed 1 year ago
注释掉model.hf_device_map['transformer.output_layer'] = model.hf_device
这个报错有点怪,你是微调的ChatGLM2吗?这个文件是针对ChatGLM2的,如果是ChatGLM,要把 train.sh 中的那个py文件换成 chatglm_lora_tuning.py
这个报错有点怪,你是微调的ChatGLM2吗?这个文件是针对ChatGLM2的,如果是ChatGLM,要把 train.sh 中的那个py文件换成
chatglm_lora_tuning.py
是调2m,目录结构没有啥变动
注释掉model.hf_device_map['transformer.output_layer'] = model.hf_device
注释掉就199行报错
我也两块3090,去掉后却是显示爆内存了 OutOfMemoryError: CUDA out of memory. Tried to allocate 508.00 MiB (GPU 0; 23.70 GiB total capacity; 22.82 GiB already allocated; 202.81 MiB free; 22.82 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
model.hf_device_map['transformer.output_layer'] = model.hf_device_map['transformer.embedding']
model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True, device_map=model.hf_device_map)
这两行不能去掉,不然多卡可能报错。
不去掉你们是报啥错呢?
大佬您好~不去掉的话,就是最上面的错如下图,当然,这个错我是单卡跑的,因为1卡其他人在用现在
model.hf_device_map['transformer.output_layer'] = model.hf_device_map['transformer.embedding'] model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True, device_map=model.hf_device_map)
这两行不能去掉,不然多卡可能报错。
不去掉你们是报啥错呢?
CUDA_VISIBLE_DEVICES=1,2,3 设置0开始,不报错,但是内存满
model.hf_device_map['transformer.output_layer'] = model.hf_device_map['transformer.embedding'] model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True, device_map=model.hf_device_map)
这两行不能去掉,不然多卡可能报错。 不去掉你们是报啥错呢?
CUDA_VISIBLE_DEVICES=1,2,3 设置0开始,不报错,但是内存满
是的是的太对了我也是
model.hf_device_map['transformer.output_layer'] = model.hf_device_map['transformer.embedding'] model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True, device_map=model.hf_device_map)
这两行不能去掉,不然多卡可能报错。 不去掉你们是报啥错呢?
CUDA_VISIBLE_DEVICES=1,2,3 设置0开始,不报错,但是内存满
是的是的太对了我也是
batch_size 设置1,就不暴漫了
shenmadouyaowen
单独1么,占多少显存
shenmadouyaowen
单独1么,占多少显存
17 G以上,基本没有什么问题,都是我们没有看代码直接使用造成的原因
太对了我也是
wc太牛了我q2547800285求老哥帮助
h_size 设置1,就不暴漫了
我单独一还报错擦
h_size 设置1,就不暴漫了
我单独一还报错擦
我也是小菜鸡,我建议你修改一下tokenize.sh
的--max_seq_length 2000
后面数字修改小点,然后修改train.sh
的per_device_train_batch_size 10
后面数字小点再试试
h_size 设置1,就不暴漫了
我单独一还报错擦
我也是小菜鸡,我建议你修改一下
tokenize.sh
的--max_seq_length 2000
后面数字修改小点,然后修改train.sh
的per_device_train_batch_size 10
后面数字小点再试试 老哥最后的显卡这里是这样么CUDA_VISIBLE_DEVICES=0,1 (我发现1号他用的显存多,现在1号卡其他人在用(只有7gb显存),我怀疑是这个问题)
h_size 设置1,就不暴漫了
我单独一还报错擦
我也是小菜鸡,我建议你修改一下
tokenize.sh
的--max_seq_length 2000
后面数字修改小点,然后修改train.sh
的per_device_train_batch_size 10
后面数字小点再试试 老哥最后的显卡这里是这样么CUDA_VISIBLE_DEVICES=0,1 (我发现1号他用的显存多,现在1号卡其他人在用(只有7gb显存),我怀疑是这个问题)
如果你只用0显卡就设置CUDA_VISIBLE_DEVICES=0就行,1就不要用了
能跑了,单卡的话可以注释这两行
model.hf_device_map['transformer.output_layer'] = model.hf_device_map['transformer.embedding']
model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True, device_map=model.hf_device_map)
如果多卡,应该就不要(我还没试)
目前我是把--max_seq_length 2000改为200,然后0卡单跑,per_device_train_batch_size更是可怜的1,15g作用显存占用
能跑了,单卡的话可以注释这两行 # model.hf_device_map['transformer.output_layer'] = model.hf_device_map['transformer.embedding'] # model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True, device_map=model.hf_device_map) 如果多卡,应该就不要(我还没试)
目前我是把--max_seq_length 2000改为200,然后0卡单跑,per_device_train_batch_size更是可怜的1,15g作用显存占用
为啥我单卡把这两行注释了还是报错119行,大佬
行注释了还是报错119行,大佬 我的改动就刚才说的这么多,你看看你和我有其他改动区别不
各位大佬,我按照你们改的最后又出现了这个错误
RuntimeError: "addmm_implcpu" not implemented for 'Half' 有什么可以解决的办法吗
ror: "addmm_implcpu" not implemented for 'H
没见过这个错
你好,以下运行报错,两张3090,
print(model.hf_device_map)打印{'transformer': 0}