Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【深度】AI 时代,谷歌 TPU 难以颠覆 GPU 市场优势

【深度】AI 时代,谷歌 TPU 难以颠覆 GPU 市场优势

作者头像
新智元
发布于 2018-03-22 08:28:48
发布于 2018-03-22 08:28:48
1K0
举报
文章被收录于专栏:新智元新智元

【新智元导读】智能时代芯片市场格局一变再变,上周谷歌推出 TPU 引发新的讨论,谁将领跑芯片市场?TPU 仅供谷歌内部使用;IBM TrueNorth 离商用还有距离;中国的寒武纪是国际首个深度学习专用处理器,市场表现值得期待;概率芯片以微小计算精度为代价实现能耗降低,是芯片市场一匹黑马;FPGA 凭其性价比有望占领市场;目前 GPU 用户覆盖率最广。

智能时代就要到来,芯片市场格局一变再变。两个典型例子:引领处理器市场 40 多年的英特尔 2015 年底收购完 Altera,今年 4 月就宣布计划裁员 1.2 万;另一方面,GPU 巨头英伟达今年 3 月推出加速人工智能和深度学习芯片 Tesla P100,投入研发经费超过 20 亿美元,据《华尔街日报》报道,5 月英伟达售出的 GPU 比去年同月增长 62%,当前市值 240 亿美元。

随着人工智能尤其是机器学习应用大量涌现,处理器市场群雄争霸。芯片厂商纷纷推出新的产品,都想领跑智能时代——但问题是,谁会担当这个角色呢?

TPU:始于谷歌,终于谷歌

要说新的芯片,首先不得不提谷歌在刚刚结束的 I/O 大会上披露的 TPU

有不舆论称,谷歌自己打造芯片,势必对芯片制造商产生巨大影响。确实,面向机器学习专用的处理器是芯片行业的发展趋势,而且未来其他大公司也很有可能组建芯片团队,设计自己专用的芯片。

TPU 团队主要负责人、计算机体系结构领域大牛 Norm Jouppi 介绍,TPU 专为谷歌机器学习应用 TensorFlow 打造,能够降低运算精度,在相同时间内处理更复杂、更强大的机器学习模型并将其更快地投入使用。 Jouppi 还表示,谷歌数据中心早在一年前就开始使用 TPU,这款谷歌定制芯片从测试到量产不到 22 天,其性能把摩尔定律往前推进到 7 年。

不过,GPU 巨头、英伟达的 CEO 黄仁勋告诉《华尔街日报》,两年前谷歌就意识到 GPU 更适合训练,而不善于做训练后的分析决策。由此可知,谷歌打造 TPU 的动机只是想要一款更适合做分析决策的芯片。这一点在谷歌的官方声明里也得到印证,TPU 只在特定应用中作为辅助使用,公司将继续使用 CPU 和 GPU。

谷歌云服务副总裁 Diane Greene 也表示,谷歌并没有对外销售 TPU 的打算——抛开 TPU 本来就是为了谷歌自己设计的这个事实以外,谷歌对外销售芯片的可能性很低,就像 Facebook 主张全球提供免费互联网,也并不是自己要做运营商

因此,TPU 虽好,但仅限谷歌内部,而且在近未来即便使用 TPU,也是用作辅助 CPU 和 GPU。

TrueNorth 坐山观虎斗?

第二个要说的是 IBM TrueNorth。IBM 在 2014 年研发出脉冲神经网络芯片 TrueNorth,走的是“类脑计算”路线。类脑计算的假设是,相似的结构可能会出现相似的功能,所以类脑计算研究者用神经电子元件制造与人脑神经网络相似的电子神经网络,希望其实现人脑功能,并进一步反过来了解人类智能。

TrueNorth 一张邮票大小,有 54 亿个晶体管,构成的神经元阵列包含 100 万个数字神经元,这些神经元之间通过 2.56 亿个电突触彼此通信。由于采用了异步架构,TrueNorth 的能耗很低,54 亿个晶体管仅用 70 毫瓦;而且,只有在特定神经元被开启并和其他神经元进行通信时才会产生能耗。TrueNorth 设计师 Filipp Akopyan 表示,TrueNorth 的目标是 Edge-of-the-Net 和大数据解决方案,所以必须要能用超低功耗实时处理大量数据。

在此基础上,2016年 4 月 IBM 推出了用于深度学习的类脑超级计算平台 IBM TrueNorth,含 16 个 TrueNorth 芯片,处理能力相当于 1600 万个神经元和 40 亿个神经键,消耗的能量只需 2.5 瓦。

将低能耗芯片用于深度学习无疑是一大重举,美国 LLNL 数据科学副主任 Jim Brase 表示,类脑计算与未来高性能计算和模拟发展趋势一致。但是,新智元芯片群的几位专家讨论后一致认为,TrueNorth 虽然与人脑某些结构和机理较为接近,但智能算法的精度或效果有待进一步提高,离大规模商业应用还有一段距离。

因此,未来 10 年芯片市场群雄逐鹿,TrueNorth 大概不会有亮相的机会。

寒武纪:中国的智能芯片

寒武纪是国际首个深度学习专用处理器,在国际上开创了深度学习处理器方向。从寒武纪研究论文产业化起,新智元一直有跟进报道。2015 年新智元“3·27”大会,寒武纪 CEO 陈天石作为新智元人工智能创业家特邀嘉宾发表演讲,表示寒武纪要成为“支撑起中国智能时代的伟大芯片公司”。

2012 年,还在中科院计算所工作的陈天石和同事提出了国际上首个人工神经网络硬件的基准测试集 benchNN。这项工作提升了人工神经网络处理速度,有效加速了通用计算,大大推动了国际体系结构学术圈对神经网络的接纳度。此后,陈云霁、陈天石课题组接连推出了一系列不同结构的“寒武纪”神经网络专用处理器。

2016 年 3 月,陈云霁、陈天石课题组提出的寒武纪深度学习处理器指令集 DianNaoYu 被计算机体系结构领域的顶级国际会议 ISCA 2016 接收,在所有近 300 篇投稿中排名第一。指令集是计算机软硬件生态体系的核心。英特尔和 ARM 正是通过其指令集控制了 PC 和嵌入式生态体系。

寒武纪在深度学习处理器指令集上的开创性进展,为中国占据智能产业生态的领导性地位提供了技术支撑。其市场表现如何,值得期待。

后起之秀概率芯片

2016 年 4月16 日,MIT Techonolgy Review 报道,DARPA 投资了一款叫做“S1”的概率芯片。模拟测试中,使用 S1 追踪视频里的移动物体,每帧处理速度比传统处理器快了近 100 倍,而能耗还不到传统处理器的 2%。MIT 媒体实验室教授、Twitter 首席媒体科学家 Deb Roy 评论称,近似计算的潮流正在兴起。

美国 Singular Computing 公司开发的“S1”概率芯片,获得 DARPA 投资,能够让计算机更好地分析图像。来源:MIT Techonolgy Review

纽约州立大学石溪分校终身教授顾险峰从最基础的数学层面分析了概率芯片的优点,专用概率芯片可以发挥概率算法简单并行的特点,极大提高系统性能。概率芯片所使用的随机行走概率方法有很多优点:算法逻辑异常简单,不需要复杂的数据结构,不需要数值代数计算;计算精度可以通过模拟不同数目的随机行走自如控制;不同的随机行走相互独立,可以大规模并行模拟;模拟过程中,不需要全局信息,只需要网络的局部信息。

顾险峰最后总结,依随着英特尔重组,传统 CPU 体系机构独霸江山的时代将一去不复返,概率芯片和其他更多采用全新架构的专用处理器分庭抗礼的时代即将来临!

早在 2008 年 MIT Techonolgy Review “十大科技突破”预测中,概率芯片就榜上有名。通过牺牲微小的计算精度,换取能耗明显降低,概率芯片在历来追求精准的芯片领域独树一帜。考虑到 DARPA 投资 S1,概率芯片很可能后来居上。

实力股 FPGA

2012年,百度决定自主设计深度学习专有的体系结构和芯片,经过深入研究和论证,为让项目快速落地及迭代,工程师最后决定使用 FPGA 实现百度第一版自主设计的深度学习专有芯片。

作为 GPU 在算法加速上强有力的竞争者,FPGA 硬件配置灵活且单位能耗通常比 GPU 低。更重要的是,FPGA 相比 GPU 价格便宜。但是,使用 FPGA 需要具体硬件的知识,而许多研究者和应用科学家并不具备,因此 FPGA 常被视为一种行家专属的架构。

加州大学计算机博士刘少山认为,FPGA 具有低能耗、高性能以及可编程等特性,十分适合感知计算。在能源受限的情况下,FPGA 相对于 CPU 与 GPU 有明显的性能与能耗优势。此外,感知算法不断发展意味着感知处理器需要不断更新,FPGA 具有硬件可升级、可迭代的优势。由于 FPGA 的低能耗特性,FPGA 很适合用于传感器的数据预处理工作。可以预见,FPGA 与传感器的紧密结合将会很快普及。而后随着视觉、语音、深度学习的算法在 FPGA 上的不断优化,FPGA 将逐渐取代 GPU 与 CPU 成为机器人上的主要芯片。

目前,还没有任何深度学习工具明确支持 FPGA,但显然它是支实力股。

GPU:未来市场霸主?

凭借强大的并行计算能力,在机器学习快速发展的推动下,GPU 目前在深度学习芯片市场非常受欢迎,大有成为主流的趋势。互联网巨头,比如谷歌、Facebook、微软、Twitter 和百度等公司都在使用 GPU 分析图片、视频和音频文件,改进搜索和图像标签等应用功能。GPU 也被大量应用于 VR/AR 相关产业。此外,很多汽车生产商也在使用 GPU 芯片发展无人车,主要是用于传感器。可以说,GPU 是眼下智能产品市场用户覆盖率最广泛的芯片。

半导体研究公司 Tractica LLC 预计,到 2024 年深度学习项目在 GPU 上的花费将从 2015 年的 4360 万增长到 41 亿美元,在相关软件上的花费将从 1.09 亿增长到 104 亿。

但也有人认为,通用芯片 GPU 相比深度学习专用芯片并不具有优势。

这有一定道理,但设计新的芯片需要很多年,研发成本可能高达数千万甚至数亿美元。而且,专用芯片比通用芯片更难编程,最重要的是,专用芯片——根据定义——只提升特定任务的性能表现,这也是为什么谷歌要设计 TPU 辅助 GPU 和 CPU。

英伟达工程架构副总裁 Marc Hamilton 在接受新智元采访时表示,谷歌的 TPU 是一个非常有意思的技术,但 TPU 的发布进一步印证了他们的观点,那就是人工智能处理器将继续从通用的 CPU 转向 GPU 和 TPU 等其他芯片。此外,GPU 的技术也在不断发展。

Hamilton 还提到了百度人工智能科学家 Bryan Catanzaro 的话:深度学习并不是一个那么窄的领域,从计算角度看,深度学习多样化而且演化迅速;要是制造一款适用于所有深度学习的专用芯片,本质上也就成了 GPU。

当然,GPU 也不乏竞争者。除了 AMD,Nervana、Movidius 等公司都在模仿 GPU 的并行计算能力制作芯片,但是着眼于把数据更快转移和分摊给图像所需要的功能。

永远有更多的选择

除了采用其他架构,研究人员很早就开始探索使用新材料制作芯片。2015 年,三星、Gobal Foundries、IBM 和纽约州立大学等机构组成的研究联盟推出了一个 7 纳米的微芯片,其晶体管大约一半都由硅 - 锗(SiGe)合金制成。石墨烯也是芯片研发一个重点。机器学习加速新材料发现,也意味着使用新材料制作的芯片出现几率大大提高。

总之,谷歌自己打造 TPU 预示着未来更多非半导体公司或许也将开始生产硬件;硬件制造商必须不断改进自己的产品,贴近用户越来越多样化的需求。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-05-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python中的chdir函数:更改工作目录利器
在Python中,`chdir`是一个内置函数,用于更改当前工作目录。今天就给大家简单介绍一下该函数的用法和一些注意事项,一起来学习一下吧。
华科云商小彭
2023/10/07
6380
Python中的chdir函数:更改工作目录利器
python进入文件目录 命令_python创建目录
Python可以使用os.chdir()方法转到指定目录。os.chdir() 方法用于改变当前工作目录到指定的路径。
全栈程序员站长
2022/09/27
4K0
python-获取当前工作路径
sys.argv[0] import sys print sys.argv[0]#获得的是当前执行脚本的位置(若在命令行执行的该命令,则为空) 运行结果(在python脚本中执行的结果): F:/SEG/myResearch/myProject_2/test.py os模块 import os print os.getcwd()#获得当前工作目录 print os.path.abspath('.')#获得当前工作目录 print os.path.abspath('..')#获得当前工作目录的父
py3study
2020/01/10
3.3K0
【Python让生活更美好01】os与shutil模块的常用方法总结
Python作为一种解释型的高级语言,脚本语言,又被称作“胶水语言”,就是因为其灵活的语法和其依靠浩如烟海的第三方包实现的丰富多彩的功能,而os和shutil就是这样一种功能强大的模块,可以非常快捷地帮助使用者解决日常计算机文件相关操作的一些问题,下面就对os和shutil包中一些常见的命令进行说明: import os,shutil os.getcwd()#获取当前工作目录 os.chdir('newdir')#改变当前工作目录 os.mkdir('test')#在当前工作目录下生成单级文件夹 o
Feffery
2018/04/17
7692
python 获取当前目录和文件
import os print os.getcwd() #获取当前工作目录路径 print os.path.abspath('.') #获取当前工作目录路径 print os.path.abspath('test.txt') #获取当前目录文件下的工作目录路径 print os.path.abspath('..') #获取当前工作的父目录 !注意是父目录路径 print os.path.abspath(os.curdir) #获取当前工作目录路径
用户5760343
2019/07/05
3.8K0
python os模块 --- 操作系统接口模块
1.OS模块下的常见函数 # os模块 # os.sep:取代操作系统特定的路径分隔符 # os.getcwd:得到当前工作目录,即当前python脚本工作的目录路径。 # os.getenv()和os.putenv:分别用来读取和设置环境变量 # os.listdir():返回指定目录下的所有文件和目录名 # os.remove(file):删除一个文件 # os.stat(file):获得文件属性 # os.mkdir(name):创建目录 # os.rmdir(name):删除目录 # os.exit
诡途
2020/10/16
6260
python之OS模块(对文件or目录操
  os,语义为操作系统,包含普遍的操作系统功能,与具体的平台无关。python编程时,处理文件和目录这些操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小……
py3study
2020/01/09
6770
Python基础教程(十四):OS 文件/目录方法
💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝💝💝如有需要请大家订阅我的专栏【Python系列】哟!我会定期更新相关系列的文章 💝💝💝关注!关注!!请关注!!!请大家关注下博主,您的支持是我不断创作的最大动力!!!
用户11147438
2024/06/14
1680
Python基础语法-内置函数和模块-os模块
os 模块提供了一些函数来与操作系统进行交互,比如获取当前工作目录、创建目录、删除目录、重命名文件等等。在本文中,我们将详细介绍 os 模块的常用函数。
玖叁叁
2023/04/18
3190
python模块—os
    OS模块也是我们平时工作中很常用到的一个模块,通过os模块调用系统命令,获得路劲,获取操作系统的类型等都是使用该模块。
py3study
2020/01/13
1.1K0
python之获取文件os模块
  Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。下面我们来介绍一下python的文件os模块相关知识。
jiankang666
2022/12/05
4490
python之获取文件os模块
Python绝对路径和相对路径详解
每个运行在计算机上的程序,都有一个“当前工作目录”(或 cwd)。所有没有从根文件夹开始的文件名或路径,都假定在当前工作目录下。
用户8442333
2021/11/30
3.5K0
Python修改文件后缀名[通俗易懂]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
6.2K0
python 如何查看与更换工作目录
# -*- coding: utf-8 -*- #导入OS包 import os #os.getcwd()查看当前目录 print('\n当前目录位置:') print(os.getcwd()) #os.chdir修改目录 os.chdir("E:\python_py\python1_learn") print('\n修改后目录位置:') print(os.getcwd())
学到老
2019/02/14
9200
python学习_24(目录)
os.curdir 返回当前目录 >>> os.curdir '.' os.pardir 返回当前目录的父目录 >>> os.pardir '..' #切换到上级目录 >>> os.chdir(os.pardir) >>> os.getcwd() 'E:\\' os.getcwd() 获取当前工作目录 >>> os.getcwd() 'E:\\' >>> os.chdir("个人") >>> os.getcwd() 'E:\\个人' os.chdir(path) 切换到指定工作目录 >>> os.c
py3study
2020/01/14
6230
(三十九) 初遇python之Context Managers上下文管理器
各位读者大大们大家好,今天学习python的Context Managers上下文管理器,并记录学习过程欢迎大家一起交流分享。
XXXX-user
2019/07/23
5710
(三十九) 初遇python之Context Managers上下文管理器
小朋友学Python(18):目录
Python的os模块有许多方法能帮你创建,删除和更改目录。 一、创建目录 mkdir()方法 可以使用os模块的mkdir()方法在当前目录下创建新的目录们。你需要提供一个包含了要创建的目录名称的参数。 语法: os.mkdir("dirname") 例1:在当前目录下创建一个新目录testdir import os os.mkdir("testdir") 二、获取当前目录 getcwd()方法 getcwd()方法显示当前的工作目录。 语法: os.getcwd() 注意,这里cwd是current w
海天一树
2018/04/17
6670
Python-os-01-获取当前文件所在文件夹路径
系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2
zishendianxia
2019/10/23
1.5K0
python3基础:目录操作
os模块提供了统一的操作系统接口函数,python中对文件和文件夹的操作都要涉及到os和shutil模块,在使用前需要使用import引入,例如;
py3study
2020/01/09
1.3K0
Python3目录操作
输出: 'D:\python\jupyter' 'D:\python' ['.ipynb_checkpoints', 'bak', 'jupyter', 'project', 'test.txt', 'testdir', 'Untitled.ipynb', ]
py3study
2020/01/03
7960
相关推荐
Python中的chdir函数:更改工作目录利器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档