shibing624 / textgen

TextGen: Implementation of Text Generation models, include LLaMA, BLOOM, GPT2, BART, T5, SongNet and so on. 文本生成模型,实现了包括LLaMA,ChatGLM,BLOOM,GPT2,Seq2Seq,BART,T5,UDA等模型的训练和预测,开箱即用。
Apache License 2.0
937 stars 109 forks source link

用lora训练chatglm时跑内存 #29

Closed NefelibataJay closed 1 year ago

NefelibataJay commented 1 year ago

下午我在跑的时候就爆过一次内存,当时没在意,但是刚刚看的时候注意到按道理这个模型应该只占14g多,现在跑到第二个epoch的时候就莫名内存占用变大了。 image 这是跑到第三个epoch时的内存占用 image

NefelibataJay commented 1 year ago

image 回退到之前的版本正常了

shibing624 commented 1 year ago

你的意思是显存占用在增多吗? 回退到之前版本是回到哪个版本?

NefelibataJay commented 1 year ago

你的意思是显存占用在增多吗? 回退到之前版本是回到哪个版本?

刚刚上去看发现我回退后也会显存增多,只是没有那么明显,但是估计跑20轮左右也会爆。回退的是两天前的那一版。

NefelibataJay commented 1 year ago

应该是每轮跑完cuda的缓存没有清理干净

shibing624 commented 1 year ago

我刚跑了一个小数据集(1k条)和1个大点的数据集(2.2k),用最新代码,没发现epoch增多,显存增大的情况,按理说也不应该增大呀。 前2天我把模型gpu加载方式改了device_map="auto" , 用于支持llama-13b以及更大的模型,其他没改。

NefelibataJay commented 1 year ago

我刚跑了一个小数据集(1k条)和1个大点的数据集(2.2k),用最新代码,没发现epoch增多,显存增大的情况,按理说也不应该增大呀。 前2天我把模型gpu加载方式改了device_map="auto" , 用于支持llama-13b以及更大的模型,其他没改。

我跑的数据量是120万的,每一轮就特别明显 image 这是第二轮: image

我现在尝试一下,手动清理缓存。torch.cuda.empty_cache()

NefelibataJay commented 1 year ago

我不确定是否是这个原因(按道理来说应该不是),但是这样试过后确实是解决了。 我之前的安装方式时候pip install -e ./。今天下午把textgen卸载了pip uninstall textgen,直接使用原本的python setup.py install安装后,完美解决。

shibing624 commented 1 year ago

好吧