OpenTPU 專案在8年後繼續開發,社群討論 Google AI 晶片的演進

BigGo Editorial Team
OpenTPU 專案在8年後繼續開發,社群討論 Google AI 晶片的演進

UC Santa Barbara ArchLab 的 OpenTPU 專案是 Google Tensor Processing Unit 的開源實現,自首次釋出以來已悄然持續開發了近八年。最近的社群討論突出了該專案的永續性,以及自2017年啟發這一學術努力的原始論文發表以來 Google TPU 技術的快速演進。

專案展現出令人驚訝的持久生命力

雖然原始的 OpenTPU 程式碼庫看起來處於休眠狀態,但社群成員發現在專案分支中開發活動一直在繼續,最近的提交距離討論時間僅三小時。對於一個始於基於 Google 第一代 TPU 晶片有限公開資訊進行逆向工程的學術專案來說,這種永續性是非凡的。

該專案仍然專注於 Google 原始資料中心 TPU 的推理功能,該 TPU 專門設計用於執行神經網路計算而非訓練。這種狹窄的焦點反映了專案開始時可獲得的技術細節有限,因為 Google 當時尚未釋出其定製晶片的全面規格說明。

OpenTPU 指令集:

  • RHM:讀取主機記憶體 - 從主機記憶體讀取 N 個向量到統一緩衝區
  • WHM:寫入主機記憶體 - 將 N 個向量從統一緩衝區寫入主機記憶體
  • RW:讀取權重 - 從 DRAM 載入權重塊
  • MMC:矩陣乘法/卷積 - 執行矩陣運算
  • ACT:啟用 - 應用啟用函式(ReLU、sigmoid)
  • NOP:空操作
  • HALT:停止模擬

社群突出了圍繞 TPU 代際的困惑

技術討論揭示了人們對 Google 多年來開發的不同型別 TPU 的廣泛困惑。社群成員注意到,許多人將設計用於移動和嵌入式應用的 Google Edge TPU 裝置與用於訓練大型 AI 模型的大規模資料中心 TPU 混淆了。

「該網站將 Edge TPU 中的推理引擎與資料中心 TPU 混淆了。它們是兩個不相關的專案。」

這種困惑源於 Google 在截然不同的產品類別中使用 TPU 品牌,從微型邊緣計算晶片到房間大小的超級計算叢集。

現代 TPU 能力遠超原始設計

OpenTPU 能力與現代 Google TPU 之間的對比說明了 AI 硬體演進的速度。雖然 OpenTPU 支援基本的矩陣乘法和簡單的啟用函式如 ReLU 和 sigmoid,但它缺乏卷積操作、池化和可程式設計歸一化等當代 AI 加速器的標準功能。

現代 Google TPU 已經遠遠超越了啟發 OpenTPU 的僅推理設計。當前幾代產品可以處理大規模語言模型的訓練和推理,TPU v4 系統提供超過1,200 GB/s的記憶體頻寬,相比2015年原始 TPU 的規格要強大得多。

TPU 演進對比:

代數 記憶體頻寬 主要用途 年份
TPU v1 (初代) 未指定 僅推理 2015
TPU v3 900 GB/s 訓練和推理 ~2018
TPU v4 1,200 GB/s 訓練和推理 ~2020

儘管存在技術差距,學術價值依然存在

儘管基於近十年前的技術,OpenTPU 繼續為研究計算機架構的學生和研究人員提供教育價值。該專案提供了一個完整的工作實現,展示了脈動陣列、專用記憶體層次結構和確定性執行模型的基本概念,這些概念在現代 AI 加速器設計中仍然相關。

該專案使用 PyRTL 進行硬體描述,這也使得那些可能不熟悉傳統硬體描述語言如 Verilog 或 VHDL 的研究人員能夠更容易地接觸到它。

** OpenTPU 技術規格:**

  • 矩陣乘法單元:可引數化的8位整數乘法器陣列
  • 預設配置:8x8或16x16矩陣大小(可配置至256x256)
  • 記憶體:統一緩衝區和累加器緩衝區(大小可配置)
  • 支援的操作:矩陣乘法、ReLU、sigmoid啟用函式
  • 缺失功能:卷積、池化、可程式設計歸一化

未來方向和新興技術

社群討論已經擴充套件到傳統矽實現之外,探索碳奈米管處理器和量子處理單元等新奇替代方案。最近的研究表明,使用碳奈米管電晶體構建的 TPU 在較舊的製造工藝節點上可能實現每瓦1萬億次操作,儘管這些技術在很大程度上仍處於實驗階段。

OpenTPU 專案證明了開源硬體研究的價值,即使是基於專有設計的不完整資訊。雖然它可能永遠無法匹敵 Google 最新 TPU 代際的能力,但它繼續為驅動現代 AI 加速的基本原理提供見解。

參考:UCSB ArchLab OpenTPU Project