經典大模型提示詞工程技術路線概述

阿里妹導讀
本文概述幾種經典提示詞工程方法,總結關鍵資訊,分析其優勢和侷限,並分享筆者的一點思考。
提示詞工程(Prompt Engineering)是一種無需修改大模型引數即可拓展其能力的技術。它透過特定任務的指令或上下文提示,啟用相關知識,實現模型與下游任務的無縫整合。該領域在問答、常識推理等應用中已取得成功。本文概述幾種經典提示詞工程方法,總結關鍵資訊,分析其優勢和侷限,並分享筆者的一點思考。
技術路線1 CoT Prompting模式 
Paper: Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
1.概念在解決複雜問題時,人類通常會逐步分解問題並進行推理,直至得出答案。這種方法模仿了人類的思考過程,透過自然語言的形式表達出來,即“chain of thought”。
2.實現方式在給定一個問題(如數學文字問題)時,不僅提供問題本身,還提供一個或多箇中間推理步驟的示例(即chain of thought),以及最終的答案。這些示例作為提示(prompt)的一部分,用來指導模型如何進行推理。
3.示例在論文中,作者提供了幾個示例來說明這種方法。例如,對於一個數學問題:“The cafeteria had 23 apples. If they used 20 to make lunch and bought 6 more, how many apples do they have?” 標準的提示可能直接給出答案“11”,而chain-of-thought prompting會提供如下步驟:
  • 首先計算剩餘的蘋果數量:23 – 20 = 3。
  • 然後加上新購買的蘋果數量:3 + 6 = 9。
  • 最終得出答案:他們現在有9個蘋果。

4.訓練與微調:這種方法不需要對模型進行額外的訓練或微調。相反,它依賴於模型已經透過大量資料預訓練獲得的語言理解能力。透過在提示中包含chain of thought的示例,模型能夠學習如何模仿這種推理過程。
5.效果:實驗結果表明,chain-of-thought prompting能夠顯著提高模型在一系列推理任務上的表現,尤其是在算術、常識和符號推理任務上。例如,在GSM8K數學文字問題基準測試中,使用這種方法的PaLM 540B模型達到了最先進的準確率。
6.優勢:這種方法的優勢在於它允許模型將複雜問題分解為更小、更易於管理的步驟,提供了模型推理過程的透明度,有助於理解和除錯模型的行為。此外,它還適用於多種型別的推理任務,不僅限於數學問題。
7.侷限性:儘管chain-of-thought prompting在大型模型中表現出色,但對於小型模型或沒有足夠示例的情況下,可能無法有效激發其推理能力。此外,這種方法依賴於模型的規模,只有當模型達到一定的引數量級時,才能觀察到顯著的效能提升。
技術路線2 Self-Consistency + CoT 模式
Paper:Self-Consistency Improves Chain of Thought Reasoning in Language Models
在chain-of-thought prompting方法中,使用貪婪解碼策略(greedy decoding)是因為在傳統的解碼過程中,模型在每一步都會選擇機率最高的詞來生成文字。這種方法簡單直接,但它並不考慮其他可能的詞組合,因此可能無法充分探索語言模型的生成空間,尤其是在需要複雜推理的任務中。
在論文《SELF-CONSISTENCY IMPROVES CHAIN OF THOUGHT REASONING IN LANGUAGE MODELS》中,作者提到了貪婪解碼的侷限性,並提出了自洽性方法作為改進以下是論文中的一個例子,說明了在chain-of-thought prompting中使用貪婪解碼的情況:
假設有一個數學問題:“如果停車場原本有3輛車,又來了2輛車,現在停車場有多少輛車?”使用chain-of-thought prompting的貪婪解碼策略可能會生成如下的回答:
There are 3 cars in the parking lot already. 2 more arrive. Now there are 3 + 2 = 5 cars. The answer is 5.
在這個例子中,模型直接給出了正確的答案“5”,但是在實際的推理過程中,模型可能會生成多個不同的推理路徑,每個路徑都可能有不同的中間步驟和最終答案。貪婪解碼只選擇了最直接的路徑,而沒有考慮其他可能的推理方式。
Self-Consistency自洽性方法則不同,它會生成多個推理路徑,例如:

在這個例子中,儘管第二個路徑給出了錯誤的答案“26”,但自洽性方法可以透過比較多個路徑來識別並選擇正確的答案“18”,但自洽性方法可以透過比較多個路徑來識別並選擇正確的答案“18”。
這個例子說明了貪婪解碼可能會忽略其他合理的推理路徑,為了克服這些侷限性,論文提出了自洽性(self-consistency)方法。自洽性方法的核心思想是,一個複雜的推理問題通常可以透過多種不同的推理路徑來解決,但正確的答案應該是唯一的透過取樣多種推理路徑並找到最一致的答案,可以提高模型的推理準確性。
自洽性方法的例子和改進點
1.自洽性方法包含三個步驟:(1) 使用鏈式思考(CoT)提示來引導語言模型;(2) 透過從語言模型的解碼器中取樣來替換CoT提示中的“貪婪解碼”,以生成多樣化的推理路徑;(3) 邊緣化推理路徑,並透過選擇最終答案集中最一致的答案來進行聚合。
2.改進點
  • 多樣性自洽性方法透過取樣生成多個推理路徑,增加了解碼過程的多樣性,從而使模型能夠探索到更多的推理可能性。
  • 一致性透過對多個路徑的最終答案進行邊際化(marginalization),自洽性方法能夠識別出最一致的答案,這通常更可能是正確的答案。
  • 魯棒性即使某些路徑產生了錯誤的推理或答案,自洽性方法仍然可以透過多數投票機制來糾正這些錯誤,從而提高整體的準確率。
技術路線3 Least-to-Most Prompting模式
Paper: Least-to-Most Prompting Enables Complex Reasoning in Large Language Models
1.背景:傳統的鏈式思維提示(chain-of-thought prompting)在解決難度超過示例的複雜問題時表現不佳。為了克服這一挑戰,論文提出了最少到最多提示策略,該策略透過將複雜問題分解為一系列更簡單的子問題來解決。
2.Least-to-Most Prompting策略該策略分為兩個階段:問題分解和子問題解決。在問題分解階段,使用常量示例展示如何分解問題;在子問題解決階段,提示包含三個部分:已解決子問題的示例、已回答的子問題及其生成的解決方案列表,以及下一個待解答的問題。
3.示例:Elsa有5個蘋果,Anna比Elsa多2個蘋果。他們一起有多少個蘋果?
  • Least-to-Most Prompting提示解決過程:
  • 確定Anna有多少個蘋果。
  • 確定Elsa和Anna一起有多少個蘋果。
  • 輸出:他們一起有12個蘋果。

L2M與CoT的對比
Least-to-Most Prompting(L2M)和Chain-of-Thought Prompting(CoT)是兩種不同的語言模型提示策略,它們都旨在透過提供示例來引導模型完成特定任務。以下是這兩種模式的比較,包括它們的異同點:
相似之處
1.基於少樣本學習的提示:L2M和CoT都使用少樣本學習的提示(few-shot prompts)來指導語言模型進行推理或回答問題。這些示例作為輸入的一部分,幫助模型理解任務的要求。
2.靈活性:L2M和CoT都提供了一種靈活的方式來利用預訓練語言模型解決各種問題,無需對模型進行特定任務的訓練或微調。
不同之處
1.示例的複雜性
  • L2M:Least-to-Most Prompting從最簡單的示例開始,逐步增加示例的複雜性。這種方法假設簡單的示例可以幫助模型建立基礎理解,然後透過更復雜的示例逐步引導模型進行更復雜的推理。
  • CoT:Chain-of-Thought Prompting專注於提供一系列中間推理步驟,這些步驟模擬人類解決問題時的思考過程。每個示例都展示瞭如何分解問題並逐步得出答案。
2.推理過程的透明度
  • L2M:隨著示例複雜性的增加,模型的推理過程可能變得更加不明顯,因為示例的變化可能不總是清晰地指示出推理步驟。
  • CoT:透過明確展示中間推理步驟,CoT提供了對模型推理過程的透明度,使最終答案的生成過程更加清晰。
3.任務適用性
  • L2M:可能更適合於模型已經具有一定理解能力的任務,透過逐步增加難度來挑戰和提升模型的能力。
  • CoT:特別適用於需要多步驟邏輯推理的任務,如數學問題解答、邏輯謎題等,因為它透過示例直接展示了推理的具體步驟。
4.結果的一致性
  • L2M:由於示例的複雜性逐漸增加,模型的輸出可能會隨著示例的變化而變化,這可能導致結果的一致性不如CoT。
  • CoT:透過生成多個推理路徑並選擇最一致的答案,CoT方法旨在提高答案的一致性和準確性。
上面3種全是Google的作品。
技術路線4 XoT 基於CoT思想的各種魔改
Boosting of Thoughts(BoT,2024.02)
Boosting of Thoughts(BoT): Trial-and-Error Problem Solving with Large Language Models
University of Toronto、University of Alberta
核心內容概述
1.研究背景:LLMs在解決複雜問題時依賴於鏈式思考(chain-of-thought)提示,但現有方法通常需要人工註釋,且難以泛化到新任務
2.BoT方法BoT透過迭代過程自動探索和評估大量思考樹,從而獲取推理經驗。這些經驗用於修訂提示,增強推理步驟的生成,直至得出最終答案。這種方法不依賴於特定任務的人工註釋,而是透過從模型生成的錯誤中學習來逐步改進推理步驟。
3.實驗:使用GPT-4和Llama2模型在多個複雜的數學問題資料集上進行實驗,包括MMLU、SVAMP、GSM8K、AQuA和MATH等。
4.結果:BoT在大多數資料集上取得了與人類註釋相媲美或更高的問題解決率,尤其是在沒有人類註釋的情況下,其效能顯著提高。
5.貢獻:BoT提出了一種新的框架,它不需要特定任務的人工註釋,具有很好的可擴充套件性,並且透過迭代過程快速收斂到解決方案。
6.結論:BoT展示了透過增強提示來引導LLMs進行有效推理的能力,即使在沒有人類註釋的情況下,也能在各種任務中保持高效能。
BoT方法的步驟
1.初始提示:從一個簡單的初始提示開始,不需要任何人工註釋的例子。
2.生成思考結構:並行生成大量的思考結構(例如,樹狀結構),這些結構代表了可能的推理路徑。
3.聚合思考鏈:從生成的思考結構中提取最有可能成功的思考鏈。
4.自我評估:使用LLM對聚合的思考鏈進行評估,生成反饋,包括錯誤分析和改進建議。
5.迭代改進:將反饋加入到提示中,作為經驗來指導下一次迭代的思考結構生成。
6.收斂和解答:透過多次迭代,不斷積累經驗,最終得到一個準確的解決方案。
例子 24點問題The given four numbers are: 2, 4, 5, 5
BoT的解決過程如下:
1.初始提示:BoT從一個簡單的提示開始,告訴模型需要使用給定的四個數字和基本的算術運算(加、減、乘、除)來得到24。
2.第一次迭代:模型生成了一些初步的思考步驟,但這些步驟可能並不接近解決方案。例如,模型可能首先嚐試將兩個5相加得到10,然後嘗試將10與4相乘得到40,這顯然不是正確的方向。
3.錯誤分析:模型評估生成的思考鏈,並識別出錯誤或無效的步驟。在這個階段,模型可能識別出40不是一個合理的中間結果,因為它離目標24太遠。
4.第二次迭代:根據第一次迭代的錯誤分析,模型調整提示,嘗試不同的操作和數字組合。這次,模型可能嘗試使用加法和乘法的組合,例如將2和4相加得到6,然後將兩個5相加得到10,最後將6和10相乘得到60。
5.進一步迭代:模型繼續迭代過程,每次都會根據之前的經驗和錯誤分析來改進思考步驟。在後續的迭代中,模型可能會嘗試更多的組合,直到找到一個有效的解決方案。
6.最終解決方案:經過多次迭代,模型最終找到了正確的思考鏈。例如,它可能發現以下步驟:將4乘以5得到20,再將20減去2得到18,最後將18加上5得到最終的24。

初始提示詞(initial prompt)是一個簡單的文字描述,用於引導大型語言模型(LLM)開始解決問題。對於24點遊戲問題,初始提示詞可能會是這樣的:
"In the game of 24, you are given four numbers, and the goal is to use basic arithmetic operations (+, -, *, /) to combine these numbers to obtain a result of 24. You can only use each number once, and parentheses can be used to change the order of operations."
這段提示詞為模型提供了遊戲的基本規則,即使用加、減、乘、除四種基本算術運算,結合給定的四個數字,來得到結果24。這個初始提示詞不包含具體的解題步驟或示例,而是提供瞭解決問題所需的上下文資訊。隨後,Boosting of Thoughts框架將透過迭代過程,逐步引導模型探索可能的解題路徑,並在每次迭代後根據模型的自我評估來最佳化提示詞,以更好地解決特定的24點問題。
Tree of Thoughts(ToT,2023.05)
Paper:Tree of Thoughts- Deliberate Problem Solving with Large Language Models
Princeton University + Google DeepMind
Tree of Thoughts(ToT)是文章中用到的一種用於增強大型語言模型(LLMs)在複雜問題解決中推理能力的結構。ToT將傳統的序列化推理步驟轉換成樹狀結構,這種結構允許模型在推理過程中探索多個可能的思考路徑。每個節點在樹中代表一個推理步驟,而分支則代表不同的推理方向或選擇。

Tree of Thoughts的特點
1.樹狀結構:ToT使用樹狀結構來表示推理過程,其中根節點代表問題的初始狀態,而葉節點代表可能的解決方案或推理的最終步驟。
2.分支探索:在樹的每一層,都會生成多個分支,每個分支代表了一種不同的推理路徑。這些分支可以基於模型對問題的理解和可能的解決方案來生成。
3.回溯機制:ToT允許模型在樹中回溯,即如果某個推理路徑看起來不會導致正確的解決方案,模型可以返回到之前的節點並嘗試另一條路徑。
4.動態擴充套件:樹結構在推理過程中動態擴充套件,模型可以根據新的資訊和中間結果不斷新增新的節點和分支。
5.複雜問題解決:ToT特別適合解決需要多步驟邏輯推理和多種可能解決方案的複雜問題。
在Boosting of Thoughts中的應用
在Boosting of Thoughts框架中,ToT結構被用來生成和評估大量的推理路徑。BoT透過迭代過程構建這些樹狀結構,每次迭代都會根據LLM生成的反饋來調整和改進提示。這樣,即使是從一個簡單的初始提示開始,BoT也能夠透過積累經驗來逐步引導模型生成更有效的推理鏈,最終解決複雜的問題。
例如,在解決數學問題時,BoT可能會生成多個包含不同數學操作和中間結果的ToT結構。透過評估這些結構,BoT可以識別出哪些操作序列更有可能得到正確答案,並將這些資訊用於指導下一輪的推理。透過這種方式,BoT能夠模擬人類解決問題時的思考過程,透過試錯和自我修正來逐步接近最終解決方案。
Comments 1
技術路線無非是三類
  • greedy search 貪婪搜尋
  • exhausted search 窮舉搜尋
  • beam search 約束搜尋
特點/方法
Greedy Search
Exhausted Search
Beam Search
定義
在每一步選擇區域性最優的選項,不考慮全域性最優解。
系統地搜尋所有可能的選項,直到找到最優解。
一種啟發式搜尋演算法,每次擴充套件固定數量的最佳選項(稱為“束寬”),並逐步構建解決方案。
目標
快速找到區域性最優解。
找到全域性最優解。
在有限的計算資源下找到接近最優的解。
效率
高,因為快速做出決策,不探索所有可能的路徑。
低,因為需要探索所有可能性,可能非常耗時。
中等,透過限制搜尋寬度來平衡效率和效果。
完備性
不完備,可能會錯過最優解。
完備,保證找到最優解(如果存在)。
可能不完備,但通常能找到好的解決方案。
適用性
適用於解空間較小或問題結構簡單的情況。
適用於解空間較大且需要找到最優解的問題。
適用於解空間較大且需要在有限時間內找到好解的問題。
例子
爬山演算法、最短路徑演算法(如Dijkstra演算法)。
深度優先搜尋(DFS)、廣度優先搜尋(BFS)。
A*搜尋演算法、蒙特卡洛樹搜尋(MCTS)。
技術路線5 多重自我迭代模式(AutoGPT)
1. Amazon的作品:Auto-GPT for Online Decision Making: Benchmarks and Additional Opinions
Auto-GPT探討自主代理在線上決策任務中的有效性和靈活性。Auto-GPT是基於大型語言模型(LLMs)的自主代理,它能夠連線網際網路並嘗試完成各種任務。儘管Auto-GPT引起了廣泛關注,但其在現實世界任務中的表現仍存在不確定性。
2. Auto-GPT特點
– 接收高層次的目標和指令,無需人類逐步指導。
– 透過生成“思考”、“推理”、“計劃”和“批評”來進行自我獨白。
– 能夠透過簡單的工具指令和幾個示例整合各種工具。
– 包含長期自我記憶和記憶檢索機制。
– 特定任務的適應應該只需要最小的努力,如提供目標定義和工具描述。
3. 實驗設定:WebShop和ALFWorld是兩個用於評估語言模型在線上決策任務中效能的模擬環境,這些任務涉及響應未知的外部環境
WebShop WebShop是一個模擬網上購物體驗的環境,它透過從亞馬遜網站抓取1181436個產品資訊並在一個隔離的伺服器上託管這些產品來建立一個真實的動作空間。這個環境為代理提供了執行產品搜尋、點選專案、返回到之前的頁面以及進行購買等選項。配備了整合的搜尋引擎,環境能夠提供給購物代理與網路瀏覽器相似的即時觀察。評估過程涉及判斷代理是否能夠根據產品描述成功購買預期的產品,成功需要產品本身、屬性、選項和價格的全部匹配。
ALFWorld ALFWorld是一個開創性的研究環境,它將ALFRED資料集的複雜、面向任務的語言理解與TextWorld的沉浸式互動小說相結合。ALFRED(Action Learning From Realistic Environments and Directives)基準測試為模型提供了一個強大的測試場地,用於學習解析並執行來自詳細、互動式3D環境中的語言指令的任務。同時,TextWorld作為一個動態的學習遊樂場,用於訓練和評估在基於文字的遊戲中的強化學習代理。ALFWorld將這兩個平臺交織在一起,將基於文字的遊戲的語言理解和決策挑戰與3D環境中的物理互動結合起來,是將自然語言指令與現實世界物理互動融合的關鍵一步。環境包含了超過25,000個在各種區域(如廚房、客廳和臥室)的逼真環境中生成的獨特任務。這些任務需要複雜的解決問題的技巧和對語言及環境的徹底理解,為AI效能提供了一個更高的基準。
4. 模型比較:比較了流行的LLMs,如GPT-4、GPT-3.5、Claude和Vicuna在Auto-GPT風格的決策任務中的效能。
5. 額外意見演算法(Additional Opinions algorithm)引入了額外意見演算法,這是一種有效的方法,將監督/模仿學習者(supervised/imitation-based learners)納入Auto-GPT方案。這種方法使得在不需要對基礎LLMs進行微調的情況下,進行輕量級的監督學習。

6. 實驗結果:透過仔細的基線比較和消融研究,證明了額外意見演算法顯著提高了線上決策基準任務的效能,包括WebShop和ALFWorld。
7. 結論:Auto-GPT不僅證明了它在實際使用中的潛力,而且在GPT-4的驅動下,超過了專門為這些任務設計的監督IL(模仿學習)模型。此外,透過引入外部專家模型的額外意見,進一步提高了Auto-GPT風格代理的決策能力,尤其是對GPT-4有益。
這篇論文展示了Auto-GPT在處理複雜線上決策任務中的潛力,並提出了一種新的方法來利用外部模型作為額外意見的提供者,這為AI模型在實際應用中的使用打開了新的可能性。
Comments 2
現在來看,2023.03的AutoGPT的套路甚至有點過時了,具體來說:
1.固定提示結構AutoGPT依賴於預定義的提示結構,這限制了模型的靈活性和適應性。在面對新任務時,泛化能力是一定有問題的,會顯著增加部署複雜性。
2.缺乏上下文理解AutoGPT是“一步到位”的邏輯。儘管AutoGPT能夠生成連貫的文字,但它在理解和維持長期上下文方面存在不足。這導致在長對話或複雜任務中,模型可能無法保持話題的一致性或忽略重要的上下文資訊。
3.推理能力侷限AutoGPT主要依賴於模式匹配和關聯性學習,不是真正的推理能力,仍然是走在beam search的老路上。在處理需要邏輯推理和深度理解的問題時,模型可能無法提供準確的答案。
4.資料依賴性AutoGPT的效能在很大程度上依賴於專家提示的質量和多樣性。如果專家提示存在偏差或不足,那可能就完蛋了。
本文大量使用大模型來進行梳理和總結。大模型雖然不能完整的形成這樣一份有觀點、有例子、有邏輯的總結性文件,有時候甚至會產出各種低資訊量資訊(沒錯就是廢話),但是在長文字摘要資訊提取上,大模型確實已經體現出驚人的能力。以往整理這樣一篇文件可能需要有經驗的同學一整天的時間,但本文的整理只用了2小時。

參考文獻:

[1]  S. Chen, B. Li, and D. Niu, “Boosting of Thoughts: Trial-and-Error Problem Solving with Large Language Models.” arXiv, Feb. 16, 2024. Accessed: Mar. 15, 2024. [Online]. Available: http://arxiv.org/abs/2402.11140
[2]  X. Wang et al., “Self-Consistency Improves Chain of Thought Reasoning in Language Models.” arXiv, Mar. 07, 2023. Accessed: Mar. 06, 2024. [Online]. Available: http://arxiv.org/abs/2203.11171
[3]  J. Wei et al., “Chain-of-Thought Prompting Elicits Reasoning in Large Language Models”.
[4]  H. Yang, S. Yue, and Y. He, “Auto-GPT for Online Decision Making: Benchmarks and Additional Opinions.” arXiv, Jun. 03, 2023. Accessed: Mar. 06, 2024. [Online]. Available: http://arxiv.org/abs/2306.02224
[5]  S. Yao et al., “Tree of Thoughts: Deliberate Problem Solving with Large Language Models.” arXiv, Dec. 03, 2023. Accessed: Mar. 15, 2024. [Online]. Available: http://arxiv.org/abs/2305.10601
[6] D. Zhou et al., “Least-to-Most Prompting Enables Complex Reasoning in Large Language Models.” arXiv, Apr. 16, 2023. Accessed: Mar. 06, 2024. [Online]. Available: http://arxiv.org/abs/2205.10625
高效構建安全合規的企業新賬號
透過此方案可以統一企業內不同賬號內的基線,靈活適配不同企業對賬號初始化的個性需求。
點選閱讀原文檢視詳情。

相關文章