在生产中提供 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 的贡献。
我们热忱欢迎根据贡献者指南和行为准则做出贡献。