Triton Inference Server
The Triton Inference Server provides a cloud inferencing solution optimized for both CPUs and GPUs. The server provides an inference service via an HTTP or GRPC endpoint, allowing remote clients to request inferencing for any model being managed by the server. For edge deployments, Triton Server is also available as a shared library with an API that allows the full functionality of the server to be included directly in an application.
What's New in 2.25.0
-
New support for multiple cloud credentials has been enabled. This feature is in beta and is subject to change.
-
Models using custom backends which implement auto-complete configuration, can be loaded without explicit config.pbtxt file if they are named in form
<model_name>.<backend_name>
. -
Users can specify a maximum memory limit when loading models onto the GPU with the new --model-load-gpu-limit tritonserver option and the TRITONSERVER_ServerOptionsSetModelLoadDeviceLimit C API function
-
Added new documentation, Performance Tuning, with a step by step guide to optimize models for production
-
From this release onwards Triton will default to TensorFlow version 2.X. TensorFlow version 1.X can still be manually specified via backend config.
-
PyTorch backend has improved performance by using a separate CUDA Stream for each model instance when the instance kind is GPU.
-
Refer to the 22.08 column of the Frameworks Support Matrix for container image versions on which the 22.08 inference server container is based.
-
Model Analyzer's profile subcommand now analyzes the results after Profile is completed. Usage of the Analyze subcommand is deprecated. See Model Analyzer's documentation for further details.
Known Issues
-
There is no Jetpack release for 22.08, the latest release is 22.07.
-
Auto-complete may cause an increase in server start time. To avoid a start time increase, users can provide the full model configuration and launch the server with
--disable-auto-complete-config
. -
When auto-completing some model configs, backends may generate a model config even though there is not enough metadata (ex. Graphdef models for TensorFlow Backend). The user will see the model successfully load but fail to inference. In this case the user should provide the full model configuration for these models or use the
--disable-auto-complete-config
CLI option to show which models fail to load. -
Auto-complete does not support PyTorch models due to lack of metadata in the model. It can only verify that the number of inputs and the input names matches what is specified in the model configuration. There is no model metadata about the number of outputs and datatypes. Related PyTorch bug: pytorch/pytorch#38273
-
Auto-complete is not supported in the OpenVINO backend
-
Perf Analyzer stability criteria has been changed which may result in reporting instability for scenarios that were previously considered stable. This change has been made to improve the accuracy of Perf Analyzer results. If you observe this message, it can be resolved by increasing the
--measurement-interval
in the time windows mode or--measurement-request-count
in the count windows mode. -
Triton Client PIP wheels for ARM SBSA are not available from PyPI and pip will install an incorrect Jetson version of Triton Client library for Arm SBSA.
The correct client wheel file can be pulled directly from the Arm SBSA SDK image and manually installed.
-
Traced models in PyTorch seem to create overflows when int8 tensor values are transformed to int32 on the GPU.
Refer to pytorch/pytorch#66930 for more information.
-
Triton cannot retrieve GPU metrics with MIG-enabled GPU devices (A100 and A30).
-
Triton metrics might not work if the host machine is running a separate DCGM agent on bare-metal or in a container.
-
Model Analyzer reported values for GPU utilization and GPU power are known to be inaccurate and generally lower than reality.
Client Libraries and Examples
Ubuntu 20.04 builds of the client libraries and examples are included in this release in the attached v2.25.0_ubuntu2004.clients.tar.gz
file. The SDK is also available for as an Ubuntu 20.04 based NGC Container. The SDK container includes the client libraries and examples, Performance Analyzer and Model Analyzer. Some components are also available in the tritonclient pip package. See Getting the Client Libraries for more information on each of these options.
For windows, the client libraries and some examples are available in the attached tritonserver2.25.0-sdk-win.zip
file.
Windows Support
A beta release of Triton for Windows is provided in the attached file:tritonserver2.25.0-win.zip
. This is a beta release so functionality is limited and performance is not optimized. Additional features and improved performance will be provided in future releases. Specifically in this release:
-
HTTP/REST and GRPC endpoints are supported.
-
ONNX models are supported by the ONNX Runtime backend. The ONNX Runtime version is 1.12.0. The CPU, CUDA, and TensorRT execution providers are supported. The OpenVINO execution provider is not supported.
-
OpenVINO models are supported. The OpenVINO version is 2021.4.
-
Prometheus metrics endpoint is not supported.
-
System and CUDA shared memory are not supported.
To use the Windows version of Triton, you must install all the necessary dependencies on your Windows system. These dependencies are available in the Dockerfile.win10.min. The Dockerfile includes the following CUDA-related components:
-
CUDA 11.7.1
-
cuDNN 8.4.1.5
-
TensorRT 8.4.1.5
Jetson Jetpack Support
NOTE: There is no Jetpack release for 22.08, the latest release is 22.07.