TinyML设备设计的Arm内核

Arm cores designed for TinyML devices

Arm推出了两个新的IP核,旨在为终端设备、物联网设备和其低功耗、成本敏感的应用程序提供机器学习的动力。Cortex-M55微控制器核心率先采用Arm的氦矢量处理技术,而Ethos-U55机器学习加速器则是该公司现有Ethos NPU(神经处理单元)家族的微型版本。两个核心设计为一起使用,尽管也可以单独使用。             

在微控制器和其成本敏感、低功耗资源受限的设备上实现人工智能和机器学习应用被称为tinyML领域。随着5G的兴起,终端设备的智能化趋势开始显现,tinyML有望以指数级的速度成长为一个包含数十亿消费者和工业系统的市场。

“当回首五年后,可能都同意这一次标志着计算领域真正的范式变革,”Arm物联网和嵌入式的高级主管thomasensergueix说。“在几年内就看到了人工智能如何彻底改变了数据分析在云端的运行方式,大多数人口袋里都有一部人工智能增强型智能手机,现在是下一步,为各地的人工智能做好准备。”

智能家居设备,如智能音箱,将越来越能够自己进行机器学习推理

机器学习,包括语音识别和计算机视觉应用,将越来越多地发生在微控制器中。一系列的微控制器替代品如雨后春笋般涌现,基于Arm内核和其处理器,Arm正瞄准这两个新内核。

Ensergueix说:“知道,端点级别的所有数据都不能回到云端。“家庭或智能城市中的摄像机每天都会产生千兆字节的数据,而基础设施并不是为这种上游数据流而建的。确信,需要的是扩展到数十亿或万亿的物联网终端,将需要直接在物联网终端的人工智能推断能力。需要安全。”

Cortex-M55

Cortex M-55是Arm著名的Cortex-M系列微控制器的最新补充,被设计成Arm最具人工智能能力的Cortex-M内核。

M55是第一款使用Arm新的氦矢量处理技术的机型,与前几代Cortex-M相比,该技术的DSP性能提高5倍,ML性能提高15倍。基于Armv8.1-M体系结构,可以创建自定义指令来针对特定的工作负载优化处理器,也许可以压缩掉最后一次断电。

结合M55和U55利用了M55增加的DSP马力,可以用于信号预处理。然而,M55本身可以运行神经网络工作负载。具有INT8数字的专用指令,包括在机器学习应用中常用的点积。

一个成功的AIoT应用“不仅取决于良好的计算性能,而且还取决于能否在正确的时间获得正确的数据、正确的系数和正确的机器学习权重,因此处理器的内存接口已经过优化,能够处理所有进出的数据。在这方面,比其任何Cortex-M核心都更有能力,”Ensergueix说。

Cortex-M55和Ethos-U55的组合对于手势识别、生物识别和语音识别等应用具有足够的处理能力。

Ethos-U55

Ethos-U55被称为Arm的首款“微型NPU”,提供高达0.5的最高加速度(基于16nm或7nm等更小的几何结构,运行频率为1GHz)。Arm还没有公布能效数据(TOPS/W)。是可配置的-可以使用32到256个乘法累加单元(mac)-有一个重量解码器和直接内存访问,用于动态权重解压缩。

Ethos-U55加入了Ethos N77、N57和N37,相比之下,分别提供了4个、2个和1个TOP。性能可以通过使用多个etos内核进行扩展。

Cortex-M55和Ethos-U55设计用于一起使用,但也可以单独使用。

M55和U55这两个新的内核被设计为可以一起使用,可以比任何上一代Cortex-M设备更快地处理ML任务。Arm表示,与单独使用Cortex-M7相比,使用ML的端到端语音助手应用程序的速度提高了50倍,而且功率效率提高了25倍。

Arm机器学习小组副主席史蒂夫·罗迪解释说:“Cortex-M将运行应用系统代码,然后当需要处理神经网络工作负载时,该程序的命令流被放入SRAM中,向U55发出一个中断,这里,开始执行这个命令流。”。“这可能是单一模型的单一推论。U55运行完成,将结果返回SRAM,然后让Cortex-M接管。也可能是在处理流式数据(可能是音频或视频)时连续运行的情况。”

基于这些新核心的硅应该在2021年初上市。

TinyML设备设计的Arm内核的更多相关文章

  1. ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57

    转自: ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57 前不久ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列 ...

  2. ARM内核和架构都是什么意思,它们到底是什么关系?

    ARM产品越来越丰富,命名也越来越多.很多朋友提问: ARM内核和架构都是什么意思?内核和架构的关系是什么?比如ARMv7架构,这个架构指的是什么?小编选出了几个精彩回答!希望对嵌友们在选择设计电路时 ...

  3. 关于ARM内核与架构的解释

    本文摘自某论坛某位大神的一段回复,经典至极,copy来己用! 只要你玩过ARM内核的芯片,那么关于内核和架构,我想应该或多或少的困惑过你,看了下面的介绍,你应该会清楚很多! 好比你盖房子,刚开始因为水 ...

  4. ARM内核和架构

    转:深入浅谈,CPU设计原理          CPU的内部架构和工作原理 推荐一本书:编码的奥秘 一.ARM内核和架构 ARM产品越来越丰富,命名也越来越多.很多朋友提问: ARM内核和架构都是什么 ...

  5. 【ARM】---关于ARM内核与架构的解释

    本文摘自某论坛某位大神的一段回复,经典至极,copy来己用! 只要你玩过ARM内核的芯片,那么关于内核和架构,我想应该或多或少的困惑过你,看了下面的介绍,你应该会清楚很多! 好比你盖房子,刚开始因为水 ...

  6. ARM内核全解析

    前不久ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列产品,以此来扩大ARM在高性能与低功耗 领域的领先地位,进一步抢占移动终端市场份额.Cortex-A50是继Cortex-A1 ...

  7. Linux内核剖析(四)为arm内核构建源码树

    前面说到要做linux底层开发或者编写Linux的驱动,必须建立内核源码树,之前我们提到过在本机上构建源码树—-Linux内核剖析(三),其建立的源码树是针对i686平台的,但是我么嵌入式系统用的是a ...

  8. ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57【转】

    转自:http://www.myir-tech.com/resource/448.asp 前不久ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列产品,以此来扩大ARM在高性能与低功 ...

  9. 手把手教你使用eclipse+qemu+gdb来单步调试ARM内核【学习笔记】

    平台信息:linux4.0 平台:qemu 作者:庄泽彬 说明:笨叔叔的Linux视频的笔记 一.编译linux源码 export CROSS_COMPILE=arm-linux-gnueabi- e ...

随机推荐

  1. hdu1054 简单最小顶点覆盖

    题意:       给你一些点,和一些边,如果把一个点安装保护装置,那么与他直接相连的点就可以被保护,题目问的是最少安装多少个点能让所有的点都被保护. 思路:       这是最基础的二分图最少定点覆 ...

  2. drozer源码学习:app

    源码下载:https://github.com/mwrlabs/drozer:模块的源码位于src.drozer.modules,根据模块名来划分文件夹: app.auxiliary.exploit. ...

  3. POJ2669不错的最大流 竞赛问题(枚举King的个数)

    题意:       有n个人,任意两个人都比一次赛(一共比了n*(n-1)/2场),赢一场得到一分,最后的时候如果得分最高,或者是自己打败了所有比自己得分都高的人就算是King,给你每个人的最后得分, ...

  4. Windows核心编程笔记之作业

    创建作业,并加以限制 HANDLE WINAPI CreateJob() { BOOL IsInJob = FALSE; DWORD ErrorCode = NULL; // 不能将已经在作业中的进程 ...

  5. 逆向 stdio.h 函数库 fseek 函数(调试版本)

    0x01 fseek 函数 函数原型:int fseek(FILE *stream, long int offset, int whence) 函数功能:设置流 stream 的文件位置为给定的偏移 ...

  6. 怎样用jquery添加HTML代码

    方法一: $(".demo").html("<span></span>") 方法二: var $span=$("<spa ...

  7. 简化mapstruct代码: mapstruct-spring-plus

    mapstruct MapStruct 是一个属性映射工具,只需要定义一个 Mapper 接口,MapStruct 就会自动实现这个映射接口,避免了复杂繁琐的映射实现.MapStruct官网地址: h ...

  8. 栈(Stack) --- C# 自定义和微软官方的区别

    最近在学习算法基础,本篇文章作为一个记录,也算是一次实践和总结.(顺便也深入C#运行时学习一下) 目录 1. 栈是什么 2. Stack 自定义实现 3. Stack C#官方实现 4. 区别 5. ...

  9. PHP + JQuery 实现多图上传并预览

    简述 PHP + JQuery实现 前台:将图片进行base64编码,使用ajax实现上传 后台:将base64进行解码,存储至文件夹,将文件名称入库 效果图 功能实现 html <!DOCTY ...

  10. vuex、localStorage、sessionStorage之间的区别

    vuex存储在内存中,localStorage以文件形式存储在本地,sessionStorage针对一个session(阶段)进行数据存储. 当页面刷新时vuex存储的数据会被清除,localStor ...