Ch20 推理部署
概念-模型服务
概述
模型服务(Model Serving)是将训练好的机器学习模型部署到生产环境,使其能够接收请求并返回推理结果的基础设施。模型服务框架负责管理模型生命周期、请求路由、自动扩缩容、批处理、版本管理、A/B 测试等生产级功能。2026 年,大语言模型(LLM)的爆发式增长推动模型服务架构从传统的”一模型一服务”演进为复杂的多模型编排系统。
核心模型服务框架
Ray Serve
Ray Serve 是 Ray 分布式计算框架上的模型服务层,由 Anyscale 开发。
- 架构:基于 Ray Actor 模型,每个模型副本是一个独立的 Ray Actor。
- 核心特性:
- 支持 Python 原生代码部署,无需额外封装
- 内置请求路由和负载均衡
- 与 Ray Train(训练)和 Ray Data(数据处理)无缝集成
- 支持多模型组合(Model Composition)和推理管道(Inference Graph)
- 自动扩缩容(基于请求量或 CPU/GPU 利用率)
- LLM 集成:原生支持 vLLM 和 TGI 作为推理后端,通过 Ray Serve 管理多个 vLLM 实例。
- 2026 定位:LLM 推理服务的事实标准,特别是在大规模分布式部署场景。
BentoML
BentoML 是一个开源的模型打包和服务框架,强调开发者体验。
- 架构:将模型、依赖、配置打包为标准化格式(Bento),然后部署到各种平台。
- 核心特性:
- 统一的模型打包格式(Bento)
- 支持多种 ML 框架(PyTorch、TensorFlow、ONNX、scikit-learn 等)
- 内置 API 服务(基于 FastAPI)
- 自适应批处理(Adaptive Batching)
- 多平台部署(Docker、Kubernetes、AWS SageMaker、GCP Vertex AI 等)
- LLM 集成:通过 BentoML 封装 vLLM/TGI,提供统一的 API 和管理界面。
- 2026 定位:中小团队和 ML 工程师的首选,强调从开发到生产的无缝过渡。
Triton Inference Server
Triton 是 NVIDIA 开发的高性能推理服务器,专为 GPU 推理优化。
- 架构:C++ 核心,支持多种后端(TensorRT、PyTorch、ONNX、TensorFlow、Python、vLLM 等)。
- 核心特性:
- 动态批处理(Dynamic Batching)
- 并发模型执行(Concurrent Model Execution)
- 模型分析器(Model Analyzer)用于自动优化配置
- 支持 FP16/INT8/INT4 量化推理
- 支持 GPU 多实例(MIG)和 Multi-GPU 推理
- 支持 KV Cache 感知的 LLM 批处理
- LLM 集成:通过 TensorRT-LLM 后端提供极致优化的 LLM 推理,支持 Medusa 推测解码。
- 2026 定位:企业级高性能推理,特别是 NVIDIA GPU 环境下的首选。
TorchServe
TorchServe 是 PyTorch 官方模型服务框架,由 AWS 和 Meta 联合开发。
- 架构:基于 Java 的前端服务 + Python 后端的模型工作进程。
- 核心特性:
- PyTorch 原生支持,模型导出(TorchScript、torch.export)无缝对接
- 内置模型版本管理和 A/B 测试
- 支持自定义处理程序(Handler)
- 集成 Prometheus 监控
- LLM 集成:通过自定义 Handler 封装 HuggingFace 模型或 vLLM。
- 2026 定位:PyTorch 生态的原生服务方案,适合已有 PyTorch 工作流的团队。
KServe
KServe 是 Kubernetes 原生的模型服务框架,CNCF 孵化项目。
- 架构:基于 Kubernetes CRD,每个模型服务是一个 InferenceService 资源。
- 核心特性:
- Kubernetes 原生,与 Istio、Knative 深度集成
- 服务网格(Service Mesh)和零信任安全
- 金丝雀发布(Canary Rollout)和 A/B 测试
- 模型解释(Alibi、AIX360)和异常检测(Drift Detection)
- 多模型服务协议(V2 Protocol、Open Inference Protocol)
- LLM 集成:通过 vLLM/TGI 运行时支持 LLM 推理。
- 2026 定位:Kubernetes 环境的模型服务标准,特别是需要多模型管理和安全合规的企业。
核心框架对比
| 维度 | Ray Serve | BentoML | Triton Server | TorchServe | KServe |
|---|---|---|---|---|---|
| 开发者 | Anyscale | BentoML (开源社区) | NVIDIA | AWS / Meta | CNCF (社区) |
| 开源性 | 开源 (Apache 2.0) | 开源 (Apache 2.0) | 开源 (BSD) | 开源 (Apache 2.0) | 开源 (Apache 2.0) |
| 部署平台 | Ray 集群 / K8s | 任意(Docker/K8s/云) | 任意(GPU 优先) | 任意(Docker/K8s) | K8s 原生 |
| GPU 优化 | 通过后端(vLLM) | 通过后端 | 原生(TensorRT) | 基础 | 通过后端 |
| 自动扩缩容 | 原生支持 | 支持(通过 K8s) | 支持 | 支持(通过 K8s) | 原生支持(Knative) |
| 动态批处理 | 支持 | 支持 | 原生支持 | 支持 | 通过后端 |
| 多模型编排 | 原生支持(Pipeline) | 支持 | 支持(Ensemble) | 限制 | 支持(Transformer) |
| A/B 测试 | 支持 | 支持 | 支持 | 支持 | 原生支持 |
| 模型版本管理 | 支持 | 支持 | 支持 | 原生支持 | 原生支持 |
| 监控 | Ray Dashboard | Prometheus | Prometheus + Nvidia | Prometheus | Prometheus + Knative |
| 学习曲线 | 中等 | 低 | 高 | 低 | 高 |
| 社区活跃度 | 极高 | 高 | 高 | 中 | 高 |
| LLM 支持 | 通过 vLLM/TGI | 通过 vLLM/TGI | 通过 TensorRT-LLM | 通过自定义 Handler | 通过 vLLM/TGI |
2026年 LLM 服务架构最佳实践
典型生产部署架构
┌─────────────┐
│ API Gateway │ (Nginx / Kong / Envoy)
└──────┬──────┘
│
┌─────────────┼─────────────┐
│ │ │
┌─────▼─────┐ ┌────▼────┐ ┌─────▼─────┐
│ Ray Serve │ │ BentoML │ │ Triton │
│ (路由层) │ │ (打包层) │ │ (推理层) │
└─────┬─────┘ └────┬────┘ └─────┬─────┘
│ │ │
┌─────▼─────────────▼─────────────▼─────┐
│ vLLM / TGI / SGLang │
│ (LLM 推理引擎集群) │
└────────────────────────────────────────┘
│
┌─────────────┼─────────────┐
│ │ │
┌─────▼─────┐ ┌────▼────┐ ┌─────▼─────┐
│ GPU Node │ │GPU Node │ │ GPU Node │
│ (A100/H100)│ │(A100/H100)│ │(A100/H100)│
└───────────┘ └─────────┘ └───────────┘
选型指南
| 场景 | 推荐方案 | 理由 |
|---|---|---|
| 大规模 LLM 集群(10+ GPU) | Ray Serve + vLLM | Ray 的分布式调度能力,vLLM 的推理效率 |
| 中小团队快速部署 | BentoML + vLLM | 低学习成本,从开发到生产无缝过渡 |
| NVIDIA GPU 环境极致优化 | Triton + TensorRT-LLM | 原生 GPU 优化,极致吞吐量 |
| Kubernetes 多模型管理 | KServe + vLLM | K8s 原生,多模型管理,安全合规 |
| PyTorch 生态 | TorchServe + vLLM | PyTorch 原生支持 |
| 混合推理(LLM + 传统 ML) | Ray Serve | 支持多种模型类型,统一编排 |
关键生产考量
- 批处理策略:连续批处理(Continuous Batching)是 LLM 服务的核心,vLLM 的 PagedAttention 是 2026 年的标准。
- KV Cache 管理:长上下文场景下,KV Cache 的显存管理至关重要。
- 冷启动优化:模型加载时间(特别是 70B+ 模型)可能长达数分钟,需要预热策略。
- 请求优先级:不同请求可能有不同的延迟要求(如实时对话 vs 批量处理)。
- 成本优化:Spot 实例、模型量化、推测解码等策略降低推理成本。
- 安全与合规:模型服务需要处理数据隐私、模型安全(越狱攻击)、审计日志等。
相关笔记
- 第20章 · 模型推理部署:模型推理优化与部署系统性介绍
- 概念-vLLM:vLLM 推理引擎,PagedAttention 与连续批处理
- 第21章 . MLOps 基础:MLOps 基础概念,CI/CD/CT 流水线
- 概念-Medusa:Medusa 推测解码加速
- 概念-AI编程工具:AI 编程工具生态
来源
- Ray Serve 文档: https://docs.ray.io/en/latest/serve/index.html
- BentoML 官方: https://www.bentoml.com/
- Triton Inference Server: https://developer.nvidia.com/triton-inference-server
- TorchServe GitHub: https://github.com/pytorch/serve
- KServe 官方: https://kserve.github.io/website/
- vLLM 生产部署指南: https://docs.vllm.ai/en/latest/serving/deploying_with_docker.html
- 2026 LLM Serving 最佳实践: https://www.anyscale.com/blog/llm-serving-best-practices-2026
关联7
知识图谱局部图谱 · 点节点跳转