利用 NVIDIA TensorRT-LLM 和 NVIDIA Triton 推理服务器提升 Meta Llama 3 性能
我们很高兴地宣布 NVIDIA TensorRT-LLM 支持 Meta Llama 3 系列模型,从而加速和优化您的 LLM 推理性能。 您可以通过浏览器用户界面立即试用 Llama 3 8B 和 Llama 3 70B(该系列中的首款型号)。 或者,通过在 NVIDIA API 目录中完全加速的 NVIDIA 堆栈上运行的 API 端点,其中 Llama 3 被打包为 NVIDIA NIM,具有可部署在任何地方的标准 API。
大型语言模型是计算密集型的。 它们的尺寸使得它们昂贵且运行缓慢,尤其是在没有正确的技术的情况下。 许多优化技术都可用,例如内核融合和量化到运行时优化(如 C++ 实现、KV 缓存、连续运行中批处理和分页注意力)。 开发人员必须决定哪种组合有助于他们的用例。 TensorRT-LLM 简化了这项工作。
TensorRT-LLM 是一个开源库,可加速 NVIDIA GPU 上最新 LLM 的推理性能。 NeMo 是一个用于构建、定制和部署生成式 AI 应用程序的端到端框架,它使用 TensorRT-LLM 和 NVIDIA Triton 推理服务器进行生成式 AI 部署。
TensorRT-LLM 使用 NVIDIA TensorRT 深度学习编译器。 它包括用于 FlashAttention 尖端实现的最新优化内核以及用于 LLM 模型执行的屏蔽多头注意力 (MHA)。 它还由简单的开源 Python API 中的预处理和后处理步骤以及多 GPU/多节点通信原语组成,可在 GPU 上实现突破性的 LLM 推理性能。
为了了解该库以及如何使用它,让我们看一下如何通过 TensorRT-LLM 和 Triton 推理服务器使用和部署 Llama 3 8B 的示例。
如需更深入的了解(包括不同的模型、不同的优化和多 GPU 执行),请查看 TensorRT-LLM 示例的完整列表。
开始安装
我们将首先使用 pip 命令按照操作系统特定的安装说明克隆和构建 TensorRT-LLM 库。 这是构建 TensorRT-LLM 的更简单方法之一。 或者,可以使用 dockerfile 检索依赖项来安装该库。
以下命令拉取开源库并安装在容器内安装 TensorRT-LLM 所需的依赖项。
git clone -b v0.8.0 https://github.com/NVIDIA/TensorRT-LLM.git
cd TensorRT-LLM
检索模型权重
TensorRT-LLM 是一个用于 LLM 推理的库。 要使用它,您必须提供一组经过训练的权重。 可以从 Hugging Face Hub 或 NVIDIA NGC 等存储库中提取一组权重。 另一种选择是使用在 NeMo 等框架中训练的您自己的模型权重。
本文中的命令会自动从 Hugging Face Hub 中提取 80 亿参数 Llama 3 模型的指令调整变体的权重(和分词器文件)。 您还可以使用以下命令下载权重以供离线使用,并更新后面命令中的路径以指向此目录:
git lfs install
git clone https://huggingface.co/meta-llama/Met