Comments (11)
from chatglm-6b-qlora.
那我如果只指定一张卡去训练,是可以跑下实验的是吗?有试了以下方法,也是不行。
import os
os.environ("CUDA_VISIBLE_DEVICE") = "0"
或
在加载model操作后,model.to(cuda:0)
from chatglm-6b-qlora.
from chatglm-6b-qlora.
那个环境变量好像是CUDA_VISIBLE_DEVICES
…
是的打错了,不好意思。不过指定单张16G的卡训练时,也会报OOM错误。
![Xnip2023-07-11_09-24-06](https://private-user-images.githubusercontent.com/50095589/252525685-cde41f13-5102-46ea-ab9c-a081ab55ba01.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5ODUyMjAsIm5iZiI6MTcyNTk4NDkyMCwicGF0aCI6Ii81MDA5NTU4OS8yNTI1MjU2ODUtY2RlNDFmMTMtNTEwMi00NmVhLWFiOWMtYTA4MWFiNTViYTAxLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTEwVDE2MTUyMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThjNjI0MThjZTQ4MjU5NDE3MmU2ODc5NGE3MzQ1OGZmYjY3MzIwNGNiMzc1Yzk0YmM0ZDkzMDMwMmU0ZmY2YmMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.BnY2grmBU-FbhKeckptypvaLrHlwHcWEKmMp4y3DqhE)
更新一下,如果是微调chatglm1的话是可以,chatglm2会出错,同时chatglm2的文件(除权重外)都已经更新到最新的了,是不要权重也要一起更新成最新的才行?
from chatglm-6b-qlora.
@cheney369 #14
看这个,和你一样的报错,可能是transformers的版本问题
from chatglm-6b-qlora.
@cheney369 #14
看这个,和你一样的报错,可能是transformers的版本问题
确实是transformers的版本问题,现在显存这部分没问题了。但是出现一个新的问题,就是在这一句中会报错:
question_length = input_ids.index(tokenizer.bos_token_id)
查了一下原因是因为chatglm2中没有bos_token_id,而chatglm1是有的,所以在训练2的时候这行需要进行替换。
from chatglm-6b-qlora.
@cheney369 你用的貌似不是我最新的代码,这部分应该是改过了的
from chatglm-6b-qlora.
@cheney369 你用的貌似不是我最新的代码,这部分应该是改过了的
确实是,实在抱歉。
from chatglm-6b-qlora.
@cheney369 #14
看这个,和你一样的报错,可能是transformers的版本问题确实是transformers的版本问题,现在显存这部分没问题了。但是出现一个新的问题,就是在这一句中会报错: question_length = input_ids.index(tokenizer.bos_token_id) 查了一下原因是因为chatglm2中没有bos_token_id,而chatglm1是有的,所以在训练2的时候这行需要进行替换。
请问你最后用的是哪个版本的transformer?我也是OOM,没办法只有把batchsize改成1才能跑起来
from chatglm-6b-qlora.
@cheney369 #14
看这个,和你一样的报错,可能是transformers的版本问题确实是transformers的版本问题,现在显存这部分没问题了。但是出现一个新的问题,就是在这一句中会报错: question_length = input_ids.index(tokenizer.bos_token_id) 查了一下原因是因为chatglm2中没有bos_token_id,而chatglm1是有的,所以在训练2的时候这行需要进行替换。
请问你最后用的是哪个版本的transformer?我也是OOM,没办法只有把batchsize改成1才能跑起来
transformers == 4.30.2. batch_size=4的时候单卡显存占用7G.
from chatglm-6b-qlora.
@cheney369 #14
看这个,和你一样的报错,可能是transformers的版本问题确实是transformers的版本问题,现在显存这部分没问题了。但是出现一个新的问题,就是在这一句中会报错: question_length = input_ids.index(tokenizer.bos_token_id) 查了一下原因是因为chatglm2中没有bos_token_id,而chatglm1是有的,所以在训练2的时候这行需要进行替换。
请问你最后用的是哪个版本的transformer?我也是OOM,没办法只有把batchsize改成1才能跑起来
transformers == 4.30.2. batch_size=4的时候单卡显存占用7G.
我的版本没问题,我可能是自己编辑的单条训练数据集字符过长了,数据集太难编辑了,不知道什么样的数据集才算是好的数据集,哎。。。。
from chatglm-6b-qlora.
Related Issues (20)
- 数据集格式instruction,input,output时tokenized出错 HOT 2
- 训练结束后,数据展示出现问题
- merge后模型Loading checkpoint shards Killed HOT 6
- 调优后的模型是否可以在CPU服务上部署? HOT 1
- protobuf 和 icetk 版本不兼容 HOT 1
- ImportError: libcudnn.so.8: cannot open shared object file: No such file or directory HOT 12
- RuntimeError: mat1 and mat2 shapes cannot be multiplied (588x4096 and 1x9437184) ,ChatGLM2-6B做微调,请问如何设置参数?? HOT 1
- RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:1 and cuda:0! (when checking argument for argument target in method wrapper_CUDA_nll_loss_forward),请问如何调整训练代码,适配多卡训练?? HOT 1
- transformers>4.30.2时,模型不会进行量化,是因为什么?
- BrokenPipeError: [Errno 32] Broken pipe HOT 7
- 训练结束后没有保存完整的adapter文件 HOT 2
- 用V100显卡微调chatglm2-6b,但是loss一直为0,eval_loss=nan
- 训练显存有些问题
- 微调后推理性能问题 HOT 1
- ChatGLM3-6B 微调报错 RuntimeError: CUDA error: invalid argument HOT 1
- ChatGLM2-6B微调后合并报错We need an `offload_dir` to dispatch this model according to this `device_map`, the following submodules need to be offloaded: HOT 2
- 合并模型的时候显存不够,用的4090,24G
- qlora微调训练随机性
- ValueError:
- ChatGLM2-6b模型合并时报错ValueError: We need an `offload_dir` to dispatch this model according to this `device_map`, the following submodules need to be offloaded
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chatglm-6b-qlora.