初级调优
在进行具体调优之前,以下操作也可以优化内存:
- 合理选择并行策略。充分利用集群环境,合理配置数据并行(DP)、Tensor并行(TP)、流水线并行(PP)、序列并行(SP)及优化器并行(ZERO-1/2/3)等大模型并行技术。大模型并行技术主要用于减少设备侧申请的长生命周期内存,如模型权重、梯度、优化器状态等。
- 合理配置重计算策略。对网络层使用重计算后,PyTorch的autograd引擎将不会保存激活值至反向梯度计算,而是在反向过程中重新进行前向的部分计算得到对应的激活值后,再进行反向计算。建议对激活值内存占用大、计算较快的网络层使用重计算技术,即选择性重计算,极端情况可以对整网进行全重计算。