Self-Consistency (提示技術:增強推理可靠性的高階方法)
在眾多高階提示技術中,Self-Consistency(自洽性)是特別針對Chain-of-Thought(CoT)Prompting的進階優化策略。目的是「取代傳統 CoT 提示中的貪婪式解碼策略」,提升模型在算術推理與常識推理等多步驟任務上的表現。
目錄
方法核心
傳統的Chain-of-Thought 提示是要求模型一步步展開推理,但它往往依賴單一路徑,容易受早期生成影響而導致錯誤結果。Self-Consistency的改進策略如下:
-
多路徑推理
基於同一提示,同時生成多條不同的推理路徑(利用隨機采樣提高多樣性)。 -
答案收斂判斷
分析多條推理路徑的最終答案,根據「多數答案」原則選取最具自洽性的結果作為最終答案。 -
結果穩定性提升
透過多路徑融合,降低單一路徑錯誤的影響,提高整體推理的可靠性與一致性。
實作示例
算術推理中的範例為例:
提示:
當我6歲時,我妹妹的年齡是我的一半。現在我70歲了,我妹妹多大?
輸出:
35
輸出是錯誤的!我們如何透過(Self-Consistency)來改進這問題。
提示:
Q:林中有15棵樹。林業工人今天將在林中種樹。完成後,將有21棵樹。林業工人今天種了多少棵樹?
A:我們從15棵樹開始。後來有21棵樹。差額就是他們今天種的樹數。因此,他們種了21 - 15 = 6棵樹。答案是6。
Q:停車場有3輛汽車,又來了2輛汽車,停車場有多少輛汽車?
A:停車場原本有3輛汽車,又來了2輛。所以現在有3 + 2 = 5輛汽車。答案是5。
Q:Leah有32塊巧克力,她的姐姐有42塊。如果他們吃了35塊,他們總共還剩多少塊?
A:Leah有32塊巧克力,姐姐有42塊。加起來是32 + 42 = 74塊。他們吃掉了35塊,所以剩下74 - 35 = 39塊巧克力。答案是39。
Q:Jason有20個棒棒糖。他給Denny一些棒棒糖。現在Jason只有12個棒棒糖。Jason給Denny多少棒棒糖?
A:Jason原本有20個棒棒糖。現在剩12個。因此,他給了Denny 20 - 12 = 8個棒棒糖。答案是8。
Q:Shawn有五個玩具。聖誕節,他從父母那裡得到了兩個玩具。他現在有多少個玩具?
A:他原本有5個玩具。從媽媽那得到2個後變成5 + 2 = 7個玩具。接著從爸爸那又得到2個,變成7 + 2 = 9個玩具。答案是9。
Q:伺服器房內有9台電腦。從星期一到星期四,每天安裝5台電腦。現在伺服器房有多少台電腦?
A:從星期一到星期四共有4天。每天安裝5台電腦,總共安裝了4 × 5 = 20台。原本有9台,所以現在有9 + 20 = 29台電腦。答案是29。
Q:Michael有58顆高爾夫球。星期二,他丟失了23顆。星期三,他又丟了2顆。星期三結束時他還剩多少顆?
A:他原本有58顆。星期二丟了23顆,還剩58 - 23 = 35顆。星期三又丟了2顆,所以剩35 - 2 = 33顆。答案是33。
Q:Olivia有23美元。她用每個3美元的價格買了五個貝果。她還剩多少錢?
A:每個貝果3美元,買了5個,所以總共花了3 × 5 = 15美元。23 - 15 = 8美元。答案是8。
Q:當我6歲時,我妹妹的年齡是我的一半。現在我70歲了,我妹妹多大?
A:
- 使用少樣本 CoT 提示生成多個不同推理過程。
- 比較每個推理路徑的最終答案。
- 選擇出現次數最多的答案作為最終輸出(多數決原則)。
這種方法即使在某些路徑生成錯誤答案的情況下,也能有效提升最終輸出的正確率。
輸出:
答案1:
當敘述者6歲時,他的妹妹是他年齡的一半,也就是3歲。
現在敘述者70歲了,他的妹妹應該是70 - 3 = 67歲。答案是67。
答案2:
當我 6 歲時,我姐姐的年齡是我的一半,所以她 3 歲。現在我 70 歲,所以她 70/2 = 35。答案是 35。
答案3:
當我 6 歲時,我姐姐的年齡是我的一半,所以她 3 歲。現在我 70 歲,所以她是 70 - 3 = 67。答案是 67。
生成多數路線可以減少推理錯誤,以多數答案作為最終輸出,降低單一路線錯誤的影響。
Self-Consistency 的優勢
- 減少推理錯誤:多路徑生成降低單一路徑錯誤的影響。
- 提升一致性與穩定性:多數決機制提供更穩定的答案。
- 適用複雜任務:適合處理算術、邏輯推理、常識推理等多步驟任務。
結語
Self-Consistency 是提升Chain-of-Thought 提示可靠性的關鍵技術。透過生成多條推理路徑並篩選最一致的答案,它有效解決單一路徑推理中的不穩定問題。對於處理需要多步推理與推斷的任務而言,掌握此技術將大幅提高模型的解題準確性與穩定性,是提示工程師與AI開發者不可忽視的重要工具。
References
Prompt Engineering Guide
Wang et al. (2022)
上一篇:Prompting Techniques - Meta
下一篇:Prompting Techniques - Knowledge Generation