sunzeyeah / RLHF

Implementation of Chinese ChatGPT
282 stars 36 forks source link

RLHF相关问题 #5

Closed taofennanhai closed 1 year ago

taofennanhai commented 1 year ago

请问GLM-10B-Chinese的模型进行RLHF大概需要多大GPU?

sunzeyeah commented 1 year ago

你好,目前还没有训练过10B模型。10B模型本身占用的显存在40-50G左右,如果使用Adam优化器的话,SFT训练阶段占用的显存是模型本身占用的4倍。RLHF训练阶段还要再加上reward模型,如果reward模型也是10B的话,总共应该在模型本身占用显存的5倍左右。

不过有若干减少显存占用的方法,比如:模型文件转成fp16、使用LoRA、使用deepspeed等等

taofennanhai commented 1 year ago

感谢你的回复!我大致了解了训练过程所需要的GPU显存消耗了。 我还有两个疑问,请教下: 1.GLM-10B-Chinese支持LoRA吗?我看官方仓库中是没有的 2.还有就是trlx是否训练的过程支持deepspeed框架?如果有,是在哪设置的?

sunzeyeah commented 1 year ago
  1. 目前已实现了LoRA,具体可参考lora.pytrain_sft.py第129行
  2. trlx用的是huggingface的accelerate框架,是支持deepspeed的,但目前RHLF的代码还在调试阶段。有兴趣的话,可以参考accelerate官方样例Launching training using DeepSpeed部分,不过accelerate对deepspeed的支持还是实验性的。除此之外,DeepSpeed也开源了自己的RLHF训练代码,可以参考DeepSpeed-Chat。后续计划对这部分代码进行实验和调试,如果效果ok,会参考他们的实现调整当前的RLHF代码。
taofennanhai commented 1 year ago

非常感谢!