THUDM / SwissArmyTransformer

SwissArmyTransformer is a flexible and powerful library to develop your own Transformer variants.

Home Page:https://THUDM.github.io/SwissArmyTransformer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

单机多卡训练时内存占用过高

zodiacg opened this issue · comments

使用8*3090+约400G内存精调CogVLM时候(MP_SIZE=4),发现使用8张显卡精调内存会在加载参数阶段爆掉,使用4张就能够正常加载进行精调。

稍微调试了一下发现‎BaseModel.from_pretrained方法在修改了model_parallel_size时,似乎每个进程都会在cpu加载完整模型然后再分割参数。请问这个是必要的吗?有没有办法使用其它方式减少这部分的主内存占用?

并不会在每个进程都加载cpu,只有0号卡会加载cpu,所以4卡和8卡应该是一样的内存。

找到问题了,NUM_GPUS_PER_WORKER一直写的1……导致rank计算有问题