在生產中提供 AI/ML 模型最簡單的方法
編寫一次,隨處運行:使用在開發和生產中表現相同的模型伺服器打包和測試模型程式碼、權重和依賴項。
快速開發循環:透過即時重新載入伺服器的快速回饋來實現您的模型,並透過包含電池的模型服務環境跳過 Docker 和 Kubernetes 配置。
支援所有 Python 框架:從transformers
和diffusers
到PyTorch
和TensorFlow
,再到TensorRT
和Triton
,Truss 支援使用任何框架建立和服務的模型。
請參閱桁架以了解流行型號,包括:
羊駝 2 7B (13B) (70B)
穩定擴散XL
耳語
以及其他幾十個例子。
安裝桁架:
pip install --upgrade truss
作為一個簡單的範例,我們將從開源transformers
套件中打包文字分類管道。
首先,使用以下終端命令建立一個桁架:
truss 初始化文字分類
出現提示時,為您的桁架指定名稱,例如Text classification
。
然後,導航到新建立的目錄:
cd 文字分類
Truss 中的兩個基本檔案之一是model/model.py
。在此文件中,您編寫一個Model
類別:您正在打包的 ML 模型與您正在執行該模型的模型伺服器之間的介面。
您必須在Model
類別中實作兩個成員函數:
load()
將模型載入到模型伺服器上。當模型伺服器啟動或修補時,它只運行一次。
predict()
處理模型推理。每次調用模型伺服器時它都會運行。
這是文本分類模型的完整model/model.py
:
from Transformers import pipelineclass Model:def __init__(self, **kwargs):self._model = Nonedef load(self):self._model = pipeline("text-classification")def Predict(self, model_input):return self._model (模型輸入)
Truss 中的另一個重要檔案是config.yaml
,它配置模型服務環境。有關配置選項的完整列表,請參閱配置參考。
管道模型依賴 Transformers 和 PyTorch。這些依賴項必須在 Truss 配置中指定。
在config.yaml
中,找到requirements
行。將空列表替換為:
要求: - 火炬==2.0.1 - 變形金剛==4.30.0
不需要其他配置。
Truss 由 Baseten 維護,它提供了在生產中運行 ML 模型的基礎設施。我們將使用 Baseten 作為您模型的遠端主機。
其他遙控器即將推出,首先是 AWS SageMaker。
要設定 Baseten 遙控器,您需要一個 Baseten API 金鑰。如果您沒有 Baseten 帳戶,不用擔心,只需註冊帳戶,您將獲得大量免費積分來幫助您入門。
truss push
當出現提示時,您的 Baseten API 金鑰已準備好貼上,您可以部署模型:
桁架推
您可以從 Baseten 上的模型儀表板監控模型部署。
模型完成部署後,您可以從終端呼叫它。
祈求
truss 預測 -d '“Truss 太棒了!”'
回覆
[ {“標籤”:“積極”,“分數”:0.999873161315918 } ]
Truss 由 Baseten 提供支持,並與全球 ML 工程師合作建置。特別感謝 Stephan Auerhahn @ stable.ai 和 Daniel Sarfati @ Salad Technologies 的貢獻。
我們熱忱歡迎根據貢獻者指南和行為準則做出貢獻。