|
為什么ChatGPT仿如"十萬個為什么"回答機?时间:2023-03-13 10:25 近日人工智能火爆全球,各路吃瓜人士紛紛曬出與它的對話,有些回答令人拍案叫絕,也有一本正經的胡說八道;還有人用其輔佐文案寫作、修改代碼,試圖使其成為人類工作的好幫手。為什么可以萬能陪聊,能回答我們的各種問題? 撰文 | 陳清揚 推出的聊天機器人在全球范圍內成為討論的焦點;趶姶蟮腉PT模型構建的語言生成系統,擁有非凡的自然語言文本生成能力。經過大量語料庫預訓練后,它能夠勝任各種自然語言處理任務,不僅能根據用戶要求生成出十分逼真的文本,如論文、新聞稿、詩詞、代碼等,還能回答你幾乎一切的問題——上知天文下知地理。為什么它會這么強大?本文將對背后的語言模型原理和發展歷程做一個簡單的介紹。 語言建模:一個基礎的任務 背后是一個強大的語言模型,語言模型是什么呢?舉個例子,我們都用過輸入法語音轉文字,而語言中是有很多同音詞的,譬如 這家餐館的爆炒魷魚真好吃! 和 這家餐館的爆炒由于真好吃! 機器如何根據語音來分辨到底說的是“魷魚”還是“由于”?這里就需要用到語言模型。語言模型的任務是,給定一個句子,判斷該句子真正會出現的概率。一個好的語言模型,就會給第一句(魷魚)判定一個高概率,而給第二句(由于)判定一個低概率。 這個“神翻譯”,顯然就是缺少一個好的語言模型的結果。 那么,語言模型如何準確判斷一個給定的句子真正出現的概率呢?機器要去讀萬卷書,使得它非常熟悉人類的語言,了解遣詞造句的習慣。而這里的技術問題在于,我們如何設計一個算法或者程序來學習語言的模式,讓機器“理解”人類的語言? 有一種簡單的辦法叫作“”,它的思路是,掃描所有的文檔,統計每一個詞,跟在它后面最常出現的詞是什么。例如詞語“我”,當機器掃描遍很多文檔以后可能會發現,“我”后面出現“是”的頻率是30%,出現“叫”的頻率是20%,出現“想”的概率是30%,等等。而這個頻率,就會作為機器判定這倆詞一起出現的概率(聯合概率)。假設語言中的詞匯量為N,當機器完成學習以后,就會構建出一個N行N列的表格,每一行代表一個詞row[i],每一列row[i][j]代表該詞出現在詞row[i]之后的概率。有了這個表格,機器就能完成語言模型的判定工作了。 我們給它一個句子:“我想你了”,在表格中假設“我”之后出現“想”的概率是30%,“想”之后出現“你”的概率是50%,“你”之后出現“了”的概率是10%,那“我想你了”這個句子整體出現的概率就是30%*50%*10%=0.015。通過這種方法,機器很容易能夠判定前文例子中“魷魚”比“由于”出現的概率更高。 但是這個簡單的方法也有許多問題。很多時候一個詞接在另一個詞之后的概率,不僅僅取決于那一個詞,而是與前面的k個詞一起,才決定了下一個出現的詞的概率(前面k個詞里面有些可能并不重要)。表格所存儲也是一個問題,當k=2的時候,我們的表格已經是N*N大小了,隨著k變大,表格會指數增大。此外,這種方法不能自動學習到同義詞以泛化模型。 其他構建語言模型的辦法還包括手動創建一個知識庫,記錄名詞與名詞之間的關系,或者是對于該語言設計一套語法規則,這樣可以淘汰掉語法上錯誤的句子。事實上,比較早期的自然語言處理方法的一大流派就是使用語言學,這樣的方法需要大量的人工標注,也欠缺靈活性(它無法從新的的文本中進行學習等)。于是,在數據越來越多的情況下,隨著機器學習方法、算力等技術進一步發展,尤其在2010年代后,基于深度人工神經網絡的方法成為主流。人們不再使用手工的語法規則或者簡單的統計模型,而是通過深度神經網絡(注:此后我們使用“神經網絡”一詞來代指人工神經網絡,而非生物上的神經網絡,使用很多層的深度神經網絡進行機器學習被稱為“深度學習“)讓機器自動從海量數據(自然語言的例子)中學習語言中的上下文、詞與詞之間內在的關系。 前向傳播神經網絡(Feed- ) (深度學習三巨頭之一) 2003年的論文A Model[1],后來被廣泛認為是早期使用神經網絡來進行語言建模的經典工作。這篇論文一開篇便指出了等模型的兩大問題:一是由于表格的指數增大,等模型沒法考慮很長的上下文(最長有人做過用前面5個詞來預測下一個詞);二是沒有學習到同義詞以泛化語言理解能力。 為了解決些關鍵問題,這篇論文提出了一個兩層的前向傳播神經網絡。這是一種比較簡單的神經網絡,遠遠沒有后來的這些網絡這么復雜,但是它揭示了使用神經網絡在語言建模上的有效性。該模型的思路可以總結如下: 每一個詞都有一個可以學習的詞特征向量 (word ) ; 將一句話的聯合概率用句中詞的特征向量以及一層神經網絡的參數來表示; 通過優化方法從數據中學習到上述的詞特征向量以及網絡的參數。 論文中給出了這樣一個例子,在完成訓練以后,模型應該很容易能夠從句1泛化到一個新的未見過的句2。 句1:The cat is in the (貓在臥室里走); 句2:A dog was in a room (狗在房間里跑)。 因為經過大量的學習之后,“貓”和“狗”、“臥室”和“房間”、“走”和“跑”會具有比較接近的特征向量。因此,即使機器在訓練集中從未見過句子2,它也會給該句子分配一個類似于句子1的聯合概率,而特征向量中一點小的波動對最終的聯合概率影響也會較小。 有趣的是,論文還專門提到他們為了訓練一個這樣的“大模型”(用現在的眼光看非常。,研究人員設計一個并行訓練的算法,并且在40臺CPU上訓練了三周的時間。 :大模型的起源 隨著深度學習和計算機算力的發展,更新的神經網絡架構、更大的模型被提出,其中里程碑式工作是2017年谷歌大腦( Brain)的科學家提出的 模型[2](與著名電影《變形金剛》同名),即中的“T”。通過引入“自注意力機制”(self- )和“位置編碼”( ),能夠學習到一個上下文中,應該給哪些詞更多的“注意力”。如我們前文所說,當預測某個詞的時候,上下文中不同詞的分量、角色會不同,以下面的句子為例: The dog was in a room it was . (狗在房間里跑,因為它餓了。) 這里的it(它)到底是指狗還是指房間呢?通過注意力機制,模型能夠判定在該上下文中it和dog(狗)的關聯度高,而和room(房間)的關聯度低。具體的計算過程就是上下文中的每一個詞的(詞向量)都會與其他詞的詞向量做內積,而內積越小,則代表距離越。P聯度越大)。寬泛來講,模型能夠根據上下文來對一個詞進行更好地編碼,即對于同樣的一個詞,它在不同的上下文中可以被賦予不同的編碼(含義)。 自注意力機制的核心計算是內積,批量地看就是矩陣乘法,而矩陣乘法是一個可以高度并行的操作,這使得長距離依賴(很長的上下文)能夠高效地被計算。高度的并行化也使得模型更容易擴展(),譬如在GPT-3等大模型中,模型能夠考慮的上下文長達2048個詞。 在上面的神翻譯圖中,假如我們用一個使用模型,機器則能在翻譯“小心”的時候,也考慮前面的上下文“注意安全”,這個時候“小心”就會被翻譯為“be not to”,而不是“be ”。 有了這樣一種強大、靈活、高效的語言建模方式,AI開始進入大模型時代。 大模型+預訓練:更通用的智能 模型掀起了一場人工智能的革命,后續不斷有基于的新模型推出,如谷歌的BERT和的GPT。對于習慣用谷歌搜索的同學,事實上你已經無數次地受益于技術了(谷歌搜索會使用基于BERT的模型)。而在2018年推出的GPT( Pre- )就是的前身。 盡管有了這樣一種新的技術,自然語言處理還是保留著一種針對不同的語言任務(譬如問答、翻譯)訓練不同的模型的慣例。簡單來說,就是專業的模型干專業的事。 而2018年GPT的論文 by Pre-[3]將機器智能的通用化推向了一個新的高度。研究人員得到結論,與其針對不同的語言任務訓練不同的模型,不如先“預訓練”一個通用的語言模型。這個模型不做任何具體的事情,它只負責對人類語言構建一個通用的理解,也就是我們上文說的語言模型,即判定一句給定的話,聽起來是正常還是不正常。研究人員發現,一旦對模型進行了大規模預訓練以后,后續只需要進行小幅度的“精調”(小規模的專項訓練)即可讓預訓練的模型來快速適應一個新的任務,并且效果比專門針對特定任務訓練的模型還要好。 在后續發布的GPT二代[4]和三代[5]中(正是GPT-3針對“對話任務”精調后的版本),研究人員進一步提高模型的規模后(GPT-3有1750億參數,在570億數據集上完成了訓練),近乎奇跡的事情發生了:GPT-3已經能夠生成高度逼真的語句,甚至可以比人類更有文采。這種大規模的模型被稱為“大語言模型”。 在GPT-3中,研究人員進一步改進了訓練方式,稱為“上下文中學習”,意思就是,只需要先大規模通用知識的預訓練,然后做專項任務的時候直接現場學習!即給幾個例子(上下文),機器就明白你說的什么意思,而且也能有相當不錯的表現。至此,人工智能進一步邁向更通用的智能。 結語與未來的想象 和大語言模型也并非萬能,它當前依然有各種問題——時不時會言之鑿鑿地給你一個并不正確的答案。這是因為它是一個基于概率分布的生成模型,它生成的文字是根據它的訓練集和你的上下文來最大化概率地生成一個答案,所以天然無法保證所有時候的答案都是對的。盡管如此,GPT-3和已經朝通用智能邁出了一大步。 我們來暢想一下未來,現在的對世界的認知還主要只是來源于人類的語言文字,而人類認知世界的方式是多維的,語言文字只是一種形式,很多信息來源于圖像、視頻、乃至于味覺和嗅覺。未來的是否不僅僅是待在家里,而是會以機器人形式出現:以攝像頭為眼、以揚聲器為嘴、以機械為手足,走出家門,去看看這個世界,在物理世界中和人與自然交互,并得到反饋、修正它的認知。當機器人看遍了花草樹木、山川河海、日出日落、人類的悲歡離合,它是否也能以某種方式表達出“情感”和“愛”?AI除了作為人類的助手,是否也能帶給我們情感上的陪伴? 讓我們拭目以待。 說明:的核心技術還包括強化學習( from Human )等,使得它給出的回答能夠更加準確、友善,這些都是強化學習的結果。本文僅僅是淺顯地介紹一些基礎的語言模型背景,更多的學習資料可參閱拓展閱讀和參考文獻。 拓展閱讀 1. to with human 2. from Human (RLHF) 3. 通向AGI之路:大型語言模型(LLM)技術精要: 參考文獻 [1] A Model, [2] Is All You Need, [3] by Pre-, [4] are , [5] are Few-Shot , 本文受科普中國·星空計劃項目扶持 出品:中國科協科普部 監制:中國科學技術出版社有限公司、北京中科星河文化傳媒有限公司 特 別 提 示 1. 進入『返樸』微信公眾號底部菜單“精品專欄“,可查閱不同主題系列科普文章。 2. 『返樸』提供按月檢索文章功能。關注公眾號,回復四位數組成的年份+月份,如“1903”,可獲取2019年3月的文章索引,以此類推。 版權說明:歡迎個人轉發,任何形式的媒體或機構未經授權,不得轉載和摘編。轉載授權請在「返樸」微信公眾號內聯系后臺。 |