triton-inference-server/python_backend

Triton backend that enables pre-process, post-processing and other logic to be implemented in Python.

解決的問題

讓開發者能在不需撰寫任何 C++ 程式碼的情況下,使用 Triton Inference Server 部署以 Python 編寫的機器學習模型。這消除了為自訂 Python 模型邏輯實作複雜 C++ 後端的障礙。

運作方式

開發者建立一個命名為 TritonPythonModel 的 Python 類別,並實作一組特定的生命週期方法。Triton 伺服器隨後載入此 Python 程式碼,並呼叫這些方法來管理模型:

  • auto_complete_config:若缺少設定檔,可選擇性地定義模型的輸入、輸出與批次設定。
  • initialize:在模型載入時執行一次性的設定與狀態初始化。
  • execute:核心邏輯,模型處理 InferenceRequest 物件列表,並回傳對應的 InferenceResponse 物件列表。
  • finalize:在模型卸載時執行清理工作。
  • is_ready:檢查模型是否健康且已準備好處理請求。

適用對象

希望將使用 PyTorch、TensorFlow 或 JAX 等框架的 Python 模型部署至生產級推論伺服器,但又不想學習 C++ 的 AI 工程師與資料科學家。

特色

  • 無需 C++:可直接部署 Python 模型。
  • 框架無關:支援 PyTorch、TensorFlow、JAX 與 NumPy。
  • 解耦模式:支援非同步或解耦方式回傳回應。
  • 業務邏輯腳本(BLS):可在 Python 內實作複雜的模型串接與編排。
  • GPU 支援:透過 DLPack 提供與 GPU 張量的相容性。

相關

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