工程 / 工程
TorchServe 停止维护后,AWS Ray Serve 深度学习容器如何接管推理工作负载
TorchServe 已正式停止维护,官方明确表示不再提供漏洞修复、安全补丁或新功能更新。这意味着依赖 TorchServe 的团队必须自行承担整个 GPU 推理依赖链的维护责任,包括版本兼容性管理和安全漏洞修补,耗费大量工程资源却不产生业务价值。为此,AWS 推出了 Ray Serve 深度学习容器(DLC),将 PyTorch、CUDA 运行时、Ray Serve 服务层及常用多模态工具统一打包进一个经过验证的 Docker 镜像,并持续提供安全补丁。该容器同时支持 Amazon EKS、Amazon EC2 和 Amazon SageMaker 三种部署环境。本文以视觉语言模型 Qwen3-VL-2B 为例,演示如何在单块 NVIDIA A10G GPU 节点上通过 Ray Serve DLC 完成模型部署,展示从代码编写到 EKS 集群上线的完整流程。
TorchServe 的停止维护给生产环境带来了实质性风险。官方项目公告明确指出,不再计划任何更新、漏洞修复或安全补丁,已知安全漏洞也可能无法得到处理。对于当前仍在使用 TorchServe 运行模型推理的团队而言,这意味着他们需要独立维护从 CUDA 版本到 PyTorch 框架的整条依赖链,在任何组件版本偏移时自行排查兼容性故障,这是一项高成本却低价值的基础设施工作。
AWS Ray Serve 深度学习容器正是为解决上述问题而设计的。该容器以 NVIDIA 官方 Amazon Linux 2023 镜像为基础,在其上叠加 PyTorch 深度学习框架、集成 FastAPI 与 Uvicorn 的 Ray Serve 服务层,以及针对视觉、音频和多模态任务预编译的常用工具库,包括支持 NVIDIA 硬件加速的 FFmpeg。所有组件在每次发布前均经过联合验证,确保 CUDA 运行时、框架与服务层之间不存在版本漂移,安全补丁在构建阶段即已应用。
与 TorchServe 相比,Ray Serve 的开发体验更为简洁直接。开发者只需用 @serve.deployment 装饰器标注一个 Python 类,实现 __call__ 方法处理 HTTP 请求,再调用 .bind() 完成注册即可。无需模型归档工具、无需继承特定处理器类层级、也无需编写 config.properties 配置文件。以 Qwen3-VL-2B 视觉语言模型为例,整个服务逻辑仅需数十行代码,模型以 float16 精度加载至 GPU,接收包含图片 URL 和文本提示的请求后返回自然语言描述。
在部署架构上,本文演示的是基于 Amazon EKS 的单节点推理方案:一个 g5.xlarge 实例(搭载一块 24 GB 显存的 NVIDIA A10G GPU),运行单个 Pod,通过 8000 端口对外提供 HTTP 服务。服务代码通过 Kubernetes ConfigMap 注入容器,无需重新构建镜像即可更新推理逻辑,保持了部署的灵活性。对于需要跨机器模型并行或多副本水平扩展的场景,可在此基础上引入 KubeRay 进行多节点编排。
Ray Serve DLC 以独立镜像的形式分别发布,适配 Amazon EKS、Amazon EC2 和 Amazon SageMaker 三种环境,各自配备适合对应服务契约的入口点,但底层依赖栈完全一致。对于大多数模型,包括 Qwen3-VL,无需构建自定义镜像即可直接运行;若模型需要额外依赖库,工程师可在同一经过测试的基础镜像上进行叠加,而不必从零搭建整个 GPU 软件栈。这一设计使团队能够将精力集中在模型本身,而非基础设施维护。
要点
- TorchServe 已停止维护,不再提供安全补丁和兼容性更新,继续使用将由团队自行承担全部依赖链风险。
- AWS Ray Serve DLC 将 CUDA 运行时、PyTorch、Ray Serve 服务层打包为经过联合验证的一体化容器,由 AWS 持续维护并提供安全补丁。
- Ray Serve 以装饰器驱动的 Python 类替代了 TorchServe 的模型归档、处理器继承和配置文件体系,显著降低了推理服务的开发复杂度。
- 服务代码通过 Kubernetes ConfigMap 注入容器,支持在不重建镜像的情况下更新推理逻辑,提升了部署灵活性。
- 单节点方案可直接扩展至多节点分布式推理,通过 KubeRay 实现跨机器模型并行和水平自动扩缩容。
原始标题:Simplify and support your TorchServe workloads using Ray Serve Deep Learning Containers
本文由 DataHub 基于公开来源整理,用于信息发现与摘要阅读;具体事实、数据和后续更新以原始来源为准。