OpenAI 區塊稀疏 GPU 核心

OpenAI 已發布高度優化的 GPU 核心,專為具有區塊稀疏權重的神經網路設計。這些核心使得在相同參數與計算預算下,能夠訓練出比傳統密集網路顯著更寬更深的模型,且通常運行速度比 cuBLAS 或 cuSPARSE 快上幾個數量級。

區塊稀疏核心的技術實作

區塊稀疏核心透過在區塊層級而非個別權重上處理稀疏性來優化線性運算。此方法降低了計算與儲存成本,因為核心會跳過任何為零的區塊的計算。

主要規格

  • 支援的層級: 這些核心設計用於全連接與捲積層。在捲積層中,稀疏性會被應用於輸入與輸出特徵維度,而空間連接則不受影響。
  • 最佳化區塊大小: 實作已針對 8x8、16x16、32x32 的區塊大小進行最佳化。
  • 可配置性: 區塊層級的稀疏模式完全可配置。
  • 效率: 計算成本與參數儲存成本僅與非零權重的數量成正比,而與輸入/輸出特徵的總數無關。

效能與基準測試

在 NVIDIA Titan X Pascal GPU 上搭配 CUDA 8 進行的測試顯示,相較於標準函式庫,這些核心有顯著的加速效果。在隱藏單元數為 12,288、區塊大小為 32x32、小批次大小為 32 的情況下,核心的表現優於 cuBLAS,與 cuSPARSE 比較時則觀察到更大的加速幅度。

應用與研究結果

OpenAI 使用這些核心來探索多種架構模式,最顯著的是「小世界」神經網路,它模仿生物大腦的連接方式,使得即使在高稀疏性下,資訊也能快速傳播。

小世界 LSTM

透過實作小世界稀疏連接,OpenAI 訓練出隱藏單元數接近 20,000 的 LSTM——其寬度是參數相近的密集網路的五倍。此架構在文本生成模型與半監督情感分類上的表現有所提升。

情感表示學習

在將密集權重矩陣與參數相等的區塊稀疏變體進行比較的實驗中,稀疏模型在所有情感資料集上均優於密集模具。具體來說,在文件層級的 IMDB 資料集上,稀疏模型將錯誤率從 5.91%(Miyato et al, 2016)降低至 5.01%。

圖像與文字壓縮

  • 文字建模: 對於參數約為 1 億的模型,每字元位元結果從 1.059 下降至 1.048。
  • 圖像建模: 透過在 CIFAR-10 的修改版 PixelCNN++ 模型中將常規 2D 捲積核心替換為稀疏核心,OpenAI 在保持其他超參數不變的情況下加深了網路,使每維度位元從 2.92 降至 2.90。

未來研究方向

OpenAI 利用區塊稀疏核心確定了三個主要的未來探索方向:

  1. 推理加速:研究在結合這些核心與事後修剪時,推理階段可能的時鐘時間加速幅度。
  2. 動態稀疏結構:探索梯度是否可用於在開發期間學習最佳的稀疏結構,類似於生物大腦中的突觸修剪。
  3. 應用擴展:確定具體的應用領域,在該領域中,訓練具有巨大權重矩陣的模型(同時保持與較小密集模型相同的參數與計算成本)能帶來最顯著的效能提升。

Sources

相關

  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch