混合精度训练

term_id: mixed_precision_training

Category: training_techniques

Definition

混合精度训练(MPT)在神经网络训练过程中结合使用半精度(FP16)和全精度(FP32)数据类型。通过使用FP16处理大多数操作,MPT减少了内存占用并提

Summary

一种使用16位和32位浮点数进行训练的技術,旨在加速计算并减少内存使用。

Key Concepts

  • FP16
  • FP32
  • 张量核心
  • 数值稳定性

Use Cases

  • 大模型训练
  • GPU加速
  • 内存受限环境

Code Example

1
2
3
4
5
6
7
import torch
import torch.cuda.amp as amp

# Example snippet showing automatic mixed precision context
with amp.autocast():
    output = model(input)
    loss = criterion(output, target)