QCon SF 2024: 使用 Ray 扩展批量 GPU 推理

QConSF 2024:Anyscale的Ray如何优化批量推理扩展

在QConSF 2024大会上,Cody Yu介绍了Anyscale的Ray如何更有效地处理批量推理扩展。Ray能够解决大规模数据集扩展(数百GB或更多)、确保使用Spot和按需实例的可靠性、管理多阶段异构计算以及权衡成本与延迟等问题。

Ray Data的扩展性数据处理

Ray Data提供了可扩展的数据处理解决方案,通过优化任务调度和流式执行,最大化GPU利用率并最小化数据移动成本。Ray Data与vLLM(一个开源的LLM推理框架)的集成,实现了可扩展的批量推理,显著减少了处理时间。

Cody Yu指出:“批量推理的需求正在增加,因为我们现在有多模态数据源,如相机、麦克风传感器和PDF文件。通过处理这些结构化和非结构化数据,可以提取大量信息和知识,以改进产品和服务。”

流式执行与案例研究

Ray Data的流式执行功能提高了系统吞吐量和效率。一个案例研究展示了如何使用Ray Data高效且经济地从PDF文件中生成嵌入,该过程使用约20个GPU,成本不到1美元。

管道并行性与资源优化

管道并行性是多GPU模型服务的重要特性。通过优化批量大小和采用块预填充,系统被微调以实现最大效率。这种方法不仅提高了吞吐量,还战略性地管理了异构系统中的计算资源。Ray Tune可能通过超参数调优进一步优化批处理工作流。

Ray Serve的动态请求批处理

Ray Serve的动态请求批处理通过同时高效处理多个请求来增强服务吞吐量,利用ML模型的向量化计算能力。这一功能对于昂贵的模型特别有用,确保硬件的最佳利用率。批处理通过ray.serve.batch装饰器启用,要求方法是异步的。

vLLM框架与推理优化

演讲还讨论了vLLM框架、推测解码和推理引擎优化。vLLM是一个开源的LLM推理引擎,以其高吞吐量和内存效率著称。它具有高效的键值缓存内存管理(PagedAttention)、连续批处理传入请求以及优化的CUDA内核,包括与FlashAttention和FlashInfer的集成。

推测解码与块预填充

推测解码是一种加速文本生成的技术,使用较小的草稿模型提出多个令牌,然后由较大的目标模型并行验证。这种方法减少了内存限制的LLM推理中的令牌间延迟,提高了效率而不影响准确性。

更多信息

有兴趣了解更多关于Ray批量推理的读者可以在未来几个月访问InfoQ.com,获取完整演讲内容。

阅读 65
0 条评论