Closed xiezipeng-ML closed 10 months ago
(1)应该用的都是混合精度训练吧。(2)llama 7b模型并行每张卡上模型大概0.875B,占用显存24G / 0.875 = 27.4,比这个(https://zhuanlan.zhihu.com/p/624740065) 知乎上分析的模型参数、后向传递计算得到的梯度、优化器状态三部分20倍,前向计算过程中产生的中间激活在bs=1时0.75倍略大一些,不过还算合理。(3)流水并行的时候显存占用更小一些,记得分离编译也是更适合流水并行。(4)adapter finetune这里显存降低了一半,不太清楚这个是偶发现象还是有特定规律的。
(1)应该用的都是混合精度训练吧。(2)llama 7b模型并行每张卡上模型大概0.875B,占用显存24G / 0.875 = 27.4,比这个(https://zhuanlan.zhihu.com/p/624740065) 知乎上分析的模型参数、后向传递计算得到的梯度、优化器状态三部分20倍,前向计算过程中产生的中间激活在bs=1时0.75倍略大一些,不过还算合理。(3)流水并行的时候显存占用更小一些,记得分离编译也是更适合流水并行。(4)adapter finetune这里显存降低了一半,不太清楚这个是偶发现象还是有特定规律的。
(1)都是混合精度。 (2)知乎这个看起来不包含数据的显存。 (3)纯pipeline并行显存占用更少。 (4)adapter这里是有规律的:
显存占用情况
llama 7b
1. full finetune
1n8g fp16 1dp 8tp 1pp batch_size=1
1n8g fp16 1dp 1tp 8pp batch_size=1
2. adapter finetune
1n8g fp16 1dp 8tp 1pp batch_size=1
1n8g fp16 1dp 1tp 8pp batch_size=1