AI已成为推动边缘计算(Edge Computing)落地的关键驱动力。最初,边缘计算层的设计目的是为物联网(IoT)部署提供本地计算、存储和处理能力。那些无法发送到云端进行处理和分析的敏感数据,都由边缘层就近处理。它同时还能降低与云端往返通信所带来的延迟。如今,原本运行在云端的大部分业务逻辑正在向边缘迁移,以提供低延迟、更快的响应速度。传感器产生的数据中,只有一部分在边缘完成聚合和过滤后才会被发送到云端。这种方法为企业显著节省了带宽和云存储成本。

边缘计算正在交付三项至关重要的能力——本地数据处理、向云端过滤传输数据,以及更快的决策。
由于如今大部分决策都在借助人工智能,边缘已成为部署在云端训练好的机器学习模型的理想之地。
机器学习和深度学习模型正利用云端的图形处理器(GPU,Graphics Processing Unit)算力来加速训练。AWS、Azure、Google Cloud Platform(GCP)、IBM 和阿里云等主流云服务商都在提供 GPU 即服务(GPU as a Service)。TensorFlow、PyTorch、Apache MXNet 和微软 CNTK 等现代深度学习框架,也都是为利用底层 GPU 加速训练过程而设计的。
与企业的数据中心和公有云基础设施相比,边缘计算拥有的资源和算力相对有限。当深度学习模型部署在边缘时,它们无法获得与公有云同等的马力,这可能会拖慢推理(inferencing)——即使用训练好的模型进行分类和预测的过程。
为了弥合数据中心与边缘之间的差距,芯片厂商正在打造专门针对特定用途、可显著加速模型推理的加速器。这些现代处理器接管了运行深度学习模型所需的复杂数学计算,从而为边缘设备的 CPU 分担压力。尽管这些芯片无法与云端运行的 GPU 相提并论,但它们确实能加速推理过程。这就使得边缘层摄取的数据能获更快的预测、检测与分类。
当下已有三款 AI 加速器可用于加速边缘推理,让我们逐一深入了解。
NVIDIA Jetson
说到 GPU,NVIDIA(英伟达)无疑是不容置疑的市场领导者。几乎每个公有云服务商都会在基础设施服务中提供 NVIDIA 的 GPU,例如 K80、P100 和 T4 型号。该公司还销售 DGX 和 EGX 服务器,这些服务器配备了多块高端 GPU,专为运行深度学习、高性能计算和科学计算工作负载而设计。
NVIDIA 专门为边缘场景打造了 Jetson 系列 GPU。在可编程性方面,它们与企业数据中心中的同类产品 100% 兼容。这些 GPU 比驱动台式机和服务器的传统 GPU 拥有更少的核心,功耗也更低。Jetson Nano 是 Jetson 家族的最新成员,配备了一颗拥有 128 个核心的 GPU。Nano 是 NVIDIA 迄今推出的最实惠的 GPU 模块。Jetson Nano 开发套件的外形与 Raspberry Pi(树莓派)非常接近,能够让爱好者、创客和专业开发者构建下一代 AI 与物联网解决方案。而 Jetson TX2 和 Jetson Xavier 则面向工业和机器人应用场景。
NVIDIA Jetson 设备由一个名为 JetPack 的统一软件栈驱动,它包含了运行边缘 ML 和 AI 模型所需的核心驱动、运行时和库。数据科学家和开发者可以轻松将 TensorFlow 和 PyTorch 模型转换为 TensorRT——一种能够针对准确性和速度对模型进行优化的格式。
NVIDIA Jetson 已是当前最流行的边缘计算平台,可与 Azure IoT Edge 和 AWS IoT Greengrass 集成。
Intel Movidius 与 Myriad 芯片
2016 年,Intel(英特尔)收购了 Movidius,这是一家专注于计算机视觉处理器的利基芯片制造商,其产品用于无人机和虚拟现实设备。Movidius 的旗舰产品是 Myriad,一款专为处理图像和视频流而设计的芯片。由于它处理计算机视觉的能力,Myriad 被定位为 VPU(视觉处理单元,Vision Processing Unit)。
收购 Movidius 之后,英特尔将 Myriad 2 封装进了 U 盘大小的外形中,以神经计算棒(Neural Compute Stick,NCS)的形式对外销售。NCS 最大的优点在于它同时兼容 x86 和 ARM 设备。它可以轻松插入 Intel NUC 或树莓派来运行推理。它从宿主设备取电,无需外接电源。
与 NVIDIA 的 JetPack 类似,英特尔也构建了一个软件平台来为 Movidius 和 Myriad 优化机器学习模型。英特尔的 OpenVINO 工具套件(Intel Distribution of OpenVINO Toolkit)能将云端训练好的计算机视觉模型在边缘运行。OpenVINO,全称 Open Visual Inference and Neural Network Optimization(开放视觉推理与神经网络优化),是一个开源项目,旨在为运行在 x86、ARM32 和 ARM64 平台上的模型提供一致的推理方案。现有的卷积神经网络(CNN)模型可以转换为 OpenVINO 中间表示(IR),这种格式能显著缩小模型体积,同时针对推理进行优化。
英特尔正在将 Movidius 和 Myriad 芯片嵌入到以 Up Squared 品牌设计和销售的 x86 开发者套件中。它们也以 U 盘和扩展卡的形式提供,可附加到 PC、服务器和边缘设备上。
英特尔正大力押注 Movidius 作为硬件平台、OpenVINO 作为软件平台,以期占领边缘市场。
Google Edge TPU
几年前,Google(谷歌)宣布将其张量处理单元(TPU,Tensor Processing Unit)加入云平台,以加速机器学习工作负载。Cloud TPU 提供了训练基于深度神经网络的复杂机器学习模型所需的计算能力。目前(V2 代),Cloud TPU 可提供 180 万亿次(teraflops)性能,并配备 64GB 高带宽内存(HBM)。使用 Google Cloud Platform 的客户可以从自定义虚拟机类型连接到 Cloud TPU,从而在运行计算密集型任务时平衡处理器速度、内存和高性能存储资源。
最近,谷歌宣布推出 Edge TPU——专为边缘运行而设计的 TPU 变体。Edge TPU 通过执行训练好模型在边缘的推理,与 Cloud TPU 形成互补。据谷歌介绍,Edge TPU 是一款专为在边缘运行 AI 而打造的应用专用集成电路(ASIC,Application-Specific Integrated Circuit)。它以极小的物理尺寸和功耗换来高性能,从而支持在边缘部署高精度 AI。这些专用芯片可用于预测性维护、异常检测、机器视觉、机器人、语音识别等新兴应用场景。
开发者可以将 TensorFlow 模型转换为与边缘兼容的 TensorFlow Lite 模型,从而针对 Edge TPU 进行优化。谷歌提供了一款基于网页和命令行的工具,用于将现有的 TensorFlow 模型转换为针对 Edge TPU 优化的格式。与 NVIDIA 和英特尔的不同,谷歌的 Edge TPU 在边缘只能运行 TensorFlow 模型。谷歌正在构建一条无缝的流水线,以自动化并简化“在云端训练模型、在 Edge TPU 上部署”的工作流程。Cloud AutoML Vision 是用于训练 CNN 的自动化、无代码环境,它支持将模型导出为针对 Edge TPU 优化的 TensorFlow Lite 格式。到目前为止,这是构建云端到边缘流水线最简单的方案。
随着 AI 成为边缘计算的关键驱动力,硬件加速器与软件平台的组合对于运行模型推理变得愈发重要。NVIDIA Jetson、Intel Movidius 和 Google Edge TPU 正是目前可在边缘加速 AI 推理的几款选择。
标题:How AI Accelerators Are Changing The Face Of Edge Computing链接:https://www.forbes.com/sites/janakirammsv/2019/07/15/how-ai-accelerators-are-changing-the-face-of-edge-computing
夜雨聆风