“分析”是一个非常普通的术语,用于关联和消化原始数据以产生更有用的结果。分析算法可以简单到就像数据规约或对一连串传感器读数求平均值,也可以复杂到就像最错综复杂的人工智能或机器学习 (AI/ML) 系统。如今,分析通常在云端执行,因为它是最具可扩展性和成本效益的解决方案。但在未来,分析将越来越多地分散到云、边缘计算和端点设备上,以利用它们改进的延迟、网络带宽、安全性和可靠性。在这里,我们将讨论把分析功能分布到传统的云边界之外所涉及的一些架构和权衡。
分布式分析如何增值
简单的分析包括数据规约、关联和求平均值,结果是输出一串比输入数据小得多的数据。例如,一座大楼的淡水供应系统。为了优化水泵和监测消耗,了解系统中各点的压力和流量可能很有价值。这会涉及到分布在输配管道周围的压力和流量传感器阵列。软件定期询问传感器,调整泵的设置,并为大楼管理人员生成用水报告。但是,传感器的原始读数可能具有误导性—例如,冲洗固定装置时的瞬时压降。分析算法可以对指定传感器一段时间内的读数求平均值,并结合和关联多个传感器的读数,以生成更准确、有用的管道状况图。所有这些读数都可以发送到位于云端的分析系统,但如果传感器自己做一些平均计算,让本地边缘计算机进行关联和报告,这将是一个更高效的架构。这就是分布式分析,可以改善许多分析系统的效率、准确性和成本。
当采用人工智能/机器学习 (AI/ML) 技术时,分析会变得更加复杂。人工智能/机器学习通常分为两个阶段:
一个是建模阶段。在这个阶段,大量的数据被提取出来,为AI/ML系统生成一个模型
一个是推断阶段。在这个阶段,将模型应用于系统中的数据流,以生成期望的结果(通常是实时的)
在当今的系统中,这些模型几乎总是建在大型服务器场或云端,通常是离线部署。然后,将生成的AI/ML模型打包并发送到不同的系统,这些系统使用实时数据运行模型的推断阶段,生成所需的结果。推断阶段可以在云端运行,但最近一直在向边缘转移,以改善延迟、网络带宽、可靠性和安全性。在决定每个阶段使用哪个级别的计算资源时,需要认真考虑各个权衡因素。
AI/ML的推断阶段
AI/ML的推断阶段相对容易分布在多个同级处理器上,或者沿处理层的层次结构上下分布。如果模型经过预先计算,那么AI/ML算法使用的数据就可以在多个处理器之间进行划分且并行计算。在多个同级处理器之间划分工作负载带来了容量、性能和规模优势,因为随着工作负载的增加,可以调动更多的计算资源去承担。它还可以提高系统的可靠性,因为如果一个处理器出现故障,邻近的处理器仍然可以完成工作。推断操作也可以在一个层次结构的多个层次之间进行划分,也许算法的不同部分会在处理器的不同层次上运行。这让AI/ML算法能够以合乎逻辑的方式进行划分,允许层次结构的每一级执行最高效的算法子集。 例如,在视频分析AI/ML系统中,摄像头中的智能功能可以执行自适应对比度增强,将这些数据交给边缘计算机执行特征提取,将其发送到邻近的数据中心进行对象识别,最后,云端可以执行高级功能,如威胁检测或热图生成。这可以是一种高效的分区。
AI/ML算法的学习阶段
对AI/ML算法的学习阶段进行分布难度更大。问题是上下文的大小。为了准备模型,AI/ML系统需要大批量的训练数据,并用各种复杂的学习阶段算法对其进行消化,从而生成一个在推断阶段相对容易执行的模型。如果在一个给定的计算节点上只有一部分训练数据可用,算法在推广模型时会遇到困难。这就是为何训练通常在云端进行。在云端,内存和存储空间几乎是无限的。但是,某些场景需要将训练算法分布在多个同级计算节点上,或者在云-到边缘的层次结构中上下分布。特别是,边缘学习能够从附近的传感器收集大量的训练数据,并在没有云参与的情况下利用数据,这样可以改善延迟、可靠性、安全性和网络带宽。为了解决这些挑战,目前正在开发先进的分布式学习算法。
结论
AI/ML是几乎所有电子系统未来必须具备的重要能力。这些系统的推断和训练能力如何在计算资源的层次结构中进行划分?存在哪些选项?了解这些选项是我们未来成功的关键。
审核编辑:郭婷
-
传感器
+关注
关注
2548文章
50656浏览量
751821 -
人工智能
+关注
关注
1791文章
46838浏览量
237496 -
机器学习
+关注
关注
66文章
8375浏览量
132397
发布评论请先 登录
相关推荐
评论