紙帶就是你所需的一切:在 1976 年的迷你電腦上訓練 Transformer 模型
本專案展示了如何使用 PDP-11 組合語言在 1970 年代的硬體上實現並訓練單層 Transformer 模型,並透過極致的優化在短短幾分鐘內達成收斂。
背景
這項名為 ATTN/11 的計畫展示了如何在 1976 年生產的 PDP-11 迷你電腦上,利用組合語言從零開始訓練一個單層、單頭的 Transformer 模型。作者透過手寫的定點運算堆疊 NN11,成功在極其有限的硬體資源下,讓機器學會「反轉數字序列」這項演算法基準任務,並將訓練時間從最初預估的數小時縮短至僅需 5.5 分鐘。
社群觀點
在 Hacker News 的討論中,社群成員對於這項計畫展現了高度的興趣,並從技術演進與硬體維護兩個層面展開討論。有觀點認為,這類實驗提供了一個極佳的思考視角:雖然現代人工智慧的突破普遍被歸功於運算能力與數據量級的指數級增長,但究竟有多少成分是來自於演算法本身的進化?透過將現代機器學習方法帶回 1970 年代的硬體環境並進行極致優化,人們得以重新審視這些技術在資源匱乏時代的潛力與限制。這種跨越時空的技術對比,不僅是單純的懷舊,更是一場關於運算效率與模型架構本質的深刻實踐。
除了軟體層面的成就,社群對於作者能讓這台將近五十歲的 PDP-11/34 保持運作狀態感到驚嘆。部分留言指出,在 2020 年代還能擁有並維護一台可實際執行的 PDP-11,其難度甚至可能高於撰寫程式本身。作者對此也親自回應,坦言這類古董硬體就像電子雞一樣需要持續的關注與照料,因此大部分的開發與調優工作其實是在模擬器上完成,最後才移至真實硬體上驗證。
此外,討論也觸及了優化策略的巧妙之處。為了在僅有 32KB 的核心記憶體中運行,作者捨棄了現代常用的 Adam 優化器,轉而採用手動調整的逐層學習率。這種做法在社群看來非常符合當時的工程哲學:在記憶體極度珍貴的年代,透過人工介入與數學技巧來取代自動化但耗費資源的演算法,是達成目標的關鍵。這種對定點運算與硬體指令集的深度榨取,展現了早期電腦科學與現代深度學習理論結合後的獨特美感。
延伸閱讀
- Xortran:此計畫的前身,展示了如何在 1965 年的 IBM 1130 與 1970 年的 PDP-11/20 上,利用 Fortran IV 透過反向傳播演算法訓練神經網路學習 XOR 邏輯。