AI算力基础 -- TPU1.0
阅读总结
Google的TPU是AI_ASIC芯片的鼻祖,从论文的作者数量之庞大,及论文少有的出现了致谢,就可以看出一定是历经了一番磨砺才创造出来。该论文发表在 2017 年,让我们回到那个年代,一同看看是什么样的背景诞生了如此伟大的艺术品~
《In-Datacenter Performance Analysis of a Tensor Processing Unit》
To appear at the 44th International Symposium on Computer Architecture (ISCA), Toronto, Canada, June 26, 2017.
1. 通往TPU之路
早在2006年,Google就在考虑为神经网络构建一个专用集成电路(ASIC)。2013年这个需求变得更加紧迫,当时Google意识到快速增长的计算需求,可能意味着数据中心的数量需要翻番才能满足。
通常而言,ASIC的开发需要耗时数年。但具体到TPU而言,从设计到验证、构建和部署到数据中心里,只需要15个月。
TPU ASIC采用了28nm工艺制造,主频700MHz,功耗40W。为了尽快把TPU部署到现有的服务器中,Google选择把这个芯片打包成外部扩展加速器,然后插到SATA硬盘插槽里使用。所以TPU通过PCIe Gen3 x16总线与主机相连,也就是说12.5GB/s的有效带宽。
Abstract
> 1.Deployed in datacenters.
2.Accelerates the inference phase of neural networks (NN).
3.The heart of the TPU is a 65,536 8-bit MAC matrix multiply unit that offers a peak throughput of 92 TeraOps/second (TOPS) and a large (28 MiB) software-managed on-chip memory.
4.We compare the TPU to a server-class Intel Haswell CPU and an Nvidia K80 GPU, which are contemporaries deployed in the same datacenters
摘要:
– Many architects believe that major improvements in cost-energy-performance must now come from domain-specific hardware.
本文评估了自2015年以来部署在数据中心的定制专用集成电路——称为张量处理单元(Tensor processing Unit, TPU),该集成电路可加速神经网络(NN)的推理阶段。TPU的核心是一个65,536个8位MAC矩阵相乘单元,提供了92 TeraOps/秒(TOPS)的峰值吞吐量和一个大(28 MiB)的软件管理片上存储器。
TPU的确定性执行模型比cpu和gpu的时变优化更符合我们的NN应用程序的99%响应时间要求 (缓存、乱序执行、多线程、多处理、预取……) 这些都有助于提高平均吞吐量,而不是保证延迟。
缺乏这样的功能有助于解释为什么尽管拥有无数的mac和大内存,TPU却相对较小和低功耗。我们将TPU与服务器级的Intel Haswell CPU和 Nvidia K80 GPU,部署在相同的数据中心。
我们的工作量,写在高层TensorFlow框架,使用生产NN应用(MLPs, CNNs和LSTMs),代表95%的数据中心的NN推断需求。尽管某些应用程序的利用率很低,但TPU的平均利用率约为15倍比现在的GPU或CPU快30倍,TOPS/Watt大约高出30 - 80倍。此外,使用GPU的TPU中的GDDR5内存将会三倍于TOPS,并将TOPS/Watt提高到GPU的近70倍和GPU的200倍CPU。
结论:Despite low utilization for some applications, the TPU is on average about 15X -
30X faster than its contemporary GPU or CPU, with TOPS/Watt about 30X - 80X higher. Moreover, using the GPU’s GDDR5 memory in the TPU would triple achieved TOPS and raise TOPS/Watt to nearly 70X the GPU and 200X the CPU.
算力 92TeraOps/Second(TOPS)and 28MiB software-managed on chip memory
Introduction to Neural Networks
A step called quantization transforms floating-point numbers into narrow integers—often just 8 bits—which are usually good enough for inference.
Eight-bit integer multiplies can be 6X less energy and 6X less area than IEEE 754 16-bit floating-point multiplies, and the 1advantage for integer addition is 13X in energy and 38X in area [Dal16]
介绍INT8,为什么需要INT8,以及量化(quantization)的概念
作为优化的第一步,Google应用了一种称为量化的技术进行整数运算,而不是在CPU或者GPU上对所有数学工作进行32位或者16位浮点运算。这能减少所需的内存容量和计算资源。
— 分割线 —
实际业务中需要多少次乘法运算?2016年7月,Google团队调查了实际业务中,六个有代表性的神经网络应用,结果如下表所示:
NN – Neural Networks ,当前主要有三类,多层感知器(MLP),CNN,RNN.
Thus, we started a high-priority project to quickly produce a custom ASIC for inference (and bought off-the-shelf GPUs for training).
为了减少延迟部署的机会,TPU没有与CPU紧密集成,而是被设计为PCIe I/O总线上的协处理器,允许它像GPU那样插入现有的服务器。此外,为了简化硬件设计和调试,主机服务器发送TPU指令让它执行,而不是自己获取指令。
我们的目标是在TPU中运行整个推理模型,以减少与主机CPU的交互,并保持足够的灵活性,以满足2015年及以后的NN需求,而不是仅仅满足2013年NN的需求。图1显示了TPU的框图
2. TPU 的起源、架构和实现
缘由:
这个话题在2013年发生了变化,当时人们每天使用语音识别dnn进行3分钟的语音搜索,这需要我们的数据中心翻倍才能满足计算需求,而传统cpu满足这一需求的成本非常昂贵。
我们的目标是比 GPU 提高10倍的性价比。考虑到这一任务,TPU的设计、验证、建造和部署在数据中心只用了15个月。
设计:
为了减少延迟部署的机会,TPU没有与CPU紧密集成,而是被设计为PCIe I/O总线上的协处理器,允许它像GPU那样插入现有的服务器,为了简化硬件设计和调试,主机服务器发送TPU指令让它执行,而不是自己获取指令
- TPU指令从主机通过PCIe Gen3 x16总线发送到指令缓冲区。
- MACs包括 256256的 8-bit 乘加,产生的 16bit 结果存放在 4MiB 做32bit的累加,4MiB 的含义是 4096, 256个元素的32bit累加(4K256*32b == 4MiB)
本单元是为稠密矩阵设计的。由于部署时间的原因,省略了稀疏的体系结构支持。在未来的设计中,稀疏性将是优先考虑的问题
它每个时钟周期读写256个值,可以执行矩阵乘法或卷积
中间结果保存在24 MiB片上统一缓冲区中, 选择24 MiB大小,一方面是为了匹配模具上Matrix Unit的间距,另一方面是为了简化编译器
一个可编程的DMA控制器传输数据到或从CPU主机内存和统一缓冲区 – M*E
Control is just 2%.
ISA
由于指令通过相对较慢的PCIe总线发送,TPU指令遵循CISC传统,包括一个重复字段。这些CISC指令的每条指令的平均时钟周期(CPI)通常是10到20。它总共有十几条指令,但这五条是关键的
为了控制MUX、UB和AU进行计算,Google定义了十几个专门为神经网络推理而设计的高级指令。以下是五个例子。
PIngPang : The philosophy of the TPU microarchitecture is to keep the matrix unit busy. The plan was to hide the execution of the other instructions by overlapping their execution with the MatrixMultiply instruction.
由于读取一个大的SRAM比算术消耗更多的能量,矩阵单元使用收缩执行,通过减少统一缓冲区的读写来节省能量
与CPU和GPU相比,TPU的控制单元更小,更容易设计,面积只占了整个Floor Plan的2%,给片上存储器和运算单元留下了更大的空间。而且,TPU的大小只有其他芯片的一半。硅片越小,成本越低,良品率也越高。
脉动矩阵
TPU采用了与传统CPU和GPU截然不同的脉动阵列(systolic array)结构来加速AI运算,脉动阵列能够在一个时钟周期内处理数十万次矩阵运算,在每次运算过程中,TPU能够将多个运算逻辑单元(ALU)串联在一起,并复用从一个寄存器中取得的结果。这种设计,不仅能够将数据复用实现最大化,减少芯片在运算过程中的内存访问次数,提高AI计算效率,同时也降低了内存带宽压力,进而降低内存访问的能耗。
MXU的脉动阵列包含256 × 256 = 65,536个ALU,也就是说TPU每个周期可以处理65,536次8位整数的乘法和加法。
算力计算:TPU以 700MHz 的功率运行,也就是说,它每秒可以运行 65,536 × 700,000,000 = 46 × 1012次乘法和加法运算,或每秒92万亿(92 × 1012), 92Tops 次矩阵单元中的运算。
4. Performance: Rooflines, Response-Time, and Throughput
TPU Log-Log
TPU的脊点出现在 1350 Oper/s. TPU的屋顶线有一个很长的“倾斜”部分,其中的操作强度意味着性能受到内存带宽的限制,而不是峰值计算
the MLPs and LSTMs are memory bound and CNNs are computation bound.
因为 MLPs 和 LSTMs 在脊点之前,CNNs在脊点之后。在脊点之前,则X轴访存能力提升,Y轴计算能力提升,说明瓶颈在访存能力,在脊点之后,X轴访存能力提升,Y轴计算能力也不变,说明瓶颈在计算能力。
尽管CNN1的操作强度非常高,但其TOPS仅为14.1; CNN0在86 TOPS;
Haswell Log-Log
K80 Log-Log
下面,是TPU、CPU、GPU在六种神经网络上的性能对比。在CNN1上,TPU性能最为惊人,达到了CPU的71倍。
这个简单的可视化模型并不完美,但它提供了性能瓶颈的原因
5. Cost-Performance, TCO, and Performance/Watt
6. Energy Proportionality
7. Evaluation of Alternative TPU Designs
8. 软件栈
TPU设计封装了神经网络计算的本质,可以针对各种神经网络模型进行编程。为了编程,Google还创建了一个编译器和软件栈,将来自TensorFlow图的API调用,转化成TPU指令。
AI算力基础 -- TPU1.0相关推荐
- AI算力基础 -- Nvidia TESLA V100 GPU
– 2017年 1. Introduction to the NVIDIA Tesla V100 GPU Architecture 新的NVIDIA®Tesla®V100加速器(如图1所示)集成了强大 ...
- AI算力基础 -- Roofline模型
Roofline: An Insightful Visual Performance Model for Floating-Point Programs and Multicore Architect ...
- 打破AI算力成本困局 趋动科技即将重磅发布全球首个AI算力池化云服务
10月23-25日,由湖南湘江新区管委会指导,长沙工业与信息化局.长沙信息产业园管委会.CSDN联合主办的"2022 长沙·中国1024 程序员节"即将在线上隆重开启.本届大会聚焦 ...
- 从最强AI算力到“元脑”2.0,智算加速产业变革
作者 | Just 出品 | AI科技大本营(ID:rgznai100) AI模型的数据量.结构的复杂程度不断增加,带来了大规模AI算力的庞大需求. 2020年7月,OpenAI实验室推出拥有1750 ...
- CANN 5.0黑科技解密 | 算力虚拟化,让AI算力“物尽其用”
摘要:算力虚拟化技术对消费者而言,可有效降低算力的使用成本,对于设备商或运营商而言,则可极大提升算力资源的利用率,降低设备运营成本. 为什么要做算力虚拟化 近年来,人工智能领域呈井喷式发展,算力就是生 ...
- AI发展进入2.0时代!英特尔在落地中总结4大经验、分享7个案例
欧凯 发自 凹非寺 量子位 报道 | 公众号 QbitAI AI发展和竞争,已经来到2.0时代. 这是一个落地为王关键的阶段. 在2019上海世界人工智能现场,谈论最多的话题也是AI落地和实践经验. ...
- 华为麒麟990发布!余承东:全球首款旗舰5G SoC,业界最强手机AI算力,友商还都是PPT...
乾明 晓查 假装发自 柏林 量子位 报道 | 公众号 QbitAI 刚刚,华为发布新一代芯片,麒麟990 5G. 集成5G,AI算力更强,性能再提升. 在发布会上,余承东用六个"最&quo ...
- AI算力霸主诞生!英伟达发布首款安培架构GPU,性能提升20倍
来源:雷锋网 由于疫情缘故,本该在今年3月英伟达(NVIDIA)GTC 2020上发布的安培(Ampere)架构曝光多次却一直未发布. 5月15日,英伟达CEO黄仁勋发布了英伟达新一代GPU架构安培, ...
- 新基建下 AI 算力市场崛起,华为凭什么从中分一杯羹?
2020 年,成为真正意义上的新基建"元年",各种利好政策密集落地,全国各地都开始重视起这个频频出现在国家政策文件上的新概念.近期,国家发改委近期多次强调加快 5G 网络.数据中心 ...
- 华为发布AI时代数据中心交换机:让网络瓶颈不再是束缚,AI算力提升一倍
晓查 发自 凹非寺 量子位 出品 | 公众号 QbitAI 华为正在全面拥抱AI. 在手机上使用AI芯片麒麟980,去年10月还发布了AI计算芯片"昇腾".现在华为要把AI的战略 ...
最新文章
- linux学习(3) 关机使命
- Boost:与容器相关的BOOST_TEST_EQ测试
- sklearn.decomposition.FastICA实现FastICA算法
- IntelliJ IDEA 14 创建maven项目二
- CTS(20)---CTS测试框架 -- V2版本
- python简单代码-用Python代码实现5种最好的、简单的数据可视化!
- python函数定义及调用-浅谈Python中函数的定义及其调用方法
- jquery cookie 本地不能工作的原因
- Hadoop 集群 傻瓜式搭建手记 (一) 软件准备
- 压缩解压缩工具之WinRAR
- 计算机应用基础制作表格的步骤,计算机应用基础_WORD制作表格_表格编辑公开课课件.ppt...
- Java总结及面试题
- 中国移动通信互联网短信网关接口协议 (China Mobile Peer to Peer, CMPP) (V2.0)
- 【音视频数据数据处理 7】【RGB/BMP篇】生成24色 RGB24图 和 BMP图
- 赵小楼:《天道》《遥远的救世主》深度解析(28)人文意识发展到今天,我们应该怎么改变?
- 三个真话一个假话c语言,推理题-逻辑推理题有A、B、C三个精灵,其中一个只说真话,另外一个只说假 爱问知识人...
- RabbitMQ快速入门及实例演示
- 华生:救市之争的误导和政策定位
- 【软件设计】六大设计原则讲解
- M1卡片相关(读卡,写卡,加密算法)