小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

大模型提示詞技術(shù)詳解(1)——Prompt結(jié)構(gòu)&少樣本學(xué)習(xí)

 邸彥強(qiáng) 2024-10-14
大模型提示詞技術(shù)詳解(1)——Prompt結(jié)構(gòu)&少樣本學(xué)習(xí)

提示詞(Prompt)是指它通過向模型輸入特定的指令或問題,來增強(qiáng)模型的表現(xiàn),而無需對模型結(jié)構(gòu)本身進(jìn)行調(diào)整。這一概念隨著大型語言模型的發(fā)展而流行,并催生了一個新興的領(lǐng)域——提示詞工程(Prompt Engineering)。這一領(lǐng)域目前還處于早期探索階段,依賴于實踐和試錯來發(fā)現(xiàn)有效的提示詞策略,屬于經(jīng)驗科學(xué)的一種。

曾經(jīng)有一個問題是AI產(chǎn)品經(jīng)理到底要不要看論文,我的看法是不用看,但了解總是有益的。學(xué)術(shù)論文的方法相比網(wǎng)上的文章往往具備以下特征:

  • 專業(yè)性(論文由科研工作者撰寫,其研究方法和結(jié)論通常在相關(guān)數(shù)據(jù)集上經(jīng)過驗證
  • 嚴(yán)謹(jǐn)性(相比網(wǎng)上的文章,學(xué)術(shù)論文的研究和論證過程更為嚴(yán)謹(jǐn)。)

但是它對普通人不易讀,所以做出一些解讀還是很有必要的,提取一些關(guān)鍵點進(jìn)行分析。

整個系列的行文結(jié)構(gòu)參考今年6月份出的技術(shù)報告(Schulhoff, Sander, et al., 2024)。做了一些補(bǔ)充并加入了一些自己的理解。這篇論文很好,它對很多混亂概念進(jìn)行了梳理并重新定義。比如說Few Shot,在深度學(xué)習(xí)中通常是指少樣本學(xué)習(xí)(Few-Shot Learning)。Prompt工程中是指Few-Shot Prompting。兩者最大的差別就在于前者是會對模型進(jìn)行永久性修改(比如模型的參數(shù))而后者僅限于在一次對話中,重啟上下文后即會失效,對模型本身不會造成任何影響。

文章內(nèi)容還會參考網(wǎng)上的一些資料,由于參考過多無法一一引用。在此向所有研究Prompt領(lǐng)域的工作者致敬??,你們是大模型時代的先驅(qū)者。

三、適用讀者范圍

下面幾種人都可以在文章中各取所需

  • AI產(chǎn)品經(jīng)理
  • 對提示詞感興趣的普通人,希望能夠提升大模型的回答質(zhì)量。或者構(gòu)建屬于自己的大模型。會講解一些普通人通用的簡單的設(shè)計技巧。

四、提示詞的組成

一個完整的提示詞通??梢杂芍噶?、示例、輸出格式、風(fēng)格、角色約定幾部分組成,它們并不需要同時存在,也并非所有場景都必須使用它們。

1. 指令

指令即用戶直接下達(dá)給大模型的命令。通常分為顯式指令以及隱式指令兩種。

顯式指令:直接提出問題

告訴我歷史上是誰統(tǒng)一了六國?

模型回答:

秦始皇。

隱式指令:給大模型一些示例,讓其自動判斷該輸出什么。隱式指令更像“找規(guī)律”,讓模型來自動判斷如何輸出。例如下面是一個將英語翻譯成西班牙語的場景

用戶輸入:

Night:Noche Morning:

模型回答:

Morning:Ma?ana

2. 示例

通常會使用*-Shot來表示,即提供給大模型的完成任務(wù)的示例,幫助其更好理解你的任務(wù)。上面的示例就屬于一個One-Shot場景(即提供一個事例)。當(dāng)場景足夠簡單、事例充分的情況下,大模型不需要你為他提供明確的指令,就可以得到你想要的答案。(參考上面的隱式指令場景)。*-Shot通常分為如下幾種情況:

1)Many-Shot

多實例上下文學(xué)習(xí),指提供多個(沒有具體的標(biāo)準(zhǔn))示例來輔助大模型理解

2)Few-Shot

提供少量示例,比如1-3個輔助大模型理解。

3)Zero-Shot

不提供示例,讓模型直接回答問題。

這一部分也通常稱為ICL(In-Context Learning)上下文學(xué)習(xí)。通常來講Zero-Shot場景是對模型性能要求最高的,也是各家大模型的優(yōu)化重點。GPT4相比GPT3.5很明顯的能力提升就在于它在Zero-Shot場景下的性能,這往往也代表著其語義理解能力更強(qiáng)。

五、輸出格式約定

這一部分通常是指定模型的輸出格式,例如

…,請以MarkDown的形式輸出回答。

這么想的話你倒是可以拿大模型做為一個格式刷:)

六、風(fēng)格約定

風(fēng)格即指定大模型的輸出風(fēng)格,是一種非常常用的模型輸出優(yōu)化方式。

請以通俗易懂,略帶風(fēng)趣的方式來解釋地球為什么圍繞太陽旋轉(zhuǎn)。

模型回答:

讓我們來聊聊太陽和地球這對宇宙中的好基友。想象一下,你手里拿著一個網(wǎng)球,然后你用繩子把它系住,開始旋轉(zhuǎn)。網(wǎng)球因為繩子的牽引,不得不跟著你轉(zhuǎn)圈圈。這其實和地球圍繞太陽轉(zhuǎn)是一個道理。

七、角色約定

為大模型設(shè)置一個角色,這點與上一部分的風(fēng)格約定通常都被用來改善模型輸出的風(fēng)格。

你是一個經(jīng)驗豐富的家庭教師,正在教一個二年級的小學(xué)生。請解釋一下地球為什么圍繞太陽旋轉(zhuǎn)。

模型回答:

好的,想象一下你在公園里玩陀螺。你用繩子把陀螺繞起來,然后快速一拉,陀螺就會在地面上旋轉(zhuǎn)起來,對吧?地球圍繞太陽轉(zhuǎn)的原理和這個有點像。首先,地球和太陽都非常非常重,太陽比地球重好多好多。很久以前,當(dāng)太陽系形成的時候,地球和其他行星都是圍繞著太陽旋轉(zhuǎn)的。這就像你把陀螺的繩子一拉,它就開始轉(zhuǎn)起來一樣…..

八、少樣本提示(Few-Shot Prompting)

大模型的記憶是有限的,它的記憶容量被稱為上下文窗口(Context Window),決定了模型能夠捕捉信息的范圍。例如,GPT-4 Turbo擁有128k個Token的上下文窗口,相當(dāng)于超過300頁的文本,這使得它能夠生成更符合對話語境的回復(fù)。而上下文學(xué)習(xí)(In-Context Learning,ICL)是指一種不需要對模型進(jìn)行訓(xùn)練,在Prompt中通過給予示例以及說明來讓模型提高模型的預(yù)測性能。但是這種性能提升其實并非“學(xué)習(xí)到的”,更像是一種激活。激活模型原有的記憶。

少樣本提示(Few-Shot Prompting)參考上面的*-Shot介紹。尤其需要注意這里和深度學(xué)習(xí)中的Few-Shot Learning存在本質(zhì)區(qū)別,F(xiàn)SP并不會對模型參數(shù)進(jìn)行調(diào)整,它的提升僅限于當(dāng)前的上下文窗口中。

1. 通用的示例設(shè)計/選取原則

為大模型提供或構(gòu)建示例的方式對其性能有顯著影響。不當(dāng)?shù)氖纠赡軙?dǎo)致模型產(chǎn)生嚴(yán)重的誤解。以下是六個關(guān)鍵因素。

2. 示例數(shù)量

通常我們直覺上認(rèn)為給大模型更多的示例,可以讓其性能更好。但是考慮到客觀條件,一方面大模型受到上下文長度限制。另一方面,不好的示例會成為噪音,從而將會降低大模型的性能。此外,在部分場景下過多的示例對性能提升并無幫助(Zhao et al., 2024)。

3. 示例順序

事例的順序可能會影響模型的表現(xiàn),在某些極端場景下,不同的順序甚至?xí)鼓P突卮饻?zhǔn)確率從低于50%到90%+不等(Lu et al. , 2024)。這個地方可以使用人工排列組合,也可以采用下一小節(jié)樣本自動構(gòu)建技術(shù)中的一些方法。注意:該順序也可能是不具有泛用能力的,遷移到另一個大模型可能會導(dǎo)致性能下降。

4. 標(biāo)簽的分布

標(biāo)簽(label)類似于傳統(tǒng)的機(jī)器學(xué)習(xí)中的概念。當(dāng)我們訓(xùn)練機(jī)器學(xué)習(xí)模型時,我們通常會給模型提供很多示例,每個示例都有一個標(biāo)簽,告訴模型這個示例屬于哪個類別。如果我們提供給大模型的示例中,某個類別的樣本數(shù)量很多,而另一個類別的樣本數(shù)量很少,那么大模型的回答將會更偏向于第一個類別。所以在進(jìn)行示例采樣時應(yīng)該綜合考慮。

5. 標(biāo)簽的準(zhǔn)確性

這點的影響目前還不確定,但是可以確定的點在于較大的模型通常更擅長處理不正確或不相關(guān)的標(biāo)簽。能不錯還是不要錯。

6. 示例格式

示例的格式會對模型的回答質(zhì)量造成影響,常用的格式例如“Q:{input},A:{label}”并沒有所謂的“最佳格式”,需要去根據(jù)具體場景進(jìn)行實驗。

7. 示例相似性

提供的示例的相似性也會對模型回答質(zhì)量造成影響,但是具體的影響目前也不確定。有的場景下選擇更多相似的示例可能會提升回答質(zhì)量,而有的場景下多樣化的示例則表現(xiàn)更好。一般來講認(rèn)為多樣化的示例會使得模型表現(xiàn)更好。

九、樣本自動構(gòu)建技術(shù)

目前,手動構(gòu)建樣本的方法還處于相對原始的階段,類似于“刀耕火種”,主要依賴于人的主觀判斷。為了提高樣本的質(zhì)量,可以參考前面提到的幾個關(guān)鍵因素,并進(jìn)行多次測試以優(yōu)化樣本。此外,目前也有一些研究致力于開發(fā)自動化構(gòu)建Few-Shot樣本的技術(shù)。

如果我們有一個示例庫,并希望從中動態(tài)構(gòu)建有效的提示詞(Prompt),這是一個非常實際且常見的應(yīng)用場景。例如,在法律文書編寫領(lǐng)域,我們需要為大模型提供與當(dāng)前案件相似的文書示例,以輔助模型進(jìn)行更準(zhǔn)確的分析。這要求我們能夠從示例庫中智能地選擇和構(gòu)建相關(guān)的樣本,以提高模型的理解和預(yù)測能力。

這里介紹幾個常用的樣本自動構(gòu)建技術(shù)。

1. K-NN(K-近鄰算法)

非常經(jīng)典的聚類算法,每次在特征空間中選取k個與輸入樣本最接近的訓(xùn)練樣本。但其對計算資源的消耗以及時間需求都很高,如果在提升生成階段使用將會一定程度影響使用體驗。

2. Vote-K(Su et al., 2022)

在第一階段通過嵌入模型(SBert)來構(gòu)建一個有向圖。其中每個節(jié)點都指向其k最近鄰。然后從一組選定的樣本開始計算評分。在第二階段對第一階段對結(jié)果進(jìn)行人工標(biāo)注,在進(jìn)行Prompt Retrieval時計算所有標(biāo)注樣本和測試樣本的余弦相似度即可。

3. SG-ICL(Kim et al., 2022)

自生成上下文學(xué)習(xí) (Self-Generated In-Context Learning,SG-ICL)利用大模型本身來自動生成示例,效果嘛….不好說??紤]到大模型對指令的理解偏差,可能會進(jìn)一步放大誤差。讓我想到了前段時間Nature發(fā)的那篇論文,利用AI生成的數(shù)據(jù)繼續(xù)訓(xùn)練大模型會導(dǎo)致模型的迅速退化(Shumailov et al., 2024)。

其他還有基于Q-Learning、基于對比學(xué)習(xí)以及基于主動學(xué)習(xí)的樣本構(gòu)建技術(shù)。這些方法目前研究性仍然不足,暫不列舉出來。

簡單總結(jié)一下,F(xiàn)ew-Shot是一種常見的提示詞調(diào)優(yōu)技術(shù)。一般來說,示例選取最好保持多樣化,同時應(yīng)該具有較強(qiáng)的隨機(jī)性(順序,內(nèi)容…)以避免大模型發(fā)現(xiàn)了“規(guī)律”從而影響回答質(zhì)量。

參考文獻(xiàn)

[1]Schulhoff, Sander, et al. “The Prompt Report: A Systematic Survey of Prompting Techniques.” arXiv preprint arXiv:2406.06608 (2024).

https:///abs/2406.06608

[2]Zhao, Hao, et al. “Is In-Context Learning Sufficient for Instruction Following in LLMs?.” arXiv preprint arXiv:2405.19874 (2024).

https:///abs/2405.19874

[3]Lu, Yao, et al. “Fantastically ordered prompts and where to find them: Overcoming few-shot prompt order sensitivity.” arXiv preprint arXiv:2104.08786 (2021).

https:///abs/2104.08786

[4]Su, Hongjin, et al. “Selective annotation makes language models better few-shot learners.” arXiv preprint arXiv:2209.01975 (2022).

https:///abs/2209.01975

[5]Kim, Hyuhng Joon, et al. “Self-generated in-context learning: Leveraging auto-regressive language models as a demonstration generator.” arXiv preprint arXiv:2206.08082 (2022).

https:///abs/2206.08082

[6]Shumailov, Ilia, et al. “AI models collapse when trained on recursively generated data.” Nature 631.8022 (2024): 755-759.

https://www./articles/s41586-024-07566-y

本文由@阿茶的AI之路 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理

題圖來自 Unsplash,基于CC0協(xié)議。

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多