NVIDIA TAO 工具套件提供了一个低代码 AI 框架,无论是新手还是数据科学专家都可以使用这个平台加速视觉 AI 模型开发。有了 TAO 工具套件,开发人员可以进行迁移学习,通过适应和优化,在短时间内达到最先进的精度和生产级吞吐量。
NVIDIA 发布了 NVIDIA TAO 套件 5.0 ,带来了 AI 模型开发方面的突破性功能提升。新功能包括开源架构、基于 Transformer 的预训练模型、AI 辅助的数据标注,以及在任何平台上部署模型的能力。
发布亮点包括:
以开放的 ONNX 格式导出模型,支持在 GPU、CPU、MCU、神经加速器等设备上部署。
先进的视觉 Transformer 训练,可提高准确性和鲁棒性,防止图像损坏和噪声。
新增 AI 辅助数据注释,加快了分割掩码的标记任务。
支持例如光学字符检测和连体网络模型等用于光学检测的新型计算机视觉任务和预训练模型。
开放源代码,可提供定制解决方案,加快开发和集成速度。
使用指南:
访问 TAO 工具套件入门页面,查看教学视频和快速入门指南。
从 NGC 下载 TAO 工具套件和预训练模型。
图 1:NVIDIA TAO 工具套件工作流程图
在任何平台、任何位置部署 NVIDIA TAO
NVIDIA TAO 工具套件 5.0 支持 ONNX 模型导出。无论是 GPU 、CPU 、MCU 、DLA 还是 FPGA 的边缘或云上的任何计算平台,都可以部署使用 NVIDIA TAO 工具套件训练的模型。NVIDIA TAO 工具套件简化了模型训练过程,优化了模型的推理吞吐量,为数千亿台设备的 AI 提供了动力。
图 2:NVIDIA TAO 工具套件体系
用于构建、完善和部署机器学习模型和算法的平台 Edge Impulse 将 TAO 工具套件集成到其边缘 AI 平台中。通过整合,Edge Impulse 现在可以提供先进的视觉 AI 功能和模型,并对其现有产品进行补充。开发者可以利用 TAO,使用该平台为任何边缘设备构建生产型 AI。
视频 1. 利用 NVIDIA TAO 并部署在 Cortex-M7 MCU 上的
Edge Impulse 平台训练 AI 模型
全球领先的嵌入式微控制器制造商意法半导体,将 TAO 集成到其 STM32Cube AI 开发者工作流程中。借助 TAO,该公司能够在 STM32 微控制器驱动的各种物联网和边缘用例中,根据它们的最大算力和内存运行各种复杂 AI 功能。
有了 NVIDIA TAO 工具套件,即使是 AI 新手也可以在微控制器的计算和内存预算内优化和量化 AI 模型,使其在 STM32 MCU 上运行。开发人员还可以导入自己的模型,并使用 TAO 工具套件进行微调。有关这项工作的更多信息,请参阅下面的视频。
访问 GitHub 页面(https://github.com/STMicroelectronics/stm32ai-tao),了解更多关于意法半导体用例信息。
视频 2: 了解如何在一个 STM 微控制器上
部署使用 TAO 工具套件优化的模型
虽然 TAO 工具套件模型可以在任何平台上运行,但这些模型在使用 TensorRT 进行推理的 NVIDIA GPU 上才能实现最高吞吐量。在 CPU 上,这些模型使用 ONNX-RT 进行推理。一旦软件可用,将提供复制这些数字的脚本和配方。
表 1:几种 NVIDIA TAO 工具套件
视觉模型的性能比较(以 FPS 为单位),
包括 NVIDIA GPU 上的新视觉 Transformer 模型
AI 辅助的数据标注和管理
对于所有 AI 项目来说,数据标注仍然是一个昂贵且耗时的过程。对于 CV 任务尤其如此,比如需要在标注对象周围生成像素级别分割掩码的分割任务。通常,分割掩码的成本是对象检测或分类的 10 倍。
通过 TAO 工具套件 5.0 ,用最新的 AI 辅助标注功能对分割掩码进行标注,速度更快,成本更低。现在,您可以使用弱监督分割架构 Mask Auto Labeler (MAL)来辅助进行分割注释,以及固定和收紧用于对象检测的边界框。实况数据中对象周围的松散边界框可能会导致非最佳检测结果。但是,通过 AI 辅助标注,您可以将边界框收紧到对象上,从而获得更准确的模型。
图 3:TAO 工具套件的自动标记
MAL 是一个基于 Transformer 的掩码自动标注框架,用于仅使用方框标注的实例分割。MAL 将方框裁剪图像作为输入内容,并有条件地生成掩码伪标签。它对输入和输出标签都使用了 COCO 注释格式。
MAL 显著缩小了自动标注和人工标注在掩码质量方面的差距。使用 MAL 生成的掩码训练的实例分割模型几乎可以匹配全监督对应模型的性能,保留了高达 97.4% 的全监督模型的性能。
图 4:MAL 网络架构
训练 MAL 网络时,任务网络和教师网络(共享相同的转换器结构)协同工作以实现与类无关的自我训练。这样就可以优化具有条件随机场(CRF)损失和多实例学习(MIL)损失的预测掩码。
TAO 工具套件在自动标注流程和数据扩充流程中都使用了 MAL 。具体而言,用户可以在空间增强的图像上生成伪掩码(例如,剪切或旋转),并使用生成的掩码细化和收紧相应的边界框。
最先进的视觉 Transformer
Transformer 已经成为 NLP 中的标准架构,这主要是因为自注意力架构,同时它们还因一系列视觉 AI 任务而广受欢迎。一般来说,基于 Transformer 的模型因为具有鲁棒性、可推广性和对大规模输入执行并行处理的能力,会优于传统的基于 CNN 的模型。所有这些优点都提高了训练效率,对图像损坏和噪声提供了更好的鲁棒性,并对不可视的对象更好地进行泛化。
TAO 工具套件 5.0 为流行的 CV 任务提供了几种最先进的(SOTA)视觉 Transformer ,具体如下。
全注意力网络
全注意力网络(FAN)是 NVIDIA Research 的一个基于 Transformer 的主干,它在抵御各种破坏方面实现了最优的鲁棒性。这类主干可以很容易地推广到新的领域,并且对噪声、模糊等更具鲁棒性。
FAN 模块背后的一个关键设计是注意力通道处理模块,它可以实现稳健的表征学习。FAN 可以用于图像分类任务以及诸如对象检测和分割之类的下游任务。
图 5 :与 FAN Small (右)相比,
ResNet50 (中)损坏图像的激活热图
FAN 系列支持四个主干,如表 2 所示。
表 2:具有尺寸和精度的 FAN 主干
全局视野视觉 Transformer
全局上下文视觉 Transformer(GC-ViT)是 NVIDIA Research 的一种新架构,可实现非常高的准确性和计算效率。GC-ViT 解决了视觉 Transformer 中缺乏诱导性偏差的问题 。通过使用局部自注意,它在 ImageNet 上使用较少的参数获得了更好的结果。
局部自我注意与全局视野自我注意相结合,可以有效地模拟长距离和短距离的空间交互。图 6 显示了 GC-ViT 模型体系结构。有关更多详细信息,请参见 Global Context Vision Transformers (https://arxiv.org/pdf/2206.09959.pdf)。
图 6:GC-ViT 模型架构
如表 3 所示,GC-ViT 家族包含六个主干,从 GC-ViT-xxTiny (计算效率高)到 GC-ViT-Large (非常准确)。GC-ViT 大型模型在 ImageNet-1K 数据集上可以实现 85.6 的 Top-1 精度,用于图像分类任务。该体系结构还可以用作其他 CV 任务的主干,如对象检测、语义和实例分割。
表 3:具有尺寸和精度的 GC-ViT 主干
DINO
DINO(具有改进去噪锚框的检测 Transformer)是最新一代检测 Transformer(DETR),达到了一个比上一代更快的训练收敛时间。Deformable DETR (D-DETR)至少需要 50 个 epochs 才能收敛,而 DINO 可以在 COCO 数据集上在 12 个 epochs 内收敛。而且,与 D-DETR 相比,它还实现了更高的精度。
DINO 通过在训练期间去噪实现更快的收敛,这有助于提案生成阶段的二分匹配过程。由于二分匹配的不稳定性,类 DETR 模型的训练收敛速度较慢。二分匹配减少了对人工和计算繁重的 NMS 操作的需求。但是,它通常需要更多的训练,因为在二分匹配期间,不正确的基本事实也可以与预测相匹配。
为了解决这个问题, DINO 引入了有噪声的正负真实框来处理“无对象”场景。因此,DINO 的训练收敛得非常快。更多信息,请参阅 DINO: 带有改进的去噪锚框的 DETR,可用于端到端对象检测(https://arxiv.org/pdf/2203.03605.pdf)。
图 7:DINO 架构
TAO 工具套件中的 DINO 是灵活的,可以与传统的 CNNs 主干(如 ResNets )和基于 Transformer 的主干(如 FAN 和 GC-ViT)相结合。表 4 显示了在各种版本的 DINO 和常用的 YOLOv7 上 COCO 数据集的准确性。有关更多详细信息,请参见 YOLOv7: 为实时物体检测器设置了新的先进技术的可训练的免费套件(https://arxiv.org/pdf/2207.02696.pdf)。
表 4:COCO 数据集上的 DINO 和 D-DETR 准确性
SegFormer
SegFormer 是一种基于 Transformer 的轻量级语义分割方法。它的编码器由轻量级 MLP 层制成,避免了使用位置编码(主要由 Transformers 使用),这使得推理在不同分辨率下有效。
将 FAN 主干网添加到 SegFormer MLP 解码器中会产生一个高度鲁棒性和高效的语义分割模型。混合式 FAN-基站 + SegFormer 是 2022 年鲁棒视觉挑战大赛中语义分割项目的获胜架构。
图 8:具有 FAN 预测功能的 SegFormer (右)
其在噪音输入时的一个图像情况(左)
表 5:SegPreer 与 PSPNet 的鲁棒性对比
在下面的视频中,您将看到 SegFormer 如何保持加速自动驾驶汽车开发的高效率的同时,生成强鲁棒性的语义分割。
视频 3. NVIDIA DRIVE 实验室片段,
关于提升自动驾驶汽车安全的 AI 分割模型
目标检测和分割之外的 CV 任务
除了传统对象检测和分割,NVIDIA TAO 工具套件也加速了其他的各种 CV 任务。TAO 工具套件 5.0 中新增的字符检测和识别模型使开发人员能够从图像和文档中提取文本。文档转换实现了自动化,并加速了在保险和金融等行业的用例。
当被分类的对象变化很大时,检测图像中的异常是有用的,但不可能用所有的变化进行训练。例如,在工业检测中,缺陷可以是任何形式的。如果训练数据之前没有发现缺陷,那么使用简单的分类器可能会导致许多遗漏的缺陷。
对于这样的用例,将测试对象直接与黄金参考进行比较将获得更好的准确性。TAO 工具套件 5.0 的特点是暹罗神经网络,在该网络中,模型计算出被测对象和黄金参考之间的差异,以便在对象有缺陷时进行分类。
使用 AutoML 实现超参数优化的
自动化培训
自动化机器学习(AutoML)自动执行手动任务,即在给定数据集上查找所需 KPI 的最佳模型和超参数。它可以通过算法推导出最佳模型,并抽象出 AI 模型创建和优化的大部分复杂性。
TAO 工具套件中的 AutoML 完全配置了用于自动优化模型的超参数。无论是 AI 专家还是新手,都可以轻松使用。对于新手,Jupyter 使用指南提供了一种简单且有效的创建准确的 AI 模型的方法。
对于专家来说,TAO 工具套件可让您自由掌控要调整的超参数以及用于扫描的算法。TAO 工具套件目前支持两种优化算法:贝叶斯优化和超参数优化。这些算法可以扫描一系列超参数,以找到给定数据集的最佳组合。
AutoML 支持多种 CV 任务,包括一些新的视觉 Transformer,如 DINO、D-DETR、SegFormer 等。表 6 显示了支持网络的完整列表(标粗的项目是 TAO 工具套件 5.0 的新增项目)。
表 6 :TAO 工具套件中 AutoML 支持的模型,
包括几个新的视觉转换器模型
(标粗的项目是 TAO 工具套件 5.0 的新项目)
用于工作流程集成的 REST API
TAO 工具套件是模块化和云原生的,这意味着它可以作为容器使用,并且可以使用 Kubernetes 进行部署和管理。TAO 工具套件可以作为自管理服务部署在任何公共或私有云、DGX 或工作站上。此外 TAO 工具套件提供定义完善的 REST API,使其易于集成到您的开发工作流程中。开发人员可以调用 API 端点来执行所有训练和优化任务。这些 API 端点可以从任何应用程序或用户界面调用,然后通过远程触发进行训练作业。
图 9:用于云原生部署的 TAO 工具套件架构
更好的推理优化方案
为了简化产品化并提高推理吞吐量,TAO 工具套件提供了多种交钥匙性能优化技术。其中包括模型修剪、低精度量化和 TensorRT 优化,与公共模型库的同类模型相比,这些技术加起来可以提供一个 4 到 8 倍的性能提升。
图 10:在各种 GPU 上优化的 TAO 工具套件
和公共模型之间的性能比较
开放灵活,具有更好的支撑
因为 AI 模型是基于复杂的算法预测输出的,这可能会使人们很难理解系统是如何做出决定的,并且很难调试、诊断和修复错误。可解释人工智能(XAI)通过解释 AI 模型如何做出决策来应对这些调整。这不仅有助于人类理解 AI 输出背后的推理过程,也使诊断和修复错误变得更容易。这种透明度有助于建立对 AI 系统的信任。
为了提高透明度和可解释性,TAO 工具套件将以开源形式提供。开发人员将能够从内部层查看特征图,并绘制激活热图,以更好地理解人工智能预测背后的推理过程。此外,访问源代码将使开发人员能够灵活地创建定制的 AI,提高调试能力,并增加对其模型的信任。
NVIDIA TAO 工具套件现已推出,可通过 NVIDIA AI Enterprise (NVAIE) 购买。NVAIE 为公司提供关键业务支持、NVIDIA AI 专家答疑以及优先安全修复。了解 NVAIE (https://www.nvidia.com/en-us/data-center/products/ai-enterprise/) 并获得 AI 专家的指导。
与云服务集成
NVIDIA TAO 工具套件可以集成到您使用的各种 AI 服务中,如 Google Vertex AI、AzureML、Azure Kubernetes 服务、Google GKE 和 Amazon EKS。
图 11:TAO 工具套件 5.0 与各种 AI 服务集成
总结
TAO 工具套件提供了一个平台,任何开发者在任何服务、任何设备上都可以使用,可以轻松地迁移学习他们的自定义模型,执行量化和修剪,管理复杂的训练工作流程,并在无需编码的情况下执行人工智能辅助注释。
*为提供 TAO 工具套件 5.0 版本的准确信息,本文已在原版基础上进行了修订。