AI LAB / KEYWORD DICTIONARY

基礎知識

TorchNeuron(トーチニューロン)とは?

TorchNeuron(torch-neuronx)は、PyTorchのモデルをAWS Trainium上で学習・推論するための、オープンソースのネイティブPyTorchバックエンドです。

仕組みと使いどころ

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として処理されるなど、データ型にも制限があります。

TorchNeuronの活用例

たとえば、こんな場面で

既存のPyTorchモデルと入力をneuronデバイスへ移し、まずEagerモードで学習や推論を試す用途が考えられます。性能向上を検討する場合はtorch.compileを適用し、必要に応じてNKIで独自演算を組み込めます。

使うときのポイント

利用前に、対象インスタンス、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 (新しいタブで開きます)

用語の説明や活用例に関連する参考資料です。

READ & LEARN

用語を知ったら、活用を知る。

AI LABで、AIの動向や業務に取り入れるヒントを読む。

記事一覧を見る