truss开源程序在生产中提供 AI/ML 模型的最简单方法
一、软件介绍
文末提供程序和源码下载学习
truss开源程序在生产中提供 AI/ML 模型的最简单方法
二、为什么选择 Truss?
- 一次编写,随处运行: 使用在开发和生产中行为相同的模型服务器打包和测试模型代码、权重和依赖项。
- 快速开发人员循环: 使用来自实时重新加载服务器的快速反馈来实施您的模型,并使用包含电池的模型服务环境跳过 Docker 和 Kubernetes 配置。
- 支持所有 Python 框架 :从 transformer 和 diffusers 到 PyTorch 和 TensorFlow,再到 TensorRT 和 Triton,Truss 支持使用任何框架创建和提供的模型。
三、Installation 安装
Install Truss with: 使用以下方式安装 Truss:
pip install --upgrade truss
Create a Truss 创建桁架
首先,使用以下终端命令创建桁架:
truss init text-classification
出现提示时,为您的桁架指定一个名称,例如 Text classification。
然后,导航到新创建的目录:
cd text-classification
Implement the model 实现模型
桁架中的两个基本文件之一是 model/model.py。在此文件中,您将编写一个 Model 类:您正在打包的 ML 模型与运行该模型的模型服务器之间的接口。
必须在 Model 类中实现两个成员函数:
- load() 将模型加载到 Model Server 上。当模型服务器启动或修补时,它只运行一次。
- predict() 处理模型推理。每次调用模型服务器时,它都会运行。
以下是文本分类模型的完整模型/model.py:
from transformers import pipeline
class Model:
def __init__(self, **kwargs):
self._model = None
def load(self):
self._model = pipeline("text-classification")
def predict(self, model_input):
return self._model(model_input)
四、Add model dependencies 添加模型依赖关系
Truss 中的另一个重要文件是 config.yaml,用于配置模型服务环境。有关配置选项的完整列表,请参阅 config 参考 。
管道模型依赖于 Transformer 和 PyTorch。必须在 Truss 配置中指定这些依赖项。
在 config.yaml 中,找到 lines requirements。将空列表替换为:
requirements:
- torch==2.0.1
- transformers==4.30.0
No other configuration is needed.
不需要其他配置。
五、Deployment 部署
Truss 由 Baseten 维护,Baseten 为在生产中运行 ML 模型提供基础设施。我们将使用 Baseten 作为您模型的远程主机。
其他远程功能即将推出,从 AWS SageMaker 开始。
Get an API key 获取 API 密钥
要设置 Baseten 远程,您需要一个 Baseten API 密钥 。如果您没有 Baseten 帐户,不用担心,只需注册一个帐户 ,您将获得大量免费积分以开始使用。
Run truss push 运行 truss push
在出现提示时准备好粘贴 Baseten API 密钥后,您可以部署模型:
truss push
您可以从 Baseten 上的模型控制面板监控您的模型部署。
Invoke the model 调用模型
模型完成部署后,您可以从终端调用它。
Invocation 调用
truss predict -d '"Truss is awesome!"'
Response 响应
[
{
"label": "POSITIVE",
"score": 0.999873161315918
}
]
六、软件下载
夸克网盘分享
本文信息来源于GitHub作者地址:https://github.com/basetenlabs/truss