生成式AI與大型語言模型
思維鏈提示(chain-of-thought prompting)
/ CHAYN-uv-THAWT PROMPT-ing /
思維鏈提示,是一個簡單的小竅門:讓模型在給出最終答案之前,先把問題一步一步、出聲地走一遍——而不是張口就報答案。對算術應用題、邏輯謎題這類需要多步的問題,這點小改動能顯著提高準確率。「讓我們一步一步來想」這句話之所以出了名,恰恰是因為:加上它,有時就能把一個錯答案變成對的。
為什麼把步驟寫出來會有幫助?語言模型是一次一小塊地生成文字,而每一塊新內容都以「已經寫下的一切」為條件。當模型把中間步驟落在紙面上,那些步驟就成了它回頭讀取的上下文的一部分,給了它一個可以往上搭建的腳手架,而不必一步登天地直奔結論。這有點像「在紙上做長除法」和「試圖全憑腦子做」之間的差別。
千萬別把「推理的外表」錯當成「推理本身」。那些寫出來的步驟,本身也是生成的文字;模型完全可能產出一條流暢、看著說得通、邏輯卻斷裂的思維鏈,卻照樣得出正確答案——或是一條優美的鏈,信心十足地走向錯誤。它所展示的推理,並不是一扇忠實窺見「模型究竟如何算出答案」的窗。它是一項在許多任務上能改善結果的有用技巧,而非「模型真像那些字句所暗示的那樣推理」的證明。
問:「店裡有23個蘋果,賣掉8個,又進了12個。現在有多少?」不用思維鏈,模型可能隨口矇個「27」。用思維鏈:「起初23。賣掉8 -> 15。又進12 -> 27。」把每一步都寫出來,更有可能穩穩落到正確的27上——也讓你看得見,差錯究竟出在哪一步。
把過程寫出來,能提高多步問題的準確率。
思維鏈並不是模型內部過程的真實記錄——它是一段生成的文字,只是常常與更好的答案相關聯。研究表明,模型可能經由看得見的、有缺陷的推理抵達正確答案,或為它早已認定的答案事後找補理由。把它當作一個有用的提示,而非一份透明的解釋。
又稱
另見