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 寫出模型邏輯。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案