人工智能在最远边缘实现更智能的物联网端点

人工智能在最远边缘实现更智能的物联网端点,第1张

  新的互联网是物联网IoT),它全都与数据有关——以物联网之前无法想象的规模生成和处理。现在,通过将人工智能应用于这些数据,我们可以获得显着改善的洞察力。人工智能现在可以识别伦敦水网的泄漏,因此工程师可以瞄准精确的管道更换。它可以衡量人们在高峰时段使用东京涩谷交叉口对交通流量的影响。它可以衡量纽约人对时代广场新广告的反应。三个例子,三个行业——公用事业、物流和营销——都被人工智能增强了。

  物联网目前正在整理的数据量已经非常庞大,但它将会变得更大,更有趣。2019 年 2 月,Gartner 表示,人工智能在组织中的采用量同比增长了两倍。对于工程师和工程公司而言,提高设备网络的智能意味着我们可以开始实现物联网的真正潜力。

  人工智能在工业物联网 (IIoT) 中最有用的地方

  AI正在迅速成为主流计算资源可以处理的任务;我们已经拥有人工智能,以机器学习 (ML) 推理的形式在哮喘吸入器等单传感器设备上运行。我们可以直接在智能手机上访问 AI 驱动的照片增强功能,然后在高级车辆中运行计算机视觉应用程序。所有这些都已经在改善生活,但我认为我们将在工业应用中看到最直接的商业价值。

  在工业环境中,任何可以提高生产力的技术都是有价值的,运营数据通常用于提供对机器及其当前状况的洞察。工业传感器生成的数据包含模式,通过日益复杂的分析,可以帮助预测资产何时会发生故障,从而在故障对生产力产生更大的整体影响之前对其进行修复。预测和预防分析的这一分支以前已在大型服务器和“云”中进行,但 AI 和 ML 的发展意味着它现在正向网络边缘靠拢。事实上,它被直接放入构成 IIoT 的机器中。

  边缘机器学习

  ML 处理向边缘移动的原因有很多。第一个是最容易接受的:边缘是创建数据的地方。不过,还有其他更关键的原因;最值得注意的是,因为数据在移动带宽和处理指令周期方面都消耗资源。如果通过物联网生成的所有数据都由服务器处理,则将涉及大量的网络流量和服务器功率的指数级增长。这正是谷歌等公司正在精简他们的一些算法的原因——这样他们就可以在边缘人工智能驱动的设备上独立于云运行。

  就像在边缘设备中嵌入 HTML 服务器现在很普遍一样,在端点(例如传感器)中执行 ML 同样可行。但是在边缘实现 ML 的方式至关重要,它遵循分布式处理的概念。训练 AI 算法所需的处理资源相当可观,但实际上是非经常性费用。执行推理模型所需的资源较为适中,但在数量上可能消耗与训练阶段一样多(如果不是更多)的处理资源。它们的不同之处在于,与训练不同,每个推理实例都可以与所有其他实例隔离打包和执行,这意味着它可以轻松移植到较小的处理资源并根据需要多次复制。

  这种分布式智能是新互联网的形态,它可以在必要时再次孤立运行,同时保留整体的一部分。边缘处理消除了通过日益拥挤的网络传递数据并消耗越来越宝贵的处理资源的需要。

  机器学习架构

  训练完成后,AI 框架会提供部署路径。对于部署在边缘的资源受限设备,这包括 TensorFlow Lite 和 Caffe2 之类的设备。这些和其他此类平台通常是开源的,并且通常带有“让您入门”的介绍;已经经过训练以提供某种形式的推理的模型。这些模型还可以使用自定义数据集进行重新训练,这一过程称为迁移学习,可以节省数小时的处理时间。

  为了在不同的处理架构之间移植,模型通常通过解释器运行,并由主机软件使用 API 访问。因为模型已经过优化,所以可以使整个实现适应低 100 千字节的内存。

  有许多关于 ML 如何在网络边缘或网络边缘运行的示例,其中许多将运行基于 Linux 的 *** 作系统。这些基于 CPU 的 ML 解决方案使用本质上是通用微处理器,而不是台式计算机中常见的耗电量大且通常面向 GPU 的大型设备。GPU 具有高度并行的执行块并利用多个 MAC 单元,旨在尽可能快地执行重复的、面向数学的 *** 作,而无需考虑功耗。它们通常难以编程,需要高功率,并且通常不适合资源受限的边缘设备。

  TensorFlow Lite 旨在在较小的处理器上运行一些 TensorFlow 模型,并提供可提供各种类型 ML 的预训练模型,包括图像分类、对象检测和分割。这三种模型的工作方式略有不同:图像分类作用于整个图像,而对象检测将图像分解为矩形,而分割则更深入地查看每个单独的像素。要在 TensorFlow Lite 部署中使用经过训练的 TensorFlow 模型,需要转换模型,从而使用可选优化来减小文件大小。该转换器可以用作 Python 的 API,下面的代码示例演示了如何使用它。

  将张量流导入为 tf

  转换器 = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)

  tflite_model = converter.convert()

  open(“converted_model.tflite”, “wb”).write(tflite_model)

  在标准处理器上运行 ML 意味着开发人员还可以利用基于行业标准语言(如 Python)的简单软件解决方案。在某些情况下,这些处理器可能具有 DSP 扩展功能,它们有助于加速部分数据流,但本质上通用处理器可以处理在较小设备中运行 ML 所需的处理级别,同时仍能处理一般应用程序代码。

  例如,以 CPU 为主导的人工智能已经普遍用于智能手机中,用于识别照片中的特定特征。在工业应用中也是如此,基于多核处理器(如 NXP 的 i.MX 系列)的片上系统 (SoC) 解决方案通常用于将 ML 应用到工业流程中。这包括机器视觉系统,可以识别特定产品在制造过程中的进展。这些 SoC 和其他类似产品是当今如何部署 ML 的完美示例。

  超越地平线

  虽然 CPU 或 MCU 主导的 AI 现在很普遍,但我们已经期待设备网络的最远边缘,其中尺寸、功率和成本要求受到极大限制。这就是最新版本的 TensorFlow 的用武之地:TensorFlow Lite Micro,或称为 TF Lite Micro,是该框架的一个版本,设计用于在可能没有 *** 作系统的微控制器上运行,而不是在运行 Linux 的微处理器上运行。代码和模型加起来只需要 45kbyte 的 Flash 和 30kbyte 的 RAM 即可运行。这是最远边缘的推理,在一个完全自主运行的设备中,没有任何其他软件的帮助,或者同样重要的是,额外的硬件

  使用 TF Lite Micro 的过程与使用 TensorFlow Lite 类似,但需要编写深度嵌入的代码来运行推理。除了在代码中包含相关的 .h 文件外,主要步骤包括: 添加代码以允许模型写入日志;实例化模型;为输入分配内存;输出和中间数组;实例化解释器;验证输入形状,并实际运行模型并获得输出。下面的代码片段是如何获取输出的示例。

  TfLiteTensor* 输出 = 解释器。输出(0);

  uint8_t top_category_score = 0;

  int top_category_index;

  for (int category_index = 0; category_index 《 kCategoryCount;

  ++类别索引){

  const uint8_t category_score = output-》data.uint8[category_index];

  if (category_score 》 top_category_score) {

  top_category_score = category_score;

  top_category_index = 类别索引;

  }

  }

  为了在微控制器上支持机器学习,Arm 开发了 CMSIS-NN 软件库,它是处理神经网络的 Cortex 微控制器软件接口标准 (CMSIS) 的一部分。通过量化,将浮点数减少到整数(这一过程已被证明几乎不会导致精度损失),CMSIS-NN 帮助开发人员将模型映射到微控制器的有限资源。

  TF Lite Micro 等超高效的 ML 框架以及 CMSIS-NN 使得在超低功耗微控制器上运行 ML 成为可能。这显然有许多可能的应用,但非常适用于永远在线系统的一种情况是,系统的大部分保持在深度睡眠模式,直到特定条件使其恢复活力,例如唤醒词。我们可以将其视为一种新的中断服务程序,它使用智能来决定何时需要参与芯片/系统的其余部分。这清楚地表明了超低功耗 ML 功能必须在边缘产生巨大影响的潜力。

  展望未来,专注于边缘推理需求的技术开发将使高度响应且功能强大的 ML 模型能够以更低的功率水平运行。例如,Arm 为 ArmV8-M 架构开发了新的向量扩展,称为 Helium。这是 Arm Cortex-M 处理器的最新开发,它在 2015 年推出 Armv8-M 架构时获得了 Arm TrustZone 的安全优势。Helium 矢量扩展的开发将类似于 NEON 的处理能力与安全性相结合信任区。Helium 矢量扩展还将为 Cortex-M 类微控制器带来显着的性能提升,这将有助于实现许多新应用,在边缘实现更灵敏、更准确的 ML。Helium 将使 Cortex-M 设备的机器学习性能提高 15 倍,

  对于开发人员来说同样重要的是,这意味着他们可以在用于其他基于微控制器的开发的同一工具链中访问 ML。识别异常振动、意外噪音或警报图像等集成功能将隐含在控制代码中,从而简化将 ML 置于边缘的整个过程。

  由于对不依赖云服务并始终与物联网。

  如果物联网要扩展到数以万亿计的设备,我们现在意识到需要满足不断增长的期望,在边缘使用推理来限制通过日益拥挤的网络传输的数据量将是必不可少的。

  审核编辑:郭婷

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2419688.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-01
下一篇 2022-08-01

发表评论

登录后才能评论

评论列表(0条)

保存