上周,谷歌发布了一篇文章,详细对他们的第一代张量处理单元(TPU)与英特尔的一款GPU、英伟达的一款GPU进行了速度与效能上的对比。这款TPU相对于GPU和CPU来说有非常明显的优势,这引起了众多媒体的关注。近日,英伟达的CEO、联合创始人黄仁勋在英伟达官方博客上发表了一篇文章,以此回应谷歌的测试结果。
谷歌的TPU是专为谷歌机器学习平台Tensorflow 设计的ASIC(专用集成电路),谷歌用来测试的TPU版本在2015年被应用在他们的数据中心。为了体现对比的公平,谷歌将该TPU与当代的英伟达Kepler K80 GPU和英特尔Haswell CPU进行了比较。
这个做法看起来确实公平,不过根据黄仁勋在博客中的说法,谷歌用来做对比的是旧版芯片。英伟达目前最新的Pascal芯片是Kepler两代以后的版本了,而且英特尔的Kaby Lake架构也已经超过Haswell三代。此外,Kepler不像Pascal,并没有在机器学习应用上作最佳化的使用,而谷歌定制的这种ASIC就只是用来进行深度学习应用的。
笔者认为,芯片与芯片之间的对比,已经被先进的技术所废弃。英伟达和英特尔已经公布了他们新一代芯片的架构细节,谷歌却一直对被测的2015 TPU是否已经被其他更强大的芯片超越而保持沉默。当然,谷歌会把2015 TPU这个秘密泄漏出来,部分原因是他们也许有了一个新的秘密。
英伟达发表了上面那个表格,借此说明他们的Pascal架构在与谷歌2015 TPU的比较中已经超越了Kepler。在这个表格中,TOPS引用了浮点运算(每秒数以亿万计的操作),FP表示“浮点数”,INT表示“整数”。
在表格中可以看到,Pascal比Kepler强大了很多,不过我们并不知晓Pascal是如何与谷歌TPU进行对比的。
黄仁勋在博客中煞费苦心地指出,谷歌和英伟达的做法是殊途同归的——都是为了促进芯片技术的发展,以使其能够支持大型人工只能的大规模计算。
速度和能效是芯片能否用于大量AI型设备的重要参数。不过,使芯片间的对比有意义的唯一方法是在芯片设计时使其适应相同的角色。如果芯片A和芯片B都没有获得或丢失某些额外功能,那么这两者之间的对比才真正有意义。即便是功能不同的问题解决了,除了速度和能效之外的因素也必须考虑在内。
数据中心规模的AI中,TPU、GPU和CPU都是不可替换的,因为它们拥有各自不同的作用。TPU和GPU从CPU中接收指令,没有CPU它们就无法实现各自的功能;而CPU和GPU是支持多种软件平台执行各种任务的常规芯片;ASIC则建立在为特殊应用工作的基础之上。值得注意的是,上面的表格中TPU一列,Training TOPS栏中为“NA”(not applicable,即不适用)。这表示2015 TPU专门用于运行在Tensorflow上深度学习模型的推理,并不能进行AI训练。
特别要指出的是,数据中心规模的AI需要所有这三种芯片的有效使用。哪个芯片用于什么地方取决于运行在数据中心的机器以及AI软件如何配置。厂商们将重点放在“芯片大战”,可能对于抢明天的头条有些作用,但对数据中心来说,其意义是非常有限的。
本文转自d1net(转载)