baichuan-inc / Baichuan2

A series of large language models developed by Baichuan Intelligent Technology
https://huggingface.co/baichuan-inc
Apache License 2.0
4.03k stars 289 forks source link

第一轮训练正常,多轮训练OOM #329

Open liunian-Jay opened 6 months ago

liunian-Jay commented 6 months ago

单卡80G A100,训练四轮 13B-chat。第一轮(即所有数据都训练一遍)正常,第二轮开始报OOM。尝试调小batch_size,但是过一轮数据都没问题,第二轮开始就报OOM。请问有遇到这个问题的吗?

baichuan-assistant commented 6 months ago

是哪种训练方式?内存消耗请参考:https://github.com/hiyouga/LLaMA-Factory?tab=readme-ov-file#hardware-requirement

liunian-Jay commented 6 months ago

是哪种训练方式?内存消耗请参考:https://github.com/hiyouga/LLaMA-Factory?tab=readme-ov-file#hardware-requirement

采用的是Lora训练,使用项目所提供的微调代码和微调脚本,单张80G A100。出现以下问题: 1、和项目所提供的脚本相同,尝试7B-Chat同时per_device_train_batch_size调小,仍然是第一轮微调过程正常,显存平均利用率小于30%,但到第一轮结束第二轮开始时会报OOM杀死进程。 2、不使用DeepSpeed,单卡A100直接使用Lora进行微调,直接报OOM。

liunian-Jay commented 6 months ago

补充,找到问题所在,transformers.AutoModelForCausalLM.from_pretrained()中指定device_map参数后问题解决。应该不是显存OOM是RAM OOM。