如何通過(guò)提示工程訓(xùn)練您的聊天機(jī)器人?
譯文譯者 | 布加迪
審校 | 重樓
近幾個(gè)月來(lái)基于人工智能(AI)的聊天機(jī)器人風(fēng)靡全球,一個(gè)原因是它們可以為各種用途生成或完善文本,無(wú)論策劃廣告活動(dòng)還是撰寫(xiě)簡(jiǎn)歷。
這些聊天機(jī)器人基于大型語(yǔ)言模型(LLM)算法,算法可以模仿人類(lèi)智能,創(chuàng)建文本內(nèi)容以及音頻、視頻、圖像和計(jì)算機(jī)代碼。LLM是一種AI,接受大量文章、書(shū)籍或網(wǎng)上資源及其他輸入的訓(xùn)練,對(duì)自然語(yǔ)言輸入給出類(lèi)似人類(lèi)的答復(fù)。
越來(lái)越多的科技公司已推出了基于LLM的生成式AI工具,用于企業(yè)自動(dòng)化處理應(yīng)用任務(wù)。比如,微軟上周向數(shù)量有限的用戶推出了一款基于OpenAI的ChatGPT的聊天機(jī)器人,它嵌入在Microsoft 365中,可以自動(dòng)化執(zhí)行CRM和ERP應(yīng)用軟件的功能。
圖1. 生成式AI通過(guò)用戶提示創(chuàng)建軟件代碼的示例。在這個(gè)例子中,Salesforce的Einstein聊天機(jī)器人通過(guò)使用OpenAI的GPT-3.5大型語(yǔ)言模型被啟用
比如說(shuō),新的Microsoft 365 Copilot可以在Word中用來(lái)創(chuàng)建文檔的初稿,可能會(huì)節(jié)省數(shù)小時(shí)的撰寫(xiě)、溯源和編輯時(shí)間。Salesforce還宣布計(jì)劃發(fā)布一個(gè)基于GPT的聊天機(jī)器人,用于與其CRM平臺(tái)結(jié)合使用。
OpenAI的GPT-4等大多數(shù)LLM都被預(yù)先訓(xùn)練成預(yù)測(cè)下一個(gè)單詞或內(nèi)容的引擎,這是大多數(shù)企業(yè)使用它們的方式,即所謂的“開(kāi)箱即用”。雖然基于LLM的聊天機(jī)器人也會(huì)出現(xiàn)一些錯(cuò)誤,但經(jīng)過(guò)預(yù)先訓(xùn)練的LLM比較擅長(zhǎng)饋送總體上準(zhǔn)確和引人注目的內(nèi)容,這些內(nèi)容至少可以作為起點(diǎn)。
然而,許多行業(yè)需要更多定制的LLM算法,能理解他們的行話,并生成針對(duì)用戶的內(nèi)容。比如說(shuō),面向醫(yī)療保健行業(yè)的LLM可能需要處理和解釋電子健康記錄(EHR),建議治療方案,或根據(jù)醫(yī)生筆記或語(yǔ)音記錄創(chuàng)建患者醫(yī)療保健摘要。面向金融服務(wù)行業(yè)的LLM可以總結(jié)收益電話會(huì)議、創(chuàng)建會(huì)議文字記錄,并執(zhí)行欺詐分析以保護(hù)消費(fèi)者。
綜觀眾多行業(yè),確保答復(fù)有很高的準(zhǔn)確性至關(guān)重要。
大多數(shù)LLM都可以通過(guò)應(yīng)用編程接口(API)來(lái)訪問(wèn),該接口允許用戶創(chuàng)建參數(shù)或者調(diào)整LLM的答復(fù)方式。發(fā)送給聊天機(jī)器人的問(wèn)題或請(qǐng)求就叫提示(prompt),原因在于用戶提示答復(fù)。提示可以是自然語(yǔ)言問(wèn)題、代碼片段或命令,但若要LMM準(zhǔn)確地完成工作,提示必須切題。
而這種必要性已催生了一種新的技能:提示工程。
提示工程詳解
提示工程是指制作和優(yōu)化文本提示,以便大型語(yǔ)言模型達(dá)到預(yù)期結(jié)果的方法。SambaNova Systems是一家生產(chǎn)AI半導(dǎo)體的硅谷初創(chuàng)公司,該公司產(chǎn)品高級(jí)副總裁Marshall Choy表示:“提示工程幫助LLM實(shí)現(xiàn)產(chǎn)品原型和探索的快速迭代,因?yàn)樗梢?/span>定制LLM,以便快速輕松地與任務(wù)定義保持一致。”
Hugging Face是一個(gè)創(chuàng)建和托管LLM的社區(qū)驅(qū)動(dòng)平臺(tái),該平臺(tái)的機(jī)器學(xué)習(xí)工程師Eno Reyes表示,可能對(duì)用戶來(lái)說(shuō)同樣重要的是,提示工程有望成為IT和商業(yè)專業(yè)人士的一項(xiàng)重要技能。
Reyes在回復(fù)美國(guó)《計(jì)算機(jī)世界》雜志的郵件中說(shuō):“我認(rèn)識(shí)的很多從事軟件、IT和咨詢業(yè)的人一直將提示工程用于個(gè)人工作。隨著LLM日益融入到眾多行業(yè),它們大有提高生產(chǎn)力的潛力。”
Reyes表示,如果有效地運(yùn)用提示工程,企業(yè)用戶可以優(yōu)化LLM,更高效準(zhǔn)確地執(zhí)行從客戶支持、內(nèi)容生成到數(shù)據(jù)分析的特定任務(wù)。
目前最有名的LLM:OpenAI的GPT-3是廣受歡迎的ChatGPT聊天機(jī)器人的基礎(chǔ)。GPT-3 LLM工作在一個(gè)1750億參數(shù)的模型上,可以用簡(jiǎn)短的書(shū)面提示生成文本和計(jì)算機(jī)代碼。OpenAI的最新版本GPT-4估計(jì)有多達(dá)2800億個(gè)參數(shù),因而極有可能給出正確的答復(fù)。
除了OpenAI的GPT LLM外,流行的生成式AI平臺(tái)還包括一些開(kāi)放模型,比如Hugging Face的BLOOM和XLM-RoBERTa、英偉達(dá)的NeMO LLM、XLNet、和GLM-130B。
由于提示工程是一門(mén)新興的學(xué)科,企業(yè)依靠小冊(cè)子和提示指南來(lái)確保其AI應(yīng)用程序有最佳答復(fù)。甚至出現(xiàn)了新興的提示市場(chǎng)平臺(tái),比如ChatGPT的100個(gè)最佳提示(https://beebom.com/best-chatgpt-prompts/)。
Gartner Research的杰出副總裁分析師Arun Chandrasekaran說(shuō):“有人甚至在出售提示建議。”他補(bǔ)充道,最近對(duì)生成式AI的大量關(guān)注突顯了市場(chǎng)需要更好的提示工程。
他說(shuō):“這是一個(gè)比較新的領(lǐng)域。生成式AI應(yīng)用常常依賴自我監(jiān)督的大型AI模型,因此從它們那里獲得最佳答復(fù)需要更多的專業(yè)知識(shí)、試驗(yàn)和額外的努力。我確信,隨著技術(shù)日趨成熟,我們可能會(huì)從AI模型創(chuàng)建者那里得到更好的指導(dǎo)和最佳實(shí)踐,以便有效地發(fā)揮AI模型和應(yīng)用軟件的最大功效。”
好的輸出來(lái)自好的輸入
LLM的機(jī)器學(xué)習(xí)組件自動(dòng)從數(shù)據(jù)輸入中學(xué)習(xí)。除了最初用于創(chuàng)建GPT-4等LLM的數(shù)據(jù)外,OpenAI還創(chuàng)建了名為強(qiáng)化學(xué)習(xí)人類(lèi)反饋(RLHF)的機(jī)制,人訓(xùn)練模型如何給出類(lèi)似人類(lèi)的答復(fù)。
比如說(shuō),用戶向LLM提出問(wèn)題,然后寫(xiě)出理想的答案。隨后用戶再次向模型提出同樣的問(wèn)題,模型會(huì)提供其他許多不同的回答。如果這是基于事實(shí)的問(wèn)題,我們希望答案保持不變;如果這是開(kāi)放式問(wèn)題,目的是給出多個(gè)類(lèi)似人類(lèi)的創(chuàng)造性答復(fù)。
比如說(shuō),如果用戶讓ChatGPT生成一首關(guān)于一個(gè)人待在夏威夷海灘上的詩(shī),就會(huì)期望它每次生成一首不同的詩(shī)。Chandrasekaran說(shuō):“因此,訓(xùn)練人員所做的就是將答復(fù)從最好到最差進(jìn)行評(píng)分。這是饋給模型的輸入,以確保它給出更像人類(lèi)或最佳的答復(fù),同時(shí)試圖盡量減少最糟糕的答復(fù)。但您提問(wèn)題的方式對(duì)于從模型得到的輸出有很大影響。”
組織可以通過(guò)攝取公司內(nèi)部的自定義數(shù)據(jù)集來(lái)訓(xùn)練GPT模型。比如說(shuō),它們拿來(lái)企業(yè)數(shù)據(jù)后可以進(jìn)行標(biāo)記和注釋,以提高數(shù)據(jù)質(zhì)量,然后饋入到GPT-4模型中。這需要對(duì)模型進(jìn)行微調(diào),以便它能夠回答該組織所特有的問(wèn)題。
也可以針對(duì)特定行業(yè)進(jìn)行微調(diào)。已經(jīng)出現(xiàn)了一批新興初創(chuàng)企業(yè),它們使用GPT-4,攝取金融服務(wù)等垂直行業(yè)所特有的大量信息。
Chandrasekaran說(shuō):“它們可能會(huì)攝取Lexus-Nexus和彭博社的信息,可能攝取證券交易委員會(huì)(SEC)的信息,比如8K和10K報(bào)告。但關(guān)鍵是,模型在學(xué)習(xí)該領(lǐng)域所特有的大量語(yǔ)言或信息。因此,微調(diào)可能在行業(yè)層面或組織層面進(jìn)行。”
比如說(shuō),Harvey是一家與OpenAI合作的初創(chuàng)公司,為法律專業(yè)人士創(chuàng)建所謂的“律師領(lǐng)航員”或ChatGPT版本。律師可以使用定制的ChatGPT聊天機(jī)器人來(lái)查找任何法律判例,以便某些法官為下一個(gè)案子做準(zhǔn)備。
Chandrasekaran說(shuō):“我認(rèn)為出售提示的價(jià)值與其說(shuō)在語(yǔ)言上,不如說(shuō)在圖像上。生成式AI領(lǐng)域有各種各樣的模型,包括文本轉(zhuǎn)換成圖像的模型。”
比如說(shuō),用戶可以要求生成式AI模型生成吉他手在月球上彈奏的圖像。Chandrasekaran 說(shuō):“我認(rèn)為文本轉(zhuǎn)換成圖像的模型這個(gè)領(lǐng)域在提示市場(chǎng)更受重視。”
Hugging Face作為一站式LLM中心
雖然Hugging Face創(chuàng)建了一些自己的LLM,包括BLOOM,但該組織的主要角色是充當(dāng)第三方機(jī)器學(xué)習(xí)模型的中心,就像代碼界的GitHub那樣。Hugging Face目前擁有超過(guò)10萬(wàn)個(gè)機(jī)器學(xué)習(xí)模型,包括來(lái)自初創(chuàng)公司和科技巨頭的眾多LLM。
由于新模型是開(kāi)源的,它們通常在該中心上向公眾開(kāi)放,為新興的開(kāi)源LLM創(chuàng)建了一站式目的地。
要使用Hugging Face為特定的公司或行業(yè)對(duì)LLM進(jìn)行微調(diào),用戶可以利用該組織的“Transformers”API和“Datasets”庫(kù)。比如說(shuō),在金融服務(wù)業(yè),用戶可以導(dǎo)入預(yù)先訓(xùn)練好的LLM(比如Flan-UL2),加載金融新聞文章數(shù)據(jù)集,然后使用“Transformer”訓(xùn)練器對(duì)模型進(jìn)行微調(diào),以生成這些文章的摘要。與AWS、DeepSpeed和Accelerate的集成進(jìn)一步簡(jiǎn)化和優(yōu)化了訓(xùn)練。
據(jù)Reyes聲稱,整個(gè)過(guò)程可以用不到100行代碼來(lái)完成。
另一種開(kāi)始入手提示工程的方法需要用到Hugging Face的Inference API。據(jù)Reyes聲稱,這是一個(gè)簡(jiǎn)單的HTTP請(qǐng)求端點(diǎn),支持80000多個(gè)Transformer模型。Reyes說(shuō):“這個(gè)API允許用戶發(fā)送文本提示,并接收來(lái)自我們平臺(tái)上的開(kāi)源模型(包括LLM)的答復(fù)。如果您還想更簡(jiǎn)單一點(diǎn),可以通過(guò)使用Hugging Face中心的LLM模型上的推理窗口組件實(shí)際發(fā)送文本,無(wú)需代碼。”
少樣本和零樣本學(xué)習(xí)
LLM提示工程通常有兩種形式:少樣本學(xué)習(xí)和零樣本學(xué)習(xí)或訓(xùn)練。
零樣本學(xué)習(xí)需要輸入簡(jiǎn)單的指令作為提示,以便從LLM生成預(yù)期的響應(yīng)。其目的是教LLM執(zhí)行新的任務(wù),而不使用這些特定任務(wù)的已標(biāo)記數(shù)據(jù)。零樣本學(xué)習(xí)好比是強(qiáng)化學(xué)習(xí)。
反過(guò)來(lái),少樣本學(xué)習(xí)使用少量的樣本信息或數(shù)據(jù)來(lái)訓(xùn)練LLM以獲得所需的響應(yīng)。少樣本學(xué)習(xí)主要由三個(gè)部分組成:
- 任務(wù)描述:簡(jiǎn)短地描述模型應(yīng)該做什么事,比如“把英語(yǔ)翻譯成法語(yǔ)”。
- 例子:幾個(gè)例子向模型表明了期望它做什么事,比如說(shuō)“sea otter => loutre de mer”。
- 提示:新例子的開(kāi)頭,模型應(yīng)該通過(guò)生成缺失的文本來(lái)完成該例子,比如:“cheese =>”。
據(jù)Gartner的Chandrasekaran聲稱,實(shí)際上,目前很少有組織擁有定制的訓(xùn)練模型來(lái)滿足其需求,因?yàn)榇蠖鄶?shù)模型仍處于開(kāi)發(fā)的早期階段。雖然少樣本和零樣本學(xué)習(xí)有所幫助,但學(xué)習(xí)提示工程這種技能很重要,對(duì)IT用戶和業(yè)務(wù)用戶來(lái)說(shuō)都很重要。
Chandrasekaran說(shuō):“提示工程是如今應(yīng)該擁有的一項(xiàng)重要技能,因?yàn)榛A(chǔ)模型擅長(zhǎng)少樣本和零樣本學(xué)習(xí),但它們的性能或表現(xiàn)在很多方面受到我們?nèi)绾斡袟l不紊地設(shè)計(jì)提示的影響。這些技能對(duì)IT用戶和業(yè)務(wù)用戶都很重要,具體視用例和領(lǐng)域而定。”
大多數(shù)API允許用戶運(yùn)用自己的提示工程技術(shù)。據(jù)Reyes聲稱,每當(dāng)用戶向LLM發(fā)送文本,都有機(jī)會(huì)完善提示以實(shí)現(xiàn)特定的結(jié)果。
Reyes說(shuō):“然而,這種靈活性也為惡意用例打開(kāi)了大門(mén),比如提示注入。像微軟必應(yīng)的Sydney這樣的事件表明,人們可以利用提示工程實(shí)現(xiàn)意想不到的用途。作為一個(gè)新興的研究領(lǐng)域,解決惡意用例和紅隊(duì)滲透測(cè)試中的提示注入對(duì)未來(lái)至關(guān)重要,可確保在各種應(yīng)用場(chǎng)合下負(fù)責(zé)任、安全地使用LLM。”
原文標(biāo)題:How to train your chatbot through prompt engineering,作者:Lucas Mearian