混合精度トレーニングで深層学習の効率を高めましょう!精度を犠牲にすることなく、より高速な速度、削減されたメモリ使用量、およびエネルギー節約を実現します。
ミックスド・プレシジョン(混合精度)は、次のような場面で威力を発揮する最適化手法である。 ディープラーニング戦略的に 異なる数値フォーマット、具体的には16ビット(半精度)と32ビット(単精度)の浮動小数点型を戦略的に組み合わせることで、高速化を実現する。 を高速化する。 モデル学習を高速化し メモリ使用量を削減します。のマスター・コピーを維持しながら、計算集約的な演算を低精度で実行することで、モデル・トレーニングを高速化し、メモリ使用量を削減します。 モデル重みを高精度で維持する、 を損なうことなく、最新のハードウェア上で大幅な高速化を実現する。 精度安定性を損なうことなく ネットワークを実現する。これにより、研究者やエンジニアは、より大規模な ニューラルネットワークあるいは バッチサイズ同じハードウェア 制約がある。
混合精度の核となるメカニズムは、以下のような最新の加速器のアーキテクチャに依存している。 NVIDIA Tensor の行列乗算を実行できる。 半精度(FP16)の行列乗算を 標準的な単精度(FP32)よりもはるかに高速です。このプロセスには、一般的に3つの重要なステップが含まれる:
混合精度は、ハードウェアの効率を最大限に高めることができるため、人工知能のさまざまな領域で標準的な手法となっている。 ハードウェアの効率を最大化する。
について ultralytics ライブラリはAutomatic Mixed Precision (AMP)の使用を簡素化します。デフォルトでは、トレーニング
ルーチンは互換性のあるハードウェアをチェックし、最適なパフォーマンスを保証するためにAMPを有効にします。
from ultralytics import YOLO
# Load the YOLO11 model for training
model = YOLO("yolo11n.pt")
# Train using Automatic Mixed Precision (AMP)
# 'amp=True' is the default setting, ensuring faster training on supported GPUs
results = model.train(data="coco8.yaml", epochs=5, imgsz=640, amp=True)
混合精度を他の最適化やデータ表現の概念と区別することは有益である:
以下のようなフレームワークでサポートされています。 PyTorch AMPのようなフレームワークによって支えられており、混合精度は高性能ディープラーニングへのアクセスを民主化する最も効果的な方法の1つである、 開発者は、アクセス可能なハードウェア上で複雑なモデルを訓練することができます。


