【 图片来源:Arm Community 所有者:Arm Community 】
雷锋网按:Arm 社区近期发表文章,深入地介绍了一个机器学习处理器(Machine Learning Processor),据了解,这个处理器能够在边缘设备上加速计算过程;这是 Arm 第一次专门推出类似于 NPU 的 AI 专用处理器。雷锋网将全文编译如下。
想一下,你有多少个互联设备?
无论你是一个电子产品成瘾者,还是只是一个普通电子产品拥有者,你现在拥有的电子产品很有可能会比五年前的多。从智能手机、平板电脑到个人健康追踪器、智能哮喘吸入器和智能门铃,我们年复一年都忙着加强互联互通,这让个人数据呈现爆炸式增长。根据最近的一份报告,在近十年里,全球人均联网设备的数量不足 2 台,到 2020 年,这个数据将跃升至 6.58 ——大量的设备制造了大量的数据。
一直以来,这些数据会发送到云端进行处理;但随着数据和设备的数量呈指数型增长,要想不断地来回移动数据都不太实际,更不用说安全和成本效益。幸运的是,机器学习(Machine Learning,以下简称 ML)的最新进展意味着现在比以往任何时候可以在设备上完成更多的处理和预处理。这带来了一些好处,数据泄露的风险降低从而提高了安全性,节约了成本和电力。将数据在云端和设备之间来回传输的基础设施并不便宜,因此在设备上可以完成的处理越多越好。
设备上的机器学习是从 CPU 开始的, CPU 充当一个熟练的“流量控制器”,要么单独管理整个机器学习工作量,要么将选定的任务分配给特定的机器学习处理器。
Arm CPU 和 GPU 已经跨过性能曲线,为成千上万的 ML 用例提供动力,尤其是在移动端,边缘机器学习已经驱动了消费者所期望的标准特性。
随着这些处理器变得越来越强大,越来越高效,它们能够驱动更高的性能,从而为边缘的安全 ML 提供更多的设备上计算能力。(例如,可以在不影响电池寿命的情况下,管理计算密集型任务的第三代 DynamIQ 大核心 Arm Cortex-A77 CPU,以及为 ML 提供了 60% 的性能改进的 Arm Mali-G77 GPU。)
但是,尽管 CPU 和 GPU 本身就是 ML 的动力源,但是在最密集、最高效的性能需求下,它们自身可能很难满足这个需求。在这些任务中,专用神经处理单元( NPU )的强大功能 (如 Arm ML 处理器)将派上用场,为边缘的 ML 推理提供最高的吞吐量和最高效的处理。
是什么让 ML 处理器变得如此特别?
它的特别之处在于,它以全新的体系结构为基础,以连接设备为目标,例如智能手机,智能相机,增强现实与虚拟现实设备(AR/VR)、无人机,还有医疗电子和消费电子产品。它的运算性能多达 4 TOP/s,从而能够启动以前由于电池寿命或热量限制而无法实现的新用例——这让开发人员能够创建出新的用户体验,比如说 3D 人脸解锁,或是具有深度控制或人像照明功能的高级人像模式等。
当然,性能优越是件好事。但是,如果它需要你每隔几个小时就得给你的设备充电,或者到哪都要带着你的充电宝,这就没那么好了。为了将用户从充电电缆的“暴政”中解放出来,这个 ML 处理器拥有业界领先 5TOPs/W 的电源效率,这是通过最先进的优化(例如重量压缩、活化压缩,Winograd )来实现的。
Winograd 使关键卷积滤波器的性能比其他 NPU 高出 225% ,占用的空间更小,还能在减少任何给定设计所需组件数量的同时提高效率。这进而降低了成本和电力需求,同时又不影响用户体验。
该体系结构由固定函数引擎和可编程层引擎组成,前者用于高效执行卷积层,后者用于执行非卷积层和实现选定的原语和运算符。这些本地支持的功能与常见的神经框架紧密结合,减少了网络部署成本,从而加快了上市时间。
【 图片来源:Arm Community 所有者:Arm Community 】
我们再来看一下这款处理器的参数:
效能:CPUs, GPUs, DSPs 提供巨大提升力,多达 5 TOPs/W 的加速器;
网络支持:处理各种流行的神经网络,包括卷积层(CNNs)和递归(RNNs),用于分类、物体探测、图像增强、语音识别以及自然语言理解;
安全性:使用 Arm TrustZone 体系结构的基础,以最小攻击面执行;
可扩展性:通过多核扩展,单个集群中最多有 8 个 NPUs 和 32 个 TOPs,网格配置中最多有 64 个NPUs;
神经框架支持:与现有框架紧密集成:TensorFlow , TensorFlow Lite , Caffe , Caffe 2 以及其他通过 ONNX 实现的框架;
Winograd 卷积:与其他 NPUs 相比,普通过滤器的速度提高了 225%,能够在更小的区域内获得更高的性能;
内存压缩:通过各种压缩技术,将系统内存带宽最小化;
异构 ML 计算:优化使用 Arm Cortex-A CPUs 和 Arm Mali GPUs;
开源软件功能:通过 Arm NN 的支持去减少成本和避免锁定;
为了让开发人员轻松一些,这个 ML 处理器有一个集成的网络控制单元和 DMA(Direct Memory Access,直接内存存取),这个 DMA 能够管理整个网络的执行和遍历,还能在后台将数据移入和移出主内存。
同时,板载存储器允许中央存储权重和特征图,减少了外部储存器的通信,延长了电池的寿命,这是对消费者所期望的标准用户体验的又一次认可。
至关重要的是,这个 ML 处理器足够灵活,可以支持具有更高需求的用例,运行更多且更大的并发特性:在单个集群中可配置 8 个内核,达到 32 TOP/s 的性能;或是在网格配置中达到 64 NPUs。
最终,这个 ML 处理器增强了性能,提高了效率,减少了网络部署成本,并且,通过固定功能和可编程引擎的紧密耦合,让固件随着新功能的开发而更新,从而使得这个设计不会过时。
总而言之,通过能力、效率、灵活性三者的结合,这个 ML 处理器在边缘定义了 ML 推理的未来,让开发者在创建今天最佳用户体验的同时,满足未来的用例需求。
雷锋网注:本文编译自 Arm Community,雷锋网编译。