01 / UNDERSTAND
仕組みと使いどころ
TorchNeuronは、PyTorchに「neuron」デバイスを追加し、モデルや入力を.to("neuron")で移してAWS Trainium上で実行できるようにします。Eager実行、torch.compileによるグラフコンパイル、分散学習、Neuron Kernel Interface(NKI)を用いたカスタム演算に対応します。公開ベータ版で、対象はAmazon EC2のTrainium2およびTrainium3インスタンスです。PyTorch APIの対応状況は機能ごとに異なり、CPUへフォールバックするものや未対応のものもあります。torch.compileでは静的な形状と連続したテンソルが前提で、入力形状が変わると再コンパイルされます。また、初回実行にはコンパイル時間が含まれ、float64はfloat32として処理されるなど、データ型にも制限があります。
02 / IN PRACTICE
TorchNeuronの活用例
既存のPyTorchモデルと入力をneuronデバイスへ移し、まずEagerモードで学習や推論を試す用途が考えられます。性能向上を検討する場合はtorch.compileを適用し、必要に応じてNKIで独自演算を組み込めます。
03 / GOOD TO KNOW
使うときのポイント
利用前に、対象インスタンス、Python・PyTorch・Neuron SDKの対応バージョン、使用するPyTorch APIや演算、データ型の対応状況を公式の互換性ガイドで確認してください。公開ベータ版である点にも注意が必要です。
参考資料
AWS announces TorchNeuron: Native PyTorch Support for AWS Trainium (Public Beta) - AWS (新しいタブで開きます)GitHub - aws-neuron/torch-neuronx: A native PyTorch backend for AWS Trainium with support for eager execution, torch.compile, distributed training, and custom NKI kernels (新しいタブで開きます)用語の説明や活用例に関連する参考資料です。
用語を知ったら、活用を知る。
AI LABで、AIの動向や業務に取り入れるヒントを読む。
