🧙‍♂️ 進階🟦 最少到最多提示

最少到最多提示

🟦 This article is rated medium
Reading Time: 1 minute
Last updated on August 7, 2024

桑德舒爾霍夫

最少到最多提示 (Least to Most prompting, LtM)1Zhou, D., Schärli, N., Hou, L., Wei, J., Scales, N., Wang, X., Schuurmans, D., Cui, C., Bousquet, O., Le, Q., & Chi, E. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. 思維鏈提示 (CoT prompting) 進一步發展,首先將問題分解為子問題,然後逐個解決。它是受到針對兒童的現實教育策略的啟發而發展出的一種技術。

與思維鏈提示類似,需要解決的問題被分解成一組建立在彼此之上的子問題。在第二步中,這些子問題被逐個解決。與思維鏈不同的是,先前子問題的解決方案被輸入到提示中,以嘗試解決下一個問題。

LtM 的圖示

範例:回覆客戶諮詢

讓我們問一個稍微複雜的客服問題:


這個回答是錯誤的(目前還在退貨時間內),那我們來將問題分解為子問題試試:


讓我們試著解決第一個子問題:

僅僅透過解決第一個子問題,我們就能解決整個問題。如果 GPT-3 沒有立即給出答案,我們可以解決下一個子問題,直到它返回答案。值得注意的是,我們使用 讓我們一步一步來 的提示短語。這個提示不是必須的,但對於這個例子來說效果很好。

範例:字元連線

LtM 最初是使用 few-shot 提示的方式引入的,而不是顯式指令將問題分解為多個步驟(如上所示)。除此之外,有時也可以使用單一提示而不是提示鏈來實現它。讓我們來看看字元連線的尾字問題2Wei, J., Wang, X., Schuurmans, D., Bosma, M., Ichter, B., Xia, F., Chi, E., Le, Q., & Zhou, D. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models. ,例如給定輸入詞語 思考、機器,則輸出應為 考器

第一次嘗試:標準提示

即使使用更先進的模型(如 text-davinci-003),標準提示與 few-shot 範例的表現也非常糟糕。

第二次嘗試:思維鏈

思維鏈的表現比標準提示好得多。這是因為它現在允許模型考慮自己提取每個單詞的最後一個字母,將複雜性降低到分組已經收集的字母的行為。然而,這種方法在更長的輸入下也可能慢慢出現問題。

第三次嘗試:LtM

使用 LtM,我們透過重新表述先前串聯的結果來增強思維鏈的概念。這種做法使得每個步驟變的簡單,即每次只需要連線一個字元。這種方法帶來了非常好的效果,12 個乃至更多的詞都能得到正確結果。

這種方法看起來與思維鏈非常相似,但在概念上大有不同。在這裡,每一步都引入了上一步連線的結果。例如,在 "思考、機器、學習" 的這個例子,它不會單獨連線字元 "考","器","習",而是串連 "考" 和 "器",然後連線 "考器" 和 "習"。由於重新引入了上一步的結果,模型現在可以推廣到更長的鏈,因為它每一步都帶著增量結果,同時單步驟內只需要做很少的工作。

(譯註:該例子使用了 '|' 而非 ',',是因為中文的逗號經常不被識別為分隔符)。

結論

在具有 12 個詞的字元問題上,思維鏈的準確率為 34%,而 LtM 的準確率為 74%(該論文使用 text-davinci-002 作為模型)(譯註:上面的範例因為翻譯成了中文,所以準確率與原文中的值應該不同)。

範例:組合泛化問題 (compositional generalization)

SCAN 基準測試3Lake, B. M., & Baroni, M. (2018). Generalization without Systematicity: On the Compositional Skills of Sequence-to-Sequence Recurrent Networks. https://doi.org/10.48550/arXiv.1711.00350 要求模型將自然語言轉換為動作序列。例如,句子 “run left and walk twice” 將被翻譯為 “TURN_LEFT + RUN + WALK * 2”。當面對訓練集中長度更長的序列時,語言模型的表現尤其差。

第一次嘗試:標準提示

使用簡單的標準提示,text-davinci-003 的表現非常出色,但仍然失敗了。

(譯註:該範例如果翻譯成中文,無法復現效果,因此保持原文)

第二次嘗試:LtM

第一步 - 縮減

在這裡,我們使用兩個不同的提示。第一個提示用於將輸入問題縮減為一個步驟序列。第二個提示用於將這個縮減後的步驟序列對映到實際的操作中。

這兩個提示都相當長,因而使用壓縮的 Python 符號表示操作,以節省標記(tokens)。

第一步將自然語言描述分解為更明確但仍類似人類的語言。這將有助於對映步驟按順序解決問題。 例如,“jump around left twice” 被簡化為 “jump left” -> TURN_LEFT + JUMP 和 “jump around left” -> (TURN_LEFT + JUMP) * 4。同樣,減少步驟是用來解釋重複概念(twice、thrice 等)的。

第二步 - 對映

在第二步中,我們使用縮減過的結果,並再次使用相當長的提示(14個案例)將簡化的自然語言描述轉換為一系列操作。

在這裡,我們注入第一步的輸出:

"jump around left twice" can be solved by: "jump left", "jump around left", "jump around left twice". "walk opposite left thrice" can be solved by: "walk opposite left", "walk opposite left thrice". So, "jump around left twice after walk opposite left thrice" can be solved by: "jump left", "jump around left", "jump around left twice", "walk opposite left", "walk opposite left thrice".

到 LLM 中。

結論

LtM 帶來了多項提升:

  • 相對於思維鏈提高了準確性
  • 在難度高於提示的問題上提升了泛化能力
  • 在組合泛化方面的效能得到了顯著提高,特別是在SCAN基準測試3Lake, B. M., & Baroni, M. (2018). Generalization without Systematicity: On the Compositional Skills of Sequence-to-Sequence Recurrent Networks. https://doi.org/10.48550/arXiv.1711.00350

使用 text-davinci-002(論文中使用的模型)的標準提示解決了 6% 的 SCAN 問題,而 LtM 提示則取得了驚人的 76% 的成功率。在 code-davinci-002 中,結果更為顯著,LtM 達到了 99.7% 的成功率。

Footnotes

  1. Zhou, D., Schärli, N., Hou, L., Wei, J., Scales, N., Wang, X., Schuurmans, D., Cui, C., Bousquet, O., Le, Q., & Chi, E. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models.

  2. Wei, J., Wang, X., Schuurmans, D., Bosma, M., Ichter, B., Xia, F., Chi, E., Le, Q., & Zhou, D. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models.

  3. Lake, B. M., & Baroni, M. (2018). Generalization without Systematicity: On the Compositional Skills of Sequence-to-Sequence Recurrent Networks. https://doi.org/10.48550/arXiv.1711.00350 2

Edit this page

© 2025 Learn Prompting. All rights reserved.