ChatGPT技術國產化嘗試
本次分享題目為 ChatGPT 技術、國產化嘗試和開源模型。分享包含三大部分的內容,第一部分總體介紹 ChatGPT 相關的技術:ChatGPT 技術的演進、目前存在什么樣的問題、ChatGPT 技術學習的三個階段、數據組織和效果評估;第二部分分享我們在 ChatGPT 技術國產化方面進行的嘗試,包含實驗過程中我們遇到的問題、進行的思考以及模型的效果和應用;第三部分介紹我們已經發布的中文開源大模型,使用自有數據訓練出本地模型如何進行操作,在實驗過程中可能遇到的問題,和開源的先進模型相比存在的差距以及如何進一步提升模型的效果。
一、ChatGPT 相關技術
ChatGPT 是一個通用功能型助手。2022 年 12 月 5 日,OpenAI 首席執行官 Sam Altman 在社交媒體上發文稱,ChatGPT 推出五天,已突破 100 萬用戶。AI 聊天機器人 ChatGPT 爆火出圈,已成為一個標志性事件。微軟正洽談 100 億美元增持股份,并很快將其整合到微軟云中。
上圖中展示了兩個例子,展現出了驚人的效果。
ChatGPT 之所以這么受歡迎,一方面是由于其理解用戶意圖的能力和生成的效果比較好;另一方面,通過對話機器人的形式,使得人人都能使用。
下面將從模型演進、最初模型存在的問題、ChatGPT 模型學習的三個階段、訓練 ChatGPT 模型的數據組織和效果幾個方面進行介紹。
1、模型演進
ChatGPT 技術也經過了幾代模型的演進,最初的 GPT 模型是在 2018 年提出的,模型參數只有 1.17 億;2019 年的時候 GPT-2 模型參數是 15 億;到了 2020 年 GPT-3 模型參數達到了 1750 億;通過幾代的模型更新迭代,到 2022 年出現了 ChatGPT 模型。
2、之前的模型存在什么樣的問題
在 ChatGPT 模型出來之前的模型存在什么樣的問題呢?通過分析發現存在的一個比較顯著的問題是對齊問題,雖然大模型的生成能力比較強,但是生成的答案有時候不符合用戶意圖。通過研究發現造成對齊問題出現的主要原因是語言模型訓練的訓練目標是預測下一個詞,而不是按照用戶意圖來生成。為了解決對齊問題,在訓練 ChatGPT 模型過程中加入了基于人類反饋的強化學習(Reinforcement Learning from Human Feedback,RLHF)過程。
3、學習三階段
ChatGPT 模型的訓練過程是按照三步驟走的形式進行的。
第一步是在 GPT 模型基礎上使用真實用戶的輸入進行監督學習,在這個過程中數據來自真實用戶,數據質量比較高也比較寶貴。
第二步是訓練一個獎勵模型,對于一個 query 通過不同模型會產生不同的輸出結果,標記者對所有模型的輸出結果進行一個排序,用這些排序后的數據訓練獎勵模型。
第三步是把模型生成的初步答案輸入到獎勵模型當中,獎勵模型會對這個答案進行一個評價,如果生成的答案符合用戶的意圖就給一個正向的反饋,否則就給一個負向的反饋,從而把模型調教的越來越好,這就是引入強化學習的目的,使得生成的結果更符合人類的需要。訓練 ChatGPT 模型過程中三步走的過程如下圖所示。
4、數據組織和效果評估
在訓練模型之前我們需要準備好所用的數據集,在這個過程中就會遇到數據冷啟動的問題,可以通過以下三個方面來解決:
(1)搜集舊系統用戶使用的數據集
(2)讓標注人員根據之前真實用戶輸入的問題標注一些相似的 prompt 和輸出
(3)數據標注人員從問答、寫故事、生成等自己想的一些 prompt。
訓練 ChatGPT 模型的數據包含三部分數據集(77k 真實數據):
(1)基于真實用戶 prompt 的監督學習數據,用戶 prompt,模型 response,數據量有 13k。
(2)用于訓練獎勵模型的數據集,這部分數據對于一個 prompt 對應多個response 的排序,數據量有 33k。
(3)基于獎勵模型使用強化學習技術進行模型訓練的數據集,只需要用戶prompt,數據量有 31k,對質量要求較高。
完成 ChatGPT 模型訓練后,對于模型的評價也是比較充分的,主要從以下幾個方面來評價:
(1)模型生成的結果是否符合用戶的意圖
(2)生成的結果能不能滿足用戶提到的約束
(3)模型在客服領域能否有好的效果
通過和 GPT 基礎模型進行對比的詳細實驗結果如下圖所示。
二、ChatGPT 技術國產化
下面將從背景與問題、解決思路、效果與實踐三個方面介紹我們進行 ChatGPT 技術國產化的內容。
1、背景與問題
為什么要進行國產化,主要考慮了以下幾個方面:
(1)ChatGPT 技術本身是比較先進的,在許多任務上效果比較好,但是不對中國大陸提供服務。
(2)可能不能滿足國內企業級客戶的需求,無法提供本地化技術支持和服務。
(3)價格是以歐美為主要市場的美元進行計價的,價格比較昂貴,國內多數用戶可能承受不起。通過測試發現對于每條數據約需要花費 0.5 元人民幣,對于擁有大量數據的客戶無法進行商業化。
由于以上三個問題,我們嘗試了 ChatGPT 技術國產化。
2、解決思路
我們在進行 ChatGPT 技術國產化過程中,采用了分布走的策略。
首先訓練了一個具有百億參數的中文預訓練模型;其次在億級別任務數據上使用 Prompt 的形式進行任務監督學習;然后把模型對話化,即以對話或人機交互的形式和人進行交互;最后我們再引入獎勵模型和用戶反饋的強化學習 RLHF 技術。
Prompt 多任務學習模型(PromptCLUE)是一個支持全中文任務零樣本學習的模型。該模型實現了三大統一:統一模型、統一數據形式(所有任務都轉化為 prompt 形式)、統一使用方式(零樣本的形式進行使用)。該模型是基于 1000 億中文字詞級別 token 進行無監督學習,在億級下游任務數據上進行訓練,累積學習了 1.5 萬億中文字詞級別 token。支持 20 多種任務上的零樣本使用(文本理解類、抽取類、生成類任務)。
如何把模型進行對話化,即轉化為人機交互形式的模型,我們主要做了如下幾方面的工作:
首先為了使模型具有比較好的生成效果,我們移除了文本理解類和抽取類的任務,這樣就加強了問答、對話和生成類任務的學習;其次,轉變成對話模型后,生成結果會受到上下文的干擾,針對這個問題,我們加入了抗干擾數據,使得模型可以在必要時忽略無關的上下文;最后,我們基于真實用戶的反饋數據加入了學習過程,使得模型能夠更好地理解用戶的意圖。下圖是和模型進行單輪和多輪測試的形式。
3、效果與實踐
下面是針對模型進行測試的效果,通過比較當前與 ChatGPT 模型相比還有1~2 年的差距,不過這種差距是可以逐步彌補的,目前我們進行了一些有益的嘗試,也有了一定的效果,目前可以進行一些對話、問答、寫作等交互。下圖展示了測試結果。
三、國產開源大模型
1、中文開源模型
我們最近剛發布的元語功能型對話大模型(ChatYuan)參數量有 7.7 億,線上的版本是具有 100 億參數量的模型,已經上線了多個平臺,包括 Huggingface、ModelScope、Github、paddlepaddle 都可以使用。模型可以下載到本地,根據自己的用戶數據集進行微調。它是基于 PromptCLUE-large 結合數億條功能對話多輪對話數據進一步訓練得到。
上面以 Huggingface 平臺為例,展示了模型本地使用方法。在平臺搜索ChatYuan,加載模型,進行簡單的包裝。使用中有一些比較重要的參數,比如是否采樣 sample,如果需要生成的比較多樣就需要采樣。
2、基于自有數據訓練本地模型
首先需要將數據組織成統一的形式,由兩部分構成:輸入(Input)和輸出(Output)。對于單輪問答或生成輸入(Input):任務描述+輸入文本(如:“用戶:你好\n小元:”),輸出(Output)是指系統需要預測的文本(如:“您好!我是元語AI...”)。對于多輪對話輸入(Input):任務描述+上文+輸入文本,輸出是指系統需要預測的文本,如下圖中"小元"后的內容。
下圖展示了基于自有數據進行訓練本地模型的一個示例。這一示例涵蓋了整個過程,從數據的準備,到開源數據的下載、轉化,還包括模型的訓練、預測和評估。其基礎使用的是 pCLUE 多任務數據集。用戶可以使用自己的數據進行訓練,也可以使用 pCLUE 進行初步的訓練,來測試效果。
3、可能的問題、差距和如何進一步提升效果
ChatYuan 和 ChatGPT 都是通用型功能型對話大模型,都能夠在閑聊或法律、醫療等專業領域進行問答、交互和生成。通過和 ChatGPT 模型相比較,目前還有一定的差距,主要體現在是以下幾個方面:
- 模型大小方面,ChatGPT 參數量是千億級別的,ChatYuan 是百億級別的;
- 學習到的數據量方面也存在很大差距,ChatYuan 模型還在學習過程中;
- 在強化學習方面,ChatGPT 模型已經引入了基于用戶反饋的強化學習,我們的模型還在引入過程中。
在使用模型過程中可能遇到生成效果和文本長度方面的問題,取決于數據格式是否正確,在生成過程中是否采樣 sample,輸出結果的長度控制 max_length 等。
要進一步提升模型效果,可以從如下幾個方面入手:
(1)結合行業數據進行進一步訓練,包括無監督預訓,以及使用大量高質量的數據進行有監督學習。
(2)使用真實用戶反饋數據的學習可以彌補分布差異。
(3)引入強化學習,對齊用戶意圖。
(4)選用更大的模型,一般來說模型越大,模型能力越強。
ChatGPT 帶來的新技術和使用場景,讓人們看到了 AI 的巨大潛力。更多應用都將得到升級,也為一些新應用創造了可能。
元語智能,作為大模型 Model-as-a-Service 服務商,在這一領域也在不斷探索中。歡迎感興趣的伙伴關注我們的網站和公眾號。
今天的分享就到這里,謝謝大家。