Automatic Prompt Engineer (APE)

有一篇文章概述了先進的prompt工程技術:https://luxiangdong.com/2023/08/08/advprompt/

一些作品探討了直接修改promptEmbedding的prompt工程策略(即,每個token的Embeddings列表)。換句話說,這些作品并不直接修改prompt的單詞,而是使用梯度下降等規(guī)則更新promptEmbeddings。這方面的主要工作概述如下:

  • AutoPrompt 將原始prompt輸入與一組共享(跨所有輸入數(shù)據(jù))“觸發(fā)tokens”相結合,這些令牌是通過基于梯度的搜索選擇的,以提高性能。
  • 前綴調(diào)優(yōu) 在輸入層和隱藏層的promptEmbedding中添加幾個“前綴”tokens,然后使用梯度下降作為參數(shù)高效的微調(diào)策略訓練該前綴的參數(shù)(保持模型參數(shù)固定)。
  • Prompt Tuning 類似于前綴調(diào)優(yōu),但前綴tokens只添加到輸入層。這些tokens對語言模型解決的每個任務進行了微調(diào),允許前綴tokens為給定任務調(diào)整模型。
  • P-Tuning向模型的輸入層添加了特定于任務的錨定tokens,但允許將這些tokens放置在任意位置(例如,prompt的中間),使該方法比前綴調(diào)優(yōu)更靈活。

注意:所有這些方法(如下所示)都探索向語言模型添加“軟”tokens,這些語言模型在目標數(shù)據(jù)集上進行監(jiān)督微調(diào)。值得注意的是,這些技術不能用于只能通過付費API訪問的語言模型(例如,OpenAI API)

其中AutoPrompt的方法

看圖說步驟
① 定義一個任務,其中需要插入一個Prompt <INSERT>,使得規(guī)定的輸入能得到規(guī)定的輸出。
② 面對多個候選的Prompt,計算輸出的對數(shù)似然性來作為分數(shù)
③ 得到分數(shù)后排序獲得最佳Prompt
④ 最佳Prompt作為輸入,得到相似的Prompt
⑤ 用相似的Prompt再次打分,得到最佳Prompt的變體。再次打分得到更好的Prompt

整個過程如下


?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容