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 ServeBentoMLTriton ServerTorchServeKServe
开发者AnyscaleBentoML (开源社区)NVIDIAAWS / MetaCNCF (社区)
开源性开源 (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 DashboardPrometheusPrometheus + NvidiaPrometheusPrometheus + 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 + vLLMRay 的分布式调度能力,vLLM 的推理效率
中小团队快速部署BentoML + vLLM低学习成本,从开发到生产无缝过渡
NVIDIA GPU 环境极致优化Triton + TensorRT-LLM原生 GPU 优化,极致吞吐量
Kubernetes 多模型管理KServe + vLLMK8s 原生,多模型管理,安全合规
PyTorch 生态TorchServe + vLLMPyTorch 原生支持
混合推理(LLM + 传统 ML)Ray Serve支持多种模型类型,统一编排

关键生产考量

  1. 批处理策略:连续批处理(Continuous Batching)是 LLM 服务的核心,vLLM 的 PagedAttention 是 2026 年的标准。
  2. KV Cache 管理:长上下文场景下,KV Cache 的显存管理至关重要。
  3. 冷启动优化:模型加载时间(特别是 70B+ 模型)可能长达数分钟,需要预热策略。
  4. 请求优先级:不同请求可能有不同的延迟要求(如实时对话 vs 批量处理)。
  5. 成本优化:Spot 实例、模型量化、推测解码等策略降低推理成本。
  6. 安全与合规:模型服务需要处理数据隐私、模型安全(越狱攻击)、审计日志等。

相关笔记

来源

关联7

知识图谱

局部图谱 · 点节点跳转