Neural Guard 为安检市场生产由 AI 驱动的自动化威胁检测解决方案。随着城市化、航空、大众运输和全球贸易等全球趋势的扩展,相关的安全和商业挑战变得越来越关键。在这篇博客中,我们将讨论 Neural Guard 的研究人员和开发者如何通过利用尖端人工智能算法分析安检扫描仪的输出来构建技术,以检测 CT 和 X 射线图像中的特定高风险物品。

挑战
Neural Guard 团队面临的挑战是构建、优化和维护能够识别高分辨率 X 射线图像中多个独特物体的深度学习 (DL) 模型。与处理即时可读的基于文本的数据不同,图像分析需要极其庞大的数据集和模型,这些模型需要考虑到每张图像在被识别、标记和输入模型时可能出现的异常广泛的变化。此外,每台 X 射线或其他检测机器的输出都存在独特、细微的偏差,需要加以注意才能获得高质量的检测结果。更具挑战性的是,即使是“成熟”的模型也会不断添加新的样本——形状独特的刀具、稀有的枪支模型、自制武器——进一步对其进行微调。简而言之,Neural Guard 的解决方案需要一个持续的、数据密集型的实验过程。
从商业价值的角度来看,Neural Guard 的检测系统有两个关键目标
- 为安检机器提供最高质量的检测能力。
- 尽可能自动化系统,以便其能够处理在其上安装的多种环境的巨大复杂性,同时节省成本。
自然而然地,管理这种数据集和模型的矩阵需要一个强大的管理平台。它必须具有足够的扩展性,以处理不断增长的数据、安装在其上的数千台机器的庞大阵列,以及在管道中不断扩展的模型集合,以便对其进行文档记录、重现、比较、共享、存储和轻松搜索。而且,理想情况下,所有这些都无需大量的 DevOps 工作或数据科学家亲自动手管理这些流程的物流。
虽然创建物体检测模型很重要,但非常清楚的是,最关键的部分是克服 AI 数据管理挑战:有效地、准确地处理海量数据集,并为数以千计不断变化的物体检测模型持续训练准备最高质量的数据集。
Neural Guard 显然需要一个同类最佳的可扩展解决方案来管理管道流程,并提供高效的 DL 开发,最终交付准确的物体检测模型。
解决方案
第一步,Neural Guard 着手选择最适合他们需求的开发框架。有三个令人信服的理由表明 PyTorch 是满足他们需求的最佳选择
- 从工程角度来看,PyTorch 是最直观的框架。工程导向对他们至关重要,因为 Neural Guard 从第一天起就计划搭建生产级的管道。支持生产意味着拥有强大的数据管道和高质量的 DL 模型工程——包括监控、模型生命周期管理、数据集查询等。
- Neural Guard 看到了 PyTorch 广泛应用的价值,包括 GitHub 上大量的神经网络代码库。
- 最后,Torchvision 构建块似乎——并且后来确实成为了构建定制网络和实现流行架构的关键有效构建块。Neural Guard 团队建议,在 GitHub 上搜索实现之前,应先查看 torchvision 模型文档并尝试以下教程。
Neural Guard 的下一步是设计一个自动化管道计划,该管道能够实现以下功能
- 接收其 X 射线机器生成的图像
- 分析图像以识别对模型有价值的关键图像
- 对其进行标注/标记
- 对标记数据进行 QA/QC
- 通过定义总数据的子集来创建数据集,用于每个产品线构建的定制模型的训练和测试
- 运行训练任务
- 评估已创建模型的结果
- 比较旧版本与新版本的结果
- 将最佳模型部署到云端和边缘设备
这一挑战的核心在于创建一个系统,使 Neural Guard 能够在非常精细的层面“拥有”其数据,既能分析现有数据,也能操作数据。实际上,他们试图为每台机器和每个对象建立一个去偏见、优化的训练数据集。
随着解决方案架构开始成形,Neural Guard 意识到他们将非常依赖特定的软件开发来构建这个管道,其中包括(但不限于)构建自己的人工标注管理系统。但他们也意识到构建核心数据管理部分是一项巨大的任务。幸运的是,他们了解 ClearML,这是一个实验管理、ML-Ops 和数据管理平台。它是他们发现的唯一能够提供他们所需数据管理能力的商业平台。考虑到所有这些,Neural Guard 着手在 ClearML 的基础上构建了这一最先进的生产级数据管道,用于构建、维护和服务多个物体检测模型。
“使用 ClearML 的数据管理功能对我们来说是一个无价的工具,”Neural Guard 首席技术官 Raviv Pavel 解释道,“有了它,我们能够更深入地理解我们的数据和数据需求。例如,我们能够准确衡量的一个主要因素是我们到底需要多少数据。事实证明,当我们能够轻松地跟踪和比较多个实验,包括输入的数据,我们实际上并不需要我们原先认为的那么多数据。这对我们来说是巨大的成本节约。”
对于一个可扩展、持续学习并利用多个反馈回路的管道来说,在非常精细的层面对数据进行版本管理的能力至关重要。此外,还需要一个系统,能够获取相关版本的数据子集,并以均衡的方式将新数据与现有数据集配对,针对每个模型进行处理。有了 ClearML 负责版本日志记录和数据获取,Neural Guard 只需要关注引入更多数据并评估其益处。“能够真正追踪每个数据集对模型性能的贡献,这一点非常强大,”Pavel 说。“我们能够专注于分析结果,而不用花费时间构建一个支持这一过程的基础设施。”
Neural Guard 有独特的需求,例如用于数据分析的非标准指标等。没有哪个平台能够提供一切,而 ClearML 灵活、强大且易于集成的 SDK 和 API 变得非常有用。“使用 ClearML 的 SDK 使像更新图像元数据这样繁琐的工作变成了一个简单的任务,”Pavel 解释道。“它是我们系统中另一个重要的组成部分,我们无需自己设计和构建——并且它与我们系统中的其他原生部分变得密不可分。”
在使用 ClearML 的数据集管理与实验管理器结合访问所需数据时,这种集成尤其有用;Neural Guard 可以利用相同的代码库,并使用 UI 快速更改使用的数据。再加上 ClearML 还管理本地数据缓存(包括预取数据并确保始终存在最新版本,无需任何手动工作),这进一步证实了团队选择 ClearML 的明智决定。
Neural Guard 必须考虑的最后一个方面是模型部署。Neural Guard 在英特尔和英伟达设备上的各种边缘设备以及服务器上的 API 端点部署基于 PyTorch 的模型。安全领域有其严格的法规、限制和约束,因此 Neural Guard 清楚地知道模型部署必须安全地保留在客户的本地环境中。这一现实带来了一系列特定的挑战,包括权限和版本控制。Neural Guard 利用 ClearML 的模型管理功能轻松识别表现最佳的模型,然后获取并分发到他们定制构建的模型部署解决方案。为此,团队构建了一个身份和权限管理系统,包括部署和更新管道,这些都根据其服务的工作流程进行了定制。
成果
通过使用 PyTorch 和 ClearML 构建解决方案,Neural Guard 取得了以下成果
- 代码库更具结构性、组织性,便于开发和维护。
- 核心 DL 模型的创建和生产化上市时间显著加快。
- 无需构建自己的数据管理解决方案,从而节省了成本并缩短了上市时间。他们估计节省了数十年的工时。
- 在训练、维护和部署多个 DL 模型方面持续节省成本。这些节省很大一部分归功于无需额外聘请数据科学家,也无需专门的大型 ML 工程和数据工程团队,包括相关的 DevOps 人员。
- 为其客户提供同类最佳的解决方案。
所有这些仅仅是因为将 ClearML 作为其训练和部署管道的核心组件。
“对于一家以其 AI 检测算法质量在竞争性价格点上作为其核心价值主张的公司来说,成功的关键在于构建一个自动化、高质量的可扩展数据管道。ClearML 在所需时间和资源方面极大地提升了我们的成就,”Pavel 总结道,“目前市面上还没有可与 ClearML 媲美的商业解决方案。”