BentoML:一体化模型服务框架
BentoML 框架的核心特点及其在AI应用中的实际应用,包括如何快速构建、测试和部署具有高性能和可扩展性的机器学习模型。
直达下载
回到上一页 介绍
BentoML 是一个开源的模型服务库,旨在使用 Python 构建高性能和可扩展的人工智能应用。它提供了服务优化、模型打包和生产部署所需的一切。
核心特点:
- Bento 容器:为 AI 应用打包代码、推理管道、模型文件、依赖项和运行时配置。
- 自动生成 API 服务器:支持 REST API、gRPC 和长时间运行的推理任务。
- 自由构建任何 AI 模型:支持从任何模型中心导入或自带使用 PyTorch、TensorFlow 等框架构建的模型。
- 推理优化:集成高性能运行时如 ONNX-runtime 和 TorchScript,提高响应时间和吞吐量。
- 简化现代 AI 应用架构:Python 优先!轻松扩展复杂的 AI 工作负载。
- 随处部署:一键部署到 BentoCloud,或使用 Kubernetes 上的 Yatai 进行可扩展部署。
安装指令:
安装指令:pip install bentoml
应用示例:
- OpenLLM:在本地及云端运行开源大型语言模型(LLM),如 Llama 2 和 Mistral,作为兼容 OpenAI 的 API 端点。
- BentoXTTS:根据自定义音频数据将文本转换为语音。
- BentoSDXLTurbo:创建图像生成应用并一步完成推理操作。
- BentoControlNet:通过集成 ControlNet 调整图像组成,确保空间一致性。
部署示例:
安装依赖后,定义服务逻辑并在本地运行 BentoML 服务。以下示例展示了如何使用 BentoML 服务本地运行和部署一个简单的文本摘要应用。
pip install torch transformers "bentoml>=1.2.0a0"
from __future__ import annotations
import bentoml
from transformers import pipeline
@bentoml.service(
resources={"cpu": "2"},
traffic={"timeout": 10},
)
class Summarization:
def __init__(self) -> None:
self.pipeline = pipeline('summarization')
@bentoml.api
def summarize(self, text: str) -> str:
result = self.pipeline(text)
return result[0]['summary_text']
bentoml serve service:Summarization
BentoML 提供了一个强大的框架,用于快速开发和部署机器学习模型,使得机器学习工程师可以更加专注于模型的创新和优化。
×
直达下载