提示工程指南
😃 基礎
💼 基礎應用
🧙‍♂️ 進階
🤖 代理商
⚖️ 可靠性
🖼️ 圖像提示詞
🔓 提示駭客攻擊
🔨 工具
💪 提示微調
🎲 雜項
📙 Vocabulary Reference
📚 Bibliography
📦 Prompted Products
🛸 Additional Resources
🔥 Hot Topics
✨ Credits
⚖️ 可靠性🟦 提示多樣性

提示多樣性

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

桑德舒爾霍夫

DiVeRSe ("Diverse Verifier on Reasoning Steps") 是一張透過三重方式提高答案可靠性的方法。它透過使用多個提示生成多樣化的補全結果(completions),使用驗證器區分好的答案和壞的答案,並使用驗證器檢查推理步驟的正確性。

DiVeRSe (Li et al.)

提示多樣性

DiVeRSe 使用五個不同的提示來對給定的輸入進行編碼。為了構造每個提示,他們隨機從訓練集中抽取幾個樣例。以下是一個樣本(k = 2)的少量資料提示,其中樣例取自GSM8K 基準測試。在此基準測試中,DiVeRSe 使用 5 個樣例來構建提示。

Q:Natalia在4月份向她的48個朋友出售了夾子,然後在5月份賣出了一半。 Natalia在四月和五月共賣了多少個夾子?
A:Natalia在五月份賣出了48/2 = 24個夾子。
Natalia在四月和五月共賣出了48 + 24 = 72個夾子。
#### 72
Q:Weng為照看孩子每小時賺取12美元。昨天,她只照看了50分鐘。她賺了多少錢?
A:翁每分鐘賺12/60 = 0.2美元。
工作50分鐘,她賺了0.2 x 50 = 10美元。
#### 10
Q:貝蒂正在為一隻價值100美元的新錢包存錢。貝蒂只有一半的錢。她的父母決定給她15美元,並且她的祖父母比她的父母多兩倍。貝蒂還需要多少錢才能買錢包?
A:

在生成類似上面的 5 個不同提示之後,DiVeRSe 為每個提示(temperature = 0.5)取樣 20 條推理路徑。以下是上述提示的幾個樣本的補全結果。請注意,答案並不總是正確的。

Betty有0.5*100 = 50</div><div>然後她又得到了15美元=50。</div> <div>然後她又得到了15美元 = 65。
然後她又得到了2*15美元 = 90</div><div>她還需要10090=90。</div> <div>她還需要100-90 = 10。

10

A: Betty有0.5*100 = 500</div><div>然後她又得到了15美元=500。</div> <div>然後她又得到了15美元 = 650。
然後她又得到了2*15美元 = 900</div><div>她還需要10090=900。</div> <div>她還需要100-90 = 1000。

1000

此時,DiVeRSe 已經生成了 100 個不同的完成。

投票驗證器

現在,我們可以像自洽性一樣,直接採用多數答案。

但是,DiVeRSe 提出了一種更復雜的方法,稱為投票驗證器

在測試時,使用投票驗證器是一個兩步過程。首先,驗證器(一個神經網路)根據其可能正確的機率為每個補全結果分配 0-1 分數。然後,“投票”元件對不同答案的所有分數進行求和,併產生最終答案。

樣本

這裡是一個小例子。假設對於二加二等於幾?這個提示的補全結果是這樣的:

4
二 + 2 = 5
我想 2+2 = 6
二加二 = 4
答案是5

驗證器將讀取每個補全結果併為其分配分數。例如,它可能分配以下分數:0.9,0.1,0.2,0.8,0.3。然後,“投票”元件將對每個答案的分數進行求和。

score(4) = 0.9 + 0.8 = 1.7
score(5) = 0.1 + 0.3 = 0.4
score(6) = 0.2

最終答案是 4,因為它具有最高的分數。

但驗證器是如何訓練的?

驗證器使用稍微複雜的損失函式進行訓練,在這裡不進行詳細介紹。請閱讀論文 3.3 節以獲取更多細節

總結

這裡主要是使用多個提示來生成多樣化的補全結果。在實踐中,與投票驗證相比,多數投票可能效果更好。

Footnotes

  1. Li, Y., Lin, Z., Zhang, S., Fu, Q., Chen, B., Lou, J.-G., & Chen, W. (2022). On the Advance of Making Language Models Better Reasoners. 2

  2. Cobbe, K., Kosaraju, V., Bavarian, M., Chen, M., Jun, H., Kaiser, L., Plappert, M., Tworek, J., Hilton, J., Nakano, R., Hesse, C., & Schulman, J. (2021). Training Verifiers to Solve Math Word Problems.

  3. Mitchell, E., Noh, J. J., Li, S., Armstrong, W. S., Agarwal, A., Liu, P., Finn, C., & Manning, C. D. (2022). Enhancing Self-Consistency and Performance of Pre-Trained Language Models through Natural Language Inference.