NVIDIA Chat With RTX(1)——TensorRT-LLM
GonFreecss
共 3575字,需浏览 8分钟
· 2024-04-11
- Demo介绍:将自定义资料(文档、笔记、视频或其他数据)与LLM建立连接,从而令 LLM 更具个性化。支持多种文件格式,包括文本文件、pdf、doc/docx 和 xml。只需在该应用中指定包含目标文件的文件夹,该应用便会在几秒内将目标文件加载到库中。不仅如此,还可以提供YouTube 播放列表的URL,然后该应用会自动加载播放列表中的视频转写内容,使之能够查询视频中包含的内容。
- 视频介绍:https://images.nvidia.cn/cn/youtube-replicates/gdsRJZT3IJw.mp4
- Demo的【核心参考】代码:https://github.com/NVIDIA/trt-llm-rag-windows (注意:Demo是参照此代码进行二次开发)
- 整包下载链接(35G):https://us.download.nvidia.cn/RTX/NVIDIA_ChatWithRTX_Demo.zip解压后目录结构如上。该包已经把llama2-13B-int4量化模型(约25G)和mistral-7B-int4量化模型(约14G)集成进去,也把trt-llm-rag-windows代码集成到trt-llm-rag-windows-main中。运行平台和资源要求如下:总的来说,整个技术栈包括几个方面:
- LLM:Llama2-13B、Mistral-7B、AWQ量化技术
- 加速框架:TensorRT-LLM
- RAG:基于llama-index、langchain、Faiss实现RAG
TensorRT-LLM
1. 简介
首先介绍TensorRT-LLM,这是一个用于优化LLM推理的工具包。它提供了Python API来定义模型并将其编译成针对NVIDIA GPU的高效TensorRT引擎。它还包含Python和C++组件来构建Runtime以执行这些引擎,以及Triton推理服务器的后端,以便于创建基于Web的LLM服务。
2. 主要特点
- TensorRT-LLM支持通过两种不同的模型并行模式实现多GPU支持:
- 张量并行(Tensor Parallelism) :将模型的不同层分割到不同的GPU上,每个GPU运行整个网络并在需要时与其他GPU同步。
- 流水线并行(Pipeline Parallelism) :将模型的不同层分配给不同的GPU,每个GPU运行模型的一个子集,在这些层子集之间的边界发生通信。
3. 使用TensorRT-LLM的几个关键步骤
- 定义模型:使用Python API描述LLM;可以定义自定义模型或使用预定义的网络架构。
- 训练模型:使用其他训练框架进行训练,获得checkpoint。
- 编译引擎:使用TensorRT-LLM的Builder API将模型编译成优化的TensorRT引擎。
- 构架Runtime:使用TensorRT-LLM的运行时组件加载并驱动引擎的执行。
- 服务化部署:使用Triton后端快速创建基于Web的服务。
4. LLM推理性能指标
衡量LLM推理服务的4个主要性能指标:
- 第一次生成词汇时间(Time to First Token,TTFT):度量模型在收到用户查询后生成第一个词汇的时间。TTFT越短,用户体验越好。
- 每输出词汇时间(Time Per Output Token,TPOT):计算模型为一个指定查询生成一个词汇所需的时间。TPOT越快,用户感知到的模型越快。
- 延迟(Latency):将TTFT和生成所有词汇的总时间(用TPOT计算)相加,测量模型整体响应一个查询的时间。
- 吞吐量(Throughput):测量服务器为所有用户和查询每秒生成的输出词汇数量。优化最大吞吐量可以提高服务器容量和用户体验。
5. 部署LLM的挑战
- 高内存使用:LLM需要大量内存来存储它们的参数和中间激活,尤其是是来自注意力层的key和value参数。这使得在资源有限的环境中部署它们变得困难。
- 可扩展性有限:传统实现难以处理大量并发推理请求,导致可扩展性和响应性问题。当在生产服务器上运行LLM时,GPU的利用率不高时,这一点尤为突出。
- 计算开销:LLM推理涉及的广泛矩阵计算可能很昂贵,尤其是对于大型模型。高内存使用和低吞吐量的结合进一步增加了运营成本。
这些挑战凸显了需要更高效和可扩展的方法来部署LLM进行推理。通过解决这些挑战,可以释放LLM的全部潜力,并实现它们在各种应用中的无缝集成。
6. 和vLLM、PyTorch的Flash-Decoding对比分析
Feature / Aspect | Nvidia TensorRT-LLM | vLLM | PyTorch (Flash-Decoding) |
---|---|---|---|
内存效率 | 利用NVIDIA硬件优化LLM的内存使用 | 采用PagedAttention算法进行高效内存管理 | 采用Flash-Decoding来优化长上下文推理的内存使用 |
吞吐量 | 利用诸如在in-flight batching等技术以获得高吞吐量 | 声称与传统Transformer相比实现了更高的吞吐量 | 即使处理非常长的序列也能实现高吞吐量的有效并行化 |
计算效率 | 使用流式tokens和量化技术 | 具有高速性能,并在基准测试中实现了实质性改进 | 由于优化的注意力计算,对于非常长的序列生成速度高达8倍 |
平台/硬件利用 | 针对NVIDIA硬件进行优化,利用NVIDIA Hopper Transformer引擎等功能 | 为LLM工作负载设计的高效性能,适用于受限环境 | 即使处理小批量和大上下文,也充分利用GPU能力进行推理 |
兼容性和集成 | 提供与各种LLM的兼容性,支持集成到NVIDIA AI平台 | 与Hugging Face模型兼容的API、集成 | 与PyTorch生态系统紧密集成,适用于各种LLM的应用 |
性能指标** | 与传统方法相比展示更好的性能 | 优于HuggingFace serving和HuggingFace TGI | 对于序列长度的扩展性改进,在基准测试中胜过其他方法 |
适用场景 | 适用于利用NVIDIA生态系统的各种LLM应用 | 适用于内存有限且需要高吞吐量的环境 | 在摘要、对话或代码库等长上下文处理任务中具有优势 |
成本效益 | 旨在通过高效利用计算资源降低运营成本 | 设计用于经济有效的LLM部署,提高可访问性 | 为长上下文应用提供经济有效的推理 |
技术创新点 | 包括为LLM优化的内核和处理函数 | 持续改进服务引擎设计 | 引入新的并行化维度以提高推理效率 |
5. 参考资料
- 代码:https://github.com/NVIDIA/TensorRT-LLM/tree/main
- 文档:https://nvidia.github.io/TensorRT-LLM/
- Trt-llm在H100、A100和Ada上的表现:https://github.com/NVIDIA/TensorRT-LLM/blob/main/docs/source/performance.md
评论
OpenAI的Sora竟然造假:生成的AI大片只有1%的AI,剩下的99%是人工!
点蓝色字关注“机器学习算法工程师”设为星标,干货直达!啊?Sora火爆短片《气球人》,也“造假”了???背后艺术家团队的最新揭秘,可谓一石激起千层浪:原来,视频画面并非完全由AI生成,其中有大量视觉效果需要人类后期实现。be like:这下网友不干了,合着大家伙儿跟OpenAI玩真心,OpenAI背
机器学习算法工程师
1
又来了!深信服 1 人被刑事立案,42 人被开除!
近日,深信服发布《2023 反腐总结》。2023 年 74 名员工(含 16 名干部)因违规违纪受罚,其中 42 人被辞退,1 名员工因涉嫌违法犯罪被刑事立案,尚有多起在查案件将在合适时期移送司法机关处理。前采购主管的违纪通报Y某、H某等4人的违纪通报深信服审计部调查发现 Y 某、H 某等
Python 知识大全
2
从0到1 | 手把手教你部署 AI 大模型
点击蓝字 关注我们Build with AI 南京活动来啦!现已开启报名!跟随技术老师的脚步,利用一个下午的时间,部署 AI 大模型!席位有限,速速报名~联合主办方现场福利参会现场可领取夜光运动手环现场完成挑战即可获得运动时尚挎包报名方式请扫码填写问卷报名,名额有限,先到先得!活动信息「活动」:从0
Datawhale
10
Rust网络框架Pingora源码阅读1
要想深入Pingora应该是需要阅读源代码的,所以分析一下源代码,虽然Pingora没有提供丰富的示例,但是提供了一些不错的文档,比如它的internals.md文档,提供了很多细节和示意图,本系列文章会引用很多其中的示意图,...
邓胖
0
【有测评】商贸、市政都好用 江淮1卡帅铃S3双排座兼顾载人与拉货
双排轻卡并非市政“专用”,个体用户跑商贸载货量不大,但对多人乘坐有需求,可以合规乘坐多人的双排车型也就成了很好的选择。比如江淮1卡帅铃S3双排座,拥有3种动力匹配、2种货箱尺寸、2种后桥速比,无论是商贸运输看...
猿某人
0
Pingora快速入门教程1之总览
Pingora一直是我比较期待的项目,所以写个入门系列教程吧。之前研究过一些其他产品,比如nginx, nginx-ingress, apisix, bfe等, 前三者植入业务基本靠lua或者说openresty 而bfe的社区实在是一言难尽, 所以我认为Ping...
邓胖
0
【有大事】江淮1卡超级会员日:响应国家号召、至高万元补贴,3月17...
“江淮1卡真给力!”“大礼包太亲民了!”……去年以来,江淮1卡推出的超级会员日活动诚意满满,得到不少卡友的点赞。3月17日,大家热烈期待的江淮1卡超级会员日活动再度倾情来袭。新年购新车,你购我补贴!正值国家大力推...
猿某人
0
使用手册|1 月更新速递
文章目录 一、前言 二、环境安装 三、简要操作步聚 四、详细操作步聚 五、版本发布 六、技术交流 前言: 1、 Autotestplat是一站式自动化测试平台系统,目前集成了接口,性能、AppUI 、WebUI 自动化测试 的功能 。 2...
测试开发社区
0