手机芯片谁是AI之王?高通、联发科均超华为
整理 | apddd
出品 | AI科技大本营(ID:rgznai100)
尽管相当数量的人工智能服务,是由云计算网络提供,但在响应低延迟、保护隐私、应用场景等方面,手机AI芯片无可替代。例如人脸解锁,图像增强、识别,智能助手,拍照场景识别,这些你我每天都会接触的功能,离不开手机神经引擎的加持。
AI-Benchmark测评
AI-Benchmark是苏黎世联邦理工学院(ETH Zürich)计算机视觉实验室Andrey Ignatov开发的AI基准测试程序,它不依赖于每个SoC供应商自己的SDK工具和API基准,能更客观地展示终端性能。
其测试任务包括以下9项(http://ai-benchmark.com/tests.html):
目标识别/分类:这是一个非常基础但很强大的神经网络,能够基于一张照片识别1000个不同的对象类别,准确率约为70%。经过量化,其大小可小于 5MB,再加上低耗内存,可在几乎所有现有智能手机上使用。
精确目标识别/分类:这是对上一个网络的进一步扩展,更加精确,但代价是规模是原来的4倍,且对计算的要求较高。一个明显的优势是——它可以处理分辨率更高的图像,这意味着更精确的识别和更小目标的检测。
人脸识别:实现方式为,对于每个人脸图像,神经网络会对人脸编码并生成128维的特征向量,该特征向量不随缩放、移动或旋转而改变。然后在数据库中检索和此向量最匹配的特征向量(以及对应的身份),数据库里包含数亿个此类信息。
图像去模糊:模糊是通过一种最原始、最简单、最轻量级的神经网络 SRCNN(只有 3 个卷积层)去除的。即便如此,它仍然显示出相当令人满意的结果。
图像超分辨率:使用一个19层的VGG-19网络。尽管目前来看,该网络的表现并不惊艳,也不能重建高频部分。但它对于绘画仍是理想的解决方案,因为该网络可以让图像变得更加清晰、平滑。
另一种图像超分辨率:任务同上,但完成方法略有不同,如果使用其他神经网络训练我们的神经网络会如何?我们安排两个网络去完成两个不同的任务:网络尝试解决上面提到的超分辨率问题,网络B观察其结果,尝试找到其中的缺陷并惩罚网络A。
语义图像分割:根据车载摄像头拍摄的照片检测19类目标(如车、行人、路、天空等)。
图像增强:经过恰当训练的神经网络可以让旧手机上的照片看起来更时髦。
内存极限:任务4使用的SRCNN是最轻便、简单的神经网络之一,这项测试的目的是找到设备的极限,即这个最简易的网络到底能处理多大的图像。
一骑绝尘 or 不分胜负
在刚出炉的2019年2月排行中,高通骁龙855位列榜首,紧随其后是联发科Helio P90处理器。而华为最强手机处理器麒麟980(去年9月发布),在这项测试中,已被骁龙855大幅甩开35%。
骁龙855(总分19769)对浮点和量化神经网络都能提供出色的硬件加速——前者依靠Adreno 640 GPU,而量化网络则运行在Hexagon 690 DSP中。这种组合省略了AI独立运算单元,依旧是传统的CPU/GPU及DSP/ISP兼职处理AI任务。这种设计思路,令SoC更小巧,也更容易开发,但原本用于图形任务设计的GPU,在更远的未来可能会触及架构瓶颈,难免还要面对芯片架构的一次大调整。
芯片之争既是长跑,也是冲刺。
关于量化网络
开发神经网络时最大的挑战是让其真正起效,训练一般希望速度快准确率高。使用浮点算法是保持结果精确最简单的方式——GPU拥有加速浮点算法库,所以不需要过多关注其他数值格式。
而随着大量神经网络模型投入实际应用。训练计算需求随研究者数目线性增长,预测所需的周期与用户数目成正比。这意味着纯预测效率迫在眉睫。
这就是量化神经网络的用武之地:量化网络最初的动机是减小模型文件尺寸,在模型载入后仍然转换回浮点数,这样你已有的浮点计算代码无需改动即可正常运行,另一个量化的动机是降低预测过程的计算资源需求。
虽然只是中端芯片,但联发科P90(总分18231)的实际AI性能,几乎与骁龙旗舰处理器不分伯仲(虽然P90理论GMAC参数占下风),它采用了独立的AI芯片——其设计来自GPU“魔改”,以优化深度学习任务。与竞争对手相比,这款芯片的不足在于CPU性能弱了30%,GPU也差强人意。
华为麒麟980(总分14646)发布已近半年,虽然账面成绩逊一筹,但值得指出的是,它的浮点性能与两个对手不分胜负,这意味着运行浮点神经网络任务,亦相差无几——这是当下AI研究和开发的主流技术,而且每个网络架构,都能以浮点模型训练。反之则不然,能转换为量化模型的网络较少,且常常伴随着准确度大幅下降。所以在2019年初,华为麒麟980仍算强大。
回顾历史,早在2004年,华为开始组建手机芯片研发队伍,经过5年研发,到2009年,才拿出第一款海思K3。到2014年初,推出麒麟910,首次采用28nm制程,才有自己的名声。整个2014年,华为不停的迭代,一共发布了6款芯片,终于有了长足进步。
再到2015年11月,麒麟950 SoC发布,采用16nm FinFET Plus工艺,勉强追上高通。而在950之后,华为又在2016年发布了960,2017年发布970,再到2018年7月发布710、8月发布980,终于开始领跑——之后的一个季度,华为麒麟970/980家族几乎垄断了AI-Benchmark商用设备榜单。
那么,目前地表最强的移动AI处理器最终花落骁龙855?隔壁苹果家的A12X Bionic可能并不同意(AI-Benchmark目前只支持Android平台)。
(本文为AI科技大本营原创文章,转载请微信联系 1092722531)
征稿推荐阅读:
Windows 95被做成了App,可玩扫雷和纸牌
给Chrome“捉虫”16000个,Google开源bug自检工具
2019全球AI 100强,中国占独角兽半壁江山,但忧患暗存
“百练”成钢:NumPy 100练
赵本山:我的时代还没有结束 | Python告诉你
“不厚道”的程序员:年后第一天上班就提辞职
Facebook神秘区块链部门首次收购,开放这些职位,你的技能符合吗?
微信帝国进化史:一个通讯工具如何在八年内制霸互联网?
写给程序员的裁员防身指南
这4门AI网课极具人气,逆天好评!(附代码+答疑)
点击“阅读原文”,打开CSDN APP 阅读更贴心!
相关文章:

【linux】error: stdio.h: No such file or directory
ubuntu 默认没有C和C编译环境 ubuntu 默认没有C和C编译环境,新装的ubuntu,使用gcc编译时,会报错,找不到某某头文件等。在编译一个demo,如hello world时,会报错: error: stdio.h: No such file …

SqlParameter的用法
1。一些面例子为例:List<SqlParameter> listp new List<SqlParameter>();listp.Add(new SqlParameter("userid", userid));string sql "select * from userbooks where useriduserid";在执行sql语句时 listp.Add(new SqlParamete…

程序员如何用“撞针“拯救35亿地球人?
春节假期即将结束,有多少程序员朋友已经离开家乡在返回北上广深等工作所在城市的路上?有多少程序员已经开工大吉开始了新一年的代码征程?回首这一个春节,8 部电影在大年初一齐上线,《流浪地球》在前期预售票房远不如《…
【linux】printf在终端打印彩色hello world
代码 #include <stdio.h>#define NONE "\033[m" #define RED "\033[0;32;31m" #define GREEN "\033[0;32;32m" #define BLUE "\033[0;32;34m" #define YELLOW "\033[1;33m&qu…
看腾讯运维应对“18岁照片全民怀旧”事件的方案,你一定不后悔!
作者丨魏旸:腾讯高级工程师,15年运维经验的老专家,负责QQ空间、微云、QQ空间相册的运维工作,亲历8亿军装照、QQ空间异地多活建设等重大架构升级事件。2017年12月30日,元旦假期的第一天,你的朋友圈被18岁照片…

基于svnserve的SVN服务器(windows下安装与配置)
基于svnserve的SVN服务器(windows下安装与配置)关键字: svn 安装SVNserve 从http://subversion.tigris.org/servlets/ProjectDocumentList?folderID91得到最新版本的Subversion。 如果你已经安装了Subversion,svnserve已经运行,你需要在继续之前把它停…

【c语言】C语言配置文件解析库——iniparser
转载自:http://blog.csdn.net/u011192270/article/details/49339071 C语言配置文件解析库——iniparser前言:在对项目的优化时,发现Linux下没有专门的供给C语言使用的配置文件函数,于是搜索到了iniparser库,可以像那些…

利用java虚拟机的工具jmap分析java内存情况
2019独角兽企业重金招聘Python工程师标准>>> 有时候碰到性能问题,比如一个java application出现out of memory,出现内存泄漏的情况,再去修改bug可能会变得异常复杂,利用工具去分析整个java application 内存占用情况,然…

代码测试意味着完全消灭了Bug?
日前,一位名为 Jens Neuse 的开发者在改进其 graphql 解析库的过程中,发现词法分析器和解析器中存在很多的低效率,因此不得不重构完整的代码库(https://medium.com/jens.neuse/want-to-write-good-unit-tests-in-go-dont-panic-or…

Android系列讲座(2):为TextView组件加上边框
本文为原创,如需转载,请注明作者和出处,谢谢! 源代码Android系统本身提供的TextView组件并不支持边框,但可以对TextView进行扩展来添加边框。我们可以使用如下两种方法为TextView组件添加边框。 1. 编写一个继承TextV…

如何用Python做三阶拼图?
作者 | Ahab来源 | Ahab杂货铺(ID:AhabBin)今天是年假的最后一天,明天大家就要回到各自的工作岗位上去,公众号从今天开始恢复更新。不知道大家假期过得怎么样,帅张提到假期多关注一些家里的变化,自己也记录…

【C语言】libiniparser库使用例子,
libiniparser是C语言实现的ini文件解析库 使用实例如下 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h>#include "iniparser.h"void create_example_ini_file(void); int parse_ini_file(char * ini_nam…

laravel5.4 关于数据填充的知识
需求:大量excel表格数据 集中整理到一个规定数据表中,并且增加新字段做标记步骤:把需要整理的excel表格提前存放到mysql数据库指定的表中 ,可以用图形化工具来执行! 核心:利用laravel5.4 框架自带的填充功能…

windows 域环境应用---VNC远程协助工具的使用
域环境中,少不了远程协助工具,这可以替管理员省掉许多跑腿的事。<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />今天我就介绍一下远程协助工具中的一款real VNC.此工具有三个软件,vnc server…

从技术角度分析“抢票软件的加速”有多快?
作者 | 上海小胖来源 | Python专栏(ID:xpchuiit)大部分人在昨天前天已经回程了,不知道大家什么状态。我有2个状态并存:1.快点上班。2.继续休息。为什么会有这2种状态呢,还得从娃说起。昨天月嫂回家一天&am…

【物联网】NB-IoT简介
一、“我”是谁? NB-IoT:基于蜂窝的窄带物联网(Narrow Band Internet of Things, NB-IoT)成为万物互联网络的一个重要分支。NB-IoT构建于蜂窝网络,只消耗大约180KHz的带宽,可直接部署于GSM网络、UMTS网络或…

CES上百度无人车队炫技,陆奇要用“China speed”改变世界
本文由 「AI前线」原创,原文链接:CES上百度无人车队炫技,陆奇要用“China speed”改变世界编辑|EmilyAI 前线导读:“美国当地时间 1 月 8 日,百度在拉斯维加斯举办了主题为“AI is Changing the World, Chi…

《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(10)
《Microsoft Sql server 2008 Internals》读书笔记订阅地址: http://www.cnblogs.com/downmoon/category/230397.html/rss 《Microsoft Sql server 2008 Internals》索引目录: 《Microsoft Sql server 2008 Internal》读书笔记--目录索引 上文主要介…

小心!你的脸正在成为色情片主角……
编译丨福尔摩望本文经授权转载自 猎云网(ID:ilieyun)【导语】那的确是她的脸,但是在她不知情的情况下被无缝地移植到了别人的身体上。网络上曾出现过这样的视频:一名女子穿着粉色肩膊上衣,坐在床上…

【modbus】libmodbus库的移植与使用
一、源码下载 1、libmodbus官网 http://libmodbus.org/download/ 2、选择长期稳定版本libmodbus-3.0.6.tar.gz 下载链接:http://libmodbus.org/releases/libmodbus-3.0.6.tar.gz 3、MD5值 c80f88b6ca19cabc4ceffc195ca07771 libmodbus-3.0.6.tar.gz …

IntelliJ IDEA控制台输出中文乱码问题解决
如果还不行,那么再极端的设置,在IDEA启动的时候强制设置为UTF-8: 打开增加-Dfile.encodingUTF-8,重启Intellij IDEA 再或者直接在项目运行的时候加入UTF-8的设置 如果还是不行,那么你可能装了一个假的IDEA。

【数据库】mysql移植
一、源码下载 1、下载mysql源码 源码下载地址:选择版本:5.1.72(这是个老版本,高版本需要使用cmake) https://cdn.mysql.com/archives/mysql-5.1/mysql-5.1.72.tar.gz 历史版本下载地址 源码官网地址,在Oper…

HTML添加上传图片并进行预览
使用说明:新建文件,直接复制粘贴,保存文件为html 格式,在浏览器运行即可; 第一种: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loos…

滴滴裁员2000多人,去年亏损超百亿
作者 | 非主流出品 | AI科技大本营(ID:rgznai100)据多家媒体的消息,在今天(1 月 15 日)上午的月度全员会上,滴滴 CEO 程维宣布公司将做好过冬准备,2019年会聚焦当前最重要的出行主业,…

自己写的Treeview控件绑定数据源
首先在数据库中建表,表的格式如下id name parent_id代码如下:/// <summary>/// 添加根节点/// </summary>/// <param name"list">表的所有数据orm的List集合,object为表对应的实体对象</param>private…

【GDB】gdbserver的使用,远程调试开发板
0、将gdbserver拷贝到目标板子上 注:gdbserver在交叉编译工具目录/debug-root/usr/bin下 可用file命令查看 ------------------------------------------------------------ $ file gdbserver gdbserver: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linke…

关于javascript代码优化的8点建议
前面的话 本文将详细介绍JS编程风格的几个要点 松耦合 当修改一个组件而不需要更改其他组件时,就做到了松耦合 1、将JS从CSS中抽离:不要使用CSS表达式 //不好的做法 .box{width: expression(document.body.offsetWidth ’px)} 2、将CSS从JS中抽离&#…

英伟达Q4净利同比降49%,还能继续躺赚吗?
图片来自英伟达官网整理 | 非主流出品 | AI科技大本营(ID:rgznai100)北京时间 2 月 15 日凌晨消息,英伟达公布了 2019 财年第四季度及全年财报。报告显示,英伟达第四季度营收为 22.05 亿美元,与上年同期的 29.11 亿美元…

管理磁盘和文件系统
管理磁盘和文件系统 实验案例一:迁移/home分区并设置磁盘配额 实验环境 公司原来安装的rhel5服务器采用了自动分区的方案,随着使用服务器的系统用户数量不断增多,根分区经常面临磁盘空间耗尽的情况,偶尔有几次还导致系统无法启动。…