如何在GPU資源受限情況下微調(diào)超大模型
大數(shù)據(jù)文摘授權(quán)轉(zhuǎn)載自數(shù)據(jù)派THU 作者:Stanislav Belyasov 翻譯:陳之炎 校對(duì):趙茹萱

梯度積累/微批量; 梯度檢查點(diǎn); 模型并行訓(xùn)練; 管道作業(yè); 張量并行化 混合精度訓(xùn)練; 內(nèi)存卸載; 優(yōu)化器8位量化。
簡(jiǎn)單模式:無(wú)法適配批大小為1 專業(yè)模式:參數(shù)也沒辦法適配
概述


梯度檢查點(diǎn)


例程:


概述
什么是梯度累積?
例程:


重點(diǎn)
概述
主要優(yōu)勢(shì)
減少內(nèi)存使用; 性能提速(更高的算術(shù)強(qiáng)度或更小的通信占用); 使用專用硬件進(jìn)行更快地計(jì)算。
例程:


例程:

綜合上述全部方法,對(duì)GPU上的GPT-2-XL進(jìn)行微調(diào)。
梯度檢查點(diǎn); 混合精度訓(xùn)練(我設(shè)了一個(gè)技巧:使用相同模型的兩個(gè)樣本。首先,用.half將它加載到GPU上,將其命名為gpu_model;其次,在CPU上,將其命名為cpu_model。評(píng)估好GPU模型之后,將 gpu_model的梯度加載到cpu_model中,運(yùn)行optimizer.step(),將更新后的參數(shù)加載到gpu_model上); 使用batch_size=64,minibatch_size=4的梯度累積,需要通過(guò) accumulation_steps來(lái)縮放損失; 8位Adam優(yōu)化器。


評(píng)論
圖片
表情

