谷歌的TPU仍然是定制的ASIC芯片,专为运行在谷歌自有技术栈上的内部工作负载而设计,并且在这些工作负载上表现出色,这就是TPU目前的状况。
英伟达的GPU是可定制/可编程的通用芯片,而且它们不仅仅是芯片,它们与CUDA兼容,CUDA是一个成熟的软件生态系统,是人工智能开发者的事实标准。构建类似的产品需要一个类似CUDA的库,其中包含优化的工具、编译器(例如cuDNN)和框架集成(例如PyTorch),这些工具和集成能够跨各种工作负载运行。迄今为止,谷歌仍然需要采用双源架构:它在内部使用TPU以提高效率,但在谷歌云中则依赖英伟达的GPU来为客户提供灵活性。
英伟达的生态系统几乎使GPU成为更广泛的人工智能领域的行业标准。谷歌的技术栈既缺乏成熟的开发者群体,也缺乏灵活性和互操作性。定制芯片会将用户限制在单一供应商的技术栈中,而英伟达的GPU则允许用户在无需重写代码的情况下进行迭代开发。
更重要的是,TPU 和 GPU 的产能都受限于制造它们的晶圆厂,而这些晶圆厂的产能早已被预订一空,除非谷歌开始自建晶圆厂,否则在不久的将来,TPU 除了谷歌自己之外,不会服务于任何其他公司。