一、TensorRT-LLM简介
TensorRT-LLM是NVIDIA推出的一个开源库,用于定义、优化和执行大语言模型(LLM)在生产环境的推理。TensorRT-LLM在开源Python API中保留了Faster Transformer的核心功能,并与TensorRT的升读学习编译器配合使用,以快速支持新模型和定制模型。该开源程序库现已作为NVIDIA NeMo框架的一部分,在GitHub资源库中免费提供TensorRT-LLM
NeMo是一个用于构建和定制生成式AI应用并将其部署到生产中的端到端框架
二、准备工作
1.高性能的NVIDIA GPU (这里用的是八张A100 40GB)
2.操作系统:Ubuntu 22.04
3.ubuntu配置NVIDIA GPU相关驱动
4.安装好CUDA12.5.1、Python3.1、cudnn
三、安装步骤
1.TensorRT-LLM源代码需要使用git获取,所以这里安装git-lfs
//安装git-lfs
$ sudo apt-get install git-lfs
//验证安装是否成功
$ git lfs install
//若最终显示为以下,则安装成功
> Git LFS initialized
2.拉取TensorRT-LLM在GitHub中的项目代码
$ git clone https://github.com/NVIDIA/TensorRT-LLM.git
$ cd TensorRT-LLM
3. 使用v0.14.0 Release版本
$ git checkout tags/v0.14.0 -b release/0.14.0
$ git submodule update -init -recursive
$ git lfs install
$ git lfs pull
4.构建Docker镜像并安装TensorRT-LLM
$ cd TensorRT-LLM/make -C docker release_build
$ make release_run
$ cd TensorRT-LLM/docker
$ vim Makefile
//找到DOCKER_RUN_OPTS,将-rm删除,在后面的-it加一个d
//终端输出为
>DOCKER_RUN_OPTS ?= -itd --ipc=host --ulimit memlock=-1 --ilimit stack=67108864
//保存,退出
$ cd..
$ make -C docker release_build
$ make -C docker release_run
$ docker exec -it ec /bin/bash
$ cd ./examples/chatglm
$ pip install -r requirements.txt
$ apt-get update
$ apt-get install-lfs
四、TensorRT-LLM模型测试
这里使用的是公开CHATGLM3模型
1.下载模型
$ git clone https://huggingface.co/THUDM/chatglm3-6b
> GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm3-6b
2.下载之后进入容器
$ cd /code/tensorrt_llm/examples/chatglm
$ mkdir chatglm3_6b
//将所有下载的大模型文件都移到chatglm3_6b文件夹中
$ cd /code/tensorrt_llm/examples/chatglm/
3.运行测试
cd /code/tensorrt_llm/examples/chatglm
mpirun -n 8 --allow-run-as-root \
python ../run.py --input_text "What's new between ChatGLM3-6B and ChatGLM2-6B?" \
--max_output_len 50 \
--tokenizer_dir chatglm3_6b \
--engine_dir trt_engines/chatglm3_6b/fp16/8-gpu
4.最终运行结果
五、TensorRT-LLM体验反馈
1.我对TRT-LLM的性能非常满意,通过对开源AI大模型的测试,让我感受到了TRT-LLM的运行性能和运行质量,非常满意
2.在windows系统中安装TRT-LLM时出现报错,无法一键安装CUDA等环境
3.在对于TRT-LLM性能提升方面,我希望能够将TRT-LLM的配置需求稍微降低,同时优化整体代码,减低对CPU的占用量。