最近,apple发布了自己的大模型,称为 apple foundation Model。技术博客里写明是通过 谷歌的 TPU 训练的,而非英伟达的GPU。着实让TPU又火了一把,据说连带着英伟达的股价也跌了。
那么,这篇博客,回顾下谷歌的第一代TPU的相关架构。
第一代TPU的paper于17年发表在ISCA上,原文题目为:
《In-Datacenter Performance Analysis of a Tensor Processing Unit》,感兴趣的读者可以自己找来阅读一下
第一代的TPU主要是面向神经网络的推理加速,被设计成 PCIE I/O bus 上的 协处理器(coprocessor)。
host端,也就是CPU,发送TPU指令到TPU上,以控制它的执行
设计目标:在TPU中运行整个推理模型,以减少与主机CPU的交互,并具有足够的灵活性,以匹配2015年及以后的NN需求
TPU的整体架构图如上图所示。其内部模块之间通常通过 256-byte-wide paths 连接在一起 (256 * 8-bit
)。
TPU的核心计算模块是 Matrix Multiply Unit(矩阵乘单元)
其由 256x256 MACs 构成,每个MAC可以对有符号或无符号整数执行 8-bit 乘加运算(也即,MAC)
16-bit 的乘积被收集到 4MiB 的 32-bit 的 累加器