md5与des算法有何不同_到底AI芯片和传统芯片有何区别?

f8032b541733e7fbdb2780f63ec0b8b3.png

前两天成立仅两年国内专做人工智能FPGA加速算法的初创公司深鉴科技被国际巨头赛灵思收购了,在业界引起不小的震动。目前国内做AI芯片的公司可谓不少了,AI芯片已然成为了当下芯片行业最热领域。但是大部分人对AI芯片的架构应该都不是太了解。

那么AI 芯片和传统芯片有何区别?AI芯片的架构到底是怎么样的?带着这个疑问小编搜集到了来自知乎上的一些业内行家的观点,现在整理转发给大家。先回答问题:

  • 性能与传统芯片,比如CPU、GPU有很大的区别。在执行AI算法时,更快、更节能。
  • 工艺没有区别,大家都一样。至少目前来看,都一样。

所谓的AI芯片,一般是指针对AI算法的ASIC(专用芯片)。传统的CPU、GPU都可以拿来执行AI算法,但是速度慢,性能低,无法实际商用。

比如,自动驾驶需要识别道路行人红绿灯等状况,但是如果是当前的CPU去算,那么估计车翻到河里了还没发现前方是河,这是速度慢,时间就是生命。如果用GPU,的确速度要快得多,但是,功耗大,汽车的电池估计无法长时间支撑正常使用,而且,老黄家的GPU巨贵,经常单块上万,普通消费者也用不起,还经常缺货。另外,GPU因为不是专门针对AI算法开发的ASIC,所以,说到底,速度还没到极限,还有提升空间。而类似智能驾驶这样的领域,必须快!在手机终端,可以自行人脸识别、语音识别等AI应用,这个必须功耗低,所以GPU OUT!开发ASIC就成了必然。

说说,为什么需要AI芯片。AI算法,在图像识别等领域,常用的是CNN卷积网络,语音识别、自然语言处理等领域,主要是RNN,这是两类有区别的算法。但是,他们本质上,都是矩阵或vector的乘法、加法,然后配合一些除法、指数等算法。

一个成熟的AI算法,比如YOLO-V3,就是大量的卷积、残差网络、全连接等类型的计算,本质是乘法和加法。对于YOLO-V3来说,如果确定了具体的输入图形尺寸,那么总的乘法加法计算次数是确定的。比如一万亿次。(真实的情况比这个大得多的多)

那么要快速执行一次YOLO-V3,就必须执行完一万亿次的加法乘法次数。

这个时候就来看了,比如IBM的POWER8,最先进的服务器用超标量CPU之一,4GHz,SIMD,128bit,假设是处理16bit的数据,那就是8个数,那么一个周期,最多执行8个乘加计算。一次最多执行16个操作。这还是理论上,其实是不大可能的。

那么CPU一秒钟的巅峰计算次数=16* 4Gops =64Gops。这样,可以算算CPU计算一次的时间了。同样的,换成GPU算算,也能知道执行时间。因为对GPU内部结构不熟,所以不做具体分析。

再来说说AI芯片。比如大名鼎鼎的谷歌的TPU1。TPU1,大约700M Hz,有256X256尺寸的脉动阵列,如下图所示。一共256X256=64K个乘加单元,每个单元一次可执行一个乘法和一个加法。那就是128K个操作。(乘法算一个,加法再算一个)。

e72c992beaf4acdfca151e809b3808ac.png

另外,除了脉动阵列,还有其他模块,比如激活等,这些里面也有乘法、加法等。

所以,看看TPU1一秒钟的巅峰计算次数至少是=128K X 700MHz=89600Gops=大约90Tops。

对比一下CPU与TPU1,会发现计算能力有几个数量级的差距,这就是为啥说CPU慢。

当然,以上的数据都是完全最理想的理论值,实际情况,能够达到5%吧。因为,芯片上的存储不够大,所以数据会存储在DRAM中,从DRAM取数据很慢的,所以,乘法逻辑往往要等待。另外,AI算法有许多层网络组成,必须一层一层的算,所以,在切换层的时候,乘法逻辑又是休息的,所以,诸多因素造成了实际的芯片并不能达到利润的计算峰值,而且差距还极大。

可能有人要说,搞研究慢一点也能将就用。目前来看,神经网络的尺寸是越来越大,参数越来越多,遇到大型NN模型,训练需要花几周甚至一两个月的时候,你会耐心等待么?突然断电,一切重来?曾经动手训练一个写小说的AI,然后,一次训练(50轮)需要大约一天一夜还多,记得如果第一天早上开始训练,需要到第二天下午才可能完成,这还是模型比较简单,数据只有几万条的小模型呀。

修改了模型,需要几个星期才能知道对错,确定等得起?突然有了TPU,然后你发现,吃个午饭回来就好了,参数优化一下,继续跑,多么爽!

计算速度快,才能迅速反复迭代,研发出更强的AI模型。速度就是金钱。

GPU的内核结构不清楚,所以就不比较了。肯定的是,GPU还是比较快的,至少比CPU快得多,所以目前大多数都用GPU,这玩意随便一个都能价格轻松上万,太贵,而且,功耗高,经常缺货。不适合数据中心大量使用。

总的来说,CPU与GPU并不是AI专用芯片,为了实现其他功能,内部有大量其他逻辑,而这些逻辑对于目前的AI算法来说是完全用不上的,所以,自然造成CPU与GPU并不能达到最优的性价比。

谷歌花钱研发TPU,而且目前已经出了TPU3,用得还挺欢,都开始支持谷歌云计算服务了,貌似6点几美元每小时吧,不记得单位了,懒得查。可见,谷歌觉得很有必要自己研发TPU。

目前在图像识别、语音识别、自然语言处理等领域,精度最高的算法就是基于深度学习的,传统的机器学习的计算精度已经被超越,目前应用最广的算法,估计非深度学习莫属,而且,传统机器学习的计算量与 深度学习比起来少很多,所以,我讨论AI芯片时就针对计算量特别大的深度学习而言。毕竟,计算量小的算法,说实话,CPU已经很快了。而且,CPU适合执行调度复杂的算法,这一点是GPU与AI芯片都做不到的,所以他们三者只是针对不同的应用场景而已,都有各自的主场。

至于为何用了CPU做对比?

而没有具体说GPU。是因为,我说了,我目前没有系统查看过GPU的论文,不了解GPU的情况,故不做分析。因为积累的缘故,比较熟悉超标量CPU,所以就用熟悉的CPU做详细比较。而且,小型的网络,完全可以用CPU去训练,没啥大问题,最多慢一点。只要不是太大的网络模型。

那些AI算法公司,比如旷世、商汤等,他们的模型很大,自然也不是一块GPU就能搞定的。GPU的算力也是很有限的。

至于说CPU是串行,GPU是并行

没错,但是不全面。只说说CPU串行。这位网友估计对CPU没有非常深入的理解。我的回答中举的CPU是IBM的POWER8,百度一下就知道,这是超标量的服务器用CPU,目前来看,性能已经是非常顶级的了,主频4GHZ。不知是否注意到我说了这是SIMD?

这个SIMD,就代表他可以同时执行多条同样的指令,这就是并行,而不是串行。单个数据是128bit的,如果是16bit的精度,那么一周期理论上最多可以计算八组数据的乘法或加法,或者乘加。这还不叫并行?只是并行的程度没有GPU那么厉害而已,但是,这也是并行。

不知道为啥就不能用CPU来比较算力?

有评论很推崇GPU。说用CPU来做比较,不合适。GPU本来是从CPU中分离出来专门处理图像计算的,也就是说,GPU是专门处理图像计算的。包括各种特效的显示。这也是GPU的天生的缺陷,GPU更加针对图像的渲染等计算算法。但是,这些算法,与深度学习的算法还是有比较大的区别,而我的回答里提到的AI芯片,比如TPU,这个是专门针对CNN等典型深度学习算法而开发的。另外,寒武纪的NPU,也是专门针对神经网络的,与TPU类似。

谷歌的TPU,寒武纪的DianNao,这些AI芯片刚出道的时候,就是用CPU/GPU来对比的。

看看,谷歌TPU论文的摘要直接对比了TPU1与CPU/GPU的性能比较结果,见红色框:

3b3de35ccd718e167ecfbe5dd44daf13.png

这就是摘要中介绍的TPU1与CPU/GPU的性能对比。再来看看寒武纪DianNao的paper,摘要中直接就是DianNao与CPU的性能的比较,见红色框:

516ad7a0b667b5b2d3cc761ed3b3af79.png

回顾一下历史

上个世纪出现神经网络的时候,那一定是用CPU计算的。

比特币刚出来,那也是用CPU在挖。目前已经进化成ASIC矿机了。比特大陆了解一下。

从2006年开始开启的深度学习热潮,CPU与GPU都能计算,发现GPU速度更快,但是贵啊,更多用的是CPU,而且,那时候GPU的CUDA可还不怎么样,后来,随着NN模型越来越大,GPU的优势越来越明显,CUDA也越来越6,目前就成了GPU的专场。

寒武纪2014年的DianNao(NPU)比CPU快,而且更加节能。ASIC的优势很明显啊。这也是为啥要开发ASIC的理由。

至于说很多公司的方案是可编程的,也就是大多数与FPGA配合。你说的是商汤、深鉴么?的确,他们发表的论文,就是基于FPGA的。

这些创业公司,他们更多研究的是算法,至于芯片,还不是重点,另外,他们暂时还没有那个精力与实力。FPGA非常灵活,成本不高,可以很快实现架构设计原型,所以他们自然会选择基于FPGA的方案。不过,最近他们都大力融资,官网也在招聘芯片设计岗位,所以,应该也在涉足ASIC研发了。

如果以FPGA为代表的可编程方案真的有巨大的商业价值,那他们何必砸钱去做ASIC?

说了这么多,我也是半路出家的,因为工作需要而学习的。按照我目前的理解,看TPU1的专利及论文,一步一步推导出内部的设计方法,理解了TPU1,大概就知道了所谓的AI处理器的大部分。

然后研究研究寒武纪的一系列论文,有好几种不同的架构用于不同的情况,有兴趣可以研究一下。然后就是另外几个独角兽,比如商汤、深鉴科技等,他们每年都会有论文发表,没事去看看。这些论文,大概就代表了当前最先进的AI芯片的架构设计了。

当然,最先进,别人肯定不会公开,比如谷歌就不曾公开关于TPU2和TPU3的相关专利,反正我没查到。不过,没事,目前的文献已经代表了最近几年最先进的进展了。

作者: 汪鹏

来源: 知乎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427520.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BlueTooth 蓝牙音频音质探讨

蓝牙音频音质探讨简介:本文简单介绍了蓝牙无线音频技术 A2DP,并从技术角度探讨其音质。1. 蓝牙 A2DP 简介我们先从蓝牙核心规范说起,目前支持最广泛的蓝牙 2.0/2.1 EDR 连接速率为 3Mbit/s,实际可用数据传输速率为 2.1Mbit/s。蓝…

Active Directory PowerShell模块收集AD信息

0x00 前言简介 Microsoft为Windows Server 2008 R2(以及更高版本)提供了多个Active Directory PowerShell cmdlet,这大大简化了以前需要将涉及到的ADSI冗长代码行放在一起的任务。 在Windows客户端上,需要安装远程服务器管理工具&…

anaconda对应python版本_Python基础——如何查看python版本、如何查看多个python版本

前言初学者来说,安装python过程是存在一定难度的。在安装过程中,可能安装了多个python版本,可能安装了anaconda导致有自带的python,同时本身电脑也安装了官方下载的python也茫然不知。导致可能有以下情况发生:1.pip in…

MATLAB统计与回归

11.1 前言統計的技巧與資料分析常常形影不離。一般統計使用加法、累加法、平均值,中間值等等,由於處理的對象是矩陣資料,故其基本統計之技巧已經廣為應用,其觀念也會在正常之運作中出現。統計學中比較特殊應用者為機率、亂數、常態…

如何快速理解读懂他人代码(下)——技巧学习篇

四、望文生义,进而推敲组件的作用 先建立系统的架构性认识,然后透过名称及命名惯例,就可以推测出各组件的作用。例如:当Winamp尝试着初始化一个Plug-In时,它会呼叫这个结构 中的init函式,以便让每个Plug-I…

yii2通过url访问类中的方法_每日学点---nginx变量使用方法详解(3)

也有一些内建变量是支持改写的,其中一个例子是 $args. 这个变量在读取时返回当前请求的 URL 参数串(即请求 URL 中问号后面的部分,如果有的话 ),而在赋值时可以直接修改参数串。我们来看一个例子:location /test { set $orig_args…

GOOGLE HACKING 系列文章 【FreeXploiT整理收集】

本文涉及作者 swap(慕容小雨),zhaohuan(Xfocus),snipe(4ngel)信息安全的隐患-GoogleHacking原理和防范作者:zhaohuanphack.org 来源:www.phack.org技术天地&a…

Openldap命令详解

Openldap 客户端常用管理命令 1、ldapadd -x: 简答认证方式-W: 不需要在命令上写密码 ldapapp -x -D "cnManager,dcsuixingpay,dccom" -W-w: password 需要命令上指定密码 ldapapp -x -D "cnManager,dcsuixingpay,dccom" -w 123456-H: 通过ldapapi-h: host…

用python画六瓣雪花_python-turtle-画雪花-2种方法及效果的详解

#python3.8#xuguojun#2020.1.30#导出模块,这样导出比代码较简洁,但是注意r和后面RGB的r,所以我改为d代替R(r) importturtle as timportrandom as r#绘制雪花 s30 #定义30个 defsnow(s): t.ht()#hthideturtle&#xff0…

2018年高考游记

2018年高考游记 在前言之前: 这篇文章已经写十几天吧 有心情时偶尔写上几段 也不知道自己抱着什么心态了,是留下一点回忆,还是给看得人启迪,还是...... 反正是要写出点东西来的 凡是现实的都是合乎理性的,凡是合乎理性…

小白学python需要多久_小白学Python | 你还在说你入不了门吗

收藏的好多啊 原创不易,动动小手,点个赞啦!! 十二月份,天气有时候会很阴沉,一天都见不到太阳。气温也慢慢变冷了,晚上回家还是会感觉到衣服穿少了。 阴阴沉沉总会过去的,我还是期待阳…

欧美剧集观看最佳索引 【2006-9-24更新】

allyesno:我在上两个月说要做一个美剧的网站 由于最近公司的事情一直很繁忙 我没有时间去做自己都积累了一大堆 美剧 日剧 恐怖片 没看 两个电脑的硬盘都塞的满满的 呵呵真是 天长地久有时尽,此恨绵绵无绝期。 哈哈~ 我现在正在构思 是不是把美剧网站列入公司的发展…

python语言format用法_详解Python中的format格式化函数的使用方法

format函数实现字符串格式化的功能 基本语法为: 通过 : 和 {} 来控制字符串的操作 一、对字符串进行操作 1. 不设置指定位置,按默认顺序插入 ①当参数个数等于{}个数的时候 str_1 "小明{}小美,可是小美{}小明".format("喜欢", &quo…

如何提高英文的科研写作能力

作为一个科研工作者,在国际学术期刊上发表科研论文是与同行交流、取得国际影响的必经之路。有些国内的科学家,实验做得很漂亮,但常常苦恼于论文的写作力不从心,成为国际交流的一大障碍。本文从博主的亲身体验出发,给博…

电子书专题

EXE电子书与垃圾 作者:马健邮箱:stronghorsetom.com主页:http://stronghorse.yeah.net 目前EXE格式的电子书在网络上比较流行,制作工具五花八门,eBook Workshop和eBook Edit Pro是其中比较流行的两个。但是又有多少人知…

python变量标识符_python中的变量和标识符

字面量: 就是一个一个的值,如1、2、3、‘hello’,就是它自己本身表达的字面值、字面意思,在程序中可以直接使用。 变量(variable): 可以用来保存字面量,变量本身没有任何意思&#x…

Slimming Down Windows XP The Complete Guide 【 10章完整版 】

网上有一个汉化好的 压榨XP手册 是基于他的汉化版 现在我贴出的是英文原版你还可以向作者捐献15$以便获得一个自动优化XP的脚本原文:http://www.bold-fortune.com/forums/index.php?showforum13Thanks go out to Fred Langa for his acknowledgment of Slimming Do…

ps安装了可以打开但开始里面找不到_PS2018打开了钢笔压力但却没有压感的解决方法...

1.首先应确定是否安装数位板的驱动,如果驱动出现问题也可以试着重装一下。2.(这里以Photoshop CC 2018为例)接下来检查这个“始终对‘大小’使用‘压力’”按钮是否打开,如果是关闭的,试着打开。3.随后F5进入“画笔”选…

P3938 斐波那契

坑爹入口 我们想一下&#xff0c;第几个生的。那他的孩子就是排在新一波出生的第几个上的。 然后我们通过瞎试得到。10^12<斐波那契的第60项。就是说我们不用建图&#xff08;也建不下&#xff09;&#xff0c;每次最多60次暴力就可以了。 出题人真是个人才。 #include<c…

t检验的p值对照表_论文数据分析实战 | 如何对汇总数据进行t检验

在SPSS统计分析交流群中有学员在阅读论文的过程中看到下面的这张表格&#xff1a;这张表中记录了第16届世界男子篮球锦标赛中国队与前8名球队进攻指标比较的结果&#xff0c;其中这份表格并没有给出详细的P值&#xff0c;而只是告诉我们P值小于多少。在这种只有汇总数据&#x…