文档

安装并使用TensorRT-LLM

更新时间:

在处理大语言模型任务时,您可以选择在GPU云服务器环境下安装推理引擎TensorRT-LLM,然后通过使用TensorRT-LLM工具实现大语言模型(例如Llama模型、ChatGLM模型、百川Baichuan模型等)在GPU上的高性能推理优化功能。本文为您介绍安装和使用TensorRT-LLM的方法。

背景信息

TensorRT-LLM是NVIDIA推出的一个开源推理加速库,专门用于编译和优化大语言模型推理。关于TensorRT-LLM支持的模型和GPU卡等信息,请参见TensorRT-LLM

使用限制

  • 仅支持在GPU计算型实例上安装TensorRT-LLM,更多信息,请参见GPU计算型实例规格族。本文以在gn6i实例上安装TensorRT-LLM为例。

  • 阿里云的云市场镜像中仅Ubuntu 22.04 64位系统的镜像预装了TensorRT-LLM工具。

  • 阿里云的公共镜像中仅Ubuntu 22.04 64位系统的镜像支持安装TensorRT-LLM工具。

安装TensorRT-LLM

云市场镜像中已预装了TensorRT-LLM工具,在创建GPU实例时,您可以一键获取预装TensorRT-LLM的镜像自动安装TensorRT-LLM,也可以先购买GPU实例,然后手动安装TensorRT-LLM。

自动方式(选择云市场镜像)

  1. 获取云市场镜像并创建GPU实例。

    云市场镜像中预装了TensorRT-LLM工具,您可以通过以下两个入口获取云市场镜像。

    通过ECS购买页面获取

    1. 前往实例创建页

    2. 选择自定义购买页签。

    3. 按需选择付费类型、地域、网络及可用区、实例规格、镜像等配置。

      需要注意的参数项设置如下图所示,其他配置项参数的详细说明,请参见配置项说明

      tensorrt-llm.png

      • 实例:以ecs.gn6i-c4g1.xlarge实例规格为例。

      • 镜像:在云市场镜像中搜索tensorrt-llm,然后选择所需镜像。在创建GPU计算型实例时,云市场镜像中提供了更多基于预装大语言模型Tensorrt-LLM推理加速解决方案的镜像供您选择,具体镜像及版本信息如下。

        支持的实例规格

        预装大语言模型框架的镜像

        最新版本

        GPU计算型实例

        预装tensorrt-llm的ubuntu 22.04系统

        V 0.8.0

        预装tensorrt-llm的ubuntu 20.04系统

        V 0.6.1

        • 预装tensorrt-llm的ubuntu 22.04系统(VM版本):选择VM版本镜像时,安装了TensorRT-LLM后即可立即使用TensorRT-LLM,无需额外配置。

        • 预装tensorrt-llm的ubuntu 20.04系统(docker版本):选择docker版本镜像时,安装了TensorRT-LLM后,您需要启动Docker才能使用TensorRT-LLM。

    4. 按照页面提示操作,单击确定下单

    5. 在支付页面查看实例的总费用,如无疑问,按照提示完成支付。

    通过云市场获取

    1. 前往阿里云云市场页面

    2. 在页面的搜索框输入tensorrt-llm并按回车键。

      云市场.png

    3. 选择需要的镜像类型,单击详情

      云市场镜像中提供了更多基于预装大语言模型Tensorrt-LLM推理加速解决方案的镜像供您选择,具体镜像及版本信息如下。

      支持的实例规格

      预装大语言模型框架的镜像

      最新版本

      GPU计算型实例

      预装tensorrt-llm的ubuntu 22.04系统

      V 0.8.0

      预装tensorrt-llm的ubuntu 20.04系统

      V 0.6.1

      • 预装tensorrt-llm的ubuntu 22.04系统(VM版本):选择VM版本镜像时,安装了TensorRT-LLM后即可立即使用TensorRT-LLM,无需额外配置。

      • 预装tensorrt-llm的ubuntu 20.04系统(docker版本):选择docker版本镜像时,安装了TensorRT-LLM后,您需要启动Docker才能使用TensorRT-LLM。

    4. 在镜像详情页,单击立即购买

      说明

      购买镜像时,系统镜像本身是免费的,您只需要支付GPU云服务器的费用。

    5. 在实例购买页的镜像区域,查看云市场镜像页签下是否已选中所购买镜像。

      下图以购买的镜像被选中为例,如果镜像未被选中,则您需要继续单击重新选择镜像,选择所需镜像。

      云市场--方式.png

    6. 在实例购买页,配置其他参数并创建GPU实例。

      更多信息,请参见配置项说明

  2. 远程连接GPU实例。

    登录GPU实例后即表示TensorRT-LLM工具已成功安装,具体操作,请参见通过密码或密钥认证登录Linux实例

手动方式(选择公共镜像)

先创建GPU实例(镜像须选择公共镜像中的Ubuntu 22.04 64位系统镜像),然后在该GPU实例上安装TensorRT-LLM。

  1. 创建GPU实例。

    1. 前往实例创建页

    2. 选择自定义购买页签。

    3. 按需选择付费类型、地域、网络及可用区、实例规格、镜像等配置。

      需要注意的参数项设置如下图所示,其他配置项参数的详细说明,请参见配置项说明

      • 实例:以ecs.gn6i-c4g1.xlarge实例规格为例。

      • 镜像:在公共镜像中选择Ubuntu 22.04 64位。同时,您也可以根据需要选中安装GPU驱动选项,然后选择对应的CUDA和CUDNN版本。

        公共镜像选择.png

    4. 按照页面提示操作,单击确定下单

    5. 在支付页面查看实例的总费用,如无疑问,按照提示完成支付。

  2. 远程连接GPU实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  3. (可选)查看GPU实例的驱动、CUDA以及CUDNN是否安装成功。

  4. 依次执行以下命令,安装TensorRT-LLM以及相应依赖。

    说明

    下载和安装过程需要较长时间,请您耐心等待。

    apt-get update
    apt-get -y install python3.10 python3-pip openmpi-bin libopenmpi-dev
    pip3 install tensorrt_llm -U --extra-index-url https://pypi.nvidia.com

使用TensorRT-LLM

TensorRT-LLM具有高性能推理优化性能,本文以使用TensorRT-LLM快速运行Qwen-7B-Chat模型为例。

  1. 执行以下命令,检查TensorRT-LLM安装状态和版本信息。

    python3 -c "import tensorrt_llm"

    如果TensorRT-LLM安装成功,则会返回TensorRT-LLM的版本信息。

    TensorRT-LLM版本.png

  2. 执行以下命令,下载TensorRT-LLM源代码。

    本示例以TensorRT-LLM 0.8.0版本为例,您可以根据自己实际情况进行相应修改。

    wget https://github.com/NVIDIA/TensorRT-LLM/archive/refs/tags/v0.8.0.tar.gz
    tar xvf v0.8.0.tar.gz
  3. 执行以下命令,下载Qwen-7B-Chat开源模型。

    以modelscope上的Qwen-7B-Chat模型为例。

    git-lfs clone https://modelscope.cn/qwen/Qwen-7B-Chat.git
  4. 构建模型engine。

    1. 执行以下命令,进入解压好的TensorRT-LLM源码目录。

      cd TensorRT-LLM-0.8.0/examples/qwen
    2. 执行以下命令,安装模型所需的依赖软件。

      pip install -r requirements.txt
    3. 执行以下命令,配置模型参数并构建模型engine。

      python3 build.py --hf_model_dir /root/deepgpu/models/Qwen-7B-Chat --output_dir  /root/deepgpu/models/trtllm/qwen_7b_fp16 --dtype float16 --remove_input_padding --use_gpt_attention_plugin float16 --use_gemm_plugin float16 --enable_context_fmha --max_input_len 600 --max_output_len 512 --max_batch_size 128

      如果构建模型engine失败,根据失败原因调整参数重新构建,也可以指定int8和int4量化等功能,更多信息,请参见模型目录下的README.md

  5. 执行以下命令,运行TensorRT-LLM进行模型推理。

    python3 ../run.py --tokenizer_dir /root/deepgpu/models/Qwen-7B-Chat --engine_dir /root/deepgpu/models/trtllm/qwen_7b_fp16 --input_text "请用C语言写一个快速排序算法?" --max_output_len=512
  • 本页导读 (1)