LLM CoT的工作原理
?思維鏈(CoT:Chain of Thought)常常作為增強(qiáng)大模型推理能力的利器,
但大模型推理能力的提升多大程度上來自人為任務(wù)拆解?還是額外提示的Token激發(fā)了背后更強(qiáng)大的計(jì)算?
“讓我們逐步思考:Transformer語言模型中的隱藏計(jì)算”[文獻(xiàn)1] 發(fā)現(xiàn)了一個(gè)有趣的現(xiàn)象,
通過在思維鏈中添加無意義的中間Token(例如“……”)可以解決無中間Token時(shí)沒法完成的較難的兩個(gè)算法任務(wù)。
文獻(xiàn)的結(jié)論是:添加額外Token就可以增強(qiáng)大模型推理,甚至可以與Token本身內(nèi)容選擇無關(guān)。
網(wǎng)友本就驚訝于著名提示詞“讓我們一步一步地想”(Let‘s think step by step)的神奇效果,
對本論文描述的“AI不依賴人類經(jīng)驗(yàn)的token內(nèi)容,隱藏自行推理”,就更覺得魔幻且擔(dān)憂。
不過筆者發(fā)現(xiàn),斯坦福谷歌等學(xué)者的預(yù)印論文,“思維鏈?zhǔn)筎ransformer能解決內(nèi)在串行的問題”[文獻(xiàn)2], 可以非常直觀的用來解釋文獻(xiàn)1中揭示的現(xiàn)象!
文獻(xiàn)2采用了類似文獻(xiàn)1中的電路復(fù)雜度分析的方法,將Transformer看作一定深度的復(fù)雜電路,分析其可以解決的問題的復(fù)雜度。
電路復(fù)雜度分析用 TC0 表示可以通過一個(gè)固定深度的電路解決的計(jì)算問題,而足夠長的思維鏈,能將Transformer的表達(dá)能力擴(kuò)展到TC0之外。
文獻(xiàn)結(jié)論:“從概念上講,CoT賦予模型執(zhí)行本質(zhì)上串行計(jì)算的能力,這是Transformer所缺乏的,尤其是在深度較低的情況下?!?/p>
意思是文獻(xiàn)1描述的“AI不依賴人類經(jīng)驗(yàn)的token內(nèi)容隱藏自行推理”,既不魔幻也不可怕,甚至可以說是Transformer內(nèi)在缺陷導(dǎo)致的。
文獻(xiàn)進(jìn)一步論證,通過T步CoT,使用固定位精度和O(logn) 嵌入大小的固定深度Transformer可以解決任何可由大小為T的布爾電路解決的問題。
實(shí)證上,CoT的作用是,提高了低深度Transformer在內(nèi)在串行問題上的表達(dá)能力。
筆者理解是,CoT 其實(shí)是引導(dǎo)了Transformer避免簡單并行推理,而是通過串行的方式去一步步推理。
原理很直觀,類似有向無環(huán)圖DAG的處理,例如SQL數(shù)據(jù)查詢,并不是所有的Access Plan DAG 中的算子都適合并行,有許多并行阻斷算子 parallel blocker, 例如全局sort。
這是Transformer特有的現(xiàn)象嗎?Mamba之類的潛力架構(gòu)是否可以規(guī)避這個(gè)問題,優(yōu)化zero-shot推理呢?
結(jié)合筆者的大模型數(shù)理原理的認(rèn)知框架,可以這么看:LLM在范疇中采樣,變分推理時(shí),
串行處理,引入中間信息,加深LLM在范疇對象和態(tài)射中遍歷的深度,逐步調(diào)整采樣概率分布,實(shí)現(xiàn)更精確的推理;
并行處理,增加填充信息,在寬度上有機(jī)會影響采樣的概率分布,進(jìn)而影響最后的推理效果。
文獻(xiàn)1 Let's Think Dot by Dot: Hidden Computation in Transformer Language Models https://arxiv.org/abs/2404.15758
文獻(xiàn)2 Chain of Thought Empowers Transformers to Solve Inherently Serial Problems https://arxiv.org/abs/2402.12875
