ExecuTorch 1.6.0は、PyTorchをインストールせずにモデルを実行するPythonランタイムと、複数の言語モデルへのリクエストをまとめて処理する機能を公開した。モデルをデプロイする開発者は実行環境の依存関係を減らし、GPUベースのサービスではリクエストの一括処理や過去の計算の再利用を活用できる。

1. モデル実行環境でPyTorchへの依存を減らす

2026年11月12日に公開された今回のバージョンのPythonランタイムは、エクスポート済みの.pteモデルファイルをPyTorchなしで実行する。モデルの準備環境と実行環境を分け、デプロイ側に必要な依存関係を減らせるようにした変更だ。

入力はNumPy配列、バッファ、またはフレームワーク間で配列を受け渡す規格であるDLPackで渡せる。ランタイムの読み込み時にモデル変換・コンパイル関連のモジュールも読み込む動作を廃止し、インストールの依存関係からはテスト専用パッケージを除いた。モデル実行に必要な環境を構築する開発者に直接影響する変更だ。

2. リクエストをまとめ、共通の先頭部分の計算を再利用する

CUDAとMLXでの言語モデル実行に、バッチサービングとプレフィックスキャッシュが追加された。複数のリクエストをまとめて処理するだけでなく、リクエストの共通の先頭部分に相当する計算結果を再利用する仕組みだ。サービス運用者が注目すべき変化は、個々の演算だけでなくリクエストの処理フローにもある。

CUDAには、リクエストをまとめる実行器とプレフィックスキャッシュの再利用、デバイス内サンプリング、GPUで出力トークンを選ぶ処理が加わった。モデルが処理済みのトークン情報を保持するKVキャッシュは、GPUの処理をまとめて実行する構成であるCUDAグラフの外部で管理する。リクエストのバッチ処理とキャッシュ管理がともに変わった形だ。

次のトークン候補を事前に提案するDFlash投機的デコーディングにも対応する。MLXにはこれを支援するバッチKVキャッシュが追加され、リリースノートでは関連するGPU言語モデル機能がMuse Glimmerに完全統合されたと紹介されている。

3. GPUの自動チューニングは小規模バッチも対象にする

CUDAとROCmには、INT4・INT5・INT6・INT8の量子化行列積カーネルが追加された。精度を下げた数値で行列計算を行うこのカーネル、つまりGPUで計算するコードは、トークン生成段階と小規模バッチの入力処理段階を対象に自動チューニングする。リリースノートに示された適用範囲は、小規模バッチの入力処理でM ≤ 64だ。

自動チューニングは、候補となる演算を試して実装を選ぶ過程だ。今回のバージョンは候補をCUDAグラフ内で測定し、CPUのオーバーヘッドが選択に影響しないように変更した。開発者がベンチマーク用のサンプル入力を指定することもでき、実際に使う入力を考慮したチューニングが可能になった。

長いコンテキストのアテンション、つまりコンテキスト内の重要な情報に注目する計算処理も改善した。カーネル内部の因果マスクという未来のトークンの参照を防ぐ制限方式と、ハードウェアに合わせた分割デコードを導入し、先行トークンを参照する計算と作業の分割方式を見直した。

4. 実行ストリームとモデルの読み込み経路も拡張する

実験的機能のexecutorch.runtime.cudaモジュールは、PythonからCUDAストリームを選択できるようにする。Python側でGPU処理の実行フローを指定したい開発者向けの制御ポイントだ。

もう一つの実験的機能であるExecuTorch Nativeは、複数の実行環境に移して使えるポータブルな.ptnプログラムを導入した。Vulkanまたはggmlエンジンがプログラムを読み込む時点で、実行に適した形へ変換する。モデルファイルを実行環境に合わせる作業の一部を、読み込み段階に移したアプローチだ。

5. デプロイの依存関係は減り、環境移行の作業は増える

Pythonのサポート範囲は3.11から3.15までに変わった。Pythonにインストールする配布パッケージファイルであるCUDAホイールは、13.4が追加され、12.6と13.0が削除された。実行環境を新たに構築するなら、このサポート範囲をインストール計画に反映する必要がある。

利点は、PyTorch不要の実行環境を構築し、GPUのリクエスト処理経路を拡張する選択肢ができたことだ。一方、Python 3.10や削除されたCUDAホイールに依存していた環境では、サポート対象バージョンへの移行作業が必要で、Jetson Orinはソースからビルドしなければならない。依存関係の削減と既存のデプロイ手順の変更を併せて検討すべきアップデートだ。

ExecuTorch 1.6.0の要点は、軽量な実行環境を構築する選択肢を広げながら、GPUのリクエスト処理とキャッシュの再利用をともに強化したことにある。