成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

提示工程:更好地釋放LLM的能力

人工智能
雖然大模型知識豐富,但它并不是無所不知的,尤其是它對我們要完成的工作甚至是一無所知的。這時,我們只要給它一些例子,幫助它理解我們的工作內容,它就能很好地進行推理。

提示工程,正如其名,主要聚焦于探究如何創作提示詞。

存在提示工程的一個關鍵緣由在于,大模型在不同人群的視角下所發揮的作用差異顯著。普通使用者往往僅將大模型視作聊天機器人,他們著重關注的是大模型能否迅速且精準地予以反饋。就像我們之前提及的提示詞公式,其足以應對絕大多數日常使用情境。

然而在開發者的視野里,他們期望大模型具備處理復雜任務場景的能力。例如當下眾多 Agent 背后所依托的技術,便是借助大模型的推理能力推斷出下一步行動,而這一過程高度依賴提示詞的精心編寫。

多數人是先知曉 ChatGPT,而后才了解提示詞,進而認識提示工程。實際上,提示工程并非在 GPT 風靡之后才出現的新技術。它最早源自自然語言處理(Natural Language Processing,簡稱為 NLP)領域。當時人們就察覺到,在任務執行進程中,若能給予 AI 適宜的引導,AI 便能更為精準地領會我們的意圖,并遵循指令作出響應。于是,怎樣對 AI 進行有效引導便成為眾多研究者的探索方向,提示工程也就此應運而生。

在 GPT 廣泛流行之后,人們驚喜地發現相同的技術對大模型同樣行之有效,所以越來越多的人開始將目光投向提示工程。

從技術本質來講,為大模型提供的背景信息越豐富,就越有利于大模型理解我們的意圖,而我們向大模型傳遞信息的主要途徑便是借助提示詞。從某種程度而言,之前所闡述的提示詞公式可被視為提示詞工程的一個典型示例,依據此公式,我們能夠為大模型提供其推理所必需的各類信息。

至此,大家應該已經對提示工程有了一個初步的認知。接下來,就讓我們一同來了解幾個提示工程中的典型技術。

零樣本提示(Zero-Shot Prompting)

前面我們說過,大模型的一個特點是知識豐富,所以,大模型本身是知道很多東西的。我們就可以利用這個特點,讓它幫我們做一些通用的事情。在這種情況下,我們不需要給大模型過多的信息提示,這種提示詞的寫法稱為零樣本提示(Zero-Shot Prompting)。

我們來看一個例子:

圖片圖片

在當前這個實例當中,我們期望大模型執行一項文本分類的任務,即判定文本內容究竟屬于中性、負面還是正面類別。可以明顯看出,大模型自身已然知曉分類的概念,并且清楚應當如何依據文本內容來評判其情感傾向。因此,在這個特定的例子里,即便我們未額外提供更多的提示信息,大模型也能夠出色地完成分類任務。

零樣本提示在提示工程領域屬于相對易于理解的一項技術,它尤其適用于較為簡單的任務場景。舉例來說,某些簡單的查詢操作便能夠運用零樣本提示來達成。在此過程中,我們所需做的僅僅是對提示詞加以適當調整,從而使大模型能夠更為精準地返回我們所期望的內容。

不過,在某些情況下,我們所面臨的任務并非具有普遍通用性,此時零樣本提示便難以發揮作用。于是,我們可以向大模型提供一些具體的例子,以此助力大模型更好地理解任務要求,而這便是我們接下來即將探討的另一項提示技術 —— 少樣本提示。

少樣本提示(Few-Shot Prompting)

雖然大模型知識豐富,但它并不是無所不知的,尤其是它對我們要完成的工作甚至是一無所知的。這時,我們只要給它一些例子,幫助它理解我們的工作內容,它就能很好地進行推理。下面是一個例子:

圖片圖片

在該示例中,老師需要依據學習成績來規劃學生的假期活動,而活動的詳細內容大模型預先無從知曉。在此情形下,我們運用了少樣本提示方法,即提供了若干具體實例:對于成績在 85 分及以上的學生,安排預習下學期課程;成績處于 60 至 85 分區間的,要求完成假期作業;成績低于 60 分的,則需復習本學期課程內容。

有了這些示例后,我們便可向大模型提出具體問題:小剛的期末成績為 74 分,那么他的假期活動應當是什么?大模型參照我們給出的實例進行推理,進而得出結論:小剛的期末成績是 74 分,其假期活動應為完成假期作業。

或許看到此例,你會心生疑惑,我們為何會以這樣的方式與大模型交流呢?實際上,這并非我們日常的聊天模式,而是一種應用的構建方式。我們會將前面的示例作為提示詞的固定組成部分,而后面的問題則依據用戶的實際提問進行拼接。在后續講解 LangChain 時,會涉及一個名為提示詞模板(PromptTemplate)的概念,其用途便是用于拼接提示詞。此刻,你應該能夠明白為何我們強調本講所涉及的提示工程內容均屬于技術范疇了。

少樣本學習在簡單分類場景中頗為有效,但它也存在顯著的局限性。例如,在一些復雜的推理任務里,它就難以應對。于是,便有了下一項提示詞技術 —— 思維鏈。

思維鏈提示(Chain-of-Thought Prompting)

大模型本質上屬于語言模型,其優勢顯著體現在語言處理能力方面。然而,換個視角審視,大模型在數學與推理等領域確實存在短板。我們常常會察覺到,大模型在面對一些簡易數學問題時容易出錯,就像判斷 3.8 和 3.11 的大小這種基礎問題(值得一提的是,各個大模型都在持續努力修正已發現的此類問題)。

依我之見,大模型的表現往往是言語反應快于思考過程,常常未經深思熟慮就給出回應。為促使大模型更出色地履行任務,我們有必要引導它放緩回應速度,避免僅憑直覺作答,而是要激發其理性思維,使其能夠更加嚴謹、準確地處理問題并提供答案。

圖片圖片

在這一實例中,左右兩側均旨在獲取數學題的答案,并且所采用的樣例題目相同。二者的區別在于,標準提示的樣例回答是徑直給出答案,而運用思維鏈提示的樣例回答則呈現出完整的推導流程。由此可見,由于樣例的差異,模型的回答也產生了不同結果。標準提示因直接給出答案,屬于 “未加思索” 的回應,最終答案錯誤;而思維鏈提示給出的答案伴有完整的思考進程,是一種 “深思熟慮”“慢下來” 的答案,所以得出了正確答案。

至此,大家應該能夠明白,所謂思維鏈,實際上就是這樣的思考步驟。此例中的思維鏈因列舉了示例,故而可被視作一種少樣本提示。或許有人會思考,既然存在少樣本思維鏈,那么是否存在零樣本思維鏈呢?答案是肯定的。只需在提示詞里添加 “Let’s think step by step” 即可,其目的顯而易見,是告知大模型要放慢節奏,逐步思考。

無論是上述實例,還是零樣本思維鏈,若自行測試,效果極有可能存在差異。原因在于大模型的推理能力處于持續提升的狀態,可能前一天表現欠佳,后一天便有所進步。所以,在實際開發大模型應用時,務必基于特定模型展開測試,以此確保提示詞的有效性。

就在撰寫這段文字后不久,OpenAI 推出了 o1,其核心原理便是將思維鏈融入大模型的處理流程之中,從而極大地增強了模型的推理能力。倘若能夠領會思維鏈的內涵,即便我們使用的是推理能力稍弱一些的大模型,依然能夠收獲較為理想的推理成效。

ReAct 框架

前面提到的這些提示技術都是在說大模型自身的推理過程,不過,很多人對大模型的預期可不僅僅局限于“文字游戲”。那如果大模型能夠跳脫自說自話,和周邊做更多結合,是不是就可以做更多的事情了呢?

ReAct 框架就是在這個想法下誕生的。ReAct 實際上是兩個單詞的縮寫:Reasoning + Acting,也就是推理 + 行動。下面是這個例子來自引入 ReAct 框架的論文,其原始問題是:

除了蘋果遙控器,還有哪些設備可以控制蘋果遙控器最初設計用來交互的程序?Aside from the Apple Remote, what other devices can control the program Apple Remote was originally designed to interact with?

下面就是回答這個問題涉及到的不同的步驟:

圖片圖片

于該實例當中,大模型若要達成一個宏大目標,便需持續執行一系列任務。每個任務都會歷經思考(Thought)、行動(Action)、觀察(Observation)這三個關鍵階段。思考環節能夠確定下一步的行動方向;行動則意味著切實完成某一具體動作;而觀察,是對行動所產生的結果予以評估,進而判定是否終止這一處理流程。

雖說推理部分大模型自身便可完成,然而行動所涉及之事,大模型恐難以獨自應對。例如搜索蘋果遙控器,這顯然需要借助其他手段,來輔助大模型完成此搜索行為。實際上,這便是 ReAct 技術被稱作框架的根源所在,因其在執行過程中需要融入一些其他的動作才能順利推進。

如果單看這個例子,你還可能會有些困惑,那下面的例子可以幫助你更好地理解 ReAct 是一個框架。這是來自 LangChain 社區的一個提示詞模板,后面我們會講到 LangChain,這里我們先把注意力放到提示詞本身:

Answer the following questions as best you can. You have access to the following tools: {tools} Use the following format:Question: the input question you must answerThought: you should always think about what to doAction: the action to take, should be one of [{tool_names}]Action Input: the input to the actionObservation: the result of the action… (this Thought/Action/Action Input/Observation can repeat N times) Thought: I now know the final answerFinal Answer: the final answer to the original input question Begin! Question: {input}Thought:{agent_scratchpad}

此提示詞模板的核心用途在于借助特定工具來達成具體任務。在此處能夠看到與之前相似的思考(Thought)、行動(Action)、觀察(Obsuation)等階段。關鍵之處在于行動階段,在此階段我們能夠運用不同的工具,而這些工具正是可以被整合進執行流程的關鍵要素。大模型會依據問題以及工具的特性來抉擇下一步的行動策略,例如告知我們應選用何種工具來完成任務,隨后便能夠執行對應的工具代碼。需要注意的是,這里的工具代碼屬于本地代碼,其所能實現的功能更為豐富多樣,能夠突破大模型自身能力的局限。倘若你能夠透徹理解這個提示詞模板,那么便意味著你已經初步具備了構建一個 Agent 的基礎條件。

責任編輯:武曉燕 來源: 二進制跳動
相關推薦

2023-06-29 08:00:00

人工智能LLMGPT-4

2024-02-19 00:12:50

AI代碼

2019-03-22 14:20:26

管理多云云計算

2023-06-26 07:42:39

2018-09-12 16:14:13

云廠商云計算數據中心

2023-11-09 11:48:41

2021-05-13 14:32:32

統一通信協作遠程工作

2012-02-08 16:19:09

ibmdw

2012-02-14 12:50:13

ibmdw

2015-11-18 09:56:24

數據中心監控

2022-10-09 07:07:51

Python類型代碼

2023-09-27 08:18:03

2014-10-29 09:55:58

程序員代碼

2023-12-18 07:32:08

ChatGPTLLMCoT

2018-10-11 09:40:53

前端JavaScript編程語言

2017-10-12 15:20:57

數據中心遷移數據云端

2021-02-25 22:17:19

開發技術編程

2020-07-08 08:22:08

FlutterSVGPNG

2024-07-31 08:00:00

2023-10-04 10:00:12

模型算法
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久亚洲经典 | 成人精品鲁一区一区二区 | 一区二区三区视频在线免费观看 | 99久久精品国产一区二区三区 | 国产在线观看一区二区三区 | 欧美猛交| 国产男女视频 | 欧美精品久久久 | 国产精品美女久久久av超清 | 欧美在线综合 | 久久蜜桃av | 国产精品久久久久久亚洲调教 | 欧美一区二区三区 | 国产精品久久久久久模特 | 久久青 | 国产精品久久久久aaaa九色 | 亚洲一区中文字幕 | 成人视屏在线观看 | 久久av一区二区三区 | 成人精品影院 | av黄色在线 | 国产精品久久久久久一区二区三区 | 少妇无套高潮一二三区 | 久久这里只有精品首页 | 久久久久99 | av黄色在线 | 成人精品一区二区三区 | 亚州毛片 | 亚洲成人激情在线观看 | 天天久久| 91精品国产欧美一区二区成人 | 日韩在线不卡视频 | 在线观看亚洲 | 国产japanhdxxxx麻豆 | 成人国产免费视频 | 国产伦精品一区二区三区高清 | 欧美综合久久久 | 国产黄色大片 | 岛国av在线免费观看 | www国产精| 日韩手机在线看片 |