萬字長文解讀:從Transformer到ChatGPT,通用人工智能曙光初現(2)
由于變換器網絡的出現,大語言模型的興起,以及多種機器學習范式的融合,近五年自然語言處理有了極大的發展。從現在來看,這個起點當屬2018年ELMo、GPT和BERT的出現。特別是,BERT通過巨量語料所學習出來的大規模預訓練模型,不僅學會了上下文信息,還學會了語法、語義和語用等,乃至很好地學會部分領域知識。BERT在預訓練模型之上,針對特定任務進行微調訓練,在十多個自然語言處理任務的評測中遙遙領先,并在機器閱讀理解頂級水平測試SQuAD1.1中表現出驚人成績,兩個衡量指標上都首次并全面超越人類。由于BERT的驚人表現,自然語言處理由此開啟了新時代,在此后的五年中奮發進取,不斷增強語言理解與生成的能力,最終出現了去年年底爆火出圈的ChatGPT,并引發了通用人工智能即將到來的激烈探討。下面從三個維度來介紹自然語言處理的奮進五年——大模型的突飛猛進,算法的融會貫通,以及應用的百花齊放。
大模型的突飛猛進圖10展示了自2018年至今具有一定影響力的大模型,其中橫軸是模型發布時間(論文發表時間或模型發布時間的較早者),縱軸是模型參數的數量(單位是百萬,坐標軸是底為10的對數坐標軸),名字為黑色字體的是國外機構發布的大模型,紅色字體的是國內機構發布的大模型。從圖10可以看到,這五年,預訓練大語言模型的參數規模從1億到1萬億的“野蠻”增長,增長速度幾乎是每年翻10倍。這個每年翻10倍的模型增長規律,被稱為“智能時代的摩爾定律”。深入分析大模型的情況,總結有兩方面內容:圖10 自然語言大模型的奮進五載
- 機構方面,Google和Deepmind發布了BERT、T5、Gopher、PaLM、GaLM、Switch等等大模型,模型的參數規模從1億增長到1萬億;OpenAI和微軟則發布了GPT、GPT-2、GPT-3、InstructGPT、Turing-NLG 和 M-Turing-NLG等等大模型,模型的參數規模從1億增長到5000億;百度發布了文心(ERNIE)系列,包括 ERNIE,ERNIE2.0,ERNIE3.0,ERNIE 3.0-Titan,參數規模從3億增長到2600億。總體來說,隨著模型的增長,有能力訓練和發布大模型的在減少。除了上面提到的幾家之外,其他的還有芯片大廠Nvidia靠充足的算力,大力出奇跡,國內的智源研究院和鵬程實驗室等機構也發布了悟道、盤古等大模型,表現不俗。
- 大模型成本高昂,時間成本和經濟成本都巨大。以模型參數為1750億的GPT-3為例,用于訓練模型的原始語料文本超過100TB(壓縮包為45TB),包含了網頁、書籍、英文維基百科等。原始語料文本經過處理后,形成了超過5000億個詞元(西方語言的詞,中文的字等)的訓練語料。GPT-3模型的訓練和評估采用的算力是微軟和OpenAI一起打造的超級計算集群,集群有28.5萬核CPU,1萬個V100 GPU,以及400Gbps的網絡帶寬。建造這個超級計算集群的費用超過20億元。如果租用微軟或其他云廠商的集群來訓練GPT-3,訓練一次GPT-3需要耗費估計從280萬到540萬美元不等(價格因不同云廠商而有所不同)。因訓練花費不菲,在 GPT-3的論文《Language Models are Few-Shot Learners》中提到“發現了bug但由于訓練費用問題而沒有重新訓練模型(Unfortunately, a bug in the filtering caused us to ignore some overlaps, and due to the cost of training it was not feasible to retrain the model.)”[11]。
自然語言處理在這五年的高速發展,除了模型越來越大,訓練語料越來越多之外,核心還是多種不同類型的人工智能技術的高速發展,以及在自然語言處理領域將對這些技術的融會貫通。這些人工智能技術包括但不限于語言模型、對話系統(Conversational AI)、思維鏈(Chain of Thoughts)、強化學習(Reinforcement Learning)和人類反饋強化學習 (Reinforcement Learning from Human Feedback,RLHF)、情境學習(In-context learning)、無監督學習(Unsupervised Learning)等等。除此之外,算力的增長、大數據處理技術的發展也提供了必不可少的支撐。
語言模型這里簡要介紹三類代表性的語言模型,分別為BERT所使用的掩碼語言模型、GPT系列所使用的自回歸語言模型以及ERNIE系列所使用的引入了知識圖譜等專家知識的語言模型。掩碼語言模型(Masked language model,MLM)是一種雙向語言模型[6][8],模擬了人類對語言的認知的雙向語言模型。一個例子是,人們快速讀閱時,些許的字文錯誤并不會影響理解,這是由于人們會自動補全。掩碼語言模型正是模擬了這一特點,比如對于“一枝紅杏出墻來”這句話,將其一部分掩蓋住后,原句變為“一枝紅?出墻來”,如何判斷“?”掩蓋的部分?人們能夠自然地意識到“?”掩蓋的是“杏”。而掩碼語言模型則是為了讓模型能夠像人一樣“猜出”被掩蓋的部分。BERT通過變換器網絡的編碼器來實現掩碼語言模型。同時,如圖11所示,BERT使用了多任務學習方法來從大規模語料中訓練出模型,并在具體任務中進行微調(Fine-Tuning)。圖11 BERT的預訓練和具體任務的微調示意圖[8]與BERT不一樣的是,GPT系列則通過變換器網絡的****實現了自回歸語言模型(Autoregressive language model)[9],采用多任務訓練的方法訓練模型,模型如圖12所示。自回歸在時間序列分析中非常常見,比如ARMA,GARCH等都是典型的自回歸模型。在語言模型中,自回歸模型每次都是根據給定的上下文從一組詞元中預測下一個詞元,并且限定了一個方向(通常是正向,即在一個句子中從前往后依次猜下一個字/詞)。同樣以“一枝紅杏出墻來”為例,自回歸語言模型中,給定“一枝紅”的上下文來預測下一個 “杏”字,緊接著給定“一枝紅杏”來預測下一個“出”字,然后是根據給定的“一枝紅杏出”來預測“墻”字,如此循環,直到完成整個序列的預測并輸出。有多種不同的方案來選擇模型預測的輸出標記序列,例如貪婪解碼、集束搜索(Beam Search)、Top-K采樣、核采樣(Nucleus Sampling)、溫度采樣(Temperature Sampling)等。除了 GPT 系列之外,Transformer-XL、XLNet等大模型也采用了自回歸語言模型。
圖12 GPT模型架構及多任務訓練示意圖[9]ERNIE在采用了 BERT 類似的模型架構之上,加入了知識圖譜[6],使得模型能夠用先驗知識來更好地理解語義,其架構如圖13所示[10]。還是以“一枝紅杏出墻來”為例,ERNIE能夠更好地理解“紅杏”,并知道它是一種“植物”。也因此,相比于BERT和GPT,ERNIE能夠在更小的模型下獲得相對更好的效果。尤其值得一提的是,這點在中文場景中更加明顯。
圖13 ERNIE模型架構及嵌入知識圖譜的示意圖[10]
情境學習(In-context Learning)是隨著GPT-3而流行起來。在GPT-3中,通過給出僅僅幾個示例就能夠很好地完成許多自然語言處理任務的方法,被稱為情境學習。圖14是一個直觀的例子,使用了ChatGPT的情境學習來實現情感分析任務。直觀地說,情境學習就是給模型一些包含任務輸入和輸出的提示,并在提示的末尾附加一個用于預測的輸入,模型根據提示和預測輸入來預測任務的結果并輸出。也因此,情境學習有時候也被稱為基于提示的學習(Prompt-based learning)。圖14 情境學習實例,使用了ChatGPT從圖15可以看出,情境學習的預測結果在大模型的情況下效果表現得非常好,但在小模型的情況下表現糟糕。簡單地說,大模型使得情境學習變得有用。這是由于情境學習依賴于語言模型所學習到的概念語義和隱含的貝葉斯推理,而這依賴于大規模預訓練模型對潛在概念的學習,從文檔級語料學習了長距離依賴并保持長距離的連貫性、思維鏈和復雜推理等等。也因此,情境學習在大模型之前罕見,可謂連實驗室的玩具都談不上。而在大模型的支撐下,在許多自然語言處理任務的基準測試(如LAMBADA文本理解測試集和TriviaQA問答測試集)中,情境學習相比其他模型也非常具有競爭力。
圖15 情境學習效果曲線[11]從應用來看,情境學習最為津津樂道的兩個特點是:
- 情境學習能夠有效地使模型即時適應輸入分布與訓練分布有顯著差異的新任務,這相當于在推理期間通過“學習”范例來實現對特定任務的學習,進而允許用戶通過新的用例快速構建模型,而不需要為每個任務進行微調訓練。
- 構建于大語言模型之上的情境學習通常只需要很少的提示示例即可正常工作,這對于非自然語言處理和人工智能領域的專家來說非常直觀且有用。
這兩個特點使得人們能夠使用一個模型來實現不同的任務,為類似ChatGPT這樣的準AGI提供了技術基礎。也正因此,人工智能領域念叨多年的通用人工智能終于露出了一絲曙光。
人類反饋強化學習人類反饋強化學習是一種人工智能模型在進行預測(推斷)的過程中通過人的反饋來實現模型學習,使得模型輸出與人類的意圖和偏好保持一致,并在連續的反饋循環中持續優化,進而產生更好的結果。事實上,人工智能發展過程中,模型訓練階段一直都有人的交互,這也被稱為人在圈內(Human-in-the-loop, HITL),但預測階段則更多的是無人參與,即人在圈外(Human-out-of-the-loop, HOOTL)。在這五年的奮進中,通過人類反饋強化學習使得自然語言處理在推斷階段能夠從人的反饋中學習。這在自然語言處理領域是一個新創舉,可謂人與模型手拉手,共建美好新AI。從技術上看,人類反饋強化學習是強化學習的一種,適用于那些難以定義明確的用于優化模型損失函數,但卻容易判斷模型預測效果好壞的場景,即評估行為比生成行為更容易。在強化學習的思想中,智能體(Agent)通過與它所處環境的交互中進行學習,常見在各類游戲AI中。比如,鼎鼎大名的 AlphaGo,在2017年烏鎮互聯網大會上打敗了圍棋世界冠軍柯潔,其核心技術就是強化學習。人類反饋強化學習并非從自然語言處理開始的,比如2017年OpenAI和DeepMind合作探索人類反饋強化學習系統與真實世界是否能夠有效地交互,實驗的場景是Atari游戲、模擬機器人運動等。這些成果隨后被OpenAI和DeepMind應用到大語言模型上,通過人類反饋來優化語言模型,進而使得模型的輸出與預期目標趨于一致,比如InstructionGPT、FLAN等。這些成果表明,加入人類反饋強化學習使得生成文本的質量明顯優于未使用人類反饋強化學習的基線,同時能更好地泛化到新領域。圖16是人類反饋強化學習的框架圖,獎勵預測器是學習出來的,這點與傳統強化學習有所不同。在傳統強化學習中,獎勵函數是人工設定的。在InstructionGPT中,強化學習算法使用了近端策略優化(Proximal Policy Optimization,PPO)來優化GPT-3生成摘要的策略。圖16 人類反饋強化學習框架圖應用的百花齊放
近年來,所有自然語言處理的任務都有了長足進步,效果飆升,許多任務都超越了人類專家的水平。在斯坦福問答數據集2.0(SQuAD2.0)評測中,最新的模型EM 分數和F1分數分別為90.939和93.214,相比人類專家86.831和89.452高了4.73%和4.21%。在斯坦福對話問答CoQA數據集的評測中,最佳模型的分數達到90.7,相比人類專家的分數88.8,高出了2%。在機器翻譯中,自2017年至今,WMT2014英譯德評測集的 BLEU分數從26增長到35以上,德譯英則從23增長到35以上。在其他諸如文本分類、文檔分類、對話生成、數據到文本(Data-to-Text)、看圖說話(Visual Storytelling)、視覺問答、情感分析、實體抽取、關系抽取、事件抽取、自動摘要、OCR等等任務中的效果增長都非常顯著。在這五年中,行業應用也愈加廣泛。金融、醫療、司法、制造、營銷、媒體等各行各業都是使用自然語言處理技術提升效率,降低風險。基于自然語言處理最新技術的綜合性平臺智能文檔處理系統(Intelligence Document Process System,IDPS)開始流行,比如圖17所示的達觀數據IDPS。中國信息通信研究院(信通院)等機構組織了標準編制和評測,萬千企業開始使用智能文檔處理系統進行文檔智能比對、關鍵要素抽取、銀行流水識別、風險審核、文檔寫作等,實現了諸多腦力勞動的智能化。圖17 達觀智能文檔處理系統同時,依托自然語言處理進行實體、關系、事件等知識的抽取,構建出領域專業知識圖譜,并以語義檢索、智能問答、歸因分析、知識推理等為各行提供了豐富的應用,比如賦能智能制造的故障排查,金融行業的智能投研和智能投顧,政府和企業的輿情分析,營銷和售后的智能客服和智能運營,媒體的資訊分類、自動摘要和事實校驗等。隨著近五年自然語言處理技術的發展,許多原來無法完善服務的場景也有了切實可見的應用,影響著三百六十行的億萬工作者。由OpenAI的Codex大語言模型提供支撐的GitHub CoPilot為數千萬的程序員提供效率工具。最新的ChatGPT參與沃頓商學院的工商管理碩士課程的期末考試并獲得了B檔成績,展現出了非凡的能力[12]。同樣的場景出現在許多大學中,比如北密歇根大學有學生使用 ChatGPT寫課程論文獲得了全班最高分。更有甚者,ChatGPT已經成為了許多科學論文或出版書籍的共同作者,比如ChatGPT名列《Performance of ChatGPT on USMLE: Potential for AI-Assisted Medical Education Using Large Language Models》這篇12個作者中的第三位[13],Gautier Marti則在其出版的書籍《From Data to Trade: A Machine Learning Approach to Quantitative Trading》中將ChatGPT列為共同作者。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。