Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用TensorRT-LLM进行高性能推理

使用TensorRT-LLM进行高性能推理

作者头像
deephub
发布于 2023-10-23 11:41:27
发布于 2023-10-23 11:41:27
2.1K00
代码可运行
举报
文章被收录于专栏:DeepHub IMBADeepHub IMBA
运行总次数:0
代码可运行

LLM的火爆之后,英伟达(NVIDIA)也发布了其相关的推理加速引擎TensorRT-LLM。TensorRT是nvidia家的一款高性能深度学习推理SDK。此SDK包含深度学习推理优化器和运行环境,可为深度学习推理应用提供低延迟和高吞吐量。而TensorRT-LLM是在TensorRT基础上针对大模型进一步优化的加速推理库,它号称可以增加4倍的推理速度。

所以本文将对其做一个简单的使用介绍。

前所未有的优化

在AI世界中优化不仅是一种福利而且是必要的。TensorRT-LLM引入了一系列在模型和运行时级别都具有开创性的优化。

在模型级别,TensorRT-LLM采用复杂的策略,如内核融合,将其中多个操作合并到单个内核中,以减少启动多个内核的开销。它还利用量化,大大加快了计算速度,减少了内存需求,而不影响模型精度。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 import tensorrtllm as trtllm
 
 # Initialize the model
 model = trtllm.LargeLanguageModel('./path_to_your_model')
 
 # Apply kernel fusion and quantization
 optimization_flags = trtllm.OptimizationFlag.FUSE_OPERATIONS | trtllm.OptimizationFlag.QUANTIZE
 optimized_model = model.optimize(flags=optimization_flags)

在运行时级别,TensorRT-LLM具有连续批处理等功能,允许同时计算多个推理请求,有效地提高GPU利用率和吞吐量。分页注意力是另一个新特性,优化了注意力计算过程中的内存使用,这是大型语言模型的一个常见瓶颈。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 # Enable in-flight batching and paged attention
 runtime_parameters = {
     'in_flight_batching': True,
     'paged_attention': True
 }
 
 # Build the engine with these runtime optimizations
 engine = optimized_model.build_engine(runtime_parameters=runtime_parameters)

这些优化提供了实质性的性能改进,但它们需要仔细调优和彻底的测试。验证优化后模型的功能和性能完整性非常重要,以确保增强不会对模型的准确性或可靠性产生不利影响。

加速推理

在当今的数字时代,速度是至关重要的。TensorRT-LLM可与传统方法相比,提供高达8倍的吞吐量。

这种性能上的飞跃在很大程度上归功于in_flight_batching。与传统的批处理不同,在传统的批处理中,推理请求是分组处理的(导致单个请求的延迟),而在线批处理重叠了不同请求的计算,在不影响批大小的情况下大大减少了推理时间。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 input_data = [...]  # your input data here
 results = engine.execute_with_inflight_batching(input_data)

另一个主要改进是针对GPU密集型操作优化的内存管理,这确保了GPU的最大计算能力得到利用。

为了充分利用加速推理,平衡CPU和GPU之间的负载至关重要,确保两者都不会成为瓶颈。需要管理输入模型的数据管道和在GPU上执行的计算。监测系统的功率性能也非常重要,持续的高利用率操作可能会使系统资源紧张。

广泛的模型支持

丰富多样的大型语言模型(llm),每个模型都是为特定任务量身定制的。推理工具的效用因其与各种模型无缝集成的能力而大大增强。TensorRT-LLM在这一领域表现出色,并且提供了广泛的兼容性,从Meta的Llama 1和2到ChatGLM、Falcon、MPT、Baichuan、Starcoder等一系列llm。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 import tensorrtllm as trtllm
 
 # Define and load different LLMs
 llama_model = trtllm.LargeLanguageModel('./path_to_llama_model')
 chatglm_model = trtllm.LargeLanguageModel('./path_to_chatglm_model')
 
 # Build optimized engines for different LLMs
 llama_engine = llama_model.build_engine()
 chatglm_engine = chatglm_model.build_engine()

节约成本

部署人工智能的经济方面通常是人工智能驱动项目可行性的决定性因素。除了原始计算性能之外,TensorRT-LLM的设计还具有成本效益,解决了包括直接和间接费用在内的总拥有成本(TCO)问题。通过提高计算效率,TensorRT-LLM减少了对大量硬件资源的依赖,从而降低了能耗。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 import tensorrtllm as trtllm
 
 # Initialize the model
 model = trtllm.LargeLanguageModel('./path_to_your_model')
 
 # Optimize the model with energy-efficient settings
 optimized_model = model.optimize(energy_efficient=True)
 
 # Monitor energy consumption
 energy_usage = optimized_model.monitor_energy_usage()

为了最大限度地节省成本,对性能指标进行持续的监控和分析是必不可少的。利用日志记录和监视工具跟踪能源使用情况、计算效率和硬件运行状况。这样可以定期审查运营成本,并准备根据这些见解调整使用模式或配置。

易用性

进入大型语言模型(llm)的世界不需要计算机科学博士学位或多年的编程经验。TensorRT-LLM的设计以用户友好为核心。通过其直观的Python API, TensorRT-LLM使LLM优化和推理平民化,使这些先进技术能够为更广泛的受众所使用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 import tensorrtllm as trtllm
 
 # Initialize and load the model
 model = trtllm.LargeLanguageModel('./path_to_your_model')
 
 # Perform common operations through easy-to-understand methods
 model.optimize()
 model.build_engine()
 model.execute(input_data)

即使有了易于使用的API,可以极大地平滑学习曲线,并为更有效的使用提供有价值的见解。

量化的支持

模型的规模呈指数级增长,管理计算资源至关重要。TensorRT-LLM的量化支持允许使用较低的精度(如FP8)进行计算,TensorRT-LLM在资源消耗、执行速度和模型精度之间实现了良好的平衡。这不仅加快了推理速度,还减少了内存使用,这对于在受限环境中部署大型模型至关重要。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 import tensorrtllm as trtllm
 
 # Initialize the model
 model = trtllm.LargeLanguageModel('./path_to_your_model')
 
 # Enable quantization
 quantized_model = model.enable_quantization(precision='FP8')
 
 # Build and execute the quantized model
 engine = quantized_model.build_engine()
 result = engine.execute(input_data)

生态集成

作为NVIDIA官方产品,TensorRT-LLM在构建时考虑了适应性,准备与新兴的LLM生态系统集成。随着新模型架构的出现和现有模型的完善,TensorRT-LLM支持与前沿开发的无缝集成。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 import tensorrtllm as trtllm
 
 # Initialize the model
 model = trtllm.LargeLanguageModel('./path_to_your_model')
 
 # Update the model with new kernels or architectures
 updated_model = model.update_components(new_kernels='./path_to_new_kernels', 
                                         new_architectures='./path_to_new_architectures')
 
 # Re-optimize and deploy the updated model
 updated_engine = updated_model.build_engine()

总结

为什么选择TensorRT-LLM呢?

因为它是NVIDIA官方产品,兼容性和速度优化肯定是有保障的,它提供了无与伦比的速度增强、广泛的模型支持和显著的成本降低,同时简化了LLM优化的任务。它对多种模型的强大支持,通过节能计算实现成本效益的承诺,以及与动态AI生态系统的无缝集成,使TensorRT-LLM成为经验丰富的开发人员和新手都不可或缺的资产。

https://github.com/NVIDIA/TensorRT-LLM

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DeepHub IMBA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用TensorRT-LLM进行生产环境的部署指南
TensorRT-LLM是一个由Nvidia设计的开源框架,用于在生产环境中提高大型语言模型的性能。该框架是基于 TensorRT 深度学习编译框架来构建、编译并执行计算图,并借鉴了许多 FastTransformer 中高效的 Kernels 实现,并且可以利用 NCCL 完成设备之间的通讯。
deephub
2024/03/11
1.9K0
使用TensorRT-LLM进行生产环境的部署指南
揭秘 NVIDIA Dynamo:分布式AI推理的高效引擎
随着生成式AI模型规模的爆炸式增长,企业面临推理成本激增、分布式部署复杂度高、资源利用率低等挑战。传统推理框架在跨多节点扩展时,常因KV缓存重复计算、GPU负载不均、通信延迟等问题导致性能瓶颈。NVIDIA Dynamo作为新一代开源推理框架,专为大规模分布式环境设计,通过解耦式服务、智能路由、动态资源调度等创新技术,将推理吞吐量提升30倍以上。本文将深入解析其核心架构、技术优势及实际应用场景,帮助开发者高效部署生成式AI模型,降低推理成本并释放GPU潜能。
数据存储前沿技术
2025/03/29
1.2K0
揭秘 NVIDIA Dynamo:分布式AI推理的高效引擎
NVIDIA发布TensorRT-LLM 0.8.0:加速最先进语言模型
NVIDIA上周宣布TensorRT-LLM版本0.8.0的发布!这个更新标志着在GPU加速推断方面取得了重大进展,使得部署最前沿的语言模型架构变得轻而易举。在TensorRT-LLM,NVIDIA的目标是为您提供极速的执行速度,以解决语言模型任务,而此版本带来了大量增强功能,正是为了实现这一目标。
GPUS Lady
2024/03/14
2900
NVIDIA发布TensorRT-LLM 0.8.0:加速最先进语言模型
TensorRT LLM vs OpenPPL LLM
PPL LLM只支持baichuan、chatglm、llama三个模型,Tensor-LLM支持几乎所有大模型。
aaronwjzhao
2023/11/21
9720
使用 BigDL-LLM 加速 Intel ® 数据中心 GPU 上的 LLM 推理
导读:本文探讨了在 Intel® 数据中心 GPU 上采用 BigDL-LLM INT4 和 FP16 (使用 Self-Speculative Decoding) 进行大型语言模型推理的性能评估。文章介绍了 BigDL LLM 的 Self-Speculative Decoding,通过测量下一个 Token 延迟,分析了不同配置下的推理性能,并提供了性能测试所采用的工具包和硬件环境。结果显示,在 Intel® 数据中心 GPU Max 1100C 上利用 BigDL LLM 进行 FP16 (Self-Speculative Decoding)的大语言模型推理,可以显著改善推理的延迟。这篇文章将为对大型语言模型推理性能感兴趣的读者提供有益的参考和启示。
深度学习与Python
2024/03/26
3710
使用 BigDL-LLM 加速 Intel ® 数据中心 GPU 上的 LLM 推理
使用Triton+TensorRT-LLM部署Deepseek模型
随着大模型项目的开源环境越来越好,大家在本地部署一个大语言模型跑demo应该是一件很简单的事情。但是要将模型运行到生产环境,就需要考虑模型运行性能,GPU资源的调度,高并发场景的支持等情况了。
languageX
2024/04/17
3.5K2
LLM 推理引擎之争:Ollama or vLLM ?
Hello folks,我是 Luga,今天我们来聊一下人工智能应用场景 - 构建高效、灵活的计算架构的模型推理框架。
Luga Lee
2025/04/24
4210
LLM 推理引擎之争:Ollama or vLLM ?
TensorRT-LLM:开启Jetson平台上大语言模型推理的新篇章
TensorRT-LLM for Jetson是针对Jetson平台优化的高性能大语言模型(LLM)推理库,专为Jetson AGX Orin等高性能计算设备设计。该库集成了先进的量化技术、注意力核函数以及分页键值(KV)缓存,旨在提供高效的LLM推理性能。
GPUS Lady
2024/11/28
4890
TensorRT-LLM:开启Jetson平台上大语言模型推理的新篇章
大语言模型推理框架调研
大语言模型(LLM)的迅猛发展及其在自然语言处理、代码生成、多模态交互等领域的广泛应用,对底层推理基础设施提出了前所未有的挑战。模型规模的急剧膨胀(参数量从数十亿扩展至数万亿)和复杂计算需求(如注意力机制)导致推理过程中的显存占用巨大、计算延迟高昂。为了在实际生产环境中高效、经济地部署 LLM,业界涌现出一系列专门针对 LLM 推理优化的框架。这些框架通过引入创新的内存管理机制、批处理策略、并行计算技术以及硬件加速等手段,旨在提升推理吞吐量、降低延迟、优化资源利用率。
磊叔的技术博客
2025/06/03
9130
大语言模型推理框架调研
业界分享 | NVIDIA大语言模型落地实践
大家好,这里是 NewBeeNLP。 今天分享 NVIDIA 在大语言模型领域的解决方案。
NewBeeNLP
2024/03/25
5060
业界分享 | NVIDIA大语言模型落地实践
LLM 大模型学习必知必会系列(十二):VLLM性能飞跃部署实践:从推理加速到高效部署的全方位优化[更多内容:XInference/FastChat等框架]
训练后的模型会用于推理或者部署。推理即使用模型用输入获得输出的过程,部署是将模型发布到恒定运行的环境中推理的过程。一般来说,LLM的推理可以直接使用PyTorch代码、使用VLLM/XInference/FastChat等框架,也可以使用llama.cpp/chatglm.cpp/qwen.cpp等c++推理框架。
汀丶人工智能
2024/05/28
12.9K0
LLM 大模型学习必知必会系列(十二):VLLM性能飞跃部署实践:从推理加速到高效部署的全方位优化[更多内容:XInference/FastChat等框架]
3万字详细解析清华大学最新综述工作:大模型高效推理综述
大模型由于其在各种任务中的出色表现而引起了广泛的关注。然而,大模型推理的大量计算和内存需求对其在资源受限场景的部署提出了挑战。业内一直在努力开发旨在提高大模型推理效率的技术。本文对现有的关于高效大模型推理的文献进行了全面的综述总结。首先分析了大模型推理效率低下的主要原因,即大模型参数规模、注意力计算操的二次复杂度作和自回归解码方法。然后,引入了一个全面的分类法,将现有优化工作划分为数据级别、模型级别和系统级别的优化。此外,本文还对关键子领域的代表性方法进行了对比实验,以及分析并给出一定的见解。最后,对相关工作进行总结,并对未来的研究方向进行了讨论。
zenRRan
2024/06/07
2.3K0
3万字详细解析清华大学最新综述工作:大模型高效推理综述
老黄给H100“打鸡血”:英伟达推出大模型加速包,Llama2推理速度翻倍
GPU的运算能力一直影响着大模型的表现,无论是硬件提供者还是使用者都希望能算得更快些。
量子位
2023/09/19
4150
老黄给H100“打鸡血”:英伟达推出大模型加速包,Llama2推理速度翻倍
大模型压缩量化方案怎么选?无问芯穹Qllm-Eval量化方案全面评估:多模型、多参数、多维度
最近,来自清华大学电子工程系、无问芯穹和上海交通大学的研究团队展开了一次量化方案的“大摸底”,在《Evaluating Quantized Large Language Models 》(Qllm-Eval)这项工作中评估了不同模型、量化不同张量类型、使用不同量化方法、在不同任务上的性能,本篇工作已被ICML'24接收。Qllm-Eval列举出很多大模型落地环节应当关注的模型能力,对产业中的模型量化工作实践,比如如何选取量化方法、针对哪些层或组件进行优化等问题具有指导意义。
机器之心
2024/06/27
4660
大模型压缩量化方案怎么选?无问芯穹Qllm-Eval量化方案全面评估:多模型、多参数、多维度
优化内存使用:TensorRT-LLM和StreamingLLM在Mistral上提升推理效率
内存是否不足以支持长时间聊天内容的#LLM应用?NVIDIA工程师Song Han 开发了StreamingLLM,集成了TensorRT LLM v0.8。让我们看看StreamingLLM在中的应用吧!
GPUS Lady
2024/03/25
3750
优化内存使用:TensorRT-LLM和StreamingLLM在Mistral上提升推理效率
GPU实战:低成本运行多模态大模型
随着多模态大模型(如视觉-语言模型、文本-音频生成模型等)的快速发展,企业对高效、低成本的算力需求日益迫切。 无服务器 GPU 服务结合其弹性扩展和按需付费的特性,为开发者提供了部署多模态大模型的理想平台。本文将从实战角度,探讨如何基于 无服务器 GPU 基础设施,低成本运行多模态大模型。
Michel_Rolle
2025/01/16
1.6K0
PyTorch 2.7 发布,进一步助力 NVIDIA 技术生态加速产业智能化转型
全球领先的开源深度学习框架 PyTorch 正式发布 2.7 版本。此次版本不仅在性能、稳定性和开发体验方面进行了重要升级,更进一步强化了与 NVIDIA 全栈技术平台的深度协作,为生成式AI、大模型部署、自动驾驶、智慧医疗等产业应用提供了更强有力的技术支撑。
GPUS Lady
2025/04/28
2960
PyTorch 2.7 发布,进一步助力 NVIDIA 技术生态加速产业智能化转型
H100推理飙升8倍!英伟达官宣开源TensorRT-LLM,支持10+模型
刚刚,英伟达发布了一款开源软件TensorRT-LLM,能够加速H100上大型语言模型的推理。
新智元
2023/09/19
7240
H100推理飙升8倍!英伟达官宣开源TensorRT-LLM,支持10+模型
TensorRT详细入门指北,如果你还不了解TensorRT,过来看看吧!
作为在英伟达自家GPU上的推理库,这些年来一直被大力推广,更新也非常频繁,issue反馈也挺及时,社区的负责人员也很积极,简直不要太NICE。
老潘
2023/10/19
10.7K1
TensorRT详细入门指北,如果你还不了解TensorRT,过来看看吧!
LLM推理后端性能大比拼,来自BentoML团队的深度评估!
选择适宜的推理后端来服务大型语言模型 (LLMs) 至关重要。它不仅可以确保用户通过快速生成速度获得最佳体验,还可以通过 token 的高生成率和资源利用率降本增效。如今,开发者可以选择多种由知名研究和行业团队创建的推理后端。但是,为特定用例选择最佳后端可能具有挑战性。
OpenMMLab 官方账号
2024/06/17
2.9K0
LLM推理后端性能大比拼,来自BentoML团队的深度评估!
推荐阅读
相关推荐
使用TensorRT-LLM进行生产环境的部署指南
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档