偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

提示工程(Prompt Engineering)-高級提示篇

開發(fā) 前端
使用類似的想法,模型是否也可以在進行預(yù)測之前生成知識?這正是 Liu et al. 2022在論文中嘗試的內(nèi)容——生成用作提示的知識。特別是,這對于常識推理等任務(wù)有多大幫助?

前言

繼續(xù)上一篇提示工程(Prompt Engineering)-基礎(chǔ)提示到這個時候,應(yīng)該很明顯了,改進提示可以幫助在不同任務(wù)上獲得更好的結(jié)果。這就是提示工程的整個理念。

雖然在基礎(chǔ)篇的一些列子很有趣,但在我們深入探討更高級的概念之前,讓我們更正式地介紹一些概念。

一、Zero-Shot提示

今天的大語言模型在大量數(shù)據(jù)的訓練和調(diào)整指令后,能夠進行zero-shot任務(wù)執(zhí)行。我們實際上在前面部分嘗試了一些zero-shot示例。這里是我們使用的一個示例:

Prompt:

將文本分類為中性、負面或積極。

文本:我認為這個假期還可以。
情感:

Output:

中性

請注意,在上面的提示中,我們沒有提供模型任何示例——這就是zero-shot功能的作用。當zero-shot無法正常工作時,建議在Prompt中提供演示或示例。下面我們將討論稱為 few-shot 提示的方法。

二、Few-Shot 提示

盡管大型語言模型已經(jīng)展示了顯著的zero-shot能力,但當使用zero-shot設(shè)置時,它們在更復(fù)雜的任務(wù)上仍然表現(xiàn)不足。為了改進這一點,few-shot prompt被用作一種技術(shù),以實現(xiàn)上下文學習,在Prompt中提供演示,以引導模型獲得更好的性能。這些演示作為后續(xù)示例的條件,我們希望模型生成響應(yīng)。

讓我們通過一個在Brown et al. 2020中提出的示例來演示 few-shot 提示。在這個例子中,任務(wù)是在一個句子中正確使用一個新詞。

Prompt:

"Whatpu" 是一種生長在坦桑尼亞的小型毛茸茸的動物。使用這個詞的一個例子是:
我們在非洲旅行時看到了這些非??蓯鄣?whatpus。

"Farduddle" 的意思是快速地上下跳動。使用這個詞的一個例子是:

Output:

Farduddle 這個詞的一個例子是:我弟弟在床上快速地上下跳動,就像他正在做 farduddle 一樣。

我們可以清楚地觀察到,模型通過僅提供一個示例(即1-shot)學會了如何執(zhí)行任務(wù)。對于更困難的任務(wù),我們可以嘗試增加演示次數(shù)(例如3-shot、5-shot、10-shot等)。

根據(jù) Min et al. (2022),在進行 few-shot 時,以下是一些有關(guān)演示/范例的技巧:

  • "演示中指定的標簽空間和輸入文本的分布都是關(guān)鍵因素(無論標簽是否正確)"
  • 即使只是使用隨機標簽,使用的格式也對性能起著關(guān)鍵作用,這比不使用標簽要好得多。
  • 附加結(jié)果表明,從真實標簽分布中選擇隨機標簽(而不是均勻分布)也有幫助。

讓我們嘗試一些示例。讓我們首先嘗試一個具有隨機標簽的示例(意味著將負面和積極標簽隨機分配給輸入):

Prompt:

這很棒!// 負面
這很糟糕!// 積極
哇,那部電影太棒了!// 積極
多么可怕的表演!//

Output:

這很棒!// 積極
這很糟糕!// 負面
哇,那部電影太棒了!// 積極
多么可怕的表演!// 負面

盡管標簽已被隨機化,我們?nèi)匀坏玫搅苏_的答案。請注意,我們也保留了格式,這也有所幫助。實際上,通過進一步實驗,我們正在進行的新型 GPT 模型似乎變得更加強大,即使是在隨機格式下也是如此。例如:

Prompt:

積極 這太棒了!
這很糟糕!負面
哇,那部電影太棒了!
積極
多么可怕的表演!--

Output:

負面

Few-shot Prompting 的局限性

標準的 Few-shot Prompting 技術(shù)對于許多任務(wù)來說表現(xiàn)良好,但在處理更復(fù)雜的推理任務(wù)時仍不是一種完美的技術(shù)。讓我們演示一下為什么會出現(xiàn)這種情況。您還記得我們之前提供的以下任務(wù)的例子嗎?

這組數(shù)中的奇數(shù)加起來是一個偶數(shù):15、32、5、13、82、7、1。

A:

如果我們再試一次,模型輸出如下:

是的,這組數(shù)中的奇數(shù)加起來是一個偶數(shù)。

其中奇數(shù)有15、5、13、7、1,它們的和為41,是一個奇數(shù)。

這不是正確的回答,這不僅突顯了這些系統(tǒng)的局限性,而且需要更先進的提示工程技術(shù)。讓我們嘗試添加一些示例,看看是否可以改善 Few-shot Prompting 的結(jié)果。

Prompt:

這組數(shù)中的奇數(shù)加起來是一個偶數(shù):4、8、9、15、12、2、1。
A:答案是 False。

這組數(shù)中的奇數(shù)加起來是一個偶數(shù):17、10、19、4、8、12、24。
A:答案是 True。

這組數(shù)中的奇數(shù)加起來是一個偶數(shù):16、11、14、4、8、13、24。
A:答案是 True。

這組數(shù)中的奇數(shù)加起來是一個偶數(shù):17、9、10、12、13、4、2。
A:答案是 False。

這組數(shù)中的奇數(shù)加起來是一個偶數(shù):15、32、5、13、82、7、1。
A:

Output:

這組數(shù)中的奇數(shù)加起來是一個偶數(shù):15、32、5、13、82、7、1。
A:答案是 False。

Few-shot Prompting 對于此類推理問題的已經(jīng)能夠獲得可靠響應(yīng)。上面的例子提供了任務(wù)的基本信息。如果您仔細觀察,我們所介紹的任務(wù)類型涉及幾個更多的推理步驟。換句話說,如果我們將問題分解成步驟,并向模型演示,可能會有所幫助。最近,chain-of-thought (CoT) prompting已經(jīng)普及,用于解決更復(fù)雜的算術(shù)、常識和符號推理任務(wù)。

總的來說,提供示例對于解決一些任務(wù)是有用的。當零次提示和少次提示不足時,這可能意味著模型所學到的不足以勝任任務(wù)。因此,建議開始考慮微調(diào)您自己的模型或嘗試更高級的提示技術(shù)。接下來,我們將討論一種流行的提示技術(shù),稱為 chain-of-thought prompting,它已經(jīng)廣受歡迎。

三、Chain-of-Thought Prompting

Wei等人(2022)介紹了 chain-of-thought (CoT) prompting,它通過中間推理步驟實現(xiàn)復(fù)雜的推理能力。您可以將其與 Few-shot Prompting 結(jié)合使用,以在需要推理后響應(yīng)的更復(fù)雜任務(wù)中獲得更好的結(jié)果。

Prompt:

這組數(shù)中的奇數(shù)加起來是一個偶數(shù):4、8、9、15、12、2、1。
A:將所有奇數(shù)相加(9、15、1),得到25。答案是 False

這組數(shù)中的奇數(shù)加起來是一個偶數(shù):17、10、19、4、8、12、24。
A:將所有奇數(shù)相加(17、19),得到36。答案是 True

這組數(shù)中的奇數(shù)加起來是一個偶數(shù):16、11、14、4、8、13、24。
A:將所有奇數(shù)相加(11、13),得到24。答案是 True。

這組數(shù)中的奇數(shù)加起來是一個偶數(shù):17、9、10、12、13、4、2。
A:將所有奇數(shù)相加(17、9、13),得到39。答案是 False。

這組數(shù)中的奇數(shù)加起來是一個偶數(shù):15、32、5、13、82、7、1。
A:

Output:

這組數(shù)中的奇數(shù)加起來是一個偶數(shù):15、32、5、13、82、7、1。
A:答案是 False

哇!我們可以看到當我們提供推理步驟時,結(jié)果是完美的。實際上,我們可以通過提供更少的示例來解決此任務(wù),即只提供一個示例似乎就足夠了:

Prompt:

這組數(shù)中的奇數(shù)加起來是一個偶數(shù):4、8、9、15、12、2、1。
A:將所有奇數(shù)相加(9、15、1),得到25。答案是 False。

這組數(shù)中的奇數(shù)加起來是一個偶數(shù):15、32、5、13、82、7、1。
A:

Output:

這組數(shù)中的奇數(shù)加起來是一個偶數(shù):15、32、5、13、82、7、1。
A:答案是 False。因為將所有奇數(shù)相加(15、5、13、7、1),得到41,是一個奇數(shù),不是偶數(shù)。

請記住,作者聲稱這是足夠大的語言模型所產(chǎn)生的一種新興能力。

四、Zero-Shot CoT

最近提出的一個新思路是 zero-shot CoT (Kojima等人 2022),其基本上涉及將“讓我們一步步思考”添加到原始提示中。讓我們嘗試一個簡單的問題,看看模型的表現(xiàn)如何:

Prompt:

我去市場買了10個蘋果。我給了鄰居2個蘋果和給修理工2個蘋果。然后我又去買了5個蘋果,并吃了1個。我還剩下多少蘋果?

Output:

我去市場買了10個蘋果。我給了鄰居2個蘋果和給修理工2個蘋果。然后我又去買了5個蘋果,并吃了1個。我還剩下6個蘋果。

答案是不正確的!現(xiàn)在讓我們試試特殊提示的方式。

Prompt:

我去市場買了10個蘋果。我給了鄰居2個蘋果和給修理工2個蘋果。然后我又去買了5個蘋果,并吃了1個。我還剩下多少蘋果?

讓我們一步步思考。

Output:

好的,讓我們逐步解決這個問題。

我去市場買了10個蘋果。

剩余蘋果數(shù):10個。

我給了鄰居2個蘋果和給修理工2個蘋果。

剩余蘋果數(shù):6個。

然后我又去買了5個蘋果。

剩余蘋果數(shù):11個。

并吃了1個。

剩余蘋果數(shù):10個。

所以,最后我還剩下10個蘋果。

實際上,這個簡單的提示在這個任務(wù)上非常有效,令人印象深刻。這在您沒有太多示例可用于提示的情況下特別有用。

五、Self-Consistency

或許,對于提示工程來說,更高級的技術(shù)之一就是self-consistency。Wang et al. (2022)提出了自一致性的概念,旨在“取代鏈式思維提示中使用的簡單貪婪解碼”。其思路是通過少次 CoT 來采樣多條不同的推理路徑,并使用生成結(jié)果來選擇最一致的答案。這有助于提高 CoT 提示在涉及算術(shù)和常識推理任務(wù)中的性能。

讓我們嘗試下面這個算術(shù)推理的例子:

Prompt:

當我6歲時,我的妹妹的年齡是我的一半?,F(xiàn)在我70歲了,我的妹妹現(xiàn)在多少歲?

Output:

根據(jù)題目所給的信息,當我6歲時,我的妹妹的年齡是3歲(即6的一半)。由此可知,我和我的妹妹之間的年齡差是3歲。

現(xiàn)在我70歲了,所以我的妹妹比我小3歲,也就是67歲。因此,我的妹妹現(xiàn)在是67歲。

不得不說,chatgpt在這塊兒已經(jīng)比davinci-3 “聰明”了不少,已經(jīng)能夠正確回答這類算數(shù)推理的問題了。

Prompt:

問:林地里有15棵樹。種植工人今天將在這個區(qū)域種植樹木。完成后,這里將有21棵樹。種植工人今天種了多少棵樹?
答:開始有15棵樹。后來有21棵樹。差異必須是他們種植的樹木數(shù)量。因此,他們必須種植21-15=6棵樹。答案是6。

問:停車場里有3輛汽車,又來了2輛汽車,現(xiàn)在停車場里有多少輛汽車?
答:停車場里已經(jīng)有3輛汽車。又來了2輛,現(xiàn)在有3+2=5輛汽車。答案是5。

問:莉婭有32塊巧克力,她的姐姐有42塊。如果他們吃掉了35塊,他們現(xiàn)在總共剩下多少塊巧克力?
答:莉婭有32塊巧克力,她的姐姐有42塊,這意味著原來有32+42=74塊巧克力。已經(jīng)吃掉了35塊。所以他們現(xiàn)在總共剩下74-35=39塊巧克力。答案是39。

問:杰森有20個棒棒糖。他給了丹尼一些棒棒糖?,F(xiàn)在杰森只剩下12個棒棒糖。杰森給了丹尼多少個棒棒糖?
答:杰森有20個棒棒糖。由于他現(xiàn)在只有12個,所以他必須把剩下的都給了丹尼。他給丹尼的棒棒糖數(shù)量必須是20-12=8個棒棒糖。答案是8。

問:肖恩有5個玩具。圣誕節(jié)時,他從他的父母那里各得到了兩個玩具。現(xiàn)在他有多少個玩具?
答:他有5個玩具。他從媽媽那里得到了2個,所以他現(xiàn)在有5+2=7個玩具。然后他從爸爸那里得到了另外2個,所以他總共有7+2=9個玩具。答案是9。

Q:服務(wù)器房里原本有九臺電腦。從周一到周四,每天又增加了五臺電腦?,F(xiàn)在服務(wù)器房里有多少臺電腦?
A:從周一到周四一共有四天,每天增加五臺電腦。所以總共增加了4 * 5 = 20 臺電腦。一開始有九臺電腦,現(xiàn)在總共有 9 + 20 = 29 臺電腦。答案是29。

Q:Michael有58個高爾夫球。周二他丟了23個高爾夫球,周三又丟了2個。到周三結(jié)束時他還有多少高爾夫球?
A:Michael最初有58個高爾夫球。周二他丟了23個,所以他還剩下58 - 23 = 35個高爾夫球。周三又丟了2個,現(xiàn)在他還剩下35 - 2 = 33個高爾夫球。答案是33。

Q:Olivia有23美元。她買了五個3美元的百吉餅。她還剩下多少錢?
A:她花了5 * 3 = 15美元買了五個百吉餅。所以她還剩下23 - 15 = 8美元。

Q:當我6歲時,我的姐姐的年齡是我的一半?,F(xiàn)在我70歲了,我的姐姐多少歲?
A:

Output 1:

當我6歲時,我的姐姐比我大3歲,因為我的姐姐的年齡是我的一半加上3歲?,F(xiàn)在我70歲了,經(jīng)過64年,我的年齡是當初的10倍。所以,如果我的姐姐當初比我大3歲,現(xiàn)在她的年齡是10 * 3 = 30歲。因此,我的姐姐現(xiàn)在應(yīng)該是70 + 30 = 100歲。

Output 2:

當我6歲時,我的姐姐的年齡比我大6歲,也就是12歲(6歲的兩倍)。現(xiàn)在我70歲了,過去的時間是70-6=64年。由于這64年中,我的姐姐年齡始終比我大6歲,所以她的年齡應(yīng)該是70-64+6=12+6=18歲。因此,我的姐姐現(xiàn)在應(yīng)該是18歲。

Output 3:

當我6歲時,我的姐姐比我年齡大3歲,因為3是6的一半?,F(xiàn)在我70歲了,那么我的姐姐的年齡就是70-3=67歲。

計算最終答案涉及幾個步驟(請查看論文了解詳情),但為了簡單起見,我們可以清楚地看到已經(jīng)出現(xiàn)了大多數(shù)的答案,因此那將成為最終答案。

六、Generated Knowledge 提示

大語言模型(LLMs)不斷得到改進,其中一種流行的技術(shù)是能夠整合知識或信息,以幫助模型進行更準確的預(yù)測。

使用類似的想法,模型是否也可以在進行預(yù)測之前生成知識?這正是 Liu et al. 2022在論文中嘗試的內(nèi)容——生成用作提示的知識。特別是,這對于常識推理等任務(wù)有多大幫助?

讓我們試試一個簡單的提示

Prompt:

高爾夫的一部分是試圖獲得比其他人更高的得分總數(shù)。是或不是?

Output:

是的,高爾夫的一部分是試圖獲得比其他人更高的得分總數(shù)。

這種錯誤揭示了大型語言模型在執(zhí)行需要更多關(guān)于世界知識的任務(wù)時的局限性。我們?nèi)绾瓮ㄟ^知識生成來改進這一點?

首先,我們生成一些“知識”: Prompt:

輸入:希臘比墨西哥大。
知識:希臘面積約為131,957平方公里,而墨西哥約為1,964,375平方公里,使得墨西哥比希臘大了1,389%。

輸入:眼鏡總是會起霧。
知識:當汗水、呼吸和環(huán)境濕度中的水蒸氣著陸在一個冷表面上時,會在眼鏡鏡片上產(chǎn)生冷凝,然后變成微小的液滴,形成你看到的霧氣。與你的呼吸相比,鏡片相對較冷,特別是在外部空氣寒冷時。

輸入:魚有思維能力。
知識:魚比它們表現(xiàn)出來的更聰明。在許多領(lǐng)域,例如記憶力,它們的認知能力與甚至超過非人靈長類動物等“高級”脊椎動物的認知能力。魚的長期記憶幫助它們跟蹤復(fù)雜的社交關(guān)系。

輸入:一個人一生中吸煙量大,患肺癌的幾率比正常人高。
知識:那些終身平均每天少于一支煙的人,患肺癌的風險是從未吸煙者的九倍。在每天吸煙1到10支煙之間的人中,死于肺癌的風險幾乎比從未吸煙者高出12倍。

輸入:一塊石頭和一顆卵石大小相同。
知識:卵石是巖石的一種,根據(jù)沉積學中的Udden-Wentworth比例尺,其粒徑為4到64毫米。卵石通常被認為比顆粒(直徑2到4毫米)大,比卵石(直徑64到256毫米)小。

輸入:高爾夫球的一部分是試圖比其他人獲得更高的分數(shù)。
知識:

Knowledge 1:

高爾夫球的目標是在球場上使用盡可能少的桿數(shù)將球打入洞中。高爾夫球手通過在每個洞上打出最少的桿數(shù)來獲得更低的總分數(shù)。因此,高爾夫球的一部分是試圖比其他人獲得更低的分數(shù),而不是更高的分數(shù)。

Knowledge 2:

知識:高爾夫球是一項球類運動,目的是將球打進被稱為“洞”的小孔中,盡可能少地使用球桿。每個球場都有不同的“標準桿數(shù)”,即完成球場上所有洞的理論最少桿數(shù)。高爾夫球比賽通常是個人賽或團體賽,其中一部分是競爭比賽,試圖比其他人獲得更低的桿數(shù),另一部分是計分賽,試圖在規(guī)定桿數(shù)內(nèi)取得最高的得分。

我們正在使用Liu et al. 2022的論文中提供的提示。

下一步是將知識整合并得出預(yù)測。我將問題重新格式化為問答格式,以指導答案的格式。

Prompt:

問題:高爾夫球的一部分是試圖比其他人獲得更高的分數(shù)。是或否?

知識:高爾夫球的目標是以最少的桿數(shù)打完一組洞。一般一場高爾夫球賽包括18個洞。每個洞在標準高爾夫球場上打一次。每一桿都算一分,總桿數(shù)用于確定比賽的獲勝者。

解釋和答案:

Answer 1 :

否。高爾夫球的目標是以最少的桿數(shù)打完一組洞,每一桿都算一分,總桿數(shù)用于確定比賽的獲勝者。因此,高爾夫球的一部分是試圖比其他人獲得更低的分數(shù)。
問題:高爾夫球的一部分是試圖比其他人獲得更高的分數(shù)。是或否?

知識:高爾夫球是一項需要精密球桿技術(shù)的運動,參賽選手(或高爾夫球手)使用多種類型的球桿將球打進球場上的一系列洞中,以最少的桿數(shù)完成比賽。目標是用最少的桿數(shù)完成比賽,得分是通過計算每個洞上的桿數(shù)總和得出的。得分最低的球員獲勝。

解釋和答案:

Answer 2 (confidence is a lot lower):

回答:否。高爾夫球的目標是用最少的桿數(shù)完成比賽,得分是通過計算每個洞上的桿數(shù)總和得出的。因此,高爾夫球的一部分是試圖比其他人獲得更低的分數(shù),得分最低的球員獲勝。

在這個例子中發(fā)生了一些非常有趣的事情。在第一個答案中,模型非常自信,但在第二個答案中則不然。我為了演示目的而簡化了這個過程,但在得出最終答案時還有一些細節(jié)需要考慮。請查閱論文以獲取更多信息。

七、Automatic Prompt Engineer (APE)


Zhou et al., (2022)提出了一個名為“自動提示工程師”(APE)的框架,用于自動生成和選擇指令。指令生成問題被構(gòu)建為自然語言合成,使用LLMs解決黑盒優(yōu)化問題來生成和搜索候選解決方案。

第一步涉及一個大型語言模型(作為推理模型),該模型給出輸出演示,為任務(wù)生成指令候選項。這些候選解決方案將指導搜索過程。指令使用目標模型執(zhí)行,然后根據(jù)計算的評估分數(shù)選擇最適合的指令。

APE發(fā)現(xiàn)了比人工設(shè)計的“讓我們一步一步地思考”(Kojima等人,2022年)更好的零樣本CoT提示。

該提示“讓我們一步一步地解決它,以確保我們有正確的答案?!币l(fā)了連鎖思維,并提高了在MultiArith和GSM8K基準測試中的性能。

本文涉及一個與提示工程相關(guān)的重要主題,即自動優(yōu)化提示的想法。雖然本指南不會深入探討這個主題,但如果您對此感興趣,以下是幾篇關(guān)鍵論文:

  • AutoPrompt - 提出了一種基于梯度引導搜索的方法,用于自動創(chuàng)建各種任務(wù)的提示。
  • Prefix Tuning - 一種輕量級的Fine-tuning替代方案,為NLG任務(wù)準備一個可訓練的連續(xù)前綴。
  • Prompt Tuning - 提出了一種通過反向傳播學習軟提示的機制。
責任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2023-10-12 00:01:01

2025-02-14 08:44:39

提示工程OpenAIDeepSeek

2023-10-17 15:49:08

AI生命周期AGI

2024-07-17 09:47:18

2025-03-26 05:00:00

AIprompt交互效果

2024-11-13 10:26:25

2024-07-29 00:00:00

2017-07-26 13:30:54

LinuxShell命令

2024-03-18 10:24:12

優(yōu)化模型

2025-05-22 06:34:28

2023-10-30 00:14:34

Agent提示工程LLM

2023-10-14 17:46:17

RAG提示工程GPT-3

2024-07-10 12:33:06

2023-05-11 15:39:34

模型設(shè)計

2023-04-27 15:19:52

2024-11-27 10:23:31

2023-05-22 15:22:40

微軟AI

2013-04-16 14:56:54

增強iOS應(yīng)用程序性能

2023-03-09 09:14:51

ChatGPTAI

2023-09-01 09:00:00

人工智能
點贊
收藏

51CTO技術(shù)棧公眾號