在 JetPack 7.2 上部署 TensorRT Edge-LLM
Key takeaway: 本指南来自 Seeed Studio Wiki,完整记录在 NVIDIA JetPack 7.2 上部署 TensorRT Edge-LLM v0.9.1 的流程。TensorRT Edge-LLM 是 NVIDIA 面向嵌入式 Jetson 平台的大语言模型、视觉语言模型和多模态模型推理栈,本版本于 2026 年 7 月 31 日更新,官方支持 Jetson Orin 和 Jetson Thor。部署分两阶段:首先在 x86 GPU 主机(Ubuntu 22.04/24.04、CUDA 12.x/13.x、Ampere 以上 GPU)上克隆 TensorRT Edge-LLM v0.9.1,通过 `tensorrt-edgellm-export` 将 Hugging Face 上的 Qwen3-0.6B 检查点导出为 ONNX 计算图;随后将 ONNX 目录传输至 Jetson 设备,在 JetPack 7.2 与 CUDA 13.2 工具链下,使用 CMake 以 `jetson-orin` 或 `jetson-thor` 为目标构建 C++ 运行时和示例,然后运行 `llm_build` 从 ONNX 构建 TensorRT 引擎,并通过 `llm_inference` 进行推理,输出示例显示模型成功回答“The capital of the United States is Washington, D.C.”。指南详细说明了 Jetson Orin 支持的精度仅为 FP16、INT8、INT4,不支持 FP8 等更高精度,并强调 JetPack 6.2 的引擎不可直接复用。对于 INT4 量化,推荐使用 AWQ 或 GPTQ 预量化检查点并采用外部化权重选项以降低内存压力。此外,还提供了基准测试命令、与 JetPack 6.2 的差异对比以及常见故障(如 CMake
- TensorRT Edge-LLM v0.9.1 是 NVIDIA 针对嵌入式 Jetson 平台的大模型推理栈,2026 年 7 月 31 日更新,JetPack 7.2 是其官方支持环境。
- 部署流程分为 x86 主机端导出 ONNX 和 Jetson 端构建引擎并运行推理,当前指南以 Qwen3-0.6B 为例演示 FP16 工作流。
- Jetson Orin 支持 FP16、INT8、INT4 运行时精度,不支持 FP8、MXFP8 等,JetPack 6.2 的引擎不能直接复制到 7.2 使用。
- 构建时需启用 CuTe DSL 以支持 Qwen3.5 等模型路径,CMake 配置中 CUDA 工具链版本固定为 13.2。
- 对于 INT4 模型,推荐使用外部化权重选项(如 `--externalize-weights int4_ffn`)以降低 Orin 设备的内存压力。
- 提供了引擎构建、基准测试和故障排查说明,包括内存不足、CUDA 版本不匹配等常见问题的解决方案。
NVIDIA 的 TensorRT Edge-LLM 是当前嵌入式平台部署大模型的关键工具,JetPack 7.2 的正式支持为 Jetson Orin 和 Thor 用户打通了官方路径。这篇来自 Seeed Studio Wiki 的指南以 Qwen3-0.6B 为例,完整演示了从 x86 导出 ONNX 到 Jetson 端构建引擎、运行推理的全流程,并给出了 INT4 量化、基准测试和故障排查的实用建议。对于正在将大模型能力推向边缘侧的前线部署工程师,这是一份难得的实操说明书,建议收藏并在实际项目中快速验证复现。
TensorRT Edge-LLM v0.9.1 是 NVIDIA 针对嵌入式 Jetson 平台的大模型推理栈,2026 年 7 月 31 日更新,JetPack 7.2 是其官方支持环境。
—— 络石智能编辑部 · Editor's Pick在 JetPack 7.2 上部署 TensorRT Edge-LLM
概述
TensorRT Edge-LLM 是 NVIDIA 面向嵌入式 NVIDIA 平台部署大语言模型、视觉语言模型、多模态模型以及部分视觉-语言-动作工作负载的高性能推理栈。它提供检查点导出流水线、TensorRT 引擎构建器、优化的 C++ 运行时、示例以及一个实验性的兼容 OpenAI 的服务器。
JetPack 7.2 是 Jetson Orin 官方支持的 TensorRT Edge-LLM 路径。Jetson Thor 在 JetPack 7.x 上也受支持。本指南固定使用 TensorRT Edge-LLM v0.9.1,这是在本页面于 2026 年 7 月 31 日 更新时最新发布的版本。
note
本指南中的截图复用了 JetPack 6.2 教程中现有的 TensorRT Edge-LLM 工作流图片。整体的主机导出与目标端引擎工作流是相同的,但在 v0.9.1 中,命令名称、构建标志、版本号和控制台输出可能有所不同。
平台矩阵
| 目标平台 | 软件发行版 | CMake 目标 | CUDA toolkit 值 | 运行时精度 |
| --- | --- | --- | --- | --- |
| Jetson Orin | JetPack 7.2 | jetson-orin | 13.2 | FP16, INT8, INT4 |
| Jetson Thor | JetPack 7.2 | jetson-thor | 13.2 | 请查看每个模型和精度对应的支持模型矩阵。 |
warning
TensorRT Edge-LLM v0.9.1 在 Jetson Orin 上不支持 FP8、MXFP8、FP4 或 NVFP4 运行时精度。请为 Orin 使用 FP16、INT8 或 INT4 检查点。不要将 JetPack 6.2 上构建的 TensorRT 引擎复制到 JetPack 7.2 中;应在目标 JetPack 7.2 系统上重新构建引擎。
部署分为两个阶段:
- 在 x86 GPU 主机上导出:安装 Python 工具并将 Hugging Face 检查点导出为 ONNX。
- 在 Jetson 上构建并运行:编译 C++ 运行时,从 ONNX 构建 TensorRT 引擎并运行推理。
第 1 部分:在 x86 GPU 主机上导出模型
主机要求
- 运行 Ubuntu 22.04 或 24.04 的 x86-64 Linux
- 计算能力 8.0+ 的 NVIDIA Ampere 或更新架构 GPU
- CUDA 12.x 或 13.x
- Python 3.10 及以上
- 足够的 RAM、显存和磁盘空间以容纳所选检查点
模型导出可能需要数倍于检查点大小的主机 RAM 和显存。在迁移到更大或量化模型之前,请先从小型的 Qwen3-0.6B FP16 示例开始。
克隆并安装 v0.9.1
git clone --branch v0.9.1 --depth 1 https://github.com/NVIDIA/TensorRT-Edge-LLM.gitcd TensorRT-Edge-LLMgit submodule update --init --recursivepython3 -m venv venvsource venv/bin/activatepython -m pip install --upgrade pippip install .
当你需要检查点量化、LoRA 合并、词表裁剪或分词器辅助工具时,再安装可选工具依赖:
pip install ".[tools]"
验证当前命令行接口:
tensorrt-edgellm-export --helptensorrt-edgellm-quantize --help
将 Qwen3-0.6B 导出为 ONNX
下面的示例直接导出 FP16 检查点。FP16 在 Jetson Orin 上受支持,并且可以让首次验证工作流保持简单。
export EDGE_LLM_PATH=$HOME/TensorRT-Edge-LLMexport WORKSPACE_DIR=$HOME/tensorrt-edgellm-workspaceexport MODEL_NAME=Qwen3-0.6Bexport PYTHONPATH=$EDGE_LLM_PATH:$PYTHONPATHmkdir -p "$WORKSPACE_DIR"cd "$WORKSPACE_DIR"tensorrt-edgellm-export \ Qwen/Qwen3-0.6B \ "$WORKSPACE_DIR/$MODEL_NAME/onnx"
导出的 LLM 计算图应位于:
$WORKSPACE_DIR/Qwen3-0.6B/onnx/llm
可选:在 Jetson Orin 上使用 INT4 检查点
对于 Orin 设备上的更大模型,请使用在官方支持模型矩阵中标记为 INT4 AWQ 或 INT4 GPTQ 的检查点。预量化检查点可以直接导出。外置 INT4 权重可以在内存受限的 Orin 设备上降低引擎构建时的内存压力。
tensorrt-edgellm-export \ /path/to/supported-int4-checkpoint \ "$WORKSPACE_DIR//onnx" \ --externalize-weights int4_ffn
对于 INT4 MoE 检查点,请添加 TensorRT Edge-LLM 文档中给出的、针对模型家族的外置权重选项。始终在支持模型矩阵中核对具体检查点和精度。
将 ONNX 目录传输到 Jetson
创建目标目录并复制导出的模型:
ssh @ \ "mkdir -p ~/tensorrt-edgellm-workspace/$MODEL_NAME"scp -r \ "$WORKSPACE_DIR/$MODEL_NAME/onnx" \ @:~/tensorrt-edgellm-workspace/$MODEL_NAME/
第 2 部分:在 JetPack 7.2 上构建 TensorRT Edge-LLM
下面的主要工作流以 Jetson Orin 为目标。后文将给出 Jetson Thor 的配置。
验证 JetPack 7.2
在 Jetson 设备上,检查 Jetson Linux 发行版、CUDA 编译器和 TensorRT 软件包:
cat /etc/nv_tegra_releasenvcc --versiondpkg -l | grep -E 'tensorrt|libnvinfer'
对于 v0.9.1 的 JetPack 7.2 构建矩阵,nvcc --version 应与构建配置所需的 CUDA 13.2 工具链匹配。
安装构建依赖
sudo apt updatesudo apt install -y cmake build-essential git
在 Jetson 上克隆匹配的发行版
主机导出和目标运行时请使用相同的 TensorRT Edge-LLM 发行版:
cd ~git clone --branch v0.9.1 --depth 1 https://github.com/NVIDIA/TensorRT-Edge-LLM.gitcd TensorRT-Edge-LLMgit submodule update --init --recursive
为 Jetson Orin 配置并构建
cd ~/TensorRT-Edge-LLMmkdir -p buildcd buildcmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DTRT_PACKAGE_DIR=/usr \ -DCMAKE_TOOLCHAIN_FILE=cmake/aarch64_linux_toolchain.cmake \ -DEMBEDDED_TARGET=jetson-orin \ -DCUDA_CTK_VERSION=13.2 \ -DENABLE_CUTE_DSL=ALLcmake --build . -j"$(nproc)"
已启用 CuTe DSL 内核,因为当前 Qwen3.5 和其他受支持的模型路径需要它们。
验证示例是否已构建:
./examples/llm/llm_build --help./examples/llm/llm_inference --help
Jetson Thor 构建变体
在搭载 JetPack 7.2 的 Jetson Thor 上,使用相同的构建步骤,但更改嵌入式目标:
cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DTRT_PACKAGE_DIR=/usr \ -DCMAKE_TOOLCHAIN_FILE=cmake/aarch64_linux_toolchain.cmake \ -DEMBEDDED_TARGET=jetson-thor \ -DCUDA_CTK_VERSION=13.2 \ -DENABLE_CUTE_DSL=ALL
构建 TensorRT 引擎
在 Jetson 设备上,设置工作区并从导出的 ONNX 计算图构建引擎:
export WORKSPACE_DIR=$HOME/tensorrt-edgellm-workspaceexport MODEL_NAME=Qwen3-0.6Bcd ~/TensorRT-Edge-LLM./build/examples/llm/llm_build \ --onnxDir "$WORKSPACE_DIR/$MODEL_NAME/onnx/llm" \ --engineDir "$WORKSPACE_DIR/$MODEL_NAME/engines" \ --maxBatchSize 1 \ --maxInputLen 1024 \ --maxKVCacheCapacity 4096
引擎构建时间和峰值内存取决于模型、精度、最大输入长度、KV 缓存容量以及 Jetson 的内存配置。
运行 C++ 推理
创建一个请求文件:
cat > "$WORKSPACE_DIR/input.json" <<'EOF'{ "batch_size": 1, "temperature": 1.0, "top_p": 1.0, "top_k": 50, "max_generate_length": 128, "requests": [ { "messages": [ { "role": "user", "content": "What is the capital of the United States?" } ] } ]}EOF
运行推理:
cd ~/TensorRT-Edge-LLM./build/examples/llm/llm_inference \ --engineDir "$WORKSPACE_DIR/$MODEL_NAME/engines" \ --inputFile "$WORKSPACE_DIR/input.json" \ --outputFile "$WORKSPACE_DIR/output.json"
查看结果:
cat "$WORKSPACE_DIR/output.json"
响应中应包含类似如下的生成文本:
{ "responses": [ { "output_text": "The capital of the United States is Washington, D.C.", "request_idx": 0, "batch_idx": 0 } ]}
对引擎进行基准测试
使用 llm_bench 进行预填充和解码的合成测量:
./build/examples/llm/llm_bench \ --engineDir "$WORKSPACE_DIR/$MODEL_NAME/engines" \ --mode prefill
在比较 JetPack 6.2 和 JetPack 7.2 时记录以下数值:
- 引擎构建期间的系统峰值内存
- 引擎加载后的内存占用
- 首个 token 的生成时间
- 提示处理吞吐量
- 解码吞吐量
- GPU 频率、电源模式、温度和整板功耗
与 JetPack 6.2 工作流的差异
| 项目 | JetPack 6.2 兼容路径 | JetPack 7.2 支持路径 |
| --- | --- | --- |
| Jetson Orin 状态 | 兼容 | 官方支持并经过测试 |
| CUDA 构建值 | 12.6 | 13.2 |
| CMake 目标 | jetson-orin | jetson-orin |
| Orin 上的运行时精度 | FP16, INT8, INT4 | FP16, INT8, INT4 |
| CuTe DSL | 依赖发行版 | 对当前模型路径使用 -DENABLE_CUTE_DSL=ALL 启用 |
| 引擎复用 | 为 JetPack 6.2 重新构建 | 为 JetPack 7.2 重新构建 |
故障排查
CMake 找不到 TensorRT
确认 JetPack 已安装 TensorRT 开发软件包,并且库位于 /usr 下:
dpkg -l | grep -E 'tensorrt|libnvinfer'ls /usr/include/NvInfer.h
CUDA 版本不匹配
不要仅为了绕过配置检查而更改 CUDA_CTK_VERSION。请确认设备正在运行预期的 JetPack 7.2 镜像,并且 nvcc 解析到的是该 JetPack 的 CUDA 工具包。
引擎构建被终止或内存不足
- 从 Qwen3-0.6B FP16 开始。
- 在 Jetson Orin 上为更大的模型使用受支持的 INT4 检查点。
- 在支持的情况下使用外部化的 INT4 权重。
- 在第一次验证运行时减小
maxInputLen和maxKVCacheCapacity。 - 在构建引擎之前停止无关的容器和占用内存较多的服务。
模型或精度被拒绝
查看 TensorRT Edge-LLM 支持模型矩阵。模型系列受支持并不意味着每个检查点、精度、视觉编码器或推测解码器组合都在每个平台的 Jetson 上受支持。
后续步骤
- 为更大的 Jetson Orin 模型添加 INT4 LLM 工作流。
- 使用受支持的 Qwen-VL、InternVL、Phi 多模态或 Gemma 检查点添加 VLM 推理。
- 评估实验性的高级 Python API 和兼容 OpenAI 的服务器。
- 使用 Rapid Prototyping on Jetson with NVIDIA Skills 来自动化设备检查、内存审计和基准测试收集。
Last updated on Jul 31, 2026 by Dongxu Jin
Tags
Related Topics
Expert Comment
This article is curated by the editorial team from public sources for reference only.