跳到主要內容

Recurrent Looped Transformer:路徑變深,就真的更會推理嗎?(2026)

最後更新: ·
Recurrent Looped Transformer 官方架構圖搭配「路徑變深,就會推理?」提問的 AlphaLab 封面。

2026 年 9 月 12 日,Yifan Zhang 在一個新建立的 GitHub 專案中公開了日期標為同日的〈Recurrent Looped Transformer〉技術報告。這個 Recurrent Looped Transformer(RLT)提案最吸睛的主張,是讓模型的隱藏計算沿著 prompt 與回答的每一個 token 持續往前傳,使「走過的計算路徑」隨序列變長,而每個 token 執行的邏輯模組數仍固定。

聽起來很像模型可以「越想越深」。但先把結論說在前面:RLT 確實定義了一條會隨 token 數增加的時間路徑;它還沒有證明這條路徑能帶來更好的大型語言模型推理、較低延遲,或更有效的強化學習。截至 9 月 14 日,官方專案唯一的實驗只是一張由貢獻者提供、聲稱約 7.9 萬參數的合成任務圖,而且圖中最強的長度外推模型其實是 GRU,不是 RLT。

先把原始資料放在這裡。點擊下方截圖會在新分頁打開作者的官方專案頁;接下來我會先忠實拆解架構,再把它放回 recurrent Transformer 的研究脈絡,最後逐一核對實驗、成本與作者尚未驗證的承諾。

Recurrent Looped Transformer 官方專案頁瀏覽器截圖,點擊可前往原始網站。
Yifan Zhang 的 Recurrent Looped Transformer 官方專案頁;點擊圖片可閱讀原始技術報告與專案說明。圖/Yifan Zhang

一、RLT 到底改了什麼?不是同一個 token 多繞幾圈

先釐清最容易混淆的地方。一般自回歸 Transformer 讓目前位置透過 causal self-attention 讀取先前位置的表示;推論時通常把先前的 key/value 快取成 KV cache。RLT 則另外延續完整狀態 Ht−1=(st−1, CDt−1):其中 recurrent output st−1 進入下一個 token 的 merge,各層 SWA 則讀取自己的 CDt−1

這與站內先前介紹的 Looped Transformer/Recurrent Depth不是同一條軸。後者通常是在一個 token 內重複使用同一組 block,垂直增加深度;RLT 的循環發生在token 與 token 之間。序列每前進一步,狀態才往前走一步。換句話說,它不是一個可以對固定輸出任意加開 2、4、8 輪「思考」的旋鈕。

Recurrent Looped Transformer 架構圖:藍色 causal encoder 建立全域 KV 記憶,橘色 recurrent output 與各層滑動視窗 KV 跨 token 延續。
RLT 有三條資訊路徑:encoder 的全域、前綴受限 KV 記憶;跨 token 傳遞的 recurrent output s;以及 decoder 每層的 sliding-window KV CD。後兩者合起來才是完整 decoder 狀態 H。圖/Yifan Zhang,RLT 技術報告 Figure 1

把官方架構圖拆開,會看到三種不能混為一談的記憶:

  • 全域 encoder 記憶:causal encoder 將目前已觀察到的前綴整理成 KV memory,decoder 透過 cross-attention 讀取;未來 token 不可偷看。
  • 跨 token recurrent output:前一個 token 的最終 decoder 輸出 st−1 進入下一個 token 的 merge。
  • 逐層 decoder 記憶:每一層保留自己的 sliding-window attention(SWA)KV cache CDt−1,只看附近 token。它與 st−1 合起來才構成完整狀態,而且 prompt 轉入 response 時都不重設。

真正有辨識度的,不是「模型有記憶」這句大話,而是 RLT 把全域來源記憶、recurrent output 與局部 KV寫成一套明確、可追蹤的狀態契約,還要求訓練、推論與 RL replay 使用同一個轉移規則。


二、「無限時間深度」是路徑性質,不是能力成績

官方以一個 48 層 encoder、48 層 decoder 的示意設定說明:每個 token 執行 48+48 個邏輯 block,數量不隨序列位置改變;但第 t 個 token 的 decoder 狀態,可以沿著先前所有 token 的 recurrent edge 回溯,形成 48t 的時間計算路徑。普通固定深度 Transformer 的最長路徑不會用同樣方式隨 token 數線性增加。

RLT 技術報告的時間深度比較圖:一般 Transformer 路徑固定,RLT 的 decoder recurrent path 隨 token 位置 t 增長。
圖中的 48t 描述依賴關係的最長路徑,不是每個 token 額外執行 48t 層,也不是已量測的推理能力。圖/Yifan Zhang,RLT 技術報告 Figure 2

這個數學性質是真的,但「路徑存在」與「資訊真的走完整條路」是兩件事。門控可能把舊狀態忘掉,最佳化可能找不到能利用長路徑的解,誤差也可能在長時間反向傳播時消失或爆炸。作者在報告中其實寫得很克制:

“structural depth alone is not a reasoning guarantee.”

中文:「光有結構上的深度,不保證就有推理能力。」

— Yifan Zhang,Recurrent Looped Transformer 技術報告

還有另一個常被一句「每個 token 固定 block」遮住的但書:固定 block 數不等於固定 FLOPs、延遲或記憶體。encoder 的全域記憶會隨前綴增長,decoder 的 cross-attention 也要讀它;整條序列的 recurrent state 又形成必須按時間順序走完的依賴。已知的 prompt 可以先由 causal encoder 批次編碼,但 decoder 仍得沿 prompt token 逐步重播,不能直接沿用普通 Transformer 的平行 decoder prefill。SWA 能限制一部分 decoder KV 成本,卻不會神奇地消掉其他成本。


三、這不是「Transformer 第一次有跨 token 狀態」

如果只看「recurrent」「latent reasoning」「無限路徑」幾個詞,很容易把 RLT 讀成全新品種。把歷史攤開後,位置會更清楚:2018 年的 Universal Transformer 已用共享權重做 recurrent depth;2020 年的 Feedback Transformer 已讓較高層表示回饋到後續 token。

2026 年更有幾個距離很近的預印本:Latent Recurrent Transformer(LRT)把前一 token 的高階隱藏狀態帶到下一步;T²MLR研究把前一 token 的中層狀態接回目前 token 的較早層;Full-bandwidth Transformer也讓前一個頂層 hidden state 直接影響下一個 token。這些研究各自的接法、訓練規模與成本不同,但足以排除「跨 token latent recurrence 本身前所未見」的敘事。

RLT 報告在後續版本裡也補進了這些近鄰,並直接寫道:

“Neither weight tying nor temporal recurrence alone establishes novelty or a quality improvement.”

中文:「無論權重共享或時間循環,單獨來看都不足以證明新穎性,也不等於品質提升。」

— Yifan Zhang,Recurrent Looped Transformer 技術報告

所以更公允的說法是:RLT 的可辯護貢獻,是把 causal encoder 全域記憶、完整 decoder 跨 token 狀態、局部 SWA,以及可精確重播的 RL 規則組合成一份完整規格;不是發明了「循環」這件事。


四、最值得工程師看的,反而是 RL replay 契約

在普通 RL 後訓練裡,模型產生一段 rollout,參數更新後再計算新 policy 的 log probability。RLT 多了一個麻煩:hidden state 與 KV cache 都是「舊參數跑出來的」。如果更新參數後仍沿用舊 cache,計算的就不是新 policy 在同一段序列上的真實機率。

作者因此要求 exact current-policy replay:每次更新後,從 prompt 開始按順序重建 encoder memory、SWA cache 與 recurrent state,再對 response token 計分。概念上很乾淨,也讓 current-policy 機率不至於被 stale state 偷換;代價則是每次 replay 都必須重走一條長序列依賴。報告提出 batching、checkpointing 與 sequence parallel 等方向,但沒有吞吐量、顯存或 wall-clock 實驗。

但 exact replay 不會自動消除 sampler/trainer 的數值差異或一般 policy lag,也不會讓任意 off-policy 目標自然變成無偏。它解決的是「更新參數後,狀態與 cache 也要用新參數重建」這個必要條件,不是把 RL 的其他難題一併解完。

這正是這份提案有價值、也最誠實的地方:它沒有只畫一個「記憶更強」方塊,而是把訓練時最難逃避的狀態一致性問題寫進規格。不過,規格完整只能證明問題被看見,不能證明系統已經划算。


五、README 的初步合成實驗,為什麼必須倒過來讀?

目前的英文技術報告(內頁日期標為 9 月 12 日)沒有 benchmark 章節。隔天,一個GitHub commit 才在 README 加入初步合成實驗:一個貢獻者提供、聲稱約 7.9 萬參數的小型實作,以 3 個 seeds 在長度 32 的 parity 與 five-state transition 任務上訓練,再測到 64 與 128。圖注說每個任務與長度有 2,048 個測試程式,點是平均、誤差棒是三個 seed 的最小到最大值。

RLT 合成狀態追蹤結果:在長度 128,RLT 的 parity 準確率為 60.8%,five-state 為 20.7%;GRU 分別為 100% 與 99.97%。
這張官方圖最重要的訊息不是「RLT 能外推」,而是 GRU 外推得明顯更可靠:長度 128 時,GRU 為 100%/99.97%,RLT 為 60.8%/20.7%。圖/RLT GitHub contributor

公平讀圖,必須把好消息與反例一起留下:

  • Parity:RLT 在訓練長度 32 約為 100%,到 128 降為 60.8%,仍高於 50% 機率水準;兩個 Transformer 對照則接近機率水準。
  • Five-state:RLT 在 32 約為 100%,到 64 約 48%,到 128 只剩 20.7%,幾乎就是 20% 機率水準。
  • 最強反例:依圖注採相同參數預算的 GRU,在 128 仍有 100% parity、99.97% five-state。這表示「擁有更長的結構路徑」至少在這兩個任務上,不足以推出更可靠的長度泛化。
  • 對照也不夠乾淨:兩個 Transformer 基線在 five-state 的訓練長度 32 都沒有學好;加上 FLOPs 未配對,這張圖無法分辨差異究竟來自 recurrence、最佳化、運算預算,還是實作細節。

還有一個編輯歷史值得記錄。加入實驗的版本原本在 README 表格列出 GRU,並寫明它「泛化得更可靠」;後續的另一次修改移除了表格中的 GRU 列與這句文字,但沒有更換仍顯示 GRU 的圖片。這不足以推論作者動機,卻意味著只掃文字表格的讀者會漏掉最重要的負面對照。

截至本文取樣的 commit 9c40dec,倉庫可見檔案包含報告、README、授權、圖片與網站素材,但未包含這張圖所需的模型程式、資料生成器、設定、seed 值、訓練 log 或 checkpoint。也就是說,第三方目前無法只靠公開倉庫重跑這個結果。最準確的標籤不是「proof」,而是尚不可重現的初步合成展示


六、作者真正提出的是研究清單,不是勝利宣言

報告把三條路放在同一張藍圖上:更深的 latent reasoning、配合 recurrence 的硬體/系統設計,以及能精確重播狀態的 RL 訓練。這三件事目前都還是研究目標。沒有大型語言模型尺度的推理 benchmark,沒有與強基線配對 FLOPs 的訓練比較,也沒有端到端 tokens/second 或 RL scaling 曲線。

這並不讓 RLT 失去價值;它只是把價值放回正確層級:這是一份可被實作與推翻的架構提案,而不是已完成的模型發表。真正可對帳的預測,不是「路徑會變深」——那是定義就保證的;而是長路徑能否在相同運算預算下,學到比 GRU、普通 Transformer、LRT 或 Full-bandwidth Transformer 更有用、更穩定的推理狀態。


七、AlphaLab 的判讀:這個提案最重要的五個角度

判讀一:路徑長度是容量,使用路徑才是能力

高速公路鋪得更長,不代表車真的會開到終點。RLT 的 t × LD 證明「梯度與資訊存在一條可走的路」,但模型是否會保留早期訊息、把它轉成可泛化的計算,仍取決於資料、損失函數、門控、最佳化與運算預算。把 structural depth 直接翻譯成「更深推理」,就是把架構上限當成實測能力。

判讀二:新意在組合與契約,不在 recurrence 三個字

RLT 沒有發明跨 token feedback,作者自己也承認相近研究很多。它比較值得留下的,是一個完整設計取捨:全域 encoder memory 負責來源內容、SWA 控制局部 decoder cache、完整狀態延續潛在計算,RL replay 再保證更新後的 policy 一致。未來論文若實作不同子集,這份規格反而很適合拿來做消融實驗。

判讀三:GRU 不是尷尬配角,而是目前最有資訊量的結果

在 tiny synthetic task 上輸給 GRU,不代表 RLT 在語言模型一定無效;GRU 的 inductive bias 本來就適合有限狀態追蹤。但這正好揭露了更根本的問題:能解一個任務的不是抽象的「深度」,而是狀態更新規則是否對準任務。下一輪實驗若不保留這個強基線,只和沒學會訓練分布的 Transformer 比,證據只會更弱。

判讀四:它可能省參數,卻可能增加序列依賴成本

共享相容的 encoder/decoder 權重,可以降低儲存的參數量;但 full backpropagation through time、全域 encoder memory、cross-attention 與 exact replay 都可能吃掉訓練吞吐。這不是「一定比較慢」的斷言,而是目前沒有數據可以跳過的帳。只有參數表、沒有 FLOPs/顯存/延遲/tokens per second,談效率都太早。

判讀五:一份好提案,也可以先靠把問題寫對而有價值

RLT 現階段最實在的貢獻,可能不是「已經讓模型更會想」,而是迫使研究者同時回答四個常被拆開的問題:狀態怎麼跨 prompt/response?長期內容放哪裡?局部 cache 怎麼控成本?參數更新後又怎麼精確重播?能把這些問題寫成同一套介面,本身就值得研究;只是值得研究與已被證明,必須保持兩個不同標籤。

那,我同意什麼、又存疑什麼?

我同意的:把完整 latent state 穿過 prompt 與回答邊界,是一個清楚、可以實驗的方向;把 RL 的 stale-state 問題在規格階段就攤開,也比事後用近似掩蓋來得紮實。RLT 值得有人做出可訓練版本。

我存疑的:「infinite temporal depth」很容易讓人腦補成「infinite reasoning」。目前的圖只證明一個小模型在一項二元任務上仍略高於機率水準,另一項五狀態任務已掉回機率水準,且 GRU 幾乎完美。沒有大型模型、matched FLOPs、可重現程式與系統數據之前,我不會把它升格為推理突破。


八、接下來該看什麼?五個能改變判斷的證據

如果你想追蹤 Recurrent Looped Transformer,不必每天盯著 star 數。下面五項只要出現,才真的值得更新判斷:

  1. 可重現性:模型程式、資料生成器、完整設定、每個 seed 的原始值與 checkpoint 是否公開?
  2. 公平比較:是否在參數、訓練 token、FLOPs 與調參預算都配對下,對上 GRU、普通 Transformer 與相近 recurrent 架構?
  3. 拆件實驗:拿掉完整 recurrent state、SWA 或全域 encoder memory,各自損失多少?若沒有消融,就不知道是哪個零件有效。
  4. 真實任務:優勢能否從合成 state tracking 延伸到長文件理解、多步推理與 prompt-to-response 的持續狀態,而不是只拉長操作序列?
  5. 系統與 RL 帳單:端到端延遲、顯存、吞吐、checkpoint 成本與 current-policy replay 的 wall-clock 代價是多少?

在這些資料到齊以前,最穩健的結論只有一句:RLT 提出了一條很長、也很具體的計算道路;我們現在看到的是設計圖,不是車已經跑完全程的成績單。

接著閱讀

左右滑動查看更多推薦

ALPHALAB 社群

有問題?來 Telegram 聊

和 Terry、編輯、其他網友一起討論這篇文章。提問、分享觀點,回覆更即時。

加入 Telegram 討論

📩 訂閱 AlphaLab 電子報

每週最多三封:一封 Weekly 週報與最多兩封關鍵 Alpha Signal。

我們不會 spam,隨時可退訂。