BuidlerDAO x KNN3:大型語言模型使用經驗

作者:@於方仁@Caroline Sun

編排:@黑羽小鬥

LLM

大型語言模型(LLM, Large Language Model)是利用海量的文本數據進行訓練海量的模型參數。大語言模型的使用,大體可以分為兩個方向:

A. 僅使用

B. 微調後使用

僅使用又稱Zero-shot,因為大語言模型具備大量通用的語料信息,量變可以產生質變。即使Zero-shot 也許沒得到用戶想要的結果,但加上合適的prompt 則可以進一步獲取想要的知識。該基礎目前被總結為prompt learning。

大語言模型,比較流行的就是BERT 和GPT。從生態上講BERT 與GPT 最大的區別就是前者模型開源,後者只開源了調用API ,也就是目前的ChatGPT。

兩個模型均是由若干層的Transformer 組成,參數數量等信息如下表所示。

目前生態上講,BERT 多用於微調場景。因為微調必須在開源模型的基礎上,GPT 僅開源到GPT2 的系列。且相同模型參數量下BERT 在特定場景的效果往往高於GPT,微調需要調整全部的模型參數,所以從性價比而言,BERT 比GPT 更適合微調。

而GPT 目前擁有ChatGPT 這種面向廣大人民群眾的應用,使用簡單。 API 的調用也尤其方便。所以若是僅使用LLM,則ChatGPT 顯然更有優勢。

ChatGPT Prompt

下圖是OpenAI 官方提出對於ChatGPT 的prompt 用法大類。

Figure 1. Prompt Categories by OpenAI

每種類別有很多具體的範例。如下圖所示:

Figure 2. Prompt Categories Examples by OpenAI

除此以外,我們在此提出一些略微高級的用法。

高級分類

這是一個意圖識別的例子,本質上也是分類任務,我們指定了類別,讓ChatGPT 判斷用戶的意圖在這

Figure 3. Prompt Examples

實體識別與關係抽取

利用ChatGPT 做實體識別與關係抽取輕而易舉,例如給定一篇文本後,這麼像它提問。

Figure 4. Example Text Given to ChatGPT

這是部分結果截圖:

Figure 5. Partial Output from given Text on ChatGPT

之後可以追問給他們的關係,例如:

Figure 6.Asking relationship on ChatGPT

這樣,一個大型的知識圖譜便可輕鬆建立。

分析任務

如下圖所示,我對ChatGPT 提出了分析我目前需求的問題。

Figure 7. Result for needs request on ChatGPT

甚至還能讓它給定分數。

Figure 8. Scoring to evaluate the identified needs

除此以外還有數不勝數的方式,在此不一一列舉。

組合Agent

另外,我們在使用ChatGPT 的API 時,可以將不同的prompt 模板產生多次調用產生組合使用的效果。我願稱這種使用方式叫做,組合Agent。例如Figure 1 展示的是一個大概的思路。

Figure 9. The Paradigm of the Combination Agent

具體說來,例如是一個輔助創作文章的產品。則可以這麼設計,如Figure 10 所示。

Figure 10. Agent combination for assisting in creation

假設用戶輸入一個請求,說“幫我寫一篇倫敦遊記”, 那麼Intent Recognition Agent 首先做一個意圖識別,意圖識別也就是利用ChatGPT 做一次分類任務。假設識別出用戶的意圖是文章生成,則接著調用Article Generate Agent。

另一方面,用戶當前的輸入與歷史的輸入可以組成一個上下文,輸入給Chat Context Analyze Agent。當前例子中,這個agent 分析出的結果傳入後面的AI Reply Agent 和Phase Control Agent的。

AI Reply Agent 就是用來生成AI 回復用戶的語句,假設我們的產品前端並不只有一個文章,另一個敵方還有一個框用來顯示AI 引導用戶創作文章的語句,則這個AI Reply Agent 就是用來幹這個事情。將上下文的分析與文章一同提交給ChatGPT,讓其根據分析結果結合文章生成一個合適的回复。例如通過分析發現用戶只是在通過聊天調整文章內容,而不知道AI 還能控製文章的藝術意境,則可以回復用戶你可以嘗試著對我說“調整文章的藝術意境為非現實主義風格”。

Phase Control Agent 則是用來管理用戶的階段,對於ChatGPT 而言也可以是一個分類任務,例如階段分為[文章主旨,文章风格,文章模板,文章意境]等等。例如AI 判斷可以進行文章模板的製作了,前端可以產生幾個模板選擇的按鈕。

使用不同的Agent 來處理用戶輸入的不同任務,包括意圖識別、Chat Context 分析、AI 回復生成和階段控制,從而協同工作,為用戶生成一篇倫敦遊記的文章,提供不同方面的幫助和引導,例如調整文章的藝術意境、選擇文章模板等。這樣可以通過多個Agent 的協作,使用戶獲得更加個性化和滿意的文章生成體驗。

Prompt 微調

LLM 雖然很厲害,但離統治人類的AI 還相差甚遠。眼下有個最直觀的痛點就是LLM 的模型參數太多,基於LLM 的模型微調變得成本巨大。例如GPT-3 模型的參數量級達到了175 Billion ,只有行業大頭才有這種財力可以微調LLM 模型,對於小而精的公司而言該怎麼辦呢。無需擔心,算法科學家們為我們創新了一個叫做prompt tuning 的概念。

Prompt tuning 簡單理解就是針對prompt進行微調操作,區別於傳統的fine-tuning,優勢在於更快捷, prompt tuning 僅需微調prompt 相關的參數從而去逼近fine-tuning 的效果。

Figure 11. Prompt learning

什麼是prompt 相關的參數,如圖所示,prompt tuning 是將prompt 從一些的自然語言文本設定成了由數字組成的序列向量。本身AI 也會將文本從預訓練模型中提取向量從而進行後續的計算,只是在模型迭代過程中,這些向量並不會跟著迭代,因為這些向量於文本綁定住了。但是後來發現這些向量即便跟著迭代也無妨,雖然對於人類而言這些向量迭代更新後在物理世界已經找不到對應的自然語言文本可以表述出意思。但對於AI 來講,文本反而無意義,prompt 向量隨著訓練會將prompt 變得越來越符合業務場景。

假設一句prompt 由20 個單詞組成,按照GPT3 的設定每個單詞映射的向量維度是12288,20個單詞便是245760,理論上需要訓練的參數只有245760個,相比175 billion 的量級,245760這個數字可以忽略不計,當然也會增加一些額外的輔助參數,但同樣其數量也可忽略不計。

問題來了,這麼少的參數真的能逼近 fine tuning 的效果嗎,當然還是有一定的局限性。如下圖所示,藍色部分代表初版的prompt tuning, 可以發現prompt tuning 僅有在模型參數量級達到一定程度是才有效果。雖然這可以解決大多數的場景,但在某些具體垂直領域的應用場景下則未必有用。因為垂直領域的微調往往不需要綜合的LLM 預訓練模型,僅需垂直領域的LLM 模型即可,但是相對的,模型參數不會那麼大。所以隨著發展,改版後的prompt tuning 效果可以完全取代fine-tuning。下圖中的黃色部分展示的就是prompt tuning v2 也就是第二版本的prompt tuning 的效果。

Figure 12. Prompt learning parameters

V2 的改進是將原本僅在最初層輸入的連續prompt 向量,改為在模型傳遞時每一個神經網絡層前均輸入連續prompt 向量,如下圖所示。

Figure 13. Prompt learning v2

還是以GPT3 模型為例,GPT3 總從有96層網絡,假設prompt 由20個單詞組成,每個單詞映射的向量維度是12288,則所需要訓練的參數量= 96 * 20 * 12288 =23592960。是175 billion 的萬分之1.35。這個數字雖不足以忽略不計,但相對而言也非常小。

未來可能會有prompt tuning v3, v4 等問世,甚至我們可以自己加一些創新改進prompt tuning,例如加入長短期記憶網絡的設定。 (因為原版的prompt tuning v2 就像是一個大型的RNN, 我們可以像改進RNN 一般去改進prompt tuning v2)。總之就目前而言,prompt tuning 使得微調LLM 變得可行,未來一定會有很多垂直領域的優秀模型誕生。

總結

Large Language Models (LLMs) 和Web3 技術的整合為去中心化金融(DeFi)領域帶來了巨大的創新和發展機遇。通過利用LLMs 的能力,應用程序可以對大量不同數據源進行全面分析,生成實時的投資機會警報,並根據用戶輸入和先前的交互提供定制建議。 LLMs 與區塊鏈技術的結合還使得智能合約的創建成為可能,這些合約可以自主地執行交易並理解自然語言輸入,從而促進無縫和高效的用戶體驗。

這種先進技術的融合有能力徹底改變DeFi 領域,並開闢出一條為投資者、交易者和參與去中心化生態系統的個體提供新型解決方案的道路。隨著Web3 技術的日益普及,LLMs 創造複雜且可靠解決方案的潛力也在擴大,這些解決方案提高了去中心化應用程序的功能和可用性。總之,LLMs 與Web3 技術的整合為DeFi 領域提供了強大的工具集,提供了有深度的分析、個性化的建議和自動化的交易執行,為該領域的創新和改革提供了廣泛的可能性。

參考文獻

Total
0
Shares
Related Posts