网易首页 > 网易号 > 正文 申请入驻

TensorRT-LLM: LLM API 精简指令畅享卓越性能!

0
分享至

NVIDIA TensorRT-LLM是一个专为优化大语言模型 (LLM) 推理而设计的库。它提供了多种先进的优化技术,包括自定义 Attention Kernel、Inflight Batching、Paged KV Caching、量化技术 (FP8、INT4 AWQ、INT8 SmoothQuant 等) 以及更多功能,确保您的 NVIDIA GPU 能发挥出卓越的推理性能。

我们深知您对易用性的需求,为了让您更快上手,并迅速实现流行模型的高性能推理,我们开发了 LLM API,通过简洁的指令,您可轻松体验 TensorRT-LLM 带来的卓越性能!

LLM API 是一个 high-level Python API,专为 LLM 推理工作流而设计。以下是一个展示如何使用 TinyLlama 的简单示例:

from tensorrt_llm import LLM, SamplingParams prompts = [    "Hello, my name is",    "The president of the United States is",    "The capital of France is",    "The future of AI is",]sampling_params = SamplingParams(temperature=0.8, top_p=0.95) llm = LLM(model="TinyLlama/TinyLlama-1.1B-Chat-v1.0") outputs = llm.generate(prompts, sampling_params) # Print the outputs.for output in outputs:    prompt = output.prompt    generated_text = output.outputs[0].text    print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

希望以上示例能帮助您快速入门 NVIDIA TensorRT-LLM LLM API。

当前 TensorRT-LLM LLM API 可支持的模型

  • Llama (including variants Mistral, Mixtral, InternLM)
  • GPT (including variants Starcoder-1/2, Santacoder)
  • Gemma-1/2
  • Phi-1/2/3
  • ChatGLM (including variants glm-10b, chatglm, chatglm2, chatglm3, glm4)
  • QWen-1/1.5/2
  • Falcon
  • Baichuan-1/2
  • GPT-J
  • Mamba-1/2

一、详细介绍

1.1 模型准备

LLM class 可支持以下三种模型导入来源:

  • Hugging Face Hub:直接从 Hugging Face 模型库下载模型,例如 TinyLlama/TinyLlama-1.1B-Chat-v1.0。
  • 本地 Hugging Face 模型:使用已下载到本地的 Hugging Face 模型。
  • 本地 TensorRT-LLM 引擎:使用通过 trtllm-build 工具构建或由 Python LLM API 保存的 Engine。

您可以使用 LLM(model=) 构造函数来灵活切换这些格式。以下各节将详细介绍具体使用方法。

Hugging Face Hub

使用 Hugging Face Hub 来导入模型非常直观,只需在 LLM 构造函数中指定模型仓库名称即可:

llm = LLM(model="TinyLlama/TinyLlama-1.1B-Chat-v1.0")

本地 Hugging Face 模型

由于 Hugging Face 模型库的广泛应用,API 将 Hugging Face 格式作为主要输入来源之一。当您要使用 Llama 3.1 模型时,请通过以下命令从 Meta Llama 3.1 8B 模型页面下载模型:

git lfs installgit clone 

下载完成后,您可以通过以下方式加载模型:

llm = LLM(model=)

请注意,使用此模型需要遵守特定许可条款:

https://ai.meta.com/resources/models-and-libraries/llama-downloads/

在开始下载之前,请确保同意这些条款并在 Hugging Face 上完成身份验证:

https://huggingface.co/meta-llama/Meta-Llama-3-8B?clone=true

本地 TensorRT-LLM 引擎

LLM API 支持使用 TensorRT-LLM Engine,您可以通过以下两种方式构建 Engine:

  1. 您可使用 trtllm-build 工具从 Hugging Face 模型直接构建 TensorRT-LLM Engine,并将其保存到磁盘供后续使用。详细说明请参考 GitHub 上的README和 examples/llama 仓库。构建完成后,您可以这样加载模型:llm = LLM(model=)

  1. 或者,您可以使用 LLM instance 来创建 Engine 并保存到本地磁盘:

llm = LLM()
# Save engine to local disk
llm.save()

  1. 可以参考第一种方法使用 model 参数来加载 Engine。

1.2 使用技巧和故障排除

以下是针对熟悉 TensorRT-LLM 其他 API 的用户,在刚开始使用 LLM API 时可能遇到的常见问题及其解决方案:

  • RuntimeError: only rank 0 can start multi-node session, got 1

在使用 LLM API 进行单节点多 GPU 推理时,无需添加 mpirun 前缀。您可以直接运行 python llm_inference_distributed.py 来执行多 GPU 推理。

  • Slurm 节点上的挂起问题

在使用 Slurm 管理的节点上遇到挂起或其他问题时,请在启动脚本中添加前缀 mpirun -n 1 --oversubscribe --allow-run-as-root。

示例命令:

mpirun -n 1 --oversubscribe --allow-run-as-root python llm_inference_distributed.py

  • 在通讯器 MPI_COMM_WORLD 中,MPI_ABORT 在 rank 1 上被调用,错误代码为 1。

由于 LLM API 依赖 mpi4py 库,为避免 mpi4py 中的递归生成进程,请将 LLM 类放在函数中,并在 __main__ 命名空间下保护程序的主入口点。

注意:此限制仅适用于多 GPU 推理。

二、常见自定义操作

2.1 量化

TensorRT-LLM 可以通过在 LLM 实例中设置适当 Flags,自动对 Hugging Face 模型进行量化。例如,要执行 Int4 AWQ 量化,以下代码会触发模型量化。请参考完整的支持的标志列表和可接受的值。

from tensorrt_llm.llmapi import QuantConfig, QuantAlgoquant_config = QuantConfig(quant_algo=QuantAlgo.W4A16_AWQ)llm = LLM(, quant_config=quant_config)

2.2 采样

SamplingParams 可以自定义采样策略以控制 LLM 生成的响应,如 Beam Search、Temperature 和其他参数。

例如,要启用 Beam Size 为 4 的 Beam Search,请按如下方式设置 Sampling_Params:

from tensorrt_llm.llmapi import LLM, SamplingParams, BuildConfigbuild_config = BuildConfig()build_config.max_beam_width = 4llm = LLM(, build_config=build_config)# Let the LLM object generate text with the default sampling strategy, or# you can create a SamplingParams object as well with several fields set manuallysampling_params = SamplingParams(beam_width=4) # current limitation: beam_width should be equal to max_beam_widthfor output in llm.generate(, sampling_params=sampling_params):    print(output)

SamplingParams 管理并分发字段到 C++ classes,包括:

SamplingConfig:

https://nvidia.github.io/TensorRT-LLM/_cpp_gen/runtime.html#_CPPv4N12tensorrt_llm7runtime14SamplingConfigE

OutputConfig:

https://nvidia.github.io/TensorRT-LLM/_cpp_gen/executor.html#_CPPv4N12tensorrt_llm8executor12OutputConfigE

更多详情请参考class 文档

https://nvidia.github.io/TensorRT-LLM/llm-api/reference.html#tensorrt_llm.llmapi.SamplingParams

2.3 Build 配置

除了上述参数外,您还可以使用 build_config 类和从 trtllm-build CLI 借用的其他参数来自定义构建配置。这些构建配置选项为目标硬件和用例构建 Engine 提供了灵活性。请参考以下示例:

11m = LLM(,          build_config=Buildconfig(            max_num_tokens=4096,            max batch size=128,            max_beam_width=4))

更多详情请参考buildconfig 文档

https://github.com/NVIDIA/TensorRT-LLM/blob/main/tensorrt_llm/builder.py#L476-L509

2.4 自定义 Runtime

类似于 build_config,您也可以使用 runtime_config、peft_cache_config,或其他从 Executor API 借用的参数来自定义 Runtime 配置。这些 Runtime 配置选项在 KV cache management、GPU memory allocation 等方面提供了额外的灵活性。请参考以下示例:

from tensorrt_llm.llmapi import LLM, KvCacheConfigllm = LLM(,          kv_cache_config=KvCacheConfig(            free_gpu_memory_fraction=0.8))

2.5 自定义 Tokenizer

默认情况下,LLM API 使用 transformers 的 AutoTokenizer。您可以在创建 LLM 对象时传入自己的分词器来覆盖它。请参考以下示例:

llm=LLM(,tokenizer=)

LLM () 工作流将使用您的 tokenizer 。

也可以使用以下代码直接输入 token ID,由于未使用 Tokenizers,该代码生成的是不带文本的 token ID。

llm = LLM()for output in llm.generate([32, 12]):     ...

更多详细信息欢迎扫描下方二维码查阅以下详细文档。

TensorRT-LLM 安装指南及 LLM API 使用详细文档:https://nvidia.github.io/TensorRT-LLM/llm-api/index.html#

关于作者

严春伟

NVIDIA 性能架构师,目前主要聚焦于大模型推理架构和优化。

张国铭

NVIDIA 性能架构师,目前主要从事大模型推理架构和优化 。

Adam Zheng

NVIDIA 产品经理,负责 NVIDIA AI 平台软件产品管理,目前主要聚焦于大模型推理架构和优化。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
文春爆料:日本一线女星片场被强摸崩溃落泪,反被对方怼:“有创伤就别接夫妻戏”?!

文春爆料:日本一线女星片场被强摸崩溃落泪,反被对方怼:“有创伤就别接夫妻戏”?!

今日日本
2026-07-02 15:37:52
扛不住了?前总统直接摊牌:如果不打赢这场仗,俄罗斯将一无所有

扛不住了?前总统直接摊牌:如果不打赢这场仗,俄罗斯将一无所有

霁寒飘雪
2026-07-02 14:22:08
花8000雇退伍军人当男友,回家被亲戚嫌弃,当团长的大伯见他敬礼

花8000雇退伍军人当男友,回家被亲戚嫌弃,当团长的大伯见他敬礼

小月故事
2026-06-29 20:13:07
女演员千万别整容,看45岁马苏和40岁江疏影同框,就懂两人的区别

女演员千万别整容,看45岁马苏和40岁江疏影同框,就懂两人的区别

白面书誏
2026-06-29 14:44:15
重庆一三级医院宣布停诊!

重庆一三级医院宣布停诊!

刘哥谈体育
2026-07-02 15:12:59
四部门:对不裁员、少裁员的参保企业,各地将继续实施稳岗返还政策,延续实施一次性扩岗补助政策

四部门:对不裁员、少裁员的参保企业,各地将继续实施稳岗返还政策,延续实施一次性扩岗补助政策

极目新闻
2026-07-02 18:41:45
爆冷绝杀!19岁温瑞博一鸣惊人,淘汰顶级王牌,惊艳乒坛

爆冷绝杀!19岁温瑞博一鸣惊人,淘汰顶级王牌,惊艳乒坛

童叔不飙车
2026-07-02 01:12:10
没有证据?那就发明证据!从中国第一“女福尔摩斯”到冤案制造者

没有证据?那就发明证据!从中国第一“女福尔摩斯”到冤案制造者

许三岁
2026-06-24 11:06:59
3天3涨停!又一AI大牛股爆了

3天3涨停!又一AI大牛股爆了

财经锐眼
2026-07-02 16:44:15
钱已到位!缅甸总统确认:全国道路建设项目资金持续拨付中

钱已到位!缅甸总统确认:全国道路建设项目资金持续拨付中

缅甸中文网
2026-07-02 13:50:52
湖人悔不当初!名记透露詹皇想法,76人掘金好机会:签约太简单

湖人悔不当初!名记透露詹皇想法,76人掘金好机会:签约太简单

你的篮球频道
2026-07-02 09:29:41
熬过2次世界大战和20任总统后,141岁的巨龟被美国动物园安乐死

熬过2次世界大战和20任总统后,141岁的巨龟被美国动物园安乐死

狸猫之一的动物圈
2026-06-28 10:52:53
260亿遗产说不要就不要,带儿女远走美国的毛阿敏,63岁仍跑商演

260亿遗产说不要就不要,带儿女远走美国的毛阿敏,63岁仍跑商演

飘飘然的娱乐汇
2026-06-30 10:20:08
医生发现:能跑能跳的老人,基本在70岁,就已经不做这6件事了

医生发现:能跑能跳的老人,基本在70岁,就已经不做这6件事了

芹姐说生活
2026-06-30 19:12:40
中企印尼硬核撤离:整条产线拆光运回国,宁出天价运费也不贱卖!

中企印尼硬核撤离:整条产线拆光运回国,宁出天价运费也不贱卖!

楠楠自语
2026-07-02 12:02:44
人到中年才恍然明白:领导眼里,你的经验与辛劳无足轻重,真正让领导“倚重”而赋予重任的,是这两种稀缺的核心价值

人到中年才恍然明白:领导眼里,你的经验与辛劳无足轻重,真正让领导“倚重”而赋予重任的,是这两种稀缺的核心价值

心理观察局
2026-07-02 06:26:04
奥哈拉:不带阿诺德会是世界杯史上最糟糕的选人失误之一

奥哈拉:不带阿诺德会是世界杯史上最糟糕的选人失误之一

懂球帝
2026-07-02 19:24:46
中央5台直播乒乓球时间表:7月3日CCTV5+直播国乒 王楚钦双线作战

中央5台直播乒乓球时间表:7月3日CCTV5+直播国乒 王楚钦双线作战

白面书誏
2026-07-02 15:14:07
哈啰共享单车79分钟收30元,客服回应:新车型成本超1200元

哈啰共享单车79分钟收30元,客服回应:新车型成本超1200元

PChome电脑之家
2026-06-30 11:19:39
天呐!这就是认知被颠覆的感觉吗?网友:瞬间格局打开了

天呐!这就是认知被颠覆的感觉吗?网友:瞬间格局打开了

另子维爱读史
2026-06-20 22:25:42
2026-07-02 21:04:49
NVIDIA英伟达中国 incentive-icons
NVIDIA英伟达中国
英伟达(中国)官方账号
3591文章数 1459关注度
往期回顾 全部

科技要闻

马斯克不承认,但SpaceX就该造AI手机

头条要闻

售价超30万小鹏新车仅200公里爆胎 4S店给的说法反复

头条要闻

售价超30万小鹏新车仅200公里爆胎 4S店给的说法反复

体育要闻

韩国人,为什么恨透了洪明甫?

娱乐要闻

众星祝福祖国,曾沛慈原形毕露?

财经要闻

千亿茶市场无赢家:澜沧巨亏 八马停"蹄"

汽车要闻

小鹏MONA L03 智能化水平拉满 还有玩法多样的巧思大空间

态度原创

教育
本地
艺术
时尚
公开课

教育要闻

压线生注意!今年填志愿有大风险!

本地新闻

这场穿越酉阳的光影之旅,张张都是壁纸!

艺术要闻

冉茂芹人物写生 17幅

月入3万,时代红利砸向文科生

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版