TorchTPU・TorchNeuronとは?PyTorchのTPU・Trainium対応を一次情報で解説(2026年10月20日)
Hugging Face が TorchTPU と TorchNeuron を公開し、PyTorch が Google TPU と AWS Trainium のネイティブデバイスになりました。device_map="tpu" / "neuron" の指定方法、pip install torch-tpu / torch-neuronx、上位 100 テキスト生成モデルの 89% 対応、Kernels Hub の速度数値(ViT 2.4 倍・Qwen3-30B-A3B 21.5 倍)を一次情報で解説します。
結論から言うと、Hugging Face は 2026年10月20日、Google TPU 向け TorchTPU と AWS Trainium 向け TorchNeuron の 2 本の公式ブログを公開し、PyTorch が両デバイスのネイティブバックエンドで動くようになりました。transformers では device_map="tpu" / "neuron" を指定するだけでモデルが各デバイスに読み込まれ、TorchTPU は pip install torch-tpu、TorchNeuron は pip install torch-neuronx で入れます。対応状況は TorchNeuron で上位 100 の最多利用テキスト生成モデルアーキテクチャの 89%、TorchTPU では TPU で実行した Transformers テストの 96.5% がパスです。以下、公式ブログの記載だけで解説します(出典は記事末尾・取得日は 2026-10-28)。
TorchTPUとは?TPU が PyTorch のネイティブデバイスになる
TorchTPU は TPU を「単に別のデバイス」として扱える PyTorch のネイティブ TPU バックエンドで、TPU VM で pip install torch-tpu --extra-index-url https://download.pytorch.org/whl/cpu の 1 コマンドで入れられます(Hugging Face 公式ブログ、2026年10月20日)。従来は torch_xla 経由か JAX を学ぶ必要があり、Hugging Face はその緩和のために Optimum TPU を提供していましたが、TorchTPU の登場で Transformers / Diffusers を動かすのに Optimum TPU はもはや不要になりました。
- transformers では from_pretrained に device_map="tpu" を渡すだけでモデルが TPU に読み込まれます。公式ブログのコード例は Qwen/Qwen3.5-9B です(Hugging Face 公式ブログ、2026年10月20日)。
- extra-index-url を付けるのは CPU ビルドの torch を取るためで、指定しないと不要に大きな CUDA ビルドを引きます(Hugging Face 公式ブログ、2026年10月20日)。
- Diffusers では pipe.to("tpu") で eager モード、pipe.transformer.compile(backend="tpu", fullgraph=True, dynamic=False) でコンパイルされます。モデルが 1 チップに収まらないときは TensorParallelConfig を from_pretrained に渡して複数チップにシャーディングできます(Hugging Face 公式ブログ、2026年10月20日)。
- TPU 向けにチューニングされた Pallas カーネル・分散トレーニングのサポート・torch.compile 統合が特徴として挙げられています(Hugging Face 公式ブログ、2026年10月20日)。
TorchNeuron(AWS Trainium)は 2026年10月20日から公開ベータ
TorchNeuron は AWS Trainium 向けの PyTorch ネイティブバックエンドで、2026年10月20日から公開ベータとして pip install torch-neuronx で利用できます(Hugging Face 公式ブログ、2026年10月20日)。eager モード・torch.compile・ネイティブ分散 API(FSDP、TP、DTensor、FSDP2)に対応し、neuron が PyTorch のネイティブデバイスとして公開されます。
- Transformers のテキスト生成で、上位 100 の最多利用モデルアーキテクチャの 89% が out of the box 対応です。従来の optimum-neuron v0.4.5 は 46% でした(Hugging Face 公式ブログ、2026年10月20日)。
- 推論は device_map="neuron" を指定するだけで動き、テキスト生成は tensor parallelism に対応します。Neuron では再コンパイル防止のため cache_implementation="static" の静的キャッシュが強く推奨されています(Hugging Face 公式ブログ、2026年10月20日)。
- 学習は標準の TRL SFTTrainer スクリプトがそのまま動きます。model_init_kwargs に DistributedConfig(tp_size=..., fsdp_size=...) を入れると重みロード時にシャーディングされ、--fsdp フラグや Accelerate の FSDP 設定は不要です(Hugging Face 公式ブログ、2026年10月20日)。
- torch.compile は --torch_compile true を渡すだけで、Trainium 上では Neuron バックエンドが自動検出されます(Hugging Face 公式ブログ、2026年10月20日)。
- 従来の optimum-neuron は lazy tensor・静的シェイプのみ・グラフブレイクごとの再コンパイルという制約があったため、Hugging Face は今後 Neuron ユーザーに optimum-neuron を経由せず Transformers・Diffusers・Accelerate・PEFT・TRL を直接使うことを推奨しています(Hugging Face 公式ブログ、2026年10月20日)。
Kernels Hub の速度数値(ViT 2.4 倍・Qwen3-30B-A3B 21.5 倍)
Kernels Hub で公開された AWS Neuron チームの ViT カーネル(aws-neuron/vit-encoder-neuron-kernels)により Trainium 上の ViT が最大 2.4 倍の処理速度になり、TorchTPU 側では Qwen3-30B-A3B のバッチサイズ 64 のデコードが 21.5 倍になりました(Hugging Face 公式ブログ、2026年10月20日)。それ以外のモデル・ワークロードでの数値は公式未公表です。
- TorchTPU の測定は TPU v6e-8 で、Qwen3-30B-A3B が 21.5 倍、Gemma 4 26B-A4B が 12.8 倍(いずれもバッチサイズ 64 のデコード)です(Hugging Face 公式ブログ、2026年10月20日)。
- TPU カーネルは Pallas 記述で Kernels Hub に公開でき、Tokamax 由来のカーネルも使えます。公式ブログは ragged-dot カーネルを MoE モデルの experts 関数として登録する例(get_kernel("tengomucho/ragged-dot-tpu", version=1, trust_remote_code=[repo_id]))を紹介しています(Hugging Face 公式ブログ、2026年10月20日)。
制限事項と対応モデルの調べ方
TorchNeuron の公開ベータでは自動動的シェイプが未対応のため torch._dynamo.config.automatic_dynamic_shapes = False が必要で、TorchTPU は TPU で実行した Transformers テストの 96.5% がパスの段階です(Hugging Face 公式ブログ、2026年10月20日)。まだ全テストがグリーンではない点は公式ブログが明記しています。
- TorchNeuron: 非同期重みロードが未対応のため HF_DEACTIVATE_ASYNC_LOAD=1 で無効化が必要です。バッチは TRL 1.16 以上で 128 トークンの倍数にパディングされ、入力シェイプ数を制限します(Hugging Face 公式ブログ、2026年10月20日)。
- TorchNeuron: 対応モデルは https://huggingface.co/spaces/aws-neuron/torch-neuronx-model-support のスペースで確認できます(Hugging Face 公式ブログ、2026年10月20日)。
- TorchTPU: TorchTPU リポジトリに 34 件の issue を報告し、うち 19 件は修正済みです。TPU での実行を通じて Transformers 本体のバグ(StaticCache、Qwen3 のテンソル並列プラン)も発見・修正されています(Hugging Face 公式ブログ、2026年10月20日)。
誰にとっての変更か
対象は、Google TPU・AWS Trainium で PyTorch や transformers・TRL を動かす開発者です(Hugging Face 公式ブログ、2026年10月20日)。lazy tensor や再コンパイルに悩んでいた torch_xla / optimum-neuron の利用者にとって、通常の PyTorch コードのまま動くことが主な変更点です。数値は公式ブログが示した測定値のままです。この記事では公式の記載にない効果や条件を付け足しません。
よくある質問
Q. TorchTPU とは?
TPU を PyTorch のネイティブデバイスとして扱えるバックエンドです。TPU VM で pip install torch-tpu --extra-index-url https://download.pytorch.org/whl/cpu で入れ、transformers では device_map="tpu" を指定します。従来の torch_xla 経由や Optimum TPU は Transformers / Diffusers を動かすためには不要になりました(Hugging Face 公式ブログ、2026年10月20日)。
Q. TorchNeuron と Trainium の関係は?
TorchNeuron は AWS Trainium 向けの PyTorch ネイティブバックエンドで、2026年10月20日から公開ベータとして pip install torch-neuronx で利用できます。Transformers のテキスト生成では上位 100 のモデルアーキテクチャの 89% が out of the box 対応です(Hugging Face 公式ブログ、2026年10月20日)。
Q. PyTorch で TPU を使うには?
TPU VM で pip install torch-tpu --extra-index-url https://download.pytorch.org/whl/cpu を実行し、transformers では from_pretrained に device_map="tpu" を渡します。Diffusers は pipe.to("tpu") で eager モード、pipe.transformer.compile(backend="tpu", ...) でコンパイルできます(Hugging Face 公式ブログ、2026年10月20日)。
Q. optimum-neuron はどうなる?
Hugging Face は今後、Neuron ユーザーに optimum-neuron を経由せず Transformers・Diffusers・Accelerate・PEFT・TRL を直接使うことを推奨しています。モデル対応率は optimum-neuron v0.4.5 の 46% に対し TorchNeuron は 89% です(Hugging Face 公式ブログ、2026年10月20日)。
出典: Hugging Face 公式ブログ「Hugging Face ❤️ TorchTPU: TPUs, Natively」(2026-10-20 公開・取得日 2026-10-28): https://huggingface.co/blog/hf-torchtpu に基づきます。
同「TorchNeuron」(2026-10-20 公開・取得日 2026-10-28): https://huggingface.co/blog/hf-torchneuron に基づきます。
この記事で解説した内容について、導入や運用の設計で相談したいことがあればお問い合わせ(/contact)からどうぞ。
関連ガイド
AI コーディングツールの料金改定(2026年9月20日) — GitHub Copilot・Cursor・Claude Code の最新料金比較と変更点
AI コーディングツールの料金改定を2026年9月時点で比較。GitHub Copilot(無料〜月額39ドル)、Cursor(無料〜月額40ドル)、Claude Code(API課金・Max月額100ドル〜200ドル)、VS Code(無料)の各プランを公式情報から解説します。個人開発者から組織導入まで、予算計画に役立つ料金情報をまとめました。
関連記事
2026年10月26日GAのCopilot assisted permissionsとは?権限モードと設定
GitHub Copilot の 3 つ目の権限モード「Assisted permissions」が 2026年10月26日に一般提供(GA)。LLM がコマンド実行・ファイルパス・URL のリクエストを評価し、明らかに安全なものは自動で通し、それ以外は手動承認にします。CLI・Copilot app・VS Code での有効化手順と、Enterprise 管理者による Allow All のブロック設定を公式情報で解説します。
Cursor Agent SDKとは?2026年10月20日GAの作り方とdeployを解説
Cursor が Agent SDK を 2026年10月20日に一般提供(GA)しました。エージェントをフォルダで定義し、init・dev・deploy・eval の各コマンドで開発から展開まで行えます。トリガーは GitHub の PR・コメント・CI と Slack・webhook・cron に対応。作り方と deploy の手順を一次情報で解説します。
GitHub Public monitoringとは?データレジデンシー環境のシークレット監視とtriage・API追加を一次情報で解説(2026年10月22日)
GitHub は 2026年10月22日、GitHub Enterprise Cloud のデータレジデンシー環境で、公開リポジトリに漏洩したシークレットを監視する Public monitoring を公開プレビューで提供開始しました。10月23日には triage・validity check・REST API・エンタープライズ webhook を追加。対象ライセンス、前提のドメイン検証、有効化の手順を一次情報で解説します。
PyTorch 2.15のMPSバックエンド強化とは?FP8対応とMoEデコード高速化を一次情報で解説(2026年10月20日)
PyTorch 2.15 の MPS バックエンド強化は、Apple Silicon(Mac)で FP8(torch.float8_e4m3fn)が使えるようになった更新です。MoE モデルのデコードが 5〜6.5 倍速くなり、動画 VAE デコードのメモリ使用量は 270 GiB から 8 GiB に減りました。必要要件と試し方を一次情報で解説します。
CopilotのEagerness設定とは?インライン補完の積極性を4段階で調整する新機能を一次情報で解説(2026年10月27日)
VS Code の公式ブログで 2026年10月27日、GitHub Copilot のインライン補完の積極性を選べる「Eagerness」設定が紹介されました。Auto / Low / Medium / High の 4 つの選択肢、使うための条件、Low と High の効果の数値(Medium 比)を一次情報で解説します。
Copilot利用メトリクス API の更新とは?カスタム名の表示とOpenCode等のツール別利用を一次情報で解説(2026年10月22日・23日)
GitHub Copilot の利用メトリクス API で、組織が作成した skills・カスタムエージェント・MCP サーバーなどが設定された名前で集計されるようになり、OpenCode など IDE 外ツールのモデル利用も totals_by_client で見えるようになりました。名前表示の条件、ツール別利用の見方、権限や前提を一次情報で解説します。
この記事は AI が一次ソースを読んで執筆しました。数値と日付は出典に記した公式情報の執筆時点の値です。誤りを見つけたら訂正の窓口へお知らせください。確認のうえ本文を直し、訂正履歴に残します。編集方針