triton-inference-server/backend
Common source, scripts and utilities for creating Triton backends.
解決的問題
本專案提供為 Triton Inference Server 建立「後端」所需的基礎設施與文件。後端是實際執行模型的實作,讓 Triton 能支援各種深度學習框架(如 PyTorch、TensorFlow、ONNX Runtime)或用於影像預處理等作業的自訂 C/C++ 逻辑。
工作原理
Triton 使用標準化的 C 接口(Triton Backend API)與後端通訊。每個後端皆以共用程式庫(命名為 libtriton_<backend-name>.so)的形式實作,由 Triton 在執行時載入。
API 定義了幾個關鍵抽象:
- Backend:所有使用該後端的模型共用的整體實作。
- Model:代表一個特定載入的模型。
- Model Instance:模型的執行單元;Triton 可建立多個實例以處理請求。
- Request/Response:用於將輸入張量傳遞給後端,並回傳輸出張量給 Triton 的物件。
適用對象
- 機器學習工程師:需要將不同框架的模型部署至單一生產環境的開發者。
- 後端開發者:希望在 Triton 生態系統中建立自訂 C/C++ 或 Python 逻辑,以執行特定模型操作或預處理步驟的開發者。
主要亮點
- 框架無關:支援廣泛的框架,包括 TensorRT、ONNX Runtime、TensorFlow、PyTorch、OpenVINO 與 vLLM。
- 可擴展:允許開發者透過 C 接口建立自己的自訂後端。
- 彈性部署:後端可全域安裝,也可與特定模型版本一同打包安裝。
- 自訂邏輯:支援 Python 後端,可在不轉換為 TorchScript 或其他格式的情況下,以 Python 寫出模型邏輯。
相關
- 專案
- 專案
- 專案
- 專案
- 專案