边缘AI通过本地处理实现实时机器学习,不仅能即时处理数据,还能提供更高的安全性和客户体验。因此,许多企业正在考虑将AI迁移至云端,以降低实施门槛、促进知识共享并支持更大型的模型。然而,关键在于找到云与边缘之间的最佳平衡。
集中式云资源通常用于训练深度学习推理模型,因为精确模型的开发需要大量的数据和计算能力。这些模型可以在中央云中部署,也可以分发到边缘设备上。
边缘AI与云AI相辅相成,云资源与边缘AI应用几乎总是紧密相连。在理想情况下,所有工作负载都应集中在云端,以简化和扩展,但诸如延迟、带宽、自治性、安全性和隐私等因素要求我们在靠近数据的边缘部署更多AI模型。部分训练工作已经在边缘进行,越来越多的关注集中在联合学习概念上,该概念强调在数据源附近进行处理,同时集中结果以消除区域偏见。
边缘AI的崛起
更好的网络基础设施和新兴的边缘计算架构正在打破集中式云AI与分布式边缘AI工作负载之间的壁垒。
其优势在于基础设施的显著变化,它通过增加全球各地的信息技术层来补充云计算。我们相信,边缘AI将引发一场与云技术崛起相似的革命。
如果设计得当,边缘AI将为自动扩展带来新机遇,因为每新增用户都将为集体工作负载贡献新的计算资源。此外,边缘AI能够更好地访问未处理的原始数据,而云AI解决方案则需与预处理的数据配合,以提升性能,这时带宽问题可能会成为瓶颈。
将计算转移至边缘的主要原因是改善响应时间。速度和延迟对于计算机视觉及5G虚拟无线电接入网络等应用至关重要。另一个显著优势是,通过限制上传至云的数据量,能够更好地保护隐私。
边缘AI的部署面临诸多限制,包括网络延迟、内存压力、能耗以及用户或操作系统可能将进程作为后台运行的风险。开发边缘AI的工程师需要考虑这些限制,尤其是在探索手机等常见应用时。
互补方法
大多数专家将边缘和云AI视为更大战略的互补部分。云AI适合批量学习技术,可以处理大数据集以构建更智能的算法,实现快速和大规模的高准确度。边缘AI则能够执行这些模型,而云服务则可以从模型性能中学习,进而应用于基础数据,形成持续的学习循环。
保持适当的平衡至关重要——若完全依赖边缘AI,将失去持续改进模型的能力;而若全力投入云AI,则可能影响数据质量,因为需要进行权衡以便数据能够上传,缺乏反馈也会阻碍用户捕获更优数据。
边缘AI补充了云AI,提供即时决策的能力,并利用云端的深度见解或更广泛的数据集来推动解决方案的洞察。
例如,在连接的汽车中,汽车传感器提供实时数据流,这些数据流不断进行处理并做出决策,例如施加制动或调整方向盘。同时,传感器数据还可以流式传输至云进行长期模式分析,以便及时警告车主进行必要的维修,防止未来事故的发生。另一方面,云AI则为边缘AI提供了更深层次的见解,调整模型,进一步增强洞察力。
云计算与边缘AI协同工作,推动深入见解的形成,制定即时决策,而这些见解又不断受到新的边缘数据的影响。
培训工作流程
使边缘AI与云AI协同工作的主要挑战在于程序与架构设计。应用程序需要有目的地拆分并协调工作负载。
例如,边缘的摄像头能够处理所有来自传感器的信息,而不会因无关数据导致网络拥堵。然而,当边缘检测到感兴趣的对象时,可以将相关帧广播到更大的云应用,进行存储和进一步分析(例如,识别帧中对象的子类型及其属性),并与人类主管共享结果。
一种策略是创建一种在模型和数据大小与数据传输成本之间取得平衡的架构。对于大型模型,保留在云中更为合理。可以采用多种方法减小模型大小以解决问题,但对于非常大的模型,可能仍需在云中运行。
在其他情况下,当边缘生成大量数据时,在本地更新模型并将其子集反馈至云以进行进一步优化可能更为有效。在处理敏感数据时,开发人员还需考虑隐私问题。例如,若希望通过手机摄像头检测中风证据,应用程序可能需要在本地处理数据,以确保符合HIPAA规定。
框架将不断演变,以提供更多有关培训位置与提高重用性的选择。例如,TensoRFlow.js利用WebGL和WebASSeMbly在浏览器中运行(这有助于隐私、降低延迟、利用桌面或移动GPU资源等),同时也能加载分片的、缓存的云训练模型版本。模型交换格式(如开放神经网络交换)也能提高模型在不同环境中的流动性。Sletten建议探索像LLVM这样的工具,这是一个开源编译器基础设施项目,可使应用程序从运行环境中抽象化。
需要适应
将更多AI从云转移到边缘的关键挑战之一是确保能够在边缘AI芯片中高效运行的神经网络架构。
通用计算平台(如云服务器)可以运行任何网络架构,而在边缘AI中则更具挑战性。架构和训练好的模型必须经过修改,以便在边缘AI芯片上运行。
这是一个巨大挑战,因为用户在高性能移动网络下可能会驶入盲区,仍希望获得良好的性能。在推理过程中,网络带宽不足以将所有数据传输至云,但用例要求将本地推理的输出进行全局汇总。边缘AI可以运行神经网络,从而过滤需发送至云进行进一步AI处理的数据。
在某些情况下,云AI训练可能会导致神经网络模型层次过多,以至于无法在边缘设备上有效运行。在这些情形下,边缘AI可以运行较轻的神经网络,从而创建输入的中间表示,该表示经过压缩后可发送至云进行进一步AI处理。在训练期间,边缘与云AI可以以混合模式运行,以提供类似“虚拟主动学习”的功能,在这种模式下,边缘AI过滤大量数据并“教导”云AI。
边缘AI芯片组支持的神经网络架构类型有限,通常比云中的功能落后数月。解决这些限制的一种有效方法是使用编译器工具链和堆栈,例如Apache TVM,帮助将模型移植到不同平台。
另一种方法是直接为目标平台训练已知在边缘AI中表现良好的网络架构。研究表明,若训练数据的数量与种类足够丰富,这种方法通常能超越跨平台编译器方法的绝对性能。然而,这种方法在培训、预处理和后期处理中通常需要一些手工操作。
边缘与云AI之间的常见权衡
开发人员在云与边缘AI之间需要权衡的一些常见折衷包括:
处理能力:边缘计算设备通常功能较弱,且难以替换或升级。 延迟:云计算速度较快,但尚未为实时应用(如驾车或工业控制)做好准备。 能耗:设计人员通常不会像考虑边缘那样关注云的能耗约束。 连通性:当连通性降低时,像自动驾驶汽车这样的安全关键服务将无法正常工作,这将迫使实时AI驱动的决策处理转向边缘。 安全性:用于身份验证和处理敏感信息(如指纹或病历)的AI服务通常更适合在本地进行,以确保安全。
[[[IMG_1]]]
[[[IMG_2]]]
[[[IMG_3]]]
[[[IMG_4]]]
[[[IMG_5]]]
