NVIDIA 最近宣布, NVIDIA TensorRT-LLM 现可加速编码器 – 解码器模型架构 。TensorRT-LLM 是一个开源库,可针对各种模型架构优化推理,包括:
编码器-解码器模型支持的添加进一步扩展了 TensorRT-LLM 功能,为 NVIDIA GPUs 上更广泛的生成式 AI 应用提供高度优化的推理。
TensorRT-LLM 使用 NVIDIA TensorRT 深度学习编译器。它包含经过最新优化的内核,可在前沿实现用于 LLM 模型执行的不同注意力机制。它还在一个简单的开源 API 中包含预处理和后处理步骤以及多 GPU/多节点通信基元,可在 GPU 上实现突破性的 LLM 推理性能。
TensorRT-LLM 可处理编码器 – 解码器模型系列 (例如 T5 、 mT5 、Flan-T5、 BART 、 mBART 、FairSeq NMT、UL2 和 Flan-UL2) 中的细微差别,抽象出常见组件和衍生组件,并为编码器 – 解码器模型提供通用支持。它还通过全张量并行 (TP)、管道并行 (PP) 以及这两种模型的混合,支持多 GPU/多节点推理。
有关不同模型、不同优化和多 GPU 执行的更多信息,请参阅 编码器 – 解码器模型支持 。
PyTorch 和 pandas 在编码器 – 解码器架构中的动态批处理
编码器 – 解码器模型 与多模态模型类似,其运行时模式与仅解码器的模型不同。它们有多个引擎 (通常是两个引擎),其中第一个引擎的输入/输出缓冲区更简单,每次请求仅执行一次。第二个引擎以自动回归方式执行,具有更复杂的处理逻辑,用于 键值 (KV) 缓存管理 和 批量管理 ,可在低延迟的情况下提供高吞吐量。
有多个关键扩展,可为编码器 – 解码器架构启用动态批处理 (In-flight batching, IFB) (也称为连续批处理) 和 KV 缓存管理:
- 对编码器模型(文本、音频或其他模式)的 Runtime 支持,包括输入/输出缓冲区设置和模型执行。
- 双页面 KV 缓存管理,用于解码器的自注意力缓存以及根据编码器输出计算的解码器交叉注意力缓存。
- 数据在 LLM 请求级别从编码器传输到解码器控制。在动态中对解码器请求进行批量处理时,每个请求的编码器阶段输出也应在动态中进行收集和批量处理。
- 编码器和解码器的去批处理策略。由于编码器和解码器可能具有不同的大小和计算属性,因此每个阶段的请求都应独立异步地进行批量处理。
NVIDIA Triton TensorRT-LLM 后端还支持 TensorRT-LLM encoder-decoder 模型,以实现生产就绪型部署 。 NVIDIA Triton Inference Server 是一款开源推理服务软件,可简化 AI 推理 。
借助 Triton TensorRT-LLM 后端,您可以利用所有不同的功能来增强编码器 – 解码器模型的性能和功能:
低级别的适应支持
低级自适应 (LoRA) 是一种功能强大的参数高效微调 (PEFT) 技术,可在保持出色性能和尽可能减少资源占用的同时自定义大型语言模型 (LLM)。LoRA 不会在微调期间更新所有模型参数,而是向模型添加小型可训练秩分解矩阵,从而显著降低内存需求和计算成本。
这些 LoRA 适配器专门针对特定的下游应用进行了调优,可用于提高特定任务的模型准确性。
TensorRT-LLM BART LoRA 支持使用优化功能来高效处理构成 LoRA 适应特征的低级矩阵 。这将带来以下优势:
- 在单个批量内高效提供多个 LoRA 适配器
- 通过动态加载 LoRA 适配器减少内存占用
- 与现有 BART 模型部署无缝集成
总结
NVIDIA TensorRT-LLM 继续扩展其功能,以便在不同架构中优化和高效运行 LLM。编码器 – 解码器模型即将推出的增强功能包括 FP8 量化,从而进一步改善延迟和吞吐量。对于生产部署,NVIDIA Triton 推理服务器提供了服务于这些模型的理想平台。
寻求快速实现价值的企业可以使用 NVIDIA NIM ,这是 NVIDIA AI Enterprise 软件平台的一部分,可针对 NVIDIA 及其合作伙伴生态系统中的热门模型提供优化推理。