行业实践

借助AMD Vitis AI的GStreamer加速边缘AI流水线

Key takeaway: 本文介绍如何使用 AMD Vitis AI 和 VVAS 工具链加速边缘 AI 视频分析流水线的开发与部署。文章从端到端视角剖析了从训练好的 PyTorch/TensorFlow 模型到在第二代 Versal AI Edge 系列自适应 SoC 上实时运行 NPU 推理的完整流程。核心工具包括:AMD Quark 量化工具支持 BF16、FP16 和 INT8 精度模式,并可通过混合精度解决 YOLO 等模型后处理的精度损失;Vitis AI 编译器自动完成算子融合、内存调度及 CPU/NPU 分区,支持数据并行和张量并行;ONNX Runtime + Vitis AI Execution Provider 和原生 VART-ML 运行时分别适配快速原型与量产级零拷贝执行。在视频流水线集成侧,基于 GStreamer 的 VVAS 通过插件(vvas_xinfer、vvas_xoverlay 等)及 JSON 配置,编排采集、预处理、推理、后处理与渲染,并原生支持空间分区、时间共享和 DMA-BUF 零拷贝等高级部署特性。文中以 YOLOX 检测示例演示了单条 gst-launch 命令即可描述完整流水线。预构建 Docker 镜像和 VEK385 评估板启动镜像使上手时间缩短至数分钟,Python/C++ API 覆盖从原型到量产。这些能力可使团队将更少时间花在底层集成上,更多聚焦于应用开发与性能优化。

Key Takeaways
  1. AMD Vitis AI 提供从 ONNX 模型到 NPU 可执行文件的完整工具链,包含 Quark 量化、Vitis AI 编译器和两种运行时(ONNX Runtime Vitis AI Execution Provider 与 VART-ML)。
  2. 量化支持 BF16(自动校准)、FP16(适用于视觉 Transformer)和 INT8 模式,并可通过混合精度将后处理保留 FP32 自动转 BF16,解决 YOLO 等模型的尺度不匹配精度问题。
  3. 基于 GStreamer 的 VVAS 通过插件化架构和 JSON 配置编排整个视频分析流水线,无需深入 GStreamer 内部或手写自定义集成代码。
  4. VVAS 支持高级部署特性,包括空间分区、时间共享和零拷贝推理(DMA-BUF),可显著提升吞吐量并降低时延。
  5. 预构建 Docker 镜像和面向 VEK385 评估板的启动镜像让环境搭建从“数天”缩短至数分钟,并可通过 Python API 快速原型开发、C++ API 直接投入量产。
边缘AI部署的痛点一直是工程团队的心头大患:从模型量化、精度损失到视频流水线的胶水代码,每一步都可能消耗几周时间。本文以AMD Vitis AI和VVAS为切入点,清晰地拆解了从训练好的PyTorch模型到基于GStreamer的量产级视频分析应用的全流程。它不仅是工具说明,更是一份端到端的实践方法论,对于正在异构计算平台上构建实时AI应用的团队来说,从“找不到北”到“有章可循”,正是这篇文章的核心价值。

AMD Vitis AI 提供从 ONNX 模型到 NPU 可执行文件的完整工具链,包含 Quark 量化、Vitis AI 编译器和两种运行时(ONNX Runtime Vitis AI Execution Provider 与 VART-ML)。

—— 络石智能编辑部 · Editor's Pick

借助AMD Vitis AI的GStreamer加速边缘AI流水线

2026-08-19 0

将神经网络部署到边缘硬件上听起来简单,但实际操作起来却并非如此。您在 PyTorch 中训练了一个模型,获得了很好的精度,然后却面临着一系列陌生的问题:如何在不影响精度的前提下降低精度位宽?如何面向特定的自适应 SoC 进行部署?如何以尽可能低的开发工作量,将推理无缝集成到实时视频流水线中?其中每一步,本身都可能需要数周的工程投入。AMD Vitis AI 和 Vitis 视频分析 SDK( Vitis Video Analytics SDK,VVAS )正是为弥合这些缺口而设计。

为了理解这些工具的作用,首先需要从端到端的角度,想象一个完整的 AI 视频分析应用是什么样的。视频数据来自一个或多个来源,例如文件、IP 摄像头或 IoT 传感器,并依次经过多个阶段:采集与解码、预处理、推理、后处理与渲染,最终进入存储、显示或流媒体输出端点。每个阶段都需要高效执行,同时各阶段之间需要协同工作,避免引入不必要的数据拷贝或 CPU 瓶颈。图 1 展示了一个典型流水线,其中 Vitis AI 负责加速机器学习推理阶段,而 VVAS(基于 GStreamer )则负责连接并编排围绕该阶段的各个流水线元素。

图 1:典型视频分析流水线——Vitis AI 为运行在 AMD Versal NPU 上的机器学习推理阶段提供支持;VVAS(基于 GStreamer 构建)连接并编排从源到输出的整体流程。

从训练到部署:复杂性从何而来

图 1 中的流水线看起来非常清晰。但在实际构建中,如果没有合适的工具,项目进度就会放缓。下面具体来看,真正的痛点在哪里。

从训练到推理缺乏清晰路径。

大多数开发者都熟悉 PyTorch 或 TensorFlow,但这些框架并不会直接为 AMD NPU(Neural Processing Unit,神经处理单元;在第二代 AMD Versal AI Edge 系列器件中作为基于 AI 引擎构建的 AI 推理加&速器)提供二进制文件。

量化是一大挑战。

如果只是简单地将 FP32 权重转换为 INT8,而没有进行适当的校准或调优,可能会导致明显的精度损失。找到合适的校准策略、处理混合精度需求(例如,在 YOLO 后处理中保留更高精度,以避免尺度不匹配)以及验证结果,都需要专业知识和工具。

视频流水线集成是一个独立的工程问题。

即使推理已经可以运行,将其与实时视频流集成起来,包括硬件加速预处理、元数据传递、边界框叠加以及多路视频流管理,仍然需要对 GStreamer 和自适应 SoC 或 FPGA 具备深入了解。大多数 AI 开发人员并不具备这样的背景。

性能分析和调试并不容易。

当时延较高时,很难确定瓶颈究竟来自 NPU、CPU 回退、预处理还是后处理。如果缺乏良好的可观测性工具,优化就只能依靠猜测。

上述每一种缺口都与 Vitis AI 或 VVAS 的某项功能直接对应。让我们从模型侧开始,逐步了解工具链是如何解决这些问题的。

Vitis AI:弥合模型到 NPU 的缺口

Vitis AI 提供了一套完整的集成工具链,可将 ONNX 模型转换为经过优化、在第二代 Versal AI Edge 系列器件上运行的 NPU 可执行文件。在深入了解各个阶段之前,有必要先了解软件栈各层之间的关系。在最上层,开发者可以使用熟悉的机器学习框架,例如 PyTorch 和 TensorFlow。标准的开源模型可以从这些框架导出为 ONNX 格式。Vitis AI 工具( AMD Quark 用于量化,Vitis AI Compiler ( Vitis AI 编译器)用于面向特定硬件的优化)位于中间层,负责将这些模型转换为高效的 NPU 二进制文件。在运行时,两条 API 路径(即带有 Vitis AI Execution Provider 的 ONNX Runtime,以及原生 VART 运行时)会通过灵活运行时( XRT )层调用硬件。下图展示了这一完整软件栈:

图 2:Vitis AI 软件栈——AMD Quark Quantizer 和 Vitis AI 编译器位于 ONNX 与 VART 运行时之上,通过 AMD Versal 平台上的灵活运行时( XRT )驱动神经处理单元( NPU )。

下面来看每个阶段能够带来什么能力。

借助 AMD Quark 进行量化

AMD Quark 是 Vitis AI 中包含的量化工具包。Vitis AI 编译器支持三种精度模式,以适配不同的性能与精度权衡。对于 FP16 和 INT8,Vitis AI 使用 AMD Quark 作为量化工具包。

BF16(自动):Vitis AI 编译器会在编译过程中自动将 FP32 模型转换为 BF16,无需校准。这是推荐的起步方案。

FP16:通过 Quark 进行显式转换,适用于视觉 Transformer 架构,因为在这类架构中,BF16 可能带来过大的精度损失。

INT8(高性能):使用小规模校准数据集进行训练后量化。相比 FP16 或 BF16,它能提供更高的吞吐量和更低的时延,但会牺牲一定精度。

对于像 YOLO 这样的模型,INT8 会因后处理中的尺度不匹配而导致精度受影响,Vitis AI 可通过混合精度应对:将计算密集型核心量化为 INT8,同时将精度敏感的后处理保留为 FP32,编译器会自动将这些 FP32 子图转换为 BF16,从而使整个模型仍能在 NPU 上执行。

编译

Vitis AI 编译器接收 ONNX 模型,并生成针对 NPU 优化的二进制文件。它会自动处理算子融合、内存调度以及 CPU/NPU 分区。您只需通过一个 JSON 文件对其进行配置,在文件中指明目标设备和优化偏好。

Vitis AI 编译器支持两种并行化策略,即数据并行和张量并行,以优化模型在 NPU 硬件上的性能。数据并行(批处理)会在多个 NPU 计算块上复制完整模型,使多个独立推理请求可以并发运行。因此,它非常适合多摄像头视频流这类高吞吐量场景。张量并行会将单个推理请求划分到多个 NPU 计算单元上,以并行方式执行,从而降低每个请求的时延,并支持超出单个 NPU 计算块内存容量的模型。选择哪种策略取决于您的应用需求:数据并行更适合面向吞吐量的工作负载,而张量并行更适合对时延敏感或内存受限的用例。Vitis AI 能够将工作负载物理分区到专用 AI 引擎上(后文称为“空间分区”),这是一项重要能力,有助于设计人员降低功耗并提升时延确定性。

编译完成后,AI Analyzer( AI 分析器)会提供可视化的分析结果,显示哪些算子运行在 NPU 上,哪些算子回退到 CPU 上,从而帮助您确定需要优化的位置。下面的 AI Analyzer 示例图展示了算子如何在 NPU 和 CPU 之间进行分区。

图 3:AI Analyzer 展示 NPU 与 CPU 之间的算子分区情况。

部署运行时

Vitis AI 提供两种运行时,以适配您的部署阶段。具体应选择哪种运行时,取决于您的应用对执行细节控制程度的需求。

ONNX Runtime + Vitis AI Execution Provider 是运行推理的最快路径。如果您的应用已经基于 ONNX Runtime 构建,那么添加 Vitis AI Execution Provider 只需要极少的改动。您只需传入 provider 名称和已编译模型,ONNX Runtime 就会自动对算子进行分区,将受支持的算子发送到 NPU,其余算子则回退到 CPU。对于希望保留现有基于 ONNX Runtime 的技术栈并启用硬件加速的团队来说,这是一个切实可行的选择。

VART-ML 是面向量产环境的高性能 C++ 运行时。对于完全卸载到 NPU 上的模型,它有助于彻底消除 CPU 回退开销,并支持零拷贝执行。因此,当应用需要更严格地控制运行时行为和性能调优时,VART-ML 是更合适的选择。

总结来说:ONNX Runtime 提供了一条熟悉的集成路径,可以快速启动并运行;而当您需要对执行过程进行更直接的控制并追求尽可能低的时延时,VART 是更合适的选择。

易用性与开箱即用体验

上手过程快捷且直接。预构建 Docker 镜像包含了所有量化和编译工具。面向第二代 AMD Versal AI Edge 系列 VEK385 评估板的预构建启动镜像,让您在首次上电后几分钟内即可运行 ResNet50 推理。Python API 可实现快速原型开发;C++ API 可扩展至量产环境。这种开箱即用体验意味着,您可以将时间投入到应用开发,而非环境搭建上。

当模型已经完成量化、编译并可在 NPU 上运行后,您仍需解决另一项挑战:将实际应用中围绕推理的组件集成起来,包括视频解码、预处理、元数据传递以及多接收端输出路由。这正是 VVAS 的用武之地。

VVAS:弥合流水线集成缺口

当 Vitis AI 负责模型量化、编译和 NPU 执行之后,下一个问题是:是什么将图 1 中所示的所有流水线阶段连接起来?解决方案就是 VVAS。如果没有 VVAS,流水线中的每一次交接,包括将帧解码为正确的缓冲区格式、将其送入可编程逻辑( PL )预处理内核、将结果传递给 NPU 推理、向叠加阶段传递元数据以及将输出路由到多个接收端,都需要单独的自定义集成项目,并且需要对 GStreamer 以及自适应 SoC 或 FPGA 具备深厚的专业知识。

VVAS 借助开源 GStreamer 技术,通过一个简洁的插件式 SDK 处理所有这些复杂工作。如下架构图所示,您的应用位于最上层,直接使用 VVAS 插件;而 VVAS 则负责管理底层各层,包括 GStreamer、Vitis AI、XRT 和 NPU。

图 4:VVAS 架构——用户应用位于最上层;VVAS 插件层(基础设施、预处理、推理和自定义插件)桥接 GStreamer、Vitis AI 工具、XRT 和底层的 NPU。

流水线中的每个阶段都直接映射到一个专用的 VVAS 插件,通过 JSON 文件进行配置,无需自定义 C++ 或 GStreamer 样板代码:

vvas_xabrscaler:提供硬件加速的尺寸缩放、颜色转换和归一化,预处理不会带来 CPU 开销。

vvas_xinfer:机器学习推理插件,支持 ONNX Runtime 和 VART 后端。负责批处理、元数据生成和 NPU 执行。

vvas_xmetaconvert / vvas_xoverlay:解析推理元数据,并直接在输出帧上绘制边界框、标签和形状。

vvas_xmetaaffixer:支持在不同分辨率的视频流之间传递元数据。

vvas_xmulticrop / vvas_xfunnel / vvas_xdefunnel:支持感兴趣区域裁剪、视频流合并与拆分,用于级联式多模型流水线。

为了更具体地说明,下面示例展示了一个完整的 YOLOX 目标检测流水线在实践中的实现方式,包括从文件读取、解析原始视频、执行推理、转换元数据、叠加结果,并将输出发送至接收端。所有这些步骤都可以用一条 gst-launch 命令来表达。

用于推理和元数据转换的 JSON 文件如下:

(a) 推理 JSON

(b) 元数据转换 JSON

这种流水线方式使您可以继续使用熟悉的媒体框架,同时在分析流程的每个阶段充分利用具备硬件感知能力的插件。它无需自定义缓冲区管理,也不需要深入掌握 GStreamer 内部机制,而是依靠通过 JSON 配置定义的简单、直接的插件组合来完成构建。

VVAS 还支持 Vitis AI 提供的高级部署配置,否则这些配置通常需要大量的自定义工程:空间分区(两个模型在单独的 NPU 列分区上并发运行)、时间共享(多个模型在同一 NPU 资源上进行时分复用),以及零拷贝推理( DMA-BUF 和 XRT 缓冲区对象直接传递给 NPU,无需中间拷贝)。

在性能分析方面,VVAS 使用标准 GStreamer tracer。您可以使用 fpsdisplaysink 测量每秒帧数,使用 GST_TRACERS="latency" 测量时延,并使用 GST_TRACERS="rusage" 测量 CPU 利用率。GStreamer 流水线常用的可观测性方法同样适用于此。

总体而言,Vitis AI 与 VVAS 覆盖了完整流程:从训练好的浮点模型,一直到经过性能分析、可投入量产并运行在第二代 AMD Versal AI Edge 系列硬件上的视频分析应用。下面可以这样理解二者各自带来的价值。

核心要点

AI 流水线开发并非仅限于模型本身。真正的挑战在于将模型优化、运行时执行、媒体处理、详细的性能分析洞察以及硬件加速整合到一个可维护的应用中。这也正是 Vitis AI 与 VVAS 组合的吸引力所在:一个负责模型准备和 NPU 执行,另一个则对周边流水线进行结构化和编排。

二者结合,可以助力您:

优化吞吐量和时延:面向整个嵌入式 AI 流水线。

降低开发工作量:通过复用经过验证的模型量化、编译和流水线基础设施,而非从零开始构建整条流水线。

最大限度减少集成工作:VVAS 和 Vitis AI 能够处理运行时、缓冲区管理和媒体阶段之间的复杂性。

加速原型开发:借助可复用的插件组件、预构建的启动镜像和 Python API,更快实现可运行的概念验证。

缩短迈向量产的路径:用于快速原型开发的同一套工具链,也可以借助 VART 和零拷贝推理扩展到经过优化的量产级部署。

结语

本文中的示例,从简单的三行 ONNX Runtime 会话,到用单条命令表达的完整 YOLOX GStreamer 流水线,展示了这套工具链在实践中的运行方式。这些示例也说明,边缘 AI 部署中的难点完全可以解决;关键在于在合适的层级使用合适的抽象。

Vitis AI 和 VVAS 正是提供这些抽象的工具。无论您是从 PyTorch 模型起步,需要找到通往 NPU 的路径,还是已经完成推理、需要将其接入实时视频流,这套工具链都能在您当前所处的位置提供支持,并随着需求增长而扩展。对于在第二代 Versal AI Edge 系列上构建实时 AI 应用的团队,Vitis AI、VVAS、Quark 和 AI Analyzer 提供了必要的基础设施与工具,帮助设计人员自信地实现、优化并将其设计部署到量产环境。

准备开始了吗?

欢迎查阅 Vitis AI 6.2 用户指南和 VVAS 6.2 用户指南,获取完整文档、快速入门教程,以及基于第二代 AMDVersal AI Edge 系列 VEK385 评估板的预构建示例。

Tags

Related Topics

Expert Comment

This article is curated by the editorial team from public sources for reference only.

FAQ

Vitis AI 支持哪些模型量化精度模式?
AMD Vitis AI 编译器支持三种精度模式:BF16(自动转换,不需要校准,推荐作为起点)、FP16(通过 Quark 显式转换,适合视觉 Transformer 等 BF16 精度不足的场景)以及 INT8(使用小校准数据集进行训练后量化,可提供更高吞吐量和更低时延)。此外,Vitis AI 还支持混合精度,能够将计算密集部分量化为 INT8,同时将后处理等精度敏感部分保留为 FP32 并自动转为 BF16,从而在整个 NPU 上执行而避免精度损失。
VVAS 是什么,它如何简化边缘 AI 视频流水线的构建?
VVAS (Vitis Video Analytics SDK) 是一套基于开源 GStreamer 框架的插件化 SDK,用于连接和编排视频分析流水线中的采集、解码、预处理、推理、后处理和输出等阶段。它通过专用插件(如 vvas_xinfer 用于推理、vvas_xoverlay 用于叠加)和 JSON 配置,让开发者无需手写 GStreamer 样板代码或自定义缓冲区管理,即可快速构建端到端的边缘 AI 视频分析应用,同时支持空间分区、时间共享和零拷贝推理等高级部署方案。
使用 Vitis AI 和 VVAS 部署视频分析时,如何分析和定位性能瓶颈?
如果推理时延较高,可以在 VVAS 流水线中使用标准 GStreamer tracer 进行定位。通过 fpsdisplaysink 测量每秒帧数,使用环境变量 GST_TRACERS="latency" 检测延迟,使用 GST_TRACERS="rusage" 查看 CPU 利用率。结合 AI Analyzer 可视化的 NPU/CPU 算子分区结果,可以快速判断瓶颈来自预处理、推理还是后处理阶段。

Related Articles

2026年机器学习模型部署最佳实践——完整MLOps指南

本文由资深Python开发者兼数据科学家Naeemah Aliya Small撰写,系统阐述了2026年机器学习模型部署的完整最佳实践与MLOps生命周期。文章指出,ML部署与传统软件部署的核心区别在于模型对数据统计属性的第三维依赖,导致其会产生静默退化而非显式报错,且需要A/B测试、影子部署和金丝雀发布等在线实验验证。指南覆盖从模型打包、服务API构建、Docker容器化到模型监控的完整链路:在打包阶段,推荐使用MLflow模型注册中心替代脆弱的Pickle文件,并可通过ONNX实现跨框架可移植性;在服务层,使用FastAPI搭配Pydantic实现类型安全的模型服务;在监控环节,强调必须同时覆盖基础设施监控、预测分布监控和数据漂移检测三个层次,避免仅监控CPU/内存而忽视模型精度退化至61%的静默故障。文章详细对比了FastAPI、BentoML、TorchServe、TensorFlow Serving、Seldon Core、Ray Serve、ONNX Runtime七种主流模型服务框架的优缺点,并总结了部署就绪检查清单,涵盖模型版本化、输入验证、预测分布监控、数据漂移检测、回滚预案和CI/CD验证等12条检查项。核心理念是:可靠部署ML的团队并非拥有最优模型,而是将部署视为一等工程问题,通过版本化、自动化、可观测和可回滚的基础设施来保障生产稳定性。

Read More

YOLOv10在土星云SE110S系列边缘计算设备上的部署实战

本文详细介绍了将YOLOv10目标检测模型部署到国产边缘计算设备土星云SE110S系列的全流程实战,涵盖模型转换、编译与推理优化。YOLOv10采用一致双重分配策略实现NMS-Free端到端检测,相较YOLOv8-S减少约23%参数量、28%计算量,推理延迟降低约30%,非常适合边缘部署。土星云SE110S系列由国科环宇推出,提供SE110S-WC08(7.2 TOPS)、SE110S-WB16(16 TOPS)和SE110S-WA32(32 TOPS)三款型号,支持INT8/FP16/FP32混合精度推理和BMCV硬件加速。部署流程包括:通过Ultralytics导出ONNX模型(opset 11),使用TPU-MLIR工具链将ONNX编译为BModel,并推荐INT8量化,校准集200-500张图片。在SE110S-WA32上,INT8量化配合BMCV加速可实现110+ FPS(单路1080P),精度损失控制在5%以内(COCO val2017 AP@0.5:0.95从0.463降至0.443)。文章还给出了智慧安防、工业质检、智慧交通等多个边缘AI视觉场景的选型与优化建议,展示了YOLOv10在国产边缘硬件上的成熟落地能力。

Read More

Muse Glimmer 介绍:一款可在你的设备上运行的开源智能体模型

Meta AI Research 正式发布了名为 Muse Glimmer 的开源智能体模型,并将其权重在 Apache 2.0 许可下开源。Muse Glimmer 是一个拥有 300 亿参数的模型,专门为始终在线的本地智能体工作流优化,设计目标是能在搭载单个消费级 GPU 的 Mac 或 PC 上运行。该模型旨在实现本地智能体、函数调用、本地编码及 LLM 作为评估器等用例。在训练层面,Meta 采用了紧凑的架构设计,通过基于 Muse Spark 输出的逻辑蒸馏进行预训练,并在中期训练阶段引入更长上下文和带有丰富推理痕迹的数据,最后结合监督微调、在线策略蒸馏和强化学习进行后训练。在性能上,Meta 宣称 Muse Glimmer 在同尺寸模型中表现强劲,与 Gemma4-31B 和 Qwen3.6-27B 等模型相比,具备可靠的端到端任务完成、多步推理、失败恢复及多模态输入输出能力。为了在消费级硬件上实现实用的运行速度,Meta 采用了约 4-bit 的量化技术压缩权重,并引入基于 DFlash 的轻量级推测解码起草模型,能在无损质量的前提下显著提升生成速度。该模型目前在 Hugging Face 提供下载,并将通过 Ollama、LM Studio 等合作伙伴集成,支持 llama.cpp、MLX 和 ExecuTorch 等边缘框架,同时正与 AMD、Arm、Dell、Intel 和 NVIDIA 等硬件厂商合作优化全设备性能。

Read More

在 JetPack 7.2 和 Jetson AGX Orin 上使用 TensorRT 部署全权重 GR00T N1.7

本文来自 Seeed Studio Wiki,是一篇详细的技术教程,指导如何在 JetPack 7.2 和 Jetson AGX Orin 边缘计算设备上,使用 TensorRT 部署全权重的 NVIDIA Isaac GR00T N1.7 机器人策略模型。与以往仅加速 DiT 组件的工作流不同,本教程实现了对 Vision Transformer (ViT)、Large Language Model (LLM)、视觉-语言自注意力、状态编码器、动作编码器、DiT 动作专家和动作解码器全部七个组件的 TensorRT 引擎构建。教程采用本地 LeRobot 数据集和本地 Qwen3-VL-2B-Instruct 主干模型,实现了完全离线的推理流水线,避免了 Hugging Face Hub 的网络依赖。经过验证,整个 TensorRT 构建过程耗时约 3 分 37 秒,最终生成七个 .engine 文件。在推理性能方面,全 TensorRT 流水线处理每个 16 步动作预测块耗时约 0.2755 秒,相当于每秒 3.63 个块。文章还提供了 PyTorch 与 TensorRT 输出的数值对比,结果显示最终动作的余弦相似度高达 0.997426,验证了模型转换的精度。此外,文章详细列出了存储与内存规划(至少需要 45-50 GB 空间)、环境配置、故障排查以及连接实体机器人前的安全警告和检查清单,是一份从模型导出到边缘推理的完整工程实践指南。

Read More

在 JetPack 7.2 上部署 TensorRT Edge-LLM

本指南来自 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

Read More