首页 > 其他分享 >【LLMOps】Triton + TensorRT-LLM部署QWen

【LLMOps】Triton + TensorRT-LLM部署QWen

时间:2024-02-20 19:11:23浏览次数:31  
标签:Triton VER TensorRT tensorrt QWen sh install RUN COPY

背景

TensorRT-LLM是Nvidia官方推出的大模型推理加速框架,目前只对部分显卡型号有做定制加速。最近新出的Chat with RTX也是基于TensorRT-LLM进行的本地推理。

TensorRT-LLM支持PagedAttention、FlashAttention、SafeTensor等手动,某些社区号称吞吐能力测试结果超过vLLM。

准备

  • 显卡A800
  • QWen7B 预训练模型

开始

转换权重

首先需要将QWen模型转换为TensorRT所支持的.engine格式的权重文件

环境构建

下载TensorRT-LLM的官方代码:https://github.com/NVIDIA/TensorRT-LLM.git 

然后编辑 TensorRT-LLM/docker/DOckerfile.multi ,内容如下

 1 # Multi-stage Dockerfile
 2 ARG BASE_IMAGE=nvcr.io/nvidia/pytorch
 3 ARG BASE_TAG=23.10-py3
 4 
 5 FROM ${BASE_IMAGE}:${BASE_TAG} as base
 6 
 7 # https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html
 8 # The default values come from `nvcr.io/nvidia/pytorch`
 9 ENV BASH_ENV=${BASH_ENV:-/etc/bash.bashrc}
10 ENV ENV=${ENV:-/etc/shinit_v2}
11 SHELL ["/bin/bash", "-c"]
12 
13 FROM base as devel
14 
15 COPY docker/common/install_base.sh install_base.sh
16 RUN bash ./install_base.sh && rm install_base.sh
17 
18 COPY cmake-3.24.4-linux-x86_64.tar.gz /tmp
19 COPY docker/common/install_cmake.sh install_cmake.sh
20 RUN bash ./install_cmake.sh && rm install_cmake.sh
21 
22 COPY docker/common/install_ccache.sh install_ccache.sh
23 RUN bash ./install_ccache.sh && rm install_ccache.sh
24 
25 # Download & install internal TRT release
26 ARG TRT_VER CUDA_VER CUDNN_VER NCCL_VER CUBLAS_VER
27 COPY docker/common/install_tensorrt.sh install_tensorrt.sh
28 RUN bash ./install_tensorrt.sh \
29     --TRT_VER=${TRT_VER} \
30     --CUDA_VER=${CUDA_VER} \
31     --CUDNN_VER=${CUDNN_VER} \
32     --NCCL_VER=${NCCL_VER} \
33     --CUBLAS_VER=${CUBLAS_VER} && \
34     rm install_tensorrt.sh
35 
36 # Install latest Polygraphy
37 COPY docker/common/install_polygraphy.sh install_polygraphy.sh
38 RUN bash ./install_polygraphy.sh && rm install_polygraphy.sh
39 
40 # Install mpi4py
41 COPY docker/common/install_mpi4py.sh install_mpi4py.sh
42 RUN bash ./install_mpi4py.sh && rm install_mpi4py.sh
43 
44 # Install PyTorch
45 ARG TORCH_INSTALL_TYPE="skip"
46 COPY docker/common/install_pytorch.sh install_pytorch.sh
47 RUN bash ./install_pytorch.sh $TORCH_INSTALL_TYPE && rm install_pytorch.sh
48 
49 FROM devel as wheel
50 WORKDIR /src/tensorrt_llm
51 COPY benchmarks benchmarks
52 COPY cpp cpp
53 COPY benchmarks benchmarks
54 COPY scripts scripts
55 COPY tensorrt_llm tensorrt_llm
56 COPY 3rdparty 3rdparty
57 COPY setup.py requirements.txt requirements-dev.txt ./
58 
59 RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
60 
61 ARG BUILD_WHEEL_ARGS="--clean --trt_root /usr/local/tensorrt"
62 RUN python3 scripts/build_wheel.py ${BUILD_WHEEL_ARGS}
63 
64 FROM devel as release
65 
66 WORKDIR /app/tensorrt_llm
67 COPY --from=wheel /src/tensorrt_llm/build/tensorrt_llm*.whl .
68 COPY --from=wheel /src/tensorrt_llm/cpp/include/ include/
69 RUN pip install tensorrt_llm*.whl --extra-index-url https://pypi.nvidia.com && \
70     rm tensorrt_llm*.whl
71 COPY README.md ./
72 COPY examples examples
View Code

 

标签:Triton,VER,TensorRT,tensorrt,QWen,sh,install,RUN,COPY
From: https://www.cnblogs.com/zhouwenyang/p/18023854

相关文章

  • 以容器方式部署通义千问 Qwen
    准备服务器阿里云云服务器实例规格:轻量级GPU实例ecs.vgn6i-m4-vws.xlarge(4vCPU23GiB)磁盘空间:50G操作系统:Ubuntu22.04安装dockeraptinstalldocker.io安装NVIDIAGRID驱动acs-plugin-manager--exec--plugingrid_driver_install安装NVIDIAContainerToo......
  • pytorch的模型推理:TensorRT的使用
    相关教程视频:TRTorch真香,一键启用TensorRT图片来源:https://www.bilibili.com/video/BV1TY411h7xC/图片来源:https://www.bilibili.com/video/BV1TY411h7xC/......
  • YOLOv8实例分割实战:TensorRT加速部署
    课程链接:https://edu.51cto.com/course/35610.html课程简介:PyTorch版的YOLOv8支持高性能实时实例分割方法。TensorRT是针对英伟达GPU的加速工具。本课程讲述如何使用TensorRT对YOLOv8实例分割进行加速和部署,实测推理速度提高3倍以上。采用改进后的tensorrtx/yolov8的代码,使用Tens......
  • Google的Jax框架的JAX-Triton目前只能成功运行在TPU设备上(使用Pallas为jax编写kernel
    使用Pallas为jax编写kernel扩展,需要使用JAX-Triton扩展包。由于Google的深度学习框架Jax主要是面向自己的TPU进行开发的,虽然也同时支持NVIDIA的GPU,但是支持力度有限,目前JAX-Triton只能在TPU设备上正常运行,无法保证在GPU上正常运行。该结果使用kaggle上的TPU和GPU进行测试获得。......
  • 极智一周 | NVIDA软件生态、CUDA、TensorRT、cuDNN、DeepStream、戴口罩检测、美光晋
    欢迎关注我的公众号[极智视界],获取我的更多技术分享大家好,我是极智视界,带来本周的[极智一周],关键词:NVIDIA软件生态、CUDA、TensorRT、cuDNN、DeepStream、戴口罩检测、美光晋华、帕美苏米Andsoon。极智视界本周热点文章回顾(1)解读英伟达软件生态系列本周带来解读英伟达软件......
  • 不需要本地部署大模型,modelscope-agent加qwen-max免费搭建自己的定制机器人
    最近阿里开源了通用大模型qwen-72b,正在为怎么本地化部署发愁,转眼看到提供了qwen-max相关接口的免费试用(据说就是基于qwen-72b大模型),这就来体验一番。1.前期准备开通阿里云灵积平台,并创建api-key2.环境搭建python:3.10+;pydantic2.0以上,老版本pydantic会报一个tool_sche......
  • Langchain-Chatchat+Qwen实现本地知识库(二)
    在上一篇文章当中,我们已经通过Langchain-Chatchat+Qwen-14b-int4完成了本地知识库的搭建,现在我们通过vue和api接口来做定制的聊天页面,达成下图类似gpt或者其他大模型的显示效果:1.知识库启动:见上一篇文章2.api接口部署:在/Langchain-Chatchat/configs的serve_config文件中可以......
  • 人工智能算法原理与代码实战:从ONNX到TensorRT
    1.背景介绍人工智能(ArtificialIntelligence,AI)是一门研究如何让计算机模拟人类智能行为的科学。在过去的几年里,人工智能技术发展迅速,已经应用在很多领域,例如自然语言处理、计算机视觉、机器学习等。这些技术的核心是算法和模型,这些算法和模型需要通过大量的数据和计算资源来训练......
  • 神经网络量化流程(第一讲TensorRT)
    TensorRT量化工具,支持PTQ和QAT量化基本流程:读取模型-》转化为IR进行图分析,做一些优化策略一、TensorRT量化模式TensorRT有两种量化模式:分别是implicitly以及explicitly量化,前者是隐式量化,在7.0及之前版本用的较多;后者显式量化在8.0版本后才完全支持,就是可以加载带有QDQ信息的模......
  • extract_triton_kernels.py
    importsysfilename=sys.argv[1]withopen(filename,'r')asf:lines=f.readlines()defextract_info(line):line=line.split()name=line[0].strip()self_gpu_time=line[6].strip()num_of_calls=int(line[10].strip())......