「深呼吸」讓大模型表現更佳!谷歌DeepMind利用大語言模型生成Prompt,還是AI更懂AI
聲明:本文來自于微信公眾號 新智元(ID:AI_era),作者:新智元,授權微新創想轉載發布。
【新智元導讀】谷歌DeepMind提出了一個全新的優化框架OPRO,僅通過自然語言描述就可指導大語言模型逐步改進解決方案,實現各類優化任務。
「深呼吸,一步一步地解決這個問題。」
這句像你在冥想時會聽到的話,其實是大語言模型的Prompt提示詞!
只是多了「深呼吸」的命令,模型在GSM8K的得分就從「think step by step」的71.8上升至80.2,成為表現最佳的Prompt。
「深呼吸」是人類常常用來放松、集中的手段之一。
但令人好奇的的是,為什么對并不能「呼吸」的大模型,「深呼吸」也能提高它的表現?
有網友認為這是大模型在模仿人類,畢竟它可沒有肺。
也有網友認為,或許是在人工智能的訓練中,使用互聯網資源讓人工智能意外地負載了人性。
「我們無意中把情感賦予了機器。」
而這個Prompt也不是人類設計出的,而是模型自己生成的。
仿佛模型自己也更偏好帶有鼓勵、正向的Prompt。
但這也不是第一次有研究證實大模型會對交互中的正反饋作出積極的響應。
另一方面,隨著技術的發展,大語言模型在各個領域都取得了令人矚目的成績。
它們理解自然語言的能力為優化提供了一種新的可能性:
我們可以不再使用程序化求解器來定義優化問題和推導更新步驟,而是用自然語言來描述優化問題,然后指示LLM根據問題描述和之前找到的解決方案迭代生成新的解決方案。
使用LLM進行優化時,只需更改提示中的問題描述,就能快速適應不同的任務,而且還可以通過添加指令來指定所需的解決方案屬性,從而定制優化過程。
最近,谷歌DeepMind一篇研究介紹了使用LLM對自然語言的提示工程進行優化的方法,稱為Optimization by PROmpting(OPRO)。
論文地址:https://arxiv.org/pdf/2309.03409.pdf
OPRO就是一種將大型語言模型(LLM)用作優化器的簡單有效的方法。
OPRO的步驟如下:
在每一步優化中,使用元提示(meta-prompt)向LLM描述優化問題。
元提示包含自然語言任務描述、以往生成的解決方案及其目標函數值。
然后,LLM根據元提示生成新的解決方案。
最后,計算新解的目標函數值,并加入元提示以進行下一步優化。
重復該過程,直到LLM無法再找到更好的解決方案。
研究表明,OPRO生成的最佳提示在GSM8K問題上超過人類設計的提示高達8%,在Big-Bench Hard任務上高達50%。
LLM作為數學優化器
「推理」是大語言模型的短處,基于諸多語料訓練的這些模型在推理問題上的表現與文本處理相比十分糟糕。
就連最簡單的加減乘除,大語言模型也會一本正經地「胡說八道」。
但谷歌DeepMind證實了OPRO在數學問題中也能優化模型的表現。
研究人員選擇了線性回歸作為連續優化的例子,旅行商問題(Traveling Salesman Problem, TSP)作為離散優化的示例。
線性回歸
實驗表明,僅通過提示LLM就能在線性回歸問題上找到全局最優解。有時可匹敵專門設計的算法,證明了LLM作為優化器的潛力。
旅行商問題(Traveling Salesman Problem,TSP)
TSP實驗證明,在小規模問題上LLM可通過提示實現類似專業優化算法的效果。
但對于大規模組合優化問題而言,LLM帶來的性能仍需提升。
下圖是在GSM8K上使用經過指令調整的PalM2-I(PaLM2-L-IT)進行提示優化的元提示例子。
生成的指令將被添加到評分器LLM輸出中的A開頭。
藍色文本包含過去生成的提示和對應的分數,分數高的排在前面。這是一系列指令及其在訓練集上的精度。
紫色文本描述了優化任務和輸出格式要求,說明了生成指令的位置和作用。
橙色文本是元指令,提供了LLM如何進一步解釋優化目標和如何使用給定信息。
<INS> 表示將添加生成指令的位置。
提示優化實驗
實驗將PaLM2-L、text-bison、gpt-3.5-turbo、gpt-4作為優化器和評測模型。
并選擇了GSM8K和Big-Bench Hard(BBH)作為評估基準。GSM8K是一個小學數學問題的基準,有7473個訓練樣本和1319個測試樣本。
BBH是一套包含23個具有挑戰性的BIG-Bench任務符號操作和常識推理的基準,每個任務包含多達250個示例。
表4總結了使用不同LLM作為評分器和優化器在GSM8K上發現的頂級指令:
不同LLM作為優化器時,指令的風格差異很大:PalM2-L-IT和text-bison的指令簡潔明了,而GPT的指令則冗長而詳細。
雖然有些得分高的指令中包含「step by step」,但大多數其他指令在語義不同的情況下也達到了相當或更高的準確度。
GSM8K結果
GSM8K上的優化以預訓練的PalM2-L作為評分器,以經過指令調整的PalM2-I-IT作為優化器。
BBH的電影推薦上的優化以text-bison作為評分器,以PalM2-I-IT作為優化器。
下圖顯示了在預訓練的PalM2-L和PalM2-I-IT作為優化器的即時優化曲線:
曲線整體呈上升趨勢,并在整個過程中出現了幾次跳躍。
接下來,研究人員使用(a)text-bison評分器和PalM2-L-IT優化器,以及(b)預訓練 PaLM2-L作為評分器和優化器,在 GSM8K 上進行提示優化。
下圖中的優化曲線也呈現出了類似的上升趨勢。
BBH結果
研究人員還在BBH數據集上進行了提示優化。與GSM8K類似,其優化曲線也基本呈上升趨勢。這表示隨著優化,生成的提示性能逐步提升。
但優化得到的提示大多數任務上比「Let's think step by step」提示效果好5%以上,個別任務提升可達50%以上。
與空提示相比,找到的提示在大多數任務上也有5%以上的顯著提升。
而在一些具體任務如ruin_names上,后期生成的提示通過替換關鍵詞子句的方式進行釋義改寫,從而獲得進一步提升。
可以看到,不同優化器找到的提示語義和風格有所不同,但效果相近。
一些任務優化過程中也出現了精度飛躍,對應生成提示的質的飛躍。
綜上,BBH數據集的優化實驗也驗證了方法的有效性。
提示優化可以持續改進性能,明顯超過強基線。但小的語義變化帶來的效果提升顯示了提示優化的難點之一。
下表比較了不同模型對于同一任務找到的不同提示風格,驗證了提示優化可以廣泛適用于不同模型,并給出每個任務的最優提示。
總而言之,這項研究首次提出并驗證了使用大語言模型進行優化的有效性,為利用LLM進行更廣泛優化任務提供了框架和經驗,是這個新的研究方向的開拓性工作,具有重要意義。
參考資料:
https://arxiv.org/pdf/2309.03409.pdf