圖神經網路架構導致顯存需求遠超預期
該研究者使用 Google Vertex 的 A100 GPU 訓練 NBFNet,旨在重現近期發表論文的結果。NBFNet 沒有節點嵌入表,而是對每個查詢執行 6 層訊息傳遞並保留每個節點的 64 維狀態。
由於圖包含約 10.3 萬個節點和 250 萬條訓練邊,單份狀態副本約佔用 26 MB 記憶體。考慮到反向傳播需儲存多層激活值,每個查詢在 6 層網路中約消耗 1 GB 記憶體。
因此,80 GB 的 A100 顯存僅能容納 64 個查詢,無法達到論文預設的批次大小 512。訓練腳本會自動捕捉 CUDA 記憶體溢出錯誤並將批次減半,導致實際執行時批次從 512 逐步降至 64。
完整重現論文結果需數天時間與數百美元成本
論文聲稱進行 100 個 epoch,每個 epoch 包含 500 個批次。但在實際受限於批次大小 64 的情況下,20 個 epoch 僅處理約 64 萬個查詢,相當於訓練邊數據的四分之一。
完成一次完整的數據遍歷估計需耗時 76 小時,成本約 412 美元。若要完全匹配論文聲稱的 100 × 500 步驟,單次運行將耗時約 4 天,成本約 500 美元。
研究者目前按每小時 5.40 美元的按需價格付費,每次作業執行約 20 小時並可從檢查點恢復。由於正在嘗試不同實驗變體,累積成本已成為顯著負擔。
考慮轉向小型測試與硬體優化策略
為驗證機制有效性,研究者正開發一個「玩具」實現版本,使用較小的合成數據圖進行測試。估計僅進行 3 次種子運行的成本就需 150 美元。
參考 ULTRA 論文在 Hetionet(4.5 萬節點、200 萬條邊)上從頭訓練 10,000 步驟且批次大小為 16 的案例,研究者認為小批次可能並非主要問題所在。
研究者詢問社群關於 bf16 autocast 或激活檢查點等記憶體優化技術是否能將批次提升至 128 以上,以及是否值得自訂稀疏 CUDA kernel。同時也在評估在 2026 年購買 GPU 的可行性與成本效益。



