0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何從訓練集中生成候選prompt 三種生成候選prompt的方式

深度學習自然語言處理 ? 來源:青稞AI ? 2024-01-12 11:29 ? 次閱讀

作者:劉小虎,中國科學院計算技術研究所

組內(nèi)現(xiàn)在正在做大模型相關,筆者負責prompt engineering,在實際工程中會發(fā)現(xiàn)prompt對模型的輸出影響巨大,可能一個字就會改變模型的輸出(筆者用的是量化后的7B model),而且換一個模型,就要改變手工制定的prompt,非常麻煩和受限。因此想到了Automatic prompt engineering。由此記錄自己的paper閱讀,肯定會有自己的理解錯誤的地方,如有發(fā)現(xiàn)請聯(lián)系筆者進行更正。

APE: Larger Language models are human-level prompt engineers

這篇論文的核心思路就是:

?從訓練集中生成候選prompt

?評估這些候選prompt,選出得分最高的prompt

?resample, 使用LLM 生成語義相近的prompt(2中得分最高的prompt),然后再進行評估,最終得到prompt

642bb4ce-afed-11ee-8b88-92fbcf53809c.jpg

APE整體框架圖

643a4d68-afed-11ee-8b88-92fbcf53809c.jpg

APE算法

生成候選prompt

論文指出有三種生成候選prompt的方式

?Forward Mode Generation

64445e70-afed-11ee-8b88-92fbcf53809c.jpg

這個比較直觀,就是寫一段指令,然后將訓練集的輸入輸出給出,直接讓LLM自動生成prompt。這個生成prompt的模板不知道是哪的出處,有網(wǎng)友知道是哪的,可以直接指出。

?Reverse Mode Generation

644ec13a-afed-11ee-8b88-92fbcf53809c.jpg

這個也很直觀,就是填補空白的方式。但是這個方式怎么實現(xiàn)呢?我比較疑惑,不知道怎么實現(xiàn)這個填補空白的方式,因為LLM都是一個字一個字的自回歸生成。

645a93ac-afed-11ee-8b88-92fbcf53809c.jpg

?Customized Prompts

6466ca5a-afed-11ee-8b88-92fbcf53809c.jpg

這一類就是自己根據(jù)task來設計了,論文給出了一個示例。我認為就是使用不同的模板來擴充了多樣性(可能是我的理解有錯誤)

評估候選prompt

?Execution accuracy

這種方式其實就是使用GT來進行比較。將得分最高的prompt扔進模型,得到結果和GT進行比較。

?Log probability

給定指令和問題后所得到的所需答案的對數(shù)概率

另外,這一步如果在全量訓練集上評估,則開銷非常大,因此作者提出一種multi-stage策略。大致思想是先在少量subset上評估,然后過濾掉比較差的,循環(huán)這一過程直到候選集足夠小,此時再在全量訓練集上進行評價、挑選。

Resample

使用的是蒙特卡羅搜索的方式。說的這么玄乎,其實還是使用LLM來生成prompt!但是這一步他是使用之前得分最高的prompt再次來生成語義相近的prompt。

64703888-afed-11ee-8b88-92fbcf53809c.jpg

這里可以是迭代的方式進行。怎么迭代呢?筆者是這樣認為的:

1、得到語義相近的prompt。
2、評估這些prompt。
3、得到得分最高的prompt 重復1、2步驟。

作者實驗發(fā)現(xiàn),對于比較難的任務,進行resample能夠進一步提升效果。

ProTeGi (Automatic Prompt Optimization with “Gradient Descent and Beam Search)

647bc5fe-afed-11ee-8b88-92fbcf53809c.jpg

這篇文章早就在arxiv上發(fā)出來了。當時的縮寫還是APO。今年被EMNLP2023收錄

首先讓我們先來看看這篇論文的整體框架圖。

6485bb4a-afed-11ee-8b88-92fbcf53809c.jpg

ProTeGi總體框架圖

方法:利用數(shù)值梯度下降自動優(yōu)化提示,同時結合beam search和bandit selection procedure提高算法效率。

優(yōu)勢:無需調整超參數(shù)或模型訓練,ProTeGi可以顯著提高提示的性能,并具有可解釋性。

什么原理呢?

?得到當前prompt的“gradient”

這個“gradient”怎么得到的了呢,這是個啥玩意,怎么還有梯度?注意,注意。人家是帶引號的!比喻成梯度。這玩意有什么用呢。

文章指出給定一批error samples(當前prompt無法預測正確的),讓LLM給出當前prompt預測錯誤的原因,這一原因即文本形式的“gradient”。使用的還是LLM!

64938b12-afed-11ee-8b88-92fbcf53809c.jpg

?將“gradient”輸入到LLM中,得到新的prompt

649d6e16-afed-11ee-8b88-92fbcf53809c.jpg

?和APE一樣,resample, 得到語義相近的prompt,然后迭代。

注意注意啊,每輪迭代中,最外層包含一個beam search過程,以便強化探索。這一塊就看不懂了, 也是本論文的貢獻之一。沒有想過改進,所以略過直接使用。

OPRO (Large Language Models as Optimizers)

64aa2dcc-afed-11ee-8b88-92fbcf53809c.jpg

paper:LargeLanguageModelsasOptimizers
鏈接:https://arxiv.org/abs/2309.03409
code:https://github.com/google-deepmind/opro

首先來看框架圖

64b668d0-afed-11ee-8b88-92fbcf53809c.jpg

然后接著看論文對meta-prompt的定義

64c360ee-afed-11ee-8b88-92fbcf53809c.jpg

blue 藍色的是 solution-score pairs 也就是 prompt + score。這個score怎么來的呢?使用LLM進行打分,也就是Figure 2 中的 objective function evaluator。這應該也是個LLM, 這個LLM和 LLM as optimizer 可以是同一個 也可以不是。** 注意,這個打分其實就是評估新生成的prompt在任務上的表現(xiàn),說白了就是和GT進行對比(對了+1)**。

orange 橙色 就是指令 meta-instructions.

purple 紫色 就是task description,包含一些任務的examples、優(yōu)化的目標等

因此, OPRO的核心思路是讓LLM基于過往的迭代記錄、優(yōu)化目標,自己總結規(guī)律,逐步迭代prompt,整個過程在文本空間上完成。

PE2 (Prompt Engineering a Prompt Engineer)

64d0f2cc-afed-11ee-8b88-92fbcf53809c.jpg

paper:PromptEngineeringaPromptEngineer
鏈接https://arxiv.org/abs/2311.05661

這一篇paper 是 APE 和 APO (ProTeGi)的改進版,集成了這2個方法的優(yōu)點。

這篇論文主要提出了一個meta-prompt的東東(等等,我去,這玩意和OPRO這篇論文里的好像?。?/p>

提供更細節(jié)的指令和內(nèi)容

?提供提示工程的教程

?2階段的任務描述

?step-by-step 推理的模板

?明確指定提示與輸入之間的相互關系

結合優(yōu)化的概念

?batch size : 指的就是使用batch size失敗的例子

?step size : 指的就是改變原始的prompt中step size個字

?Optimization History and Momentum : 其實就是增加了以外的prompt和修改后的prompt

看完后驚呼道:這是真能寫啊。寫的玄乎又玄乎的。一圖勝千言

64da7c02-afed-11ee-8b88-92fbcf53809c.jpg

64e9ce1e-afed-11ee-8b88-92fbcf53809c.jpg

64fbed1a-afed-11ee-8b88-92fbcf53809c.jpg

給我的感覺就是前面3篇論文的集成版本。

將OPRO中的meta-prompt的概念用到了 APO中了,然后豐富了模板的內(nèi)容。有反思分析有推理,迭代的讓模型自動修改prompt。

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4588

    瀏覽量

    92508
  • prompt
    +關注

    關注

    0

    文章

    14

    瀏覽量

    2662
  • LLM
    LLM
    +關注

    關注

    0

    文章

    264

    瀏覽量

    297

原文標題:總結

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AI對話魔法 Prompt Engineering 探索指南

    作者:京東物流 李雪婷 一、什么是 Prompt Engineering? 想象一下,你在和一個智能助手聊天,你需要說出非常清晰和具體的要求,才能得到你想要的答案。Prompt
    的頭像 發(fā)表于 11-07 10:11 ?516次閱讀
    AI對話魔法 <b class='flag-5'>Prompt</b> Engineering 探索指南

    三種SPWM波形生成算法的分析與實現(xiàn)

    本文著重介紹三種SPWM波形生成算法的分析與實現(xiàn)
    發(fā)表于 08-24 16:30 ?12次下載

    HTML DOM prompt()方法使用

    HTML DOM Window 對象 定義和用法 prompt() 方法用于顯示可提示用戶進行輸入的對話框。 語法prompt(text,defaultText)參數(shù)描述 text 可選。要在
    發(fā)表于 11-28 15:06 ?4613次閱讀
    HTML DOM <b class='flag-5'>prompt</b>()方法使用

    推薦系統(tǒng)中候選生成和冷啟動挑戰(zhàn)的研究

    本研究針對推薦系統(tǒng)冷啟動和候選生成兩方面的問題,提出了一基于深度學習的分類方法。
    的頭像 發(fā)表于 07-30 10:22 ?2437次閱讀

    應用于任意預訓練模型的prompt learning模型—LM-BFF

    /2107.13586.pdf 相關資源:http://pretrain.nlpedia.ai Part1什么是Prompt Learning BERT誕生開始,使用下游任務數(shù)據(jù)微調預訓練語言模型 (LM)已成為
    的頭像 發(fā)表于 08-16 11:21 ?4559次閱讀
    應用于任意預<b class='flag-5'>訓練</b>模型的<b class='flag-5'>prompt</b> learning模型—LM-BFF

    揭秘Prompt的前世今生

    摻雜了筆者的一些個人見解,歡迎大家積極討論~ 論文的arxiv鏈接如下: https://arxiv.org/abs/2107.13586 一、Prompt的產(chǎn)生和興起 近幾年來,有關預訓練語言模型(PLM)的研究比比皆是,自然語言處理(
    的頭像 發(fā)表于 09-01 10:28 ?2774次閱讀
    揭秘<b class='flag-5'>Prompt</b>的前世今生

    Prompt范式你們了解多少

    卷友們好,我是rumor。 之前我學習Prompt范式的源起PET后就鴿了很久,相信卷友們已經(jīng)把Prompt的論文都追完了,把我遠遠地落在了后面。周末我不甘被卷,奮起直追,連刷篇paper,希望能
    的頭像 發(fā)表于 09-10 10:22 ?2675次閱讀
    <b class='flag-5'>Prompt</b>范式你們了解多少

    NLP中Prompt的產(chǎn)生和興起

    : https://arxiv.org/abs/2107.13586 本文的內(nèi)容框架如下: 一、Prompt的產(chǎn)生和興起 二、什么是Prompt 、Prompt的設計方法 四、
    的頭像 發(fā)表于 09-12 14:52 ?2554次閱讀
    NLP中<b class='flag-5'>Prompt</b>的產(chǎn)生和興起

    基于預訓練視覺-語言模型的跨模態(tài)Prompt-Tuning

    論文:CPT:Colorful Prompt Tuning for Pre-Training Vision-Language Models 狀態(tài):Work in Progress 單位:清華大學
    的頭像 發(fā)表于 10-09 15:10 ?3190次閱讀
    基于預<b class='flag-5'>訓練</b>視覺-語言模型的跨模態(tài)<b class='flag-5'>Prompt</b>-Tuning

    萬能的prompt還能做可控文本生成

    隨著 Prompting 技術的大火,我們一直在思考,Prompt 究竟能夠帶來什么?我們都說,Prompt 本質上是一激發(fā)語言模型中知識的手段。因此,它應該不僅僅局限于數(shù)據(jù)集或者說任務的層面,激發(fā)模型對于某個任務的“知識”
    的頭像 發(fā)表于 03-22 10:54 ?2722次閱讀

    關于Prompt在NER場景的應用總結

    將序列標注任務轉換成一個生成任務,在Encoder端輸入為原始文本,Decoder端輸入的是一個已填空的模板文本,輸出為已填空的模板文本。待填空的內(nèi)容為候選實體片段以及實體類別。候選實體片段由原始文本進行N-Gram滑窗構建,為
    的頭像 發(fā)表于 05-24 10:54 ?2016次閱讀

    基于prompt和對比學習的句子表征學習模型

    我們發(fā)現(xiàn)prompt,再給定不同的template時可以生成不同方面的positive pair,且避免embedding bias。
    的頭像 發(fā)表于 10-25 09:37 ?858次閱讀

    專業(yè)音頻應用中生成負電源軌的方案

    專業(yè)音頻應用中生成負電源軌的方案
    發(fā)表于 10-31 08:23 ?4次下載
    專業(yè)音頻應用<b class='flag-5'>中生成</b>負電源軌的方案

    評論中生成藝術的開源項目

    電子發(fā)燒友網(wǎng)站提供《評論中生成藝術的開源項目.zip》資料免費下載
    發(fā)表于 07-05 11:06 ?0次下載
    <b class='flag-5'>從</b>評論<b class='flag-5'>中生成</b>藝術的開源項目

    prompt在AI中的翻譯是什么意思?

    效地完成任務。 Prompt技術可以幫助AI系統(tǒng)快速了解任務的背景、情境以及用戶的意圖,并提供指導AI系統(tǒng)在特定的情境下如何采取下一步行動。通過使用Prompt技術,AI系統(tǒng)可以更加準確地理解用戶的需求,它可以使用歷史數(shù)據(jù)和已經(jīng)訓練
    的頭像 發(fā)表于 08-22 15:59 ?2691次閱讀