如何通過提示工程訓練您的聊天機器人?
譯文譯者 | 布加迪
審校 | 重樓
近幾個月來基于人工智能(AI)的聊天機器人風靡全球,一個原因是它們可以為各種用途生成或完善文本,無論策劃廣告活動還是撰寫簡歷。

這些聊天機器人基于大型語言模型(LLM)算法,算法可以模仿人類智能,創(chuàng)建文本內容以及音頻、視頻、圖像和計算機代碼。LLM是一種AI,接受大量文章、書籍或網上資源及其他輸入的訓練,對自然語言輸入給出類似人類的答復。
越來越多的科技公司已推出了基于LLM的生成式AI工具,用于企業(yè)自動化處理應用任務。比如,微軟上周向數量有限的用戶推出了一款基于OpenAI的ChatGPT的聊天機器人,它嵌入在Microsoft 365中,可以自動化執(zhí)行CRM和ERP應用軟件的功能。

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





























