Data Science

Triton Inference Server 2022 年 6 月のリリース概要

Reading Time: < 1 minute

今月も Triton Inference Server のリリース内容について、概要をお届けします。「Triton Inference Server って何?」という方は、以下の記事などをご確認ください。

What’s New in 2.23.0 (NGC 22.06)

リリース ノート本体は https://github.com/triton-inference-server/server/releases/tag/v2.23.0 です。今月のリリースには以下の機能や改善などが含まれています。

今月の更新はやや控えめといった印象ですが、model configuration まわりの変更や改善は有用かもしれません。

以前から --strict-model-config=false を指定して Triton を起動することで、設定ファイルの作成をスキップすることができていました。このとき実際には、Triton によって設定自体は自動生成されており、具体的な値は /v2/models/<modelname>/config で確認することが可能です。今回の更新で、この生成される設定のデフォルト値が変更されます。具体的な差分は以下に示す diff の通りですが、まとめると以下の 2 点です。

  • max_batch_size のデフォルト値が 4 になります
  • デフォルトで dynamic_batching が設定されるようになります
    • ただしモデル自体の定義によって dynamic batching を利用できない場合、dynamic_batching は設定されません
    • モデルごとの dynamic batching 利用可否の概要については「Triton Inference Server のバッチサイズを紐解く」で触れています
--- 22.05_conf.json     2022-07-20 16:29:46.950969341 +0900
+++ 22.06_conf.json     2022-07-20 16:29:24.867140899 +0900
@@ -7,7 +7,7 @@
       "num_versions": 1
     }
   },
-  "max_batch_size": 1,
+  "max_batch_size": 4,
   "input": [
     {
       "name": "input_1",
@@ -47,6 +47,14 @@
     "gather_kernel_buffer_threshold": 0,
     "eager_batching": false
   },
+  "dynamic_batching": {
+    "preferred_batch_size": [],
+    "max_queue_delay_microseconds": 0,
+    "preserve_ordering": false,
+    "priority_levels": 0,
+    "default_priority_level": 0,
+    "priority_queue_policy": {}
+  },
   "instance_group": [
     {
       "name": "resnet",

なおこのとき、max_batch_size のデフォルト値については、--backend-config=default-max-batch-size=32 などとすることによって変更できます。

これに加えて、Python バックエンドで上記の設定ファイル自動生成に対応するため、モデルファイルの staticmethod として auto_complete_config() が追加されました。--strict-model-config=false が指定された場合に呼び出される関数で、期待する設定値などを定義するために使用されます。なおドキュメントの注釈にも記載されていますが、この関数を実行するために使用される Python インタプリターは関数終了後に破棄されるため、実際の推論実行に必要となるオブジェクトなどをこの関数内で生成しないように注意してください。

What’s New に言及されていないアップデート

今月も、更新内容や追加機能の詳細は What’s New でほぼ言及されていたようで、それ以外の主なものは以下の一件のみです。

  • 出力されるログのフォーマット指定ができるようになりました (PR#4423)

Triton では、--log-verbose=1--log-info=true などのオプションを起動時に追加することで、出力されるログの量を調整できますが、今回の対応でログのフォーマットもある程度制御できるようになるようです。ただし現時点では、日時のフォーマットを独自形式にするか ISO8601 形式にするかを選択できる程度のようですので、広く利用されているログ ライブラリのように柔軟な変更ができるかというと、そういうわけではないという点には注意が必要です。

まとめ

今月は利便性の向上に関する修正が大半でした。引き続き機能追加等は行われますので、定期的にチェックいただければと思います。

Tags