ホームへ戻る

GitHub Repo

ONNX Runtime 1.31.0でモデルパッケージAPIが安定化、量子化MoE推論とプラグイン互換性要件を強化

Microsoftは10月9日、ONNX Runtime 1.31.0をリリースした。モデルパッケージとEPContextデータのインターフェースを安定APIに昇格させ、CPUでのモデル読み込みと量子化MoEの実行を改善した。新バージョンはPyPIで公開済みだが、GPUプラグインを使うチームは演算子スキーマの互換性を確認し、実際の性能を自ら測定する必要がある。

Coolcaesar · CC BY-SA 4.0 · Image source
zh-Hant

Microsoftは10月9日、ONNX Runtime 1.31.0をリリースした。今回の主な更新は、モデルデプロイ用インターフェース、量子化推論、実行バックエンドとの統合に関するものだ。同日、PyPIで新しいパッケージと複数プラットフォーム向けwheelが公開され、インストール可能な正式リリースが確認できる。リリースノート、PyPIパッケージ

デプロイ面で最も直接的な変更は、モデルパッケージとEPContextデータの読み書き用コールバックが、安定版のC/C++ APIに昇格したことだ。モデルパッケージは、互換性のあるモデルバリアントの選択や推論セッションの作成に利用できる。EPContextコールバックを使うと、アプリケーション側でバックエンドのコンテキストデータの保存を管理できる。従来の実験的インターフェースを使っていた統合コードは移行が必要で、モデルパッケージのエントリーポイントは OrtApi::GetModelPackageApi に変更される。エンジニアリングの観点では、モデル選択と保存の統合を、より安定したインターフェース契約に組み込める。APIの更新

CPU経路では、条件を満たす重みの事前パッキングを並列化したほか、MLAS QNBitカーネルとグループ単位のエキスパートディスパッチにより、ブロック単位のINT4/INT8 MoEを高速化した。これらはそれぞれ、初期化とエキスパート行列演算のコストを対象としている。ただし、リリース情報だけでは特定モデルのレイテンシ低下幅は推定できない。チームはバッチサイズ、量子化設定、ハードウェアに応じて測定すべきだ。CPUの更新

アップグレード時には、コアとGPUプラグインの組み合わせを特に確認する必要がある。公式には、対応バージョンとしてCUDA Plugin EP 0.3.0とWebGPU Plugin EP 0.5.0が挙げられており、コアとプラグインの双方で同一のcontributed-operator schemasを使うよう求められている。スキーマが一致しないと、誤った実行やクラッシュにつながる可能性があり、プラグインの登録時に検出できるとは限らない。そのため公式は、同じソースコードのリビジョンからビルドすることを推奨している。互換性要件

もう一つの動作変更として、GatherBlockQuantized は範囲外のインデックスを受け取った場合、ゼロのスライスを出力するようになった。これはONNX Gatherのエラー動作とは異なる。エンジニアリングチームはまずAPI移行とプラグインのバージョンを確認し、その後、既存モデルで出力の一貫性、コールドスタート時間、スループットを検証すべきだ。特に範囲外インデックスのテストを残し、新しい動作によって上流のデータ問題が見過ごされないようにしたい。動作変更

出典

  1. ONNX Runtime v1.31.0 發布說明
  2. onnxruntime 1.31.0 套件與發布檔案