Обучение со смешанной точностью (Mixed Precision Training)

term_id: mixed_precision_training

Category: training_techniques

Definition

Обучение со смешанной точностью (MPT) объединяет данные половинной точности (FP16) и полной точности (FP32) во время обучения нейронной сети. Используя FP16 для большинства операций, MPT снижает объем потребляемой памяти и увеличивает скорость…

Summary

Метод обучения, использующий числа с плавающей запятой 16-битной и 32-битной точности для ускорения вычислений и снижения потребления памяти.

Key Concepts

  • FP16 (половинная точность)
  • FP32 (одинарная точность)
  • Тензорные ядра (Tensor Cores)
  • Числовая устойчивость (Numerical Stability)

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)