今月も Triton Inference Server のリリース内容について、概要をお届けします。「Triton Inference Server って何?」という方は、以下の記事などをご確認ください。
What’s New in 2.24.0 (NGC 22.07)
リリース ノート本体は https://github.com/triton-inference-server/server/releases/tag/v2.24.0 です。今月のリリースには以下の機能や改善などが含まれています。
- 設定の自動補完がデフォルトで有効になります
- これに伴い
--strict-model-config
オプションは緩やかに非推奨化されます - 代替の動作制御用オプションとして
--disable-auto-complete-config
が導入されます
- これに伴い
- カスタム バックエンドの新しいサンプルとして C++ 版の Business Logic Scripting 実装が追加されました
- TF1.x の GraphDef モデル利用時、JSON ファイルを介して “init_ops” にパラメーターを渡せるようになりました
- Python クライアント ライブラリに、asyncio 対応の API が導入されました
- モデル ロードのダウンタイム削減にスレッドプールが導入されました
- スレッドプール サイズは
--model-load-thread-count
で指定
- スレッドプール サイズは
- 設定の自動補完が利用できるモデルに Model Analyzer をかける際、config.pbtxt が必須ではなくなりました
今月も、機能的に大きな追加はありませんでしたが、設定の自動補完に関するデフォルトの挙動が変わるため、これまでと若干動作が変わる可能性がある点は注意ポイントでしょうか。
先月更新が入った --strict-model-config
オプション関連の挙動ですが、今回の更新でさらに変化することになります。先月分まででこのオプションを指定しない場合、--strict-model-config=true
として動作していました。一方、今月分からは、これが自動的に --strict-model-config=false
相当の動作となります。もともと true
で動作する場合、設定を明示する必要があったため、この変更によって制限が緩和される方に倒れることになります。そのため影響は軽微のはずですが、これまで設定を入れ忘れていたらエラーで起動に失敗していたケースが、デフォルト値で補完され起動できてしまうようになります。フェイル セーフの観点から、設定の入れ忘れなどはエラーで止まってほしいという場合、上述の通り --disable-auto-complete-config
オプションを利用してください。
What’s New 以外のアップデート
今月の、What’s New で言及されていない更新点は以下の通りです。
KIND_CPU
指定時、TensorFlow および ONNXRuntime バックエンドでは、インスタンス数を表すcount
のデフォルト値が 2 に変更されます (PR – core#82)- ドキュメントは PR#4535 で更新
- ログの prefix としてリクエスト ID が付与されるようになりました (PR#4484)
- バックエンドで利用される ONNXRuntime のバージョンが上がります (commit#a00aa44)
- SageMaker との連携に関して、GPU の OOM 発生時のエラー ハンドリングが改善されました (PR#4543)
上記のうち、TensorFlow および ONNXRuntime バックエンドの count
デフォルト値が 1 から 2 に変更される更新は、これもデフォルト動作の変更になるため若干注意が必要です。ご存じの通り、このパラメーターは同時に起動するモデル インスタンスの数を表します。ある 1 つのモデルは、このパラメーターで指定された数だけコピーが生成され、同時に推論実行できるようになります。そのため多くの場合、今回のデフォルト値の変更により性能改善することが期待されますが、サーバーの構成によっては CPU コアが十分でないケースも考えられます。そうした場合、この変更により逆に性能劣化する可能性も否定できません。もし現在 CPU で推論実行するユースケースで count
を指定していないモデルがある場合、今回の更新を適用する際は、性能について一度確認されることを推奨します。
まとめ
今月は、デフォルト動作を変更するような更新がいくつか含まれていました。デプロイ済みのモデルで影響を受けそうなものがある場合、Triton のアップデート適用前に一度ご確認いただければ幸いです。