TensorRT-LLM加速框架的基本使用

TensorRT-LLM是英伟达发布的针对大模型的加速框架,TensorRT-LLM是TensorRT的延申。TensorRT-LLM的GitHub地址是 https://github.com/NVIDIA/TensorRT-LLM

这个框架在0.8版本有一个比较大的更新,原先的逻辑被统一了,所以早期的版本就不介绍了。这个教程介绍0.11.0的main分支版本。

TensorRT-LLM的加速推理分为3个阶段。:

  1. 转为TensorRTLLM格式
  2. 转为TensorRTLLM引擎
  3. 运行推理

TensorRT-LLM只支持部分大模型,具体可以看它GitHub中的example文件夹。下面以InternLM2大模型为例子,展示TensorRT-LLM的使用。

环境

  • 8张3090,在本例中使用了两张24G的3090显卡。
  • 现在基本都使用Docker了,因为使用TensorRT-LLM主要还是想要最终的部署,建议参考tensorrtllm_backend服务端
    来编译。这个仓库提供了tritonserver+TensorRTLLM(服务端+加速框架),也有编译好的docker镜像
    NGC地址

转为TensorRT-LLM格式

在官方给出的Internlm2实例文件夹中执行命令

python convert_checkpoint.py --model_dir /tensorrtllm_backend/triton_model_repo/tensorrt_llm/internlm2-chat-20b \
                --dtype bfloat16 \
                --output_dir ./internlm2-chat-20b/trt_engines/bf16/2-gpu/ \
                --tp_size 2

因为一张24G的显卡不足以加载20B的模型 ,所以设置tp_size为2。
模型转化格式的截图

生成引擎文件

使用trtllm-build命令将TensorRT-LLM格式的文件生成引擎。命令如下

CUDA_VISIBLE_DEVICES=1,2 trtllm-build --checkpoint_dir  /model2engine/internlm2/internlm2-chat-20b/trt_engines/bf16/2-gpu \
   --max_batch_size 8  --max_input_len 2048 \
   --max_output_len 2048  \
    --gemm_plugin bfloat16\
  --gpt_attention_plugin bfloat16 \
    --remove_input_padding enable  \
   --paged_kv_cache enable \
   --tp_size 2  \
   --use_custom_all_reduce disable\
    --output_dir  /model2engine/internlm2/engine_outputs

转化完成

运行推理

CUDA_VISIBLE_DEVICES=1,2  mpirun -n 2 --allow-run-as-root \
    python ../run.py --max_output_len=120 \
                     --input_text '你是谁啊?' \
                     --tokenizer_dir /tensorrtllm_backend/triton_model_repo/tensorrt_llm/internlm2-chat-20b \
                     --engine_dir=/model2engine/internlm2/engine_outputs

输出结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/739065.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用鸿蒙HarmonyOs NEXT 开发b站的卡片效果 手把手教学

资源准备: 需要4张图片:分别是页面图,播放图标,评论图标,更多图标 1.实现效果显示: 2.教学视频: 使用鸿蒙HarmonyOs NEXT 开发b站卡片_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1…

FPGA的基础仿真项目--七段数码管设计显示学号

一、设计实验目的 1. 了解数码管显示模块的工作原理。 2. 熟悉VHDL 硬件描述语言及自顶向下的设计思想。 3. 掌握利用FPGA设计6位数码管扫描显示驱动电路的方法。 二、实验设备 1. PC机 2.Cyclone IV FPGA开发板 三、扫描原理 下图所…

git检查别人提交的PR(pull requests)并在本地验证,然后合并

可以看官方流程:Checking out pull requests locally - GitHub Docs 当别人给你的开源仓库提交了pull request,你该怎么检查别人提交的代码是否可用,然后合并上去呢?今天我就遇到了,就在前不久开源项目douyin-live失败…

Day5 —— 电商日志数据分析项目

项目二 _____(电商日志数据分析项目) 引言需求分析详细思路统计页面浏览量Map阶段Reduce阶段 日志的ETL操作Map阶段Reduce阶段 统计各个省份的浏览量Map阶段Reduce阶段 具体步骤统计页面浏览量日志的ETL操作统计各个省份的浏览量工具类(utils…

mac鼠标和触摸屏单独设置滚动方向

引言:mac很好用,但是外接鼠标的滚动方向和win不一样,总有点不习惯。于是想要设置一下,当打开设置,搜索鼠标时,将“自然滚动”取消,就可以更改了。 问题:但触摸屏又不好用了。 原因&a…

无线麦克风哪个好?分享口碑最好的麦克风品牌

在这个自媒体时代,给了普通人很多的机会,尤其短视频的兴起更是让无数热情,有创作之心的人跃跃欲试。于是乎越来越多的人纷纷拿起了手机到各个平台去展示自己的才华,或者通过vlog记录分享自己的简单生活。可是在分享和创作的输出时…

ESP32 esp-idf esp-adf环境安装及.a库创建与编译

简介 ESP32 功能丰富的 Wi-Fi & 蓝牙 MCU, 适用于多样的物联网应用。使用freertos操作系统。 ESP-IDF 官方物联网开发框架。 ESP-ADF 官方音频开发框架。 文档参照 https://espressif-docs.readthedocs-hosted.com/projects/esp-adf/zh-cn/latest/get-started/index.…

Spring底层原理之bean的加载方式一 用XML方式声明bean 自定义bean及加载第三方bean 2024详解

目录 用XML方式声明bean 首先我们创建一个空的java工程 我们要导入一个spring的依赖 注意在maven工程里瞅一眼 我们创建一个业务层接口 还有四个实现类 我们最初的spingboot生命bean的方式是通过xml声明 我们在resources文件夹下创建一个配置文件 我们书写代码 首先初…

移动硬盘盒:便携与交互的完美结合 PD 充电IC

在数字化时代的浪潮中,数据已成为我们生活中不可或缺的一部分。随着数据的不断增长,人们对于数据存储的需求也在不断增加。传统的存储设备如U盘、光盘等,虽然具有一定的便携性,但在容量和稳定性方面往往难以满足现代人的需求。而移…

若依框架下拉单选框根据js动态加载,如何使select2的下拉搜素功能同时生效(达到select下拉框的样式不变的效果)

直接上代码,不废话 $(select[name"sealType"]).change(function (event) {let value event.target.valuequeeryDeptListBySealType(value)})// 获取科目信息function queeryDeptListBySealType(value){$.ajax({type: "post",url: prefix &quo…

竞赛选题 python+opencv+深度学习实现二维码识别

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 pythonopencv深度学习实现二维码识别 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:3分 该项目较为新颖&…

Mac提示此电脑不能读取您插的磁盘的原因,Mac磁盘无法读取内容怎么处理

为了能在不同设备中快速传输大容量的文件,我们常常会使用到外接磁盘进行文件的传输。但由于各种原因,比如硬件、文件系统格式等问题,Mac电脑插磁盘会出现无法读取的问题。本文会介绍Mac提示此电脑不能读取您插的磁盘的原因,以及Ma…

基于Java协同过滤算法的电影推荐系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,…

react项目中如何书写css

一:问题: 在 vue 项目中,我们书写css的方式很简单,就是在 .vue文件中写style标签,然后加上scope属性,就可以隔离当前组件的样式,但是在react中,是没有这个东西的,如果直…

iMac 数据怎么恢复:iMac 数据恢复的 4 个方法

想象一下,当你发现你的重要文件或回忆从你的 iMac 中删除时,那是多么可怕。无论是由于意外删除、硬件问题还是程序问题,恐慌都是真实的。它就像是数字荒野中的生命线。 本指南将为您提供所需的信息和工具,帮助您渡过数据丢失的危…

Steam邮件推送内容有哪些?配置教程详解!

Steam邮件推送功能是否安全?如何个性化邮件推送内容? Steam作为全球最大的数字游戏分发平台之一,不仅提供了海量的游戏资源,还通过邮件推送为用户提供最新的游戏信息、促销活动和个性化推荐。AokSend将详细介绍Steam邮件推送的主…

磁芯电感 晶谷电容可镀银浆用玻璃 晶谷电阻银浆料低温玻璃粉(耐强酸)

晶谷电阻银浆料低温玻璃粉(耐强酸)软化点在490至580度之间,线膨胀系数为(75至95)10-7,粒径为1.5至3微米(可按要求订做),外观颜色为白色超细粉末,烧后颜色无色…

SAP 预制凭证相关小结(搜集于网络)

SAP 预制凭证相关小结(搜集于网络) 1. 预制凭证会生成凭证编号 2. 预制凭证不更新科目余额 3. 预制凭证会占FM预算 4. 预制凭证可以随意更改 5. 预制凭证可以删除,删除后只剩下凭证抬头,没有行项目,凭证编号不变 …

量检具管理有一套

量检具是用于测量和检验产品尺寸、形状和质量的工具。有一位年轻的工程师小张,他负责管理工厂的量检具,确保它们能够准确地测量产品尺寸和质量。有一天,小张发现量检具出现了一些问题。他注意到一些量具的读数不准确,导致生产出来…

NSSCTF-Web题目15

目录 [HNCTF 2022 WEEK2]ez_SSTI 1、题目 2、知识点 3、思路 [SWPUCTF 2022 新生赛]Ez_upload 1、题目 2、知识点 3、思路 [HNCTF 2022 WEEK2]ez_SSTI 1、题目 2、知识点 SSTI、Jinja2 参考链接:1. SSTI(模板注入)漏洞(…