LLaMA-Factory
LLaMA-Factory copied to clipboard
sft断点续训时0卡上有显存不释放
Reminder
- [x] I have read the above rules and searched the existing issues.
System Info
llamafactoryversion: 0.9.2.dev0- Platform: Linux-5.4.0-159-generic-x86_64-with-glibc2.31
- Python version: 3.11.11
- PyTorch version: 2.4.1+cu121 (GPU)
- Transformers version: 4.46.1
- Datasets version: 3.1.0
- Accelerate version: 1.0.1
- PEFT version: 0.12.0
- TRL version: 0.9.6
- GPU type: NVIDIA A100-SXM4-80GB
- DeepSpeed version: 0.16.3
- Bitsandbytes version: 0.45.1
Reproduction
Put your message here.
Others
基于qwen-72B的sft训练,单机8卡训练,中途中断后,使用断点续训。 发现0卡上会有额外的7个进程占用部分显存,可以发现这7个进程的id,分别是 1-7卡上的进程id。
上图中的0卡上的pid 945168 就是 1卡上的进程pid,是否1-7卡上的部分参数或数据 还存放在0卡上? 这种现象是否正常呢?
=========== 0卡的进程和 1-7卡的进程都是同一次 断点续训的子进程,应该是 1-7卡上的进程,加载数据(或参数)时,有部分加载到了 0卡上。 带来的问题: 1、会造成0卡显存的 额外占用; 2、不确定会不会对训练结果有影响。
可以使用 kill 命令清除旧的 process
@hiyouga 不能kill啊😭。0卡上的进程,和其他1-7的进程id是一样的。
这是同一次的训练进程。
应该是使用8卡断点续训的时候,1-7卡的进程,有部分数据(或参数)加载到了0卡上。
多卡从0开始sft没问题,断点续训就有这个毛病。
有大佬解决了这个问题吗?是不是加载参数(或数据)时没指定卡啊。