KubeCon NA 2025:Robert Nishihara讨论了使用Kubernetes、Ray、PyTorch和vLLM进行开源AI计算

来源: InfoQ - 云计算

原文

AI工作负载在计算和数据方面正变得越来越复杂,像KubernetesPyTorch这样的技术可以帮助构建生产环境就绪的AI系统来支持它们。来自Anyscale的Robert Nishihara最近在2025年北美KubeCon + CloudNativeCon会议谈到了如何通过包含Kubernetes、PyTorch、vLLMRay技术的AI计算栈来支持这些新的AI工作负载。

Ray是一个开源框架,旨在构建和扩展机器学习和Python应用程序。它能够为分布式工作负载编排基础设施,是在伯克利的一个强化学习研究项目中开发的。最近,Ray成为了PyTorch基金会的一部分,为更广泛的开源AI生态系统做出贡献。

Nishihara强调了推动AI工作负载演变的三个主要领域,即数据处理、模型训练和模型服务。数据处理必须适应AI应用所需的新兴数据类型,从传统的表格数据扩展到多模态数据集(可以包括图像、视频、音频、文本和传感器数据)。这种演变对于支持推理任务至关重要,推理任务是AI驱动应用的基本组成部分。此外,用于数据存储和计算操作的硬件需要支持GPU和标准CPU。他指出,数据处理已经从“在CPU上的SQL操作”转变为“在GPU上的推理”。

模型训练涉及强化学习(reinforcement learning,RL)和训练后任务,包括通过在模型上运行推理来生成新数据。Ray的Actor API可以用于训练器(Trainer)和生成器(Generator)组件。一个“Actor”本质上是一个有状态的工作者(worker),当实例化时创建一个新的工作者类,并管理该特定工作者实例上的方法调度。此外,Ray的原生远程直接内存访问(Remote Direct Memory Access,RDMA)支持允许通过RDMA直接传输GPU对象,以提高性能。

在Ray之上已经开发了多个开源的强化学习框架。例如,AI驱动的代码编辑工具Cursor的composer就是基于Ray构建的。Nishihara还提到了其他值得注意的框架,如Verl(字节跳动)、OpenRLHFROLL(阿里巴巴)、NeMO-RL(Nvidia)和SkyRL(加州大学伯克利分校),它们使用Hugging Face、FSDP、DeepSpeedMegatron等训练引擎,以及Hugging Face、vLLM、SGLang和OpenAI等服务引擎,均由Ray编排。

他分享了Ray背后的应用架构,指出了上层和下层都存在日益增长的复杂性。连接顶层应用程序和底层硬件的软件栈的需求不断增长。顶层包括AI工作负载、模型训练和像PyTorch、vLLM、Megatron和SGLang这样的推理框架。相比之下,底层由计算基底(GPU和CPU)和像Kubernetes和Slurm这样的容器编排器组成。Ray和Spark这样的分布式计算框架作为顶层和底层组件之间的桥梁,处理数据摄取和数据移动。

Kubernetes和Ray互补地托管AI应用程序,将容器级别的隔离扩展到进程级别的隔离,并提供垂直和水平的自动扩展。Nishihara指出,与模型训练相比,推理阶段需求的增加或减少,将GPU在这些阶段之间的转移变得更有益处,这是通过使用Ray和Kubernetes一起实现的能力。

总之,Nishihara强调了AI平台的核心要求,这些要求必须支持原生多云体验、跨GPU预留的工作负载优先级、可观测性和工具、模型和数据世系跟踪以及总体治理。可观测性在容器级别、工作负载级别及进程级别都至关重要,它可以监控对象传输速度等指标。

原文链接:

KubeCon NA 2025 - Robert Nishihara on Open Source AI Compute with Kubernetes, Ray, PyTorch, and vLLM