NVIDIA JetPack SDK 支持 NVIDIA Jetson 模块,为构建端到端加速 AI 应用提供全面的解决方案。JetPack 6 通过微服务和一系列新功能,扩展了 Jetson 平台的灵活性和可扩展性,是 2024 年截至目前下载量最高的 JetPack 版本。
随着 JetPack 6.0 生产版本的全面发布,开发者可以放心地将这些新功能加入到最先进的嵌入式 AI 和机器人应用中。本文将重点介绍其关键功能和全新的 AI 工作流。
JetPack 6 的关键功能
JetPack 6 支持在 Jetson 上扩展一系列基于 Linux 的发行版,例如 Canonical 的 Ubuntu 服务器、红帽的 RHEL 9.4、SUSE、风河 Linux、Redhawk Real Time OS 和各种基于 Yocto 的发行版。这些基于 Linux 的发行产品在 Jetson 上提供商业化的企业级产品和解决方案,使用户可以放心地部署和管理基于 Jetson 的产品。
由于能够运行各种 Linux 内核,Jetson 用户可以使用他们选择的内核版本,而且无须花费资源将驱动程序反向移植到特定的 Jetson Linux 内核。Jetson 用户可以独立于 JetPack 路线图维护自己的内核。
借助 JetPack 6,您可以在不升级 Jetson Linux BSP 的情况下,自由升级计算堆栈,这项功能在社群中特别受欢迎。
此外,JetPack 6 还为 Jetson Linux BSP 和 Jetson AI Stack 添加了 Jetson 平台服务。Jetson 平台服务是一套预构建的定制化服务,旨在加速 Jetson 设备上的 AI 应用开发。这些模块化服务集合支持由 API 驱动和分解的真正云原生应用。
Jetson 平台服务提供
模块化、分解式、可替换架构
现作为 JetPack 6 一部分提供的 Jetson 平台服务提供了一个模块化架构,其中包含大量可定制的软件和可重复使用的微服务,用于构建视觉 AI 应用。它提供具有基础设施功能的基础服务、可生成洞察的 AI 服务以及保障边缘到云连接安全的参考云。
这些多样化的微服务包括视频存储套件(VST)、基于 NVIDIA DeepStream 的 AI 感知服务、生成式 AI 推理服务、分析服务等。每个服务都提供了用于配置和访问微服务功能的 API。
这些 API 通过物联网网关基础服务呈现在系统外部。该服务基于云原生架构使用的标准模式,使用单一网关在系统内公开 API。客户端应用通过该 API 网关服务,调用相应的 API,从而实现微服务功能。
图 1. NVIDIA JetPack 6.0 堆栈
Jetson 平台服务还提供了一个物联网云模块,使客户端在远程访问这些 API 时,能够通过身份验证和授权。该物联网云模块与云无关,可在任何公有云或私有云上运行。
图 2. NVIDIA Jetson 上的云原生工作流
AI 服务
一系列 AI 服务集合利用 AI 模型、多目标跟踪与流式分析技术的组合,提供优化的视频处理和 AI 推理功能。如参考工作流所示,这些具有标准化 API 的容器化软件可以集成到终端应用中。
适用于 VLM 的 AI 推理服务
视觉语言模型(VLM)通过将视觉模式与 LLM 相结合,实现了对图像和视频的语义理解。适用于 VLM 的 AI 推理服务允许通过标准化 API 访问 VLM 功能。该服务可使用两种受支持的模型(VILA 或 LLaVA)中的一种进行实例化,并提供两种主要功能:
设置在流媒体视频中通过自然语言提示创建警报的条件
使用自然语言查询(提示)视频并获得回复
VLM 通常需要大量 GPU 和内存,其大小视参数数量而定。VILA 有 13B、7B 和 2.7B 三种规模。随着参数数量的增加,模型在把握图像语义方面的准确性会随之提高,但代价是 GPU 使用率和内存利用率也会“水涨船高”。用户需要根据自己选择的 Jetson 平台来选择正确的模型,并根据自己的工作负载来选择可用的系统资源。
该服务可以集成到生成式 AI 工作流中,详见下一部分。
AI 分析服务
视频分析应用通常需要分析人或物体在摄像头视野内的移动。AI 分析服务将推理服务(如检测或跟踪)生成的元数据作为运行依据。这项服务采用流媒体元数据,并从空间和时间上洞察物体的移动。该服务的核心功能包括:
线条交叉(绊线):在摄像头视野中定义虚拟多段线,并在一段时间内对越线物体进行计数。
感兴趣区域:定义封闭的多边形,并对区域内的物体进行时间序列计数。例如,这项功能可用于检测在收银台排队等候的人数是否达到一定限值。
行为分析:帮助检索物体在摄像头视野中移动的轨迹。这项功能可通过创建热图可视化(图 3)来了解物体移动的趋势。
图 3. 热图可视化可通过 AI 分析服务获得
这里重点介绍的所有分析功能都可以使用 API 生成和提取。有关 AI 分析服务的更多信息,请参阅 Jetson 平台服务发布文档。
基础服务
基础服务为生产级 AI 系统的组装提供了与域无关的功能,包括摄像头管理、存储管理、物联网、API 网关、消息总线等。相关服务可通过 SDK 管理器方便地安装(从 Jetpack 6.0 发布版本开始),然后作为 Linux 服务部署。基础服务包括:
视频存储套件(VST)服务:支持自动发现符合 ONVIF 标准的摄像头,以及摄像头视频流的摄取、存储和流式传输。下游 AI 服务或任何应用都可以通过 RTSP 或 webRTC 等标准流式传输协议从 VST 获取这些流。VST 专门针对大量联网摄像头进行了优化,并利用 Jetson 中的底层硬件加速支持,进行视频解码和编码、缩放和预处理以及叠加生成。
存储服务:存储配置和管理支持对连接 Jetson 设备的 SATA 和 NVMe 存储进行自动配置,以补充板载存储和各种微服务之间的存储分配。存储服务通过 Jetson Linux 提供的标准 LUKS 功能,支持跨多个驱动器(包括随时间增加的驱动器)的逻辑卷和磁盘加密(用于静态数据保护)。
网络服务:支持配置通过板载或外置 POE 交换机来连接 IP 摄像头的以太网接口,并在摄像头启动期间设置 DHCP 以分配 IP 地址。
Redis 服务:Jetson 上的统一系统消息总线,支持各种微服务之间的消息传递和同步,并作为用于分析的时间序列数据库。
API 网关(Ingress):大多数微服务都会发布 API 供其他服务和应用调用。Ingress 服务提供了一种呈现这些 API 端点的标准机制。传入的请求会根据配置的路径,被导引至相应的微服务,从而使底层微服务架构远离 API 使用者。
监控:为了监控应用以及在设备上运行的服务,监控服务提供了使用 prometheus 采集这些数据的挂钩。它还包含一个用于可视化的 grafana 仪表盘,可使用 Ingress 或 API 网关服务远程访问,所包含的系统监控服务用于跟踪系统利用率,如 CPU 和 GPU、内存、磁盘(使用节点导出器采集)等。
物联网网关:物联网网关服务为使用任何云服务的应用提供了一个配置代理,用于验证设备身份和与云建立安全的连接。它与云建立双向 TCP 连接,使设备(可能位于防火墙后)能够与云进行通信。传入流量通过 Ingress 服务转发到已注册的内部端点。它还支持通过云,将来自各种微服务的事件通知推送到外部客户端,并且可以扩展,以支持用户创建的微服务的自定义事件。
防火墙:如果您需要防火墙来保护您的设备,特别是在生产情况下,该服务会设置 UFW(不复杂的防火墙)和一些默认规则。您可以根据需要修改这些规则,以控制系统入口和出口的网络流量。
支持生成式 AI 工作流
借助 Jetson 平台服务,您可以快速构建边缘 AI 应用。为了进一步加速这一进程,有多个参考工作流可供您使用,其中包括生成式 AI 工作流。这些工作流说明了配置和实例化各种 Jetson 服务的最佳实践。它提供了使用 API 和上文所述的服务来构建复杂视觉 AI 应用的方法。您可以使用 API 定制或构建这些工作流。这些工作流被打包成一个 Docker compose 文件,并附有一个参考移动应用,以展示如何利用这些 API。
AI-NVR
AI-NVR(网络视频录像机)是一款端到端参考应用,用于构建基于 AI 的 NVR 解决方案。它具有视频管理和存储、人员占用和热图指标、用户身份验证和授权、设备安全和加密存储以及参考移动应用等诸多惊人的功能。该工作流利用 Jetson 平台上的所有不同加速器,针对通道吞吐量和性能进行了优化。该参考工作流使用 DeepStream AI 的感知服务,并且具有高精度的 NVIDIA PeopleNet 模型和多目标跟踪器。您可以灵活地使用自己的 AI 模型自定义感知服务或使用自己的感知服务。
由生成式 AI 赋能的边缘警报
借助由生成式 AI 赋能的警报,您可以使用 VLM 从视频中提取洞察,并使用自然语言来生成警报。这些模型结合了视觉和语言模式,在由文本、图像和视频组成的大型数据集上训练而成,能够理解自然语言提示并执行视觉问题解答。
VLM 不仅能够进行基本的物体检测和分类,还能提供更加深入的场景上下文理解。借助该工作流,您可以通过 API 在输入视频流上使用自然语言设置警报。例如“发生火灾时发出警报”等。其次,您可以在视频上执行问答。
视频 1. 由生成式 AI 赋能的警报
利用 VLM 在视频上实现实时问答
使用生成式 AI 实现零样本检测
零样本检测工作流使用的是 NanoOwl 模型,这是一种可以检测任意数量物体的开放式词汇模型。与在固定数量的类别上训练的传统物体检测模型不同,开放词汇模型是在互联网规模数据上训练的,这使它能够检测大多数常见物体,而且不需要专门为了这些类别而对模型进行训练。有了这个工作流,用户可以通过使用 API 提示模型待检测的类别来实现任何物体的动态检测。如要了解有关此工作流的更多信息,请参见“通过适用于 Jetson 的 NVIDIA Metropolis 微服务将生成式 AI 引入边缘”。
扩大 Jetson 的支持范围
Jetson 服务平台兼容从 Orin Nano 到 AGX 的所有 Orin 系列设备。基础服务在所有设备上均受支持,并且可使用 SDK 管理器进行安装。同样,所有设备也都支持 AI-NVR 工作流,但流的数量会因硬件配置而异。
在为 VLM 参考工作流选择模型时需要考虑 Jetson 平台。有关 Jetson Orin AGX 和 Nano 的流预计数量信息,请参见 Jetson AI Lab 上的 VLM 参考页面。在决定模型时,还要考虑到可能需要 GPU 和内存资源的其他特定工作负载。
支持生产部署
生产系统需要稳健、可靠的硬件。NVIDIA 与许多原设备制造商建立了深入的合作关系,他们能够提供生产级质量的载板和封装。我们的一些合作伙伴也已集成并验证了上述工作流与 Jetson 服务平台,保证了所有服务都能在其平台上开箱即用。已集成 JetPack 6 和 Jetson 服务平台的合作伙伴包括:
Yuan
安提国际
研扬科技
研华科技
圆刚科技
矽递科技
CRG
在构建系统并创建应用后,产品化的最后一步就是部署和管理应用。可能还需要在现场经常更新应用,这就需要用到远程无线下载(OTA)更新。我们很高兴能与几家领先的集群管理公司合作,这些公司已经集成了 Jetson 服务平台,并且可以提供部署和更新边缘应用的一站式解决方案。这些合作伙伴包括:
Namla
Allxon
Mender
总结
NVIDIA JetPack 6.0 提供了一系列新功能,从 Linux BSP 层和 AI 堆栈的增强功能一直到构建边缘应用的新方法。它引入了 Jetson 平台服务,这个云原生模块化服务集合带有可以快速集成到工作流中的标准化 API。
利用这些服务和工作流的优势,来加速边缘生成式 AI 应用的开发。如要开始开发下一个生成式 AI 应用,请下载 JetPack 6.0。
-
AI
+关注
关注
87文章
30072浏览量
268332 -
微服务
+关注
关注
0文章
134浏览量
7325 -
云原生
+关注
关注
0文章
240浏览量
7937
原文标题:支持边缘云原生微服务的 NVIDIA JetPack 6.0 版本现已发布
文章出处:【微信号:NVIDIA-Enterprise,微信公众号:NVIDIA英伟达企业解决方案】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论