如何将 MLOps 用于物联网和边缘设备(Valohai)

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第23天,点击查看活动详情

机器学习和智能设备的结合引发了新的自动化浪潮。 从智能冰箱到无收银员结账和自动驾驶汽车,支持机器学习的设备将对我们的日常生活产生深远影响。 随着用例的复杂性和设备数量的增加,我们将不得不采用新的策略来向用户部署这些 ML 功能并对其进行管理。

在本文中,我们将研究在边缘设备上运行推理的好处、关键挑战以及 MLOps 实践如何缓解这些挑战。

理解关键概念

在我们探讨 MLOps 用于物联网和边缘设备的好处之前,我们需要通过浏览一些基本概念来确保我们的观点是一致的。只有四个,所以不要害怕。

  • 物联网,是一个带有传感器的设备网络,可以通过互联网或它们之间的任何其他类型的连接来收集、处理和与其他设备交换数据。
  • AIoT,即物联网人工智能,是人工智能技术与物联网基础设施的结合。它允许更高效的物联网操作、高级数据分析和改进的人机交互。
  • 边缘计算是一个分布式计算框架,它使企业应用程序更接近物联网设备或本地边缘服务器等数据源。这会带来更快的洞察力、更快的响应时间和更好的带宽可用性。 它还使机器学习算法在边缘的应用成为可能。
  • MLOps是一种旨在使开发和维护生产机器学习无缝且高效的实践。

背景概述

随着越来越多的组织采用 ML,对模型管理和操作的需求急剧增加,并催生了 MLOps。另一方面是物联网的激增。根据 Statista 的数据,到 2023 年,全球物联网支出预计将达到 1.1 万亿美元。此外,到 2025 年,活跃的物联网连接设备的数量预计将达到 309 亿。

云计算一直帮助促进物联网设备之间的无缝通信,因为它使 API 能够在连接的设备和智能设备之间进行交互。然而,云计算的一个主要缺点是它的延迟,因为它不能实时处理数据。因此,随着世界上活跃的物联网连接设备数量继续急剧增加,需要更好的技术。

这就产生了边缘计算,可以用来处理对时间敏感的数据。对于连接有限制或没有连接的远程位置,它也是一个更好的选择。然而,正如 Emmanuel Raj 在 2020 年的论文中指出的那样,随着物联网和边缘计算的潜力不断增长,我们面临着重大的计算挑战。

例如,您如何在边缘设备上大规模执行 ML 以管理和监控 ML 模型?如何启用 CI/CD?您如何保护设备以及它们之间的通信?如何保证系统的效率?

用于物联网和边缘设备的 MLOps 将与更传统的场景有很大不同,因为没有那么多已建立的样例。

边缘机器学习的好处

大多数 MLOps 文献和解决方案都集中在在线推理上。 换句话说,在云上运行模型并让终端用户应用程序通过 API 与模型进行通信。

然而,在许多用例中,使算法更接近实际的终端用户是非常有益的,因此边缘推理不应被忽视。

将模型移动到设备上,无论是手机还是像 NVIDIA Jetson 这样的设备,都可以解锁高可扩展性、隐私性、可持续性、可负担性和适应性。 这些都是通过在线推理很难解决的方面。 这一举措还使物联网设备本身更加可靠,因为它们即使在连接受限的情况下也能发挥作用,这对于医疗或安全设备等场景至关重要。

通过边缘推理,模型在该位置的设备上运行,因此规模由设备本身处理

在设备本身上运行推理的 ML 系统将具有独特的优势:

  • 系统将自动扩展,因为每个新设备都将处理自己的工作负载。这也有助于更好地适应不断变化的环境并提高成本效益。
  • 该系统将更容易解决隐私问题,因为数据不必离开终端用户的设备。
  • 每个边缘设备都可以做出实时决策,而不会增加延迟。
  • 即使没有连接到中央服务器,每个边缘设备也可以做出决策。
  • 每个边缘设备甚至可以运行其自己的版本(经过训练的模型),以满足环境的特定需求。

依赖边缘设备的 ML 解决方案可以采用多种形式。例如,您的手机可以运行经过专门训练的人脸识别模型来识别您。或者,它可以是一台本地计算机,连接到现场的所有监控摄像头,并对任何可疑活动发出警报。两者都将从上述要点中受益,但维护和管理将完全不同。因此,我们将面临一系列的挑战。

边缘机器学习面临的挑战以及 MLOps 如何提供帮助

大多数 MLOps 文献都关注在线推理是有逻辑原因的。这很简单,从管理的角度来看,您维护一个模型,该模型可以转换为可以更新和监控的单个 API 端点。

在边缘机器学习中,大多数场景都是独特的雪花,过程可能会变得相当复杂。但是,正确实施 MLOps 肯定可以让事情变得更容易。让我们来看看其中的一些挑战:

  • 测试很难。边缘设备有许多不同的形状和大小。以 Android 生态系统为例,这些设备的计算能力存在很大差异,很难测试您的模型是否对所有设备都足够高效。然而,一个强大的机器学习管道可以包括各种测试来解决模型性能问题。
  • 部署很难。更新单个终端是微不足道的,更新 1,000 台设备要棘手得多。在大多数情况下,您需要将 ML 管道和模型存储与负责更新边缘设备的其他工具集成。例如,您的应用程序 CI/CD 将从您的模型存储中获取最新模型。
  • 监控很难。使用在线推理,您从单个端点收集指标,但使用边缘 ML,您需要返回每个设备的报告,并且您可能仍然无法完全了解模型运行的环境。您应该以这样一种方式设计您的监控系统:它可以接收来自多个来源的数据,并且这些来源可能只是偶尔报告。
  • 数据收集很困难。隐私是有代价的,因为与在线推理不同,您实际上无法直接访问“真实世界”数据。构建连续循环以从边缘设备收集数据可能是一项复杂的设计挑战。您需要考虑允许您在模型失败时收集数据的机制(例如,当目标识别模型不起作用时,用户可以选择发送图片)。然后可以将这些打标签并添加到 ML 管道的训练数据集中。

用于物联网和边缘设备的 MLOps 的主要目标是缓解这些挑战。持续循环在边缘推理领域更难建立。在通常的设置中,您的模型在云上进行训练,然后由 CI/CD 系统挑选并作为应用程序的一部分部署到设备上。该应用程序将在设备上运行推理并将指标和数据批量报告回云端,您可以在云端关闭循环、重新训练和改进您的模型。

适用于您的解决方案

如前所述,每个边缘 ML 案例仍然非常独特,没有一种模式适用于所有场景。 您的最终解决方案可能包含您自己的自定义代码和现成产品。 优先级应该是绘制出形成连续循环所需的所有不同组件,并弄清楚所有不同组件如何相互通信。 我们(Valohai)是开放 API 的大力支持者,并且 Valohai 的 MLOps 平台以 API 为先。因此,所有功能都可以通过代码访问,工具可以无缝集成。

对我们来说,MLOps 不仅仅是在线场景。 我们认为构建连续循环并尽可能自动化它们的最佳实践也应该在事实上也适用于边缘设备。 如果您认为让您的组织更接近边缘设备是您想做的事情,我们将很乐意讨论您的案例并就可能的解决方案咨询您。

原文链接:MLOps for IoT and Edge

猜你喜欢

转载自juejin.im/post/7109502470501433381