亚洲中文字幕乱码亚洲-蜜桃成熟视频在线观看-免费中文字幕视频在线-中国五十路熟妇洗澡视频-亚洲av伊人啪啪c-国产精品成人一区二区-国产自拍视频一区在线观看-成人一区不卡二区三区四区-亚洲情精品中文字幕99在线

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

在一臺1970年代的PDP-11上訓(xùn)練Transformer要多久?答案是5.5分鐘

0
分享至



機(jī)器之心編輯部

試想一下,如果把當(dāng)下大火的大模型技術(shù)帶回 1970 年,會發(fā)生什么?

彼時,沒有 GPU、沒有 CUDA,也沒有浮點數(shù),甚至沒有任何深度學(xué)習(xí)框架,只有一臺 PDP-11 小型機(jī),以及一門幾乎已經(jīng)退出歷史舞臺的語言:匯編語言。

近日,一位開發(fā)者給出了答案。他復(fù)現(xiàn)了那個年代的技術(shù)環(huán)境,用 1970 年代的 PDP-11 匯編語言,實現(xiàn)了一個 Transformer,并且真正訓(xùn)練成功了,這個項目叫做 ATTN-11。

具體來看,就是在 1970 年代的小型機(jī) PDP-11 上,用純匯編語言,實現(xiàn)一個單層、單頭的 Transformer,并完成一個「序列反轉(zhuǎn)」的任務(wù),即輸入一串?dāng)?shù)字,輸出其反序結(jié)果。

比如,輸入:4 7 4 9 6 3 6 5,輸出:5 6 3 6 9 4 7 4。

看似很容易,但關(guān)鍵特征是,機(jī)器無法通過「記住內(nèi)容」來完成這個任務(wù),必須理解「位置之間的映射關(guān)系」。而這恰恰是自注意力(Attention)機(jī)制的的核心能力。

項目結(jié)果顯示,在一臺 1970 年代的計算機(jī)上,一個僅有 1216 個參數(shù)、單層單頭的 Transformer,在約 350 步訓(xùn)練后就實現(xiàn)了 100% 的準(zhǔn)確率,而訓(xùn)練時間只有 5 分鐘左右。

有意思的是,由于 PDP-11 時代,程序的主要存儲介質(zhì)是 Paper Tape(穿孔紙帶),因此,該項目開發(fā)者又稱該項目為「Paper Tape is All You Need」。



而當(dāng)開發(fā)者將該項目發(fā)布之后,引起了網(wǎng)友的熱議。

當(dāng)下,大模型的發(fā)展主要圍繞 Scaling Law 展開,更多的參數(shù) ,更多的數(shù)據(jù),更的多算力…… 而 ATTN-11,卻在極低的資源、極簡的結(jié)構(gòu)下,成功實現(xiàn)功能閉環(huán)。因此,大家不禁在思考:Transformer,到底需要什么?

一位網(wǎng)友該項目「在 PDP-11 上訓(xùn)練只要 5 分鐘」表示驚訝,而更讓他震驚的是,這似乎說明「我們其實一直都可以做到這些???」



另一位網(wǎng)友則認(rèn)為,不必驚訝,是的,我們一直可以做到這些。因為,「1980 年代的 Cray 超級計算機(jī)非常厲害,尤其在矩陣乘法方面性能極其強(qiáng)大。

比如一臺 1984 年的四核 CPU Cray X-MP,可以持續(xù)提供 800 MFLOPS 到 1 GFLOPS 的算力,如果配上一塊 1GB 的 SSD,在算力和帶寬上已經(jīng)足以在半年內(nèi)訓(xùn)練一個 700 萬到 1000 萬參數(shù)的語言模型,并以每秒 18 到 25 個 token 的速度進(jìn)行推理。

而到了 1990 年代中期,一臺 Cray T3E 的算力,就已經(jīng)可以承載 GPT-2(1.24 億參數(shù))規(guī)模的模型,這要比 OpenAI 早 24 年。

而我自己,甚至還用一臺 1965 年的打孔卡計算機(jī),通過反向傳播學(xué)會了 XOR。

真正的瓶頸從來都不是硬件,而是想法?!?/strong>



另一位網(wǎng)友也現(xiàn)身說法,他舉了后量子密碼學(xué)的例子。他表示,基于格(lattice)的加密方案早在 1990 年代就已被提出,但真正走向產(chǎn)業(yè)落地,卻花了整整幾十年,而問題的關(guān)鍵不在于數(shù)學(xué)不成熟,也不在于硬件不足,而是讓這些理論真正「跑起來」的關(guān)鍵思路,當(dāng)時還沒有出現(xiàn)。



接下來,詳細(xì)了解一下具體項目實現(xiàn)。

開發(fā)者稱,該項目是 Xortran 的精神續(xù)作,Xortran 是一個在 IBM 1130(1965 年)和 PDP-11/20(1970 年)上,用 Fortran IV 實現(xiàn)反向傳播來學(xué)習(xí) XOR 運算的神經(jīng)網(wǎng)絡(luò)。

自然而然地,下一步就想看看這些機(jī)器是否能在可接受的時間內(nèi)(幾小時)成功訓(xùn)練一個小型 Transformer。

從架構(gòu)上看,Transformer 實際上只是基礎(chǔ)神經(jīng)網(wǎng)絡(luò)的適度擴(kuò)展。矩陣乘法、反向傳播、隨機(jī)梯度下降(SGD)和交叉熵等構(gòu)建模塊早已存在。

新增的三個部分是:

  • 自注意力:映射后的查詢(Query)與鍵(Key)之間的點積得分;
  • 位置編碼:學(xué)習(xí)到的位置嵌入,加到輸入上;
  • Softmax:將得分轉(zhuǎn)換為概率分布;

該項目的目標(biāo)是訓(xùn)練一個 Transformer 來反轉(zhuǎn)數(shù)字序列。盡管看似簡單,但對神經(jīng)網(wǎng)絡(luò)來說,模型必須學(xué)會將每個 token 路由到僅由其索引決定的位置,沒有基于內(nèi)容的捷徑。而這類問題正是為自注意力設(shè)計的,實際上也是 Tensor2Tensor(谷歌 2017 年原始 Transformer 的參考實現(xiàn))中包含的算法基準(zhǔn)之一。

架構(gòu)

數(shù)據(jù)路徑很直接,token 被嵌入,通過帶有殘差連接的自注意力層,然后映射回詞表并通過 softmax 得到預(yù)測:





該模型是一個極簡的 Transformer:嵌入、帶殘差連接的自注意力、輸出映射。它是真正的帶自注意力的 Transformer,但既不是 BERT 也不是 GPT:沒有層歸一化、沒有前饋網(wǎng)絡(luò)、沒有解碼器。

該任務(wù)中,不需要對 token 表示做任何變換,因此注意力和殘差連接就足夠了。層歸一化在深層網(wǎng)絡(luò)中用于防止激活漂移,但在單層中并不需要。

針對 1970 年代硬件的優(yōu)化

第一次實現(xiàn)沿用了 Xortran 的方案,并使用 Fortran IV 編寫。在統(tǒng)一學(xué)習(xí)率為 0.01 的情況下,模型完成 100 步訓(xùn)練需要 25 分鐘,而要達(dá)到 100% 的準(zhǔn)確率則需要約 1500 個訓(xùn)練步數(shù)。這在真實硬件上大約相當(dāng)于 6.5 小時的訓(xùn)練時間,在 IBM 1130 上甚至可能需要整整一周。

即便是按照 1970 年代的標(biāo)準(zhǔn)來看,這樣的耗時也是難以接受的,因為當(dāng)時的計算機(jī)通常采用分時共享機(jī)制,計算資源非常寶貴。

因此,第一次改進(jìn)是將統(tǒng)一學(xué)習(xí)率替換為手動調(diào)優(yōu)的分層學(xué)習(xí)率:



編碼「反轉(zhuǎn)模式」的注意力權(quán)重更適合使用較高的學(xué)習(xí)率,而輸出映射層在較小學(xué)習(xí)率下收斂效果更好。通過這一調(diào)優(yōu),訓(xùn)練步數(shù)降至 600 步,預(yù)計訓(xùn)練時間約為 2.5 小時。

優(yōu)化器采用的是最基礎(chǔ)的隨機(jī)梯度下降(SGD)。像 Adam 這樣的優(yōu)化器雖然可以為每個參數(shù)自適應(yīng)調(diào)整步長,但代價是每個權(quán)重需要額外維護(hù)兩個狀態(tài)向量,使參數(shù)所占內(nèi)存增加到原來的 3 倍。同時,每次更新還需要進(jìn)行平方根和除法運算,即便在配備 EIS 的 PDP-11 上,這些操作也依然開銷較大。

相比之下,分層學(xué)習(xí)率在不增加額外成本的情況下實現(xiàn)了類似效果,而且由于模型規(guī)模較小,這三組學(xué)習(xí)率可以手動調(diào)優(yōu)。此外,這也使得 Transformer 可以裝入 32KB 的核心內(nèi)存,而不是 64KB,這在 1970 年代尤為關(guān)鍵。

補(bǔ)充說明:由于采用裸機(jī)匯編實現(xiàn),ATTN/11 的內(nèi)存占用并不高于 Xortran,后者還需要承擔(dān) RT-11 V3 操作系統(tǒng)和 Fortran 運行時的開銷。最終生成的二進(jìn)制文件也相當(dāng)緊湊,僅為 6179 字節(jié)。

NN11

核心算術(shù)運算基于 NN11,這是一個為 ATTN/11 和 PDP-11 設(shè)計的最小化定點神經(jīng)網(wǎng)絡(luò)計算棧。

NN11 的組織結(jié)構(gòu)類似于 BLAS,分為多個層級:最底層是標(biāo)量基礎(chǔ)操作(FXMATH);其上是向量運算,如點積和縮放(VECOP);再往上是矩陣–向量運算(MATOP),每一層都構(gòu)建在下層之上。

此外,還有兩個模塊將該計算棧擴(kuò)展到線性代數(shù)之外:一個是激活函數(shù)及其查找表(ACTFN),另一個是層級操作(LAYER),用于將前述運算組合起來,實現(xiàn)、映射以及注意力等功能。

這些算術(shù)計算會根據(jù)不同的計算階段進(jìn)行適配:



在 PDP-11 上,前向計算使用 Q8、反向傳播使用 Q15 的組合非常契合:將一個 Q8 數(shù)與一個 Q15 數(shù)相乘,會在一個 32 位寄存器對中得到 Q23 的結(jié)果,只需一次「ASHC #-8」操作即可將其縮放回 Q15。

因此,反向傳播中的乘法開銷并不高于前向計算,同時還能讓梯度的精度達(dá)到激活值的 128 倍。

經(jīng)過優(yōu)化后,模型在 350 步內(nèi)即可收斂,使得在開發(fā)者的 PDP-11/34A 上,總訓(xùn)練時間縮短至僅 5.5 分鐘。



在該項目中,開發(fā)者并沒有使用真正的紙帶讀取器,因此是通過控制臺將目標(biāo)代碼直接寫入內(nèi)存。

以下是運行該 Transformer 后的結(jié)果:



原型

在正式轉(zhuǎn)向匯編實現(xiàn)之前,必須先驗證其正確性。因此,開發(fā)者先在 Sheaf 中對浮點和定點算術(shù)進(jìn)行了原型設(shè)計與驗證。Sheaf 是開發(fā)者開發(fā)的一個函數(shù)式 ML 框架,內(nèi)置了可觀測性機(jī)制。

對于這類機(jī)器學(xué)習(xí)工作,Sheaf 相比 Python 有幾個優(yōu)勢:

  • 代碼量大約減少三分之一;
  • 其純函數(shù)式語義帶來了更強(qiáng)的正確性保障;
  • 能夠?qū)γ恳粋€中間張量進(jìn)行內(nèi)置追蹤,包括其形狀、數(shù)值范圍以及計算時間。在開發(fā)定點算術(shù)時,這一點尤為關(guān)鍵。

例如,在「vtmul」上設(shè)置一個范圍保護(hù),可以立刻捕捉到遺漏「>>8」位移的問題:



浮點與定點兩種原型實現(xiàn)都可以在「proto」文件夾中找到,同時還包含最初的 Fortran 版本。

實現(xiàn)細(xì)節(jié)

由于沒有浮點運算單元,超越函數(shù)(如 exp、log)被預(yù)先計算的查找表所替代。在 PDP-11 上,一次查表只需一條「MOV」指令,其開銷遠(yuǎn)低于多項式近似或 CORDIC 算法。

Softmax

Softmax 使用一個包含 256 個條目的查找表(EXPTBL,Q8),將每個索引 i 映射為 exp (?i/32)。計算分為三個步驟:

  • 找到輸入向量中的最大值,并從每個元素中減去該值,以保證數(shù)值穩(wěn)定性;
  • 將差值(max ? x_i)除以 8,作為查表索引,并限制在 [0, 255] 范圍內(nèi);
  • 將得到的 exp 值除以它們的總和(通過 FXDIV),得到概率分布。

該查找表大約覆蓋了輸入范圍內(nèi)的 8 個單位,在趨近于 0 之前,這對于一個 10 類詞表來說已經(jīng)完全足夠。

交叉熵?fù)p失

損失函數(shù)每 50 步計算一次,用于報告訓(xùn)練過程。它依賴另一個查找表(LOGTBL,257 個條目,Q12),將每個值 x ∈ [0, 256] 映射為 ?ln (x/256) × 4096。

計算流程遵循標(biāo)準(zhǔn)路徑:先對 logits 做 softmax,讀取目標(biāo) token 的概率,然后在查找表中查得 ?ln (p)。8 個位置(每個序列位置一個)的結(jié)果累加到一個 32 位寄存器對中(因為 8 個 Q12 值的和可能超過 16 位),再通過「ASHC #-3」除以 8。Q12 精度(1/4096 ≈ 0.0002)可以提供四位小數(shù),足以用于監(jiān)控收斂過程。

查找表

ATTN/11 使用兩個查找表。第一個將每個索引映射為 Q8 表示的 exp (?i/32),在 softmax 中用一條「MOV」指令替代指數(shù)計算。另一個表主要用于便利計算,將每個值映射為 Q12 表示的 ?ln (x/256),每 50 步用于計算交叉熵?fù)p失,以監(jiān)控模型收斂情況。



兩個查找表均通過 Sheaf 腳本離線生成,并以 .WORD 常量的形式存儲在源代碼中。

交叉熵梯度

反向傳播利用了 softmax 與交叉熵組合的一個經(jīng)典性質(zhì):logits 的梯度可以簡化為



從而在訓(xùn)練過程中完全避免了對數(shù)運算的開銷。該結(jié)果最初以 Q8 表示,隨后左移 7 位轉(zhuǎn)換為 Q15,這是整個反向傳播過程中使用的數(shù)值格式。同一個 SFTMX 例程同時用于前向與反向計算,無需單獨實現(xiàn)反向傳播版本。

最后補(bǔ)充一點:在這些算法的開發(fā)過程中,開發(fā)者僅將 AI 工具作為輔助使用,而所有的設(shè)計決策、縮放策略,以及數(shù)值驗證,均是在硬件上由人工完成的。

內(nèi)存布局

ATTN/11 總共占用 19.2 KB 內(nèi)存。下表展示了其內(nèi)存分布情況,整理自 MACRO-11 匯編器的輸出列表:



這 1216 個參數(shù)由于計算需要被復(fù)制了三份:Q16 累加器(4.8 KB)、用于前向計算的 Q8(2.4 KB),以及用于梯度的 Q15(2.4 KB)。僅模型本身就占用了 9.6 KB,是整體內(nèi)存使用中占比最大的部分。

構(gòu)建

構(gòu)建所需的兩個條件是:MACRO11 匯編器,以及用于將目標(biāo)代碼轉(zhuǎn)換為可加載二進(jìn)制文件的 obj2bin 工具。



運行

運行,需要具備以下條件之一:

  • 一臺真實的 PDP-11,且其 CPU 支持 EIS 指令,并配備 32KB 的核心內(nèi)存或 MOS 內(nèi)存;
  • 或使用 ll-34:這是我設(shè)計的一款電路級、微周期精確的 PDP-11/34 模擬器,可作為真實硬件的數(shù)字復(fù)刻。

ll-34 幾乎可以視作擁有一臺真正的 11/34。啟動 ATTN/11 的方式如下:



或者,如果只是想快速體驗,可以使用這里提供的 WebAssembly 版本:

  • https://dbrll.github.io/ll-34/。

SIMH 也可以使用,但它模擬的是 PDP-11 的高層行為(而非電路級),并以宿主機(jī) CPU 的速度運行。雖然可以通過人為方式降低速度,但其時序并非周期級精確,因此不太適合用于性能調(diào)優(yōu)或還原真實體驗。

大家詳細(xì)了解該項目后有何感想,可以在評論區(qū)留言交流!

https://github.com/dbrll/ATTN-11?tab=readme-ov-file#attn11---paper-tape-is-all-you-need

https://news.ycombinator.com/item?id=47518568

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點推薦
落魄了?金立創(chuàng)始人劉立榮消失8年后現(xiàn)身印尼賣家具,人家瀟灑得很

落魄了?金立創(chuàng)始人劉立榮消失8年后現(xiàn)身印尼賣家具,人家瀟灑得很

小鋭有話說
2026-04-15 16:35:13
6天后油價大降,92汽油漲超1.8元/升后180°反轉(zhuǎn),下次4月21日調(diào)價

6天后油價大降,92汽油漲超1.8元/升后180°反轉(zhuǎn),下次4月21日調(diào)價

豬友巴巴
2026-04-15 09:25:19
2026北京車展丨新車前瞻

2026北京車展丨新車前瞻

新浪財經(jīng)
2026-04-15 11:12:01
醫(yī)生都驚了!上海一女子體內(nèi)取出50顆重6斤…密密麻麻遍布!千萬別拖?

醫(yī)生都驚了!上海一女子體內(nèi)取出50顆重6斤…密密麻麻遍布!千萬別拖?

新浪財經(jīng)
2026-04-15 11:20:13
3天漲粉200萬,千人奔赴殺豬宴,流量褪去后,網(wǎng)紅呆呆竟成了這樣

3天漲粉200萬,千人奔赴殺豬宴,流量褪去后,網(wǎng)紅呆呆竟成了這樣

秋葉大叔
2026-04-14 07:41:40
顧誠:關(guān)羽是怎樣捧起來的

顧誠:關(guān)羽是怎樣捧起來的

尚曦讀史
2026-04-11 10:10:02
理想的至暗時刻

理想的至暗時刻

新浪財經(jīng)
2026-04-15 03:08:52
刷牙可能影響壽命?再次提醒:55歲以后,刷牙要牢記“4不要”

刷牙可能影響壽命?再次提醒:55歲以后,刷牙要牢記“4不要”

白話電影院
2026-04-06 19:35:56
4月15日俄烏:12萬架無人機(jī)的援助項目

4月15日俄烏:12萬架無人機(jī)的援助項目

山河路口
2026-04-15 21:14:14
女星朱庭萱炮轟張敬軒!道歉就能原諒還有資源,對愛國藝人不公平

女星朱庭萱炮轟張敬軒!道歉就能原諒還有資源,對愛國藝人不公平

談史論天地
2026-04-14 18:28:09
“看站姿就不像當(dāng)過兵的!”家長炫耀特種兵兒子,敗露后慘遭打臉

“看站姿就不像當(dāng)過兵的!”家長炫耀特種兵兒子,敗露后慘遭打臉

妍妍教育日記
2026-04-02 12:29:05
血糖升高,雙腳先知?腳上頻繁出現(xiàn)3種情況,提防糖尿病足

血糖升高,雙腳先知?腳上頻繁出現(xiàn)3種情況,提防糖尿病足

健身狂人
2026-04-15 18:41:48
4月13日,山東和江西公布了2026年養(yǎng)老金調(diào)整通知,是真的嗎?

4月13日,山東和江西公布了2026年養(yǎng)老金調(diào)整通知,是真的嗎?

混沌錄
2026-04-15 15:46:10
何潤東確認(rèn)接受邀請!網(wǎng)友:不敢想象有多燃!

何潤東確認(rèn)接受邀請!網(wǎng)友:不敢想象有多燃!

先鋒新聞
2026-04-14 07:35:16
“水果皇后”藍(lán)莓跌下神壇:曾經(jīng)上百元一斤,如今可全年供應(yīng),街頭低至9.9元一斤

“水果皇后”藍(lán)莓跌下神壇:曾經(jīng)上百元一斤,如今可全年供應(yīng),街頭低至9.9元一斤

紅星新聞
2026-04-15 16:39:54
黃燦燦自曝為了防止《浪姐》惡意剪輯,每天都會梳不一樣的頭發(fā)

黃燦燦自曝為了防止《浪姐》惡意剪輯,每天都會梳不一樣的頭發(fā)

韓小娛
2026-04-13 16:42:00
五星級酒店帶人不登記可以嗎?網(wǎng)友:又是上網(wǎng)漲見識的一天!

五星級酒店帶人不登記可以嗎?網(wǎng)友:又是上網(wǎng)漲見識的一天!

深度報
2026-02-22 22:52:56
信號!上海最體面的豪宅開發(fā)商,五年來首次虧損

信號!上海最體面的豪宅開發(fā)商,五年來首次虧損

花木蘭Channel
2026-04-14 15:26:32
當(dāng)場打臉!松島輝空說世乒賽要贏國乒拿金牌,把身后隊友都聽笑了!

當(dāng)場打臉!松島輝空說世乒賽要贏國乒拿金牌,把身后隊友都聽笑了!

乒乓樂園
2026-04-16 00:02:42
許家印干得最"虎"的一件事:砸1000億填海造島,從傳奇到笑柄

許家印干得最"虎"的一件事:砸1000億填海造島,從傳奇到笑柄

歷史偉人錄
2026-04-15 17:59:21
2026-04-16 01:43:00
機(jī)器之心Pro incentive-icons
機(jī)器之心Pro
專業(yè)的人工智能媒體
12772文章數(shù) 142629關(guān)注度
往期回顧 全部

科技要聞

ChatGPT十億用戶又怎樣?Anthropic直接貼臉

頭條要聞

法國全票通過 “將不義之財歸還中國”

頭條要聞

法國全票通過 “將不義之財歸還中國”

體育要聞

三球準(zhǔn)絕殺戴大金鏈:轟30+10自我救贖

娛樂要聞

謝娜現(xiàn)身環(huán)球影城,牽手女兒溫馨有愛

財經(jīng)要聞

業(yè)績失速的Lululemon:"健康"人設(shè)崩塌?

汽車要聞

空間絲毫不用妥協(xié) 小鵬GX首發(fā)評測

態(tài)度原創(chuàng)

健康
親子
本地
教育
公開課

干細(xì)胞抗衰4大誤區(qū),90%的人都中招

親子要聞

孕婦200買水果被罵后續(xù):已終止妊娠,男方崩潰砸東西,網(wǎng)友炸鍋

本地新聞

12噸巧克力有難,全網(wǎng)化身超級偵探添亂

教育要聞

黃岡小升初招生題,求面積,方法思路太絕了

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進(jìn)入關(guān)懷版