當前位置:首頁(yè) > 設計 > 正文內容

微軟官方親自出教程,拿捏“Prompt工程”高級玩法

梧州海報印刷1年前 (2023-06-03)設計60
印刷廠(chǎng)直印●彩頁(yè)1000張只需要69元●名片5元每盒-更多報價(jià)?聯(lián)系電話(huà):138-1621-1622(微信同號)

選自微軟博客

機器之心編譯

機器之心編輯部

大模型有了,下一步就是設計 Prompt 了。

幾個(gè)月來(lái),ChatGPT、GPT-4 等大模型陸續發(fā)布。這些模型表現出了強大的涌現能力,但模型生成的結果是隨機的,時(shí)好時(shí)壞,部分原因與 Prompt 的設計密切相關(guān)。

很多人將 Prompt 比喻為大模型的咒語(yǔ),在引導模型生成內容方面影響很大,如何選擇 Prompt 成了每個(gè) AI 研究者關(guān)注的問(wèn)題。最近微軟官方出了一份教程,該教程介紹了 Prompt 設計和工程中的一些高級玩法,涵蓋系統消息、少樣本學(xué)習、非聊天場(chǎng)景等內容。

每部分內容都有技術(shù)介紹和示例展示,下面我們看看具體內容有哪些。

關(guān)于 Prompt,你應該了解這些

系統消息

系統消息包含在 Prompt 的開(kāi)頭,用于為模型提供上下文、說(shuō)明或與用例相關(guān)的其他信息。用戶(hù)可以通過(guò)系統消息描述模型應該回答什么、不應該回答什么,以及定義模型回復的格式。

下圖示例展示了系統消息和模型生成的回復:

通常,系統消息還可以是這樣的:

上表中 Assistant 是一個(gè)由 OpenAI 訓練的大語(yǔ)言模型。

Assistant 是一個(gè)智能聊天機器人,旨在幫助用戶(hù)回答問(wèn)題。要求模型只能使用給定的上下文來(lái)回答問(wèn)題,如果不確定答案,你可以說(shuō)「我不知道」。

Assistant 是一個(gè)智能聊天機器人,例如其能幫助用戶(hù)回答稅務(wù)相關(guān)問(wèn)題。

又比如你是一個(gè) Assistant,旨在從文本中提取實(shí)體。用戶(hù)將粘貼一串文本,你將以 JSON 對象的形式回應你從文本中提取的實(shí)體。

這是輸出格式的示例:

上面就是關(guān)于系統消息的介紹,不過(guò)一個(gè)重要的細節是,即使是設計良好的系統消息,模型仍有可能生成與系統消息指令相矛盾的錯誤回復。

小樣本學(xué)習

讓語(yǔ)言模型適應新任務(wù)的一種常見(jiàn)方法是使用小樣本學(xué)習。小樣本學(xué)習提供了一組訓練樣本作為 Prompt 的一部分,以便為模型提供額外的上下文信息。

用戶(hù)和 Assistant 之間的一系列信息(以新的 Prompt 格式編寫(xiě))可以作為小樣本學(xué)習的示例。這些示例可用于引導模型以某種方式做出響應、模擬特定行為并為常見(jiàn)問(wèn)題提供種子答案。

Prompt 的基本結構。

非對話(huà)場(chǎng)景

雖然當前大模型的主要應用場(chǎng)景是對話(huà)生成場(chǎng)景,但也可以用在非對話(huà)場(chǎng)景。例如,對于情感分析場(chǎng)景,你可能會(huì )使用以下 Prompt:

使用明確的指令

一般來(lái)講,信息在 Prompt 中出現的順序很重要。由于 GPT 類(lèi)模型是以特定方式構建的,該構建過(guò)程定義了模型對輸入的處理方式。研究表明,在 Prompt 開(kāi)始時(shí)告訴模型你希望它執行的任務(wù),然后再共享其他上下文信息或示例,可以幫助模型產(chǎn)生更高質(zhì)量的輸出。

最后重復一遍指令

模型容易受到最新偏差的影響,在這種情況下,末尾 Prompt 信息可能比開(kāi)頭 Prompt 信息對輸出的影響更大。因此,在 Prompt 末尾重復指令值得一試。

對輸出的操作

這種情況是指在 Prompt 末尾包含幾個(gè)單詞或短語(yǔ)以獲得符合所需形式的模型響應。例如,使用諸如「Here’s a bulleted list of key points:\n- 」之類(lèi)的 Prompt 可以幫助確保輸出格式為項目符號列表。

添加語(yǔ)法

為 Prompt 添加語(yǔ)法,例如標點(diǎn)符號、標題等,這樣做使輸出更容易解析。

下面示例中,不同的信息源或 step 之間添加了分隔符(在本例中為 ---)。這種操作允許使用 --- 作為生成的停止條件。此外,部分標題或特殊變量以大寫(xiě)形式出現以進(jìn)行區分。

把任務(wù)分解

如果將任務(wù)分解為更小的 step,大型語(yǔ)言模型 (LLM) 通常會(huì )表現得更好。

注意,這里使用了語(yǔ)法來(lái)區分各個(gè)部分并對輸出進(jìn)行初始化。在這個(gè)簡(jiǎn)單的例子中,將任務(wù)從一個(gè) step 分解為兩個(gè) step 結果并不很明顯,但是當試圖對包含許多事實(shí)聲明的大塊文本進(jìn)行此操作時(shí),將任務(wù)分解會(huì )產(chǎn)生顯著(zhù)的差異。

思維鏈提示

這是分解任務(wù)技術(shù)的一種變體。在這種方法中,不是將任務(wù)拆分為更小的 step,而是指示模型響應逐步進(jìn)行并呈現所有涉及的 step。這樣做可以減少結果不準確,并使評估模型響應更加容易。

提供真實(shí)上下文

在該方法下,本文建議提供給模型真實(shí)數據。一般來(lái)講,原始數據越接近最終答案,模型需要做的工作就越少,這意味著(zhù)模型出錯的機會(huì )就越少。在下面示例中,系統消息提供了最新的文章,然后要求模型給出一些早期客戶(hù),模型準確的給出了答案。

除此以外,微軟在這份指南中還介紹了關(guān)于 Prompt 其他技巧,大家可以前去原文查看,獲取更多信息。

收藏0

發(fā)表評論

訪(fǎng)客

看不清,換一張

◎歡迎參與討論,請在這里發(fā)表您的看法和觀(guān)點(diǎn)。
亚洲午夜av天堂_亚洲产国久久无码_亚洲欧美制服丝袜精品久久_91精品成人国产在线不卡