特色项目

简而言之:vLLM 在让我们的研究社区能够及时获取并使用最新、最强大的大语言模型(LLM)方面发挥了至关重要的作用。
引言
2024年11月中旬,IBM Research 推出了研究推理与调优服务 (RITS) 平台。RITS 是一个面向整个 IBM Research 社区的基础设施/服务平台,提供模型推理端点和“辅助性”调优服务端点的集中部署与共享访问。自成立以来,其研究社区用户群已增长至超过 1300 名活跃用户,且在任何给定时间都托管着 100 多个模型。
商业挑战
推出 RITS 的目的是确保 IBM Research 社区能够使用一个共享的运营基础设施/服务平台,从而:
- 通过普及模型推理端点来优化跨研究工作流的 GPU 资源利用率(进而降低整体运营成本)
- 专注于提供对高需求、其他渠道无法获取的各种实验性模型的访问,这些模型通常是研究所需的
在建立 RITS 时,研究领导层和 AI 平台赋能团队确立了以下高级目标:
- 开发一个供专家用户通过 API 访问的基础设施/服务平台
- 基于开放标准接口开发平台——例如 Red Hat Openshift AI、vLLM Serving 和 OpenAI API
- 优先支持规模化推理,通过基于 Serverless 的自动缩放、基于自定义指标的缩放以及用户请求限流来优化 GPU 利用率
- 通过 API 网关技术管理自托管 API 密钥,实现端点安全性
- 支持简便的模型端点发现和模型端点内省(实现模型部署和模型运行时配置的可视化)

图 1:RITS 平台高级架构

图 2:RITS 平台 UI – 模型发现与内省
IBM Research 如何使用 vLLM
vLLM 是 RITS 平台的核心。所有部署到 RITS 平台的模型都使用 vLLM 作为模型服务运行时。vLLM 与 Red Hat AI 产品组合、Red Hat AI Inference Server 和 OpenShift AI 无缝集成,这些产品为部署、监控、扩展和维护需要专用加速器资源的模型提供了基础能力。此外,由于 vLLM 是 PyTorch 基金会下的托管项目,它保证了一个长期的、供应商中立的开放标准,这与 IBM 对混合开放架构的承诺相一致。
Red Hat OpenShift AI 集成了 KServe,它通过利用实现各种模型服务器加载的模型服务运行时来编排模型服务,在我们的案例中,该运行时就是 vLLM。鉴于 RITS 运行着数百种不同的模型,其中许多往往是新的或实验性的,Red Hat OpenShift AI 允许我们将不同版本的 vLLM 注册为自定义服务运行时(当特定模型部署需要自定义镜像时)。
服务运行时为部署和管理模型创建了环境,为动态加载和卸载模型的 vLLM Pod 创建了模板,并暴露了用于推理请求的服务端点。
利用 vLLM 解决 AI 挑战
对于像 RITS 这样的“模型即服务”平台,高效利用有限且昂贵的 GPU 资源始终是重中之重,尤其是在平台同时被数百名活跃用户共享,且提交的负载各异、对管理员而言不可知且不可预测的情况下。服务性能至关重要,而作为服务运行时的 vLLM 既满足了我们的性能需求,又有效地管理了可用计算资源。
vLLM 专为推理服务效率而设计。诸如用于高效内存管理的 PagedAttention、用于优化服务性能的连续批处理(Continuous Batching)以及允许在不牺牲模型准确性的前提下部署精简模型的大小量化支持,这些都是促成 RITS 平台采用和成功的关键特性。
从运营角度来看,vLLM 暴露了一套丰富的服务器级和请求级指标,管理员和用户都可以利用这些指标来监控模型服务的性能和稳定性。这些导出到 Prometheus 的指标为负责确保平台运行稳定性及其托管模型性能 SLO 的平台管理员提供了关键洞察,同时也为建立近乎实时的仪表板提供了途径,使用户能够监控模型性能,从而优化批处理作业的调度和配置。
基于未知和不可预测的负载对模型部署进行自动缩放对于 RITS 的成功至关重要(在此 GPU 资源需要被谨慎管理)。基于每秒请求数 (RPS) 等基本指标执行模型自动缩放,对于传统的 CPU/内存密集型工作负载可能足够,但对于需要有限且昂贵的 GPU 加速器资源的模型服务工作负载来说则不够。再次强调,vLLM 及其导出的指标使 RITS 能够实现混合自动缩放模型。RITS 利用 Serverless 技术进行 0 到 1 和 1 到 0 的缩放,但随后利用 IBM 的应用资源管理 (ARM) 产品 Turbonomic,使用 vLLM 服务运行时发出的自定义指标(等待请求数 是比 RPS 好得多的缩放指标)来执行从 1 到 n 和 n 到 1 的缩放。这种复杂的、指标驱动的缩放和请求路由方法,直接预示了现在在 llm-d 等新兴分布式框架中变得原生的先进编排特性。
图 3:RITS 平台混合自动缩放模型
来自 IBM 的寄语
“vLLM 社区充满活力且响应迅速,通过协作专业知识,我们能够通过利用和贡献这一开创性项目,在上游和内部取得巨大成就。vLLM 在让我们的研究社区能够及时获取并使用最新、最强大的大语言模型方面发挥了至关重要的作用。”
–Priya Nagpurkar, AI 平台副总裁, IBM Research
使用 vLLM 的益处
利用 vLLM 作为我们的核心服务运行时,对 RITS 平台的整体成功和普及做出了巨大贡献。除了已经提到的性能优化、可扩展性和稳定性优势外,vLLM 还为终端用户社区提供了一条轻松的平台采用路径。vLLM 对 OpenAI API 的支持使我们的用户社区能够利用简单、一致的基于 HTTP 的推理 API,以及使用用户喜欢的客户端 SDK。此外,vLLM 的广泛采用及其与各种开源大语言模型的集成,使得 RITS 管理团队能够在所有已部署的模型中使用单一且一致的服务运行时。
vLLM 一直并将继续是 RITS 平台的核心赋能者,即使我们在未来几个月内演进到诸如 llm-d 等优化的分布式运行时框架。通过将 vLLM 的高性能推理引擎与 llm-d 的集群级编排相结合,RITS 将能够利用基于预测延迟的调度和缓存感知亲和性路由等技术来最大化前缀重用。这确保了每个 GPU 都有任务,在无缝支持更广泛的硬件加速器的同时,实现了可预测、具成本效益的规模化。vLLM 还将使我们能够超越 GPU 加速器的使用,在 RITS 内建立异构计算环境;IBM Spyre 加速器将成为利用 vLLM 服务运行时的各种模型的核心加速器。敬请期待——激动人心的时刻即将到来!
了解更多
这只是 IBM 利用 vLLM 强大功能的众多方式之一。了解更多关于我们如何将 vLLM 与 KServe 结合实现规模化快速推理,如何设置和在 IBM Power 上运行 vLLM,以及 在容器中运行带有 vLLM 的 Granite 模型。
vLLM 是一个由 PyTorch 基金会托管的项目。 了解更多 >>
llm-d 是一个 云原生计算基金会 (CNCF) 沙箱项目。 了解更多 >>
