Triton Inference Server는 다양한 플랫폼과 백엔드를 지원하여 다양한 유형의 모델을 실행할 수 있습니다. config.pbtxt
파일에서 platform
이나 backend
옵션을 사용하여 모델의 종류와 실행 방식을 지정합니다. 각각의 옵션은 Triton이 모델을 어떻게 실행할지를 결정합니다.
platform
및 backend
옵션의 차이점platform
옵션:
onnxruntime_onnx
: ONNX Runtime을 사용하여 ONNX 형식의 모델을 실행.tensorrt_plan
: TensorRT를 사용하여 TensorRT 엔진 플랜 파일을 실행.tensorflow_graphdef
: TensorFlow 그래프 정의 파일을 실행.ensemble
: 여러 하위 모델을 결합하여 앙상블 모델을 실행.backend
옵션:
python
: Python 백엔드를 사용하여 Python으로 구현된 모델을 실행.platform
옵션의 가능한 값:
onnxruntime_onnx
: ONNX Runtime을 사용하여 ONNX 모델을 실행.tensorrt_plan
: TensorRT를 사용하여 TensorRT 플랜 파일을 실행.tensorflow_graphdef
: TensorFlow GraphDef 파일을 실행.tensorflow_savedmodel
: TensorFlow SavedModel 형식을 실행.tensorflow_frozen_graph
: TensorFlow Frozen Graph 형식을 실행.ensemble
: 여러 모델을 결합하여 앙상블 모델을 실행.pytorch_libtorch
: PyTorch 모델을 LibTorch를 사용하여 실행.backend
옵션의 가능한 값:
python
: Python 백엔드를 사용하여 Python으로 구현된 모델을 실행.onnxruntime
: ONNX Runtime을 사용하여 모델을 실행.pytorch
: PyTorch 모델을 실행 (LibTorch 백엔드 사용).tensorrt
: TensorRT를 사용하여 모델을 실행.tensorflow
: TensorFlow 백엔드를 사용하여 모델을 실행.ONNX Runtime (onnxruntime_onnx):
TensorRT (tensorrt_plan):
TensorFlow (tensorflow_graphdef, tensorflow_savedmodel, tensorflow_frozen_graph):
PyTorch (pytorch_libtorch):
Python 백엔드 (python):
앙상블 (ensemble):
config.pbtxt
예시 1: ONNX 모델name: "ocrDetectionOnnx"
platform: "onnxruntime_onnx"
input [
{
name: "INPUT"
data_type: TYPE_FP32
dims: [1, 3, 224, 224]
}
]
output [
{
name: "OUTPUT"
data_type: TYPE_FP32
dims: [1, 1000]
}
]
config.pbtxt
예시 2: Python 모델name: "ocrDetectionPreprocessor"
backend: "python"
input [
{
name: "INPUT"
data_type: TYPE_FP32
dims: [1, 3, 224, 224]
}
]
output [
{
name: "OUTPUT"
data_type: TYPE_FP32
dims: [1, 1000]
}
]
platform
과 backend
옵션은 Triton Inference Server에서 모델을 실행하는 방식을 결정합니다. 각각의 옵션은 특정 프레임워크나 형식에 맞는 모델을 실행하는 데 사용되며, 이를 통해 다양한 머신 러닝 모델을 효율적으로 배포할 수 있습니다.