SageMaker HyperPod 上 LLM 推理的分类预填充和解码

在本文中,我们将展示如何使用 HyperPod Inference Operator 在 Amazon SageMaker HyperPod 上通过 vLLM 实现 DPD。

来源:亚马逊云科技 _机器学习

当预填充和解码共享 GPU 时,长提示会停止每个并发请求的令牌生成。分解预填充和解码 (DPD) 通过在通过 Elastic Fabric Adapter (EFA) 和远程直接内存访问 (RDMA) 连接的单独 GPU 池上运行每个阶段来消除这种干扰。大型语言模型 (LLM) 推理有两个根本不同的阶段。预填充受计算限制。它并行处理整个输入提示以生成初始键值 (KV) 缓存。解码是受内存限制的。它一次生成一个令牌,需要大量内存带宽来访问模型权重和不断增长的 KV 缓存。通过将它们分解为专用引擎,您可以为每个阶段分配不同的并行策略。通过这种分离,您可以独立调整第一个令牌的时间 (TTFT) 和令牌间延迟 (ITL),比分块预填充调整更可靠地控制尾部延迟,并防止长上下文预填充阻塞正在进行的解码请求。 vLLM通过连续批处理和PagedAttention提高单节点效率。然而,大规模部署的组织在编排多节点部署和优化路由时仍然面临挑战。

在本文中,我们将展示如何使用 HyperPod Inference Operator 在 Amazon SageMaker HyperPod 上通过 vLLM 实现 DPD。

何时使用分类推理

分解预填充和解码可为长上下文、高并发流工作负载带来最大收益:聊天助手、代理管道、文档分析端点以及具有大型检索上下文的检索增强生成 (RAG)。在这些情况下,并置 GPU 上的单个长提示会延迟所有其他请求的进行中解码,从而导致 DPD 通过构造消除每个令牌的延迟峰值。

当您的工作负载具有以下特征时,请考虑 DPD:

  • 输入提示通常超过 4,096 个标记。
  • 多个并发用户或请求。
  • 在一致的令牌传递很重要的情况下流式传输响应。
  • 架构

    宣璐