?

語言模型與人工智能

2024-01-24 06:27馮志偉張燈柯
外語研究 2024年1期
關鍵詞:語法向量單詞

馮志偉 張燈柯

(新疆大學新疆民漢語文翻譯研究中心,新疆 烏魯木齊 830046)

0.引言

自然語言處理的模型按照發展順序大致可以分為基于規則的語言模型(Rule-based Language Model,RLM)、統計語言模型(Statistical Language Model,SLM)、神經語言模型(Neural Language Model,NLM)、預訓練語言模型(Pre-trained Language Model,PLM)、大語言模型(Large Language Model,LLM)等,這些語言模型的研制與人工智能有著密切的關系(馮志偉2023)。本文將系統論述人工智能與這些語言模型的關系。

1.基于規則的語言模型(RLM)與人工智能的興起

1946 年,美國賓夕法尼亞大學的J.P.Ecker(t??颂兀┖蚃.W.Mauchly(莫希萊)設計并制造出了世界上第一臺電子計算機ENIAC,電子計算機驚人的運算速度,啟示著人們考慮翻譯技術的革新問題。因此,在電子計算機問世的同一年,英國工程師A.D.Booth(布斯)和美國洛克菲勒基金會自然科學部主任W.Weave(r韋弗)在討論電子計算機的應用范圍時,就提出了利用計算機進行語言機器翻譯(Machine Translation,MT)的想法。

在學者們的熱心倡導和實業界的大力支持下,美國的機器翻譯研究一時興盛起來。1954 年1 月7日,美國喬治城大學在國際商用機器公司(IBM)的協同下,用IBM-701 計算機,進行了世界上第一次機器翻譯試驗,把60 個簡單的俄語句子翻譯成了英語。第一次機器翻譯試驗的成功給人們帶來了希望。接著,蘇聯、英國、中國、日本也進行了機器翻譯試驗,機器翻譯出現熱潮。當時的機器翻譯的方法是基于規則的方法,所用的語言模型是基于規則的語言模型(RLM)。1956 年夏天,美國Dartmouth(達特茅斯)學院的John MacCarthy(麥卡錫)、哈佛大學的Marvin Minsky(明斯基)、貝爾實驗室的Claude Shannon(香農)等人在美國達特茅斯學院舉行了為期兩個月的學術討論會。他們從不同學科的角度探討人類的學習和其他智能特征的科學原理,研究用機器模擬人類智能。在會議之前的《人工智能達特茅斯夏季研究項目提案》(A Proposal for the Dartmouth Summer Research Project on Artificial Intelligence)中,MacCarthy 首次提出了“人工智能”(Artificial Intelligence,AI)這一術語。

所謂人工智能,也就是研究如何使計算機去做過去只有人才能做的智能性工作。例如,過去的翻譯都是由人來做的,1954 年第一次機器翻譯試驗的成功,說明計算機也可以做翻譯了。所以,機器翻譯應當是一種人工智能的工作,這與1947 年Turing 提出的機器翻譯可以顯示人的智能的預見不謀而合。

由此可見,機器翻譯的歷史比人工智能的歷史還早兩年。本研究認為,1954 年機器翻譯試驗的成功也許在一定程度上促成了1956 年人工智能的誕生,機器翻譯與人工智能之間有著不解之緣(馮志偉2018:48)。

值得注意的是,達特茅斯會議前一年,在1955 年8 月31 日《人工智能達特茅斯夏季研究項目提案》中,MacCarthy 就明確地提出要“研究語言與智能的關系”。他在這個研究提案中說,建議在明年和夏季人工智能研究項目期間研究語言與智能的關系。將試驗和糾錯方法直接應用于感知數據和運動活動之間的關系并不會導致任何非常復雜的行為。相反地,這種試驗和糾錯方法必須應用于更高的抽象層次。人類的思想顯然使用語言作為處理復雜現象的手段。較高級別的試錯過程經常會使用猜想和測試的形式。英語有許多屬性,而目前所描述的每一種形式語言都缺乏這些屬性。這些屬性是:

(1)用非正式數學補充的英語論證可以是簡明扼要的。

(2)英語具有普遍性,因為可以在英語中設置任何其他的語言,然后在適當的地方使用這些語言。

(3)英語的使用者可以在其中引用自己的說明,并陳述關于自己在解決正在處理的問題方面的進展。

(4)除了證明規則之外,如果英語完全地形式化,則可以推導出一些猜測性的規則。

MacCarthy 在其研究提案中還進一步指出:他希望嘗試制定一種具有上述屬性的語言,并且除了包含物理現象、事件等概念之外,他還希望使用這種語言對計算機進行編程,以便計算機學習怎樣很好地執行其他任務。

MacCarthy 的這些觀點是關于使用語言對計算機進行編程的最早論述,他試圖把語言與計算機聯系起來。由此可見,人工智能從它誕生開始,就把研究的目光敏銳地投向了語言。所以,人工智能與自然語言處理(Natural Language Processing,NLP)有著密切的關系。

根據MacCarthy 的研究提案,人工智能一開始就把它研究的視線迅速地投向了語言,把自然語言理解(Natural Language Understanding,NLU)作為人工智能研究的重要領域,開發了若干個人機對話(manmachine dialogue)系統。

這段時期人們對于人工智能充滿了樂觀情緒,Minsky 甚至做了樂觀的預測,他興奮地指出,在3 年至8 年內,人們將會制造出一臺具有人類平均智能水平的計算機。

早期的人工智能研究是基于符號主義(symbolism)的,也就是根據符號的規則來研究人工智能,這樣的研究盡管在一些數據規模很小的子領域(sub field)中取得一些成績,但是,一旦擴大數據的范圍,就顯得捉襟見肘。不少人工智能的項目不能達到預期的效果,往往以失敗告終,人工智能變得聲名狼藉。

在自然語言處理領域,由于機器翻譯譯文質量低劣,美國科學院在1964 年成立語言自動處理咨詢委員會(Automatic Language Processing Advisory Committee,ALPAC),簡稱ALPAC 委員會,調查機器翻譯的研究情況,經過為期兩年的調查,這個委員會于1966年11 月公布了一個題為《語言與機器》(Language and Machine 1966)的調查報告,簡稱ALPAC 報告,這個報告對機器翻譯采取否定的態度。報告宣稱:在目前給機器翻譯以大力支持還沒有多少理由;報告還指出,機器翻譯研究遇到了難以克服的“語義障礙”(semantic barrier)。

在ALPAC 報告的影響下,剛剛興起的機器翻譯在美國受到普遍的質疑,許多國家的機器翻譯研究進入低潮,由于停止撥款,不少已經建立起來的機器翻譯研究單位遇到了行政上和經費上的困難,在世界范圍內,機器翻譯出現了空前蕭條的局面。

這樣,20 世紀60 年代末期和70 年代初期,不論是機器翻譯還是人工智能都先后進入了低潮(馮志偉2018:35)。

就在這個蒙難時刻,在基于規則的機器翻譯研究中,法國數學家B.Vauquois(1968)力挽狂瀾,在機器翻譯的理論和實踐方面都取得了突出的成績。

他明確地提出,一個完整的機器翻譯過程可以分為如下六個步驟:(1)源語言形態分析;(2)源語言句法分析;(3)源語言-目標語言詞匯轉換;(4)源語言-目標語言句法語義轉換;(5)目標語言句法生成;(6)目標語言形態生成。

這六個步驟形成了“機器翻譯金字塔”(MT pyramid),又叫作“沃古瓦金字塔”(Vauquois pyramid)。其中,第一、第二步只與源語言有關,第五、第六步只與目標語言有關,只有第三、第四步牽涉到源語言和目標語言二者。這就是機器翻譯中的“獨立分析-獨立生成-相關轉換”的方法。

Vauquois 把機器翻譯方法分為三種:中間語言方法、轉換方法、直接翻譯方法。他使用轉換方法研制的俄法機器翻譯系統,已經接近實用水平。

1976 年,加拿大蒙特利爾大學與加拿大聯邦政府翻譯局聯合開發了基于規則的實用性機器翻譯系統TAUM-METEO,正式向公眾提供天氣預報服務。機器翻譯開始慢慢復蘇。

1981年,馮志偉研制了多語言機器翻譯系統FAJRA,把108 個漢語句子自動地翻譯成法語、英語、日語、俄語和德語。

人工智能研究方面也有起色。1980 年,美國卡內基-梅隆大學為DEC 公司研制出一個專家系統(expert system),這個專家系統可以在決策方面提供有價值的建議,幫助DEC 公司每年節省4,000 萬美元的費用,人工智能重新顯示出其威力。

1982 年,日本投入巨資,采用基于規則的人工智能技術開發第五代計算機,當時叫作“人工智能計算機”。人工智能走出了第一次的寒冬,進入了它的第二次高潮。

20 世紀80 年代人工智能在數學模型方面有重大創新,1989 年設計出能與人類下象棋的智能機器,人工智能技術還在郵政中發揮了作用,使用人工智能網絡來自動識別信封上的郵政編碼,識別正確率達到99%以上,超過了普通人的識別水平。

20 世紀80 年代后期,IBM 公司推出了個人計算機(personal computer,簡稱PC 機),這種PC 機價格低廉,使用簡單,很快進入了家庭。與PC 機相比,建立在大型計算機基礎上的人工智能系統顯得曲高和寡,很少有人樂意使用。同時,政府撥給人工智能研制的經費越來越少,人工智能的研究單位又出現了“門前冷落鞍馬稀”的蕭條局面,人工智能的研究人員紛紛跳槽改行,顯得非常冷清,人工智能在經歷了第一次寒冬之后,稍顯復蘇,又立即進入了它的第二次寒冬。

可以看出,在基于規則的語言模型時期,自然語言處理與人工智能處于平行發展的狀態,二者相互借鑒,休戚與共,到了20 世紀80 年代,二者的發展都遇到了重重的困難,成為了難兄難弟。

2.統計語言模型(SLM)和人工智能的發展

20 世紀90 年代到21 世紀初,自然語言處理進行了從基于規則的方法到基于統計的方法的戰略轉移(strategy shift)。

1993 年7 月在日本神戶召開的第四屆機器翻譯高層會議(MT Summit IV)上,英國著名學者J.Hutchins(1986)指出,自1989 年以來,機器翻譯的發展進入了一個新紀元。這個新紀元的重要標志是,在基于規則的技術中引入了語料庫方法,其中包括統計方法、基于實例的方法、通過語料加工手段使語料庫轉化為語言知識庫的方法。這種建立在大規模真實文本(large scale authentic text)處理基礎上的機器翻譯,是自然語言處理研究史上的一場革命,它將會把自然語言處理推向一個嶄新的階段。

在這樣的戰略轉移中,統計語言模型(SLM)逐漸成為自然語言處理研究的主流模型。1913 年,A.A.Markov(馬爾可夫)提出的馬爾可夫模型(Markov model)實際上就是N 元語法模型(N-gram model)。Markov 使用N 元語法模型來預測普希金敘事長詩《歐根·奧涅金》中下一個字母是元音還是輔音。他把《歐根·奧涅金》中的20,000 個字母分為V(元音)和C(輔音),并計算二元語法和三元語法的概率,如果要判定給定的字母是否為元音,需要根據它前面的一個或多個字母來決定。這就是二元語法和三元語法思想最早的萌芽,由此而可以推廣為N 元語法模型。

人們在計算某個單詞的概率的時候,不是考慮它前面的全部的歷史,而只是考慮最接近該單詞的若干個單詞,從而近似地逼近該單詞的歷史。這就是N 元語法模型的直覺解釋。如果通過前面一個單詞的條件概率來估計下一個單詞出現的概率,這樣的語法模型叫作二元語法模型(bigram model)。如果通過前面兩個單詞的條件概率來估計下一個單詞出現的概率,這樣的語法模型叫作三元語法模型(trigram model)。如果通過前面N-1 個單詞的條件概率來估計下一個單詞出現的概率,這樣的語法模型叫作N元語法模型(N-gram model)。

由此可見,可以把二元語法模型推廣到三元語法模型,……,再推廣到N 元語法模型。二元語法模型叫作一階馬爾可夫模型(因為它只看前面的一個單詞),三元語法模型叫作二階馬爾可夫模型(因為它只看前面的兩個單詞),N 元語法模型叫作N-1 階馬爾可夫模型(因為它只看前面的N-1 個單詞)。它們都是統計語言模型(SLM)。

學者們進一步探討更加復雜的N 元語法的方法。這些方法包括:Kuhn & de Mor(i1990)在1990年提出的給N 元語法附加權值的“存貯LM 法”(cache LM),Rosenfeld(1996)在1996 年提出的選擇長距離觸發算法(long-distance trigger)來替代局部N 元語法的方法,Ney et al(.1994)在1994 年提出的使用可變長N 元語法(variable-length N-grams)的方法。

另外一種類型的統計語言模型是使用語義信息來豐富N 元語法,這些方法包括:基于潛在語義索引(latent semantic indexing)的語義詞聯想方法,Demetriou(德美特里歐)等在1997 年提出的從聯機詞典和類屬詞典中提取語義信息的方法,基于類的N元語法(Class-based N-grams)根據單詞的類別(例如詞類)來建立N 元語法的方法。

還有一系列的提升N 元語法的方法是基于話語知識(discourse knowledge)的,例如,Florian(弗洛里安)和Yarowsky(雅羅夫斯基)在1999 年提出的使用當前話題的知識來提升N 元語法的方法或使用言語行為和對話知識來提升N 元語法的方法。

20 世紀90 年代以來,統計語言模型有了進一步發展,包括噪聲信道模型(noisy channel model),最大熵模型(Max-Entropy model),以及基于平行概率語法的形式模型(例如中心詞轉錄機模型、同步上下文無關語法模型、反向轉錄語法模型等)。在機器翻譯方面,學者們還提出了基于短語的統計機器翻譯模型(phrase-based statistical machine translation model)、基于句法的統計機器翻譯模型(syntax-based statistical machine translation model)。統計機器翻譯的譯文質量得到了大幅度的提高(馮志偉2015:9)。

邏輯斯蒂回歸(logistic regression)最早是在統計學領域發展起來的。20 世紀90 年代初期,IBM 公司在自然語言處理中使用了邏輯斯蒂回歸,而且這種方法也普遍地用于語言建模、文本分類、情感分類、詞類標注、句法分析、同指排歧等領域。邏輯斯蒂回歸成為了自然語言處理中一種重要的統計語言模型。

從基于規則的符號主義轉向基于數據的經驗主義,是自然語言處理研究的重大轉折。

在統計語言模型時期,學者們發現,隨著語言數據規模的擴大,自然語言處理系統的性能會越來越好。

圖1 顯示了在阿拉伯語-英語統計機器翻譯中,隨著訓練語料規模的增大,機器翻譯系統的BLUE 值逐漸提高,性能越來越好。

圖1:統計機器翻譯性能隨著訓練語料規模的增大而提高

隨著統計語言模型的興盛,人工智能也再次復蘇。1997 年5 月1 日,IBM 公司設計的RS/6000SP 計算機“深藍”(Deep Blue)以35∶25 的比分戰勝了國際象棋大師Kasparov(卡斯帕羅夫)。2016 年3 月9 日,谷歌公司DeepMind 研發的人工智能圍棋軟件AlphaGo(阿爾法狗)與韓國的圍棋世界冠軍李世石在韓國首爾比賽,AlphaGo 獲勝。

此外,人工智能在圖像識別和語音識別方面也取得重要的進展。人工智能在統計語言模型中融入了神經網絡和深度學習技術,進一步加快了發展的步伐,人類進入了人工智能的新時代。

在人工智能的新時代,自然語言處理中先后出現了神經語言模型(NML)、預訓練語言模型(PML)、大語言模型(LLM),引起了一場海嘯式的大變革,使得人工智能進入了一個空前繁榮的新局面,自然語言處理深度融入了人工智能,成為了人工智能皇冠上的最為耀眼的明珠。

下面本文將分述神經語言模型、預訓練語言模型和大語言模型。

3.神經語言模型(NLM)

21 世紀以來,普通計算機用戶可以使用的數據資源以驚人的速度增長,互聯網成為了自然語言處理無比豐富的信息來源,無線移動通信日益普及并且日益增長起來,這些都使得自然語言處理進入了前所未有的、激動人心的時刻,成為了彼時科學技術的熱門話題。從2012 年開始,自然語言處理中開始采用深度學習和神經網絡的方法,自然語言理解和自然語言生成都達到了前所未有的水平。

神經網絡是自然語言處理的一種基本的計算工具,并且是出現得很早的一種工具。之所以叫作“神經”,是因為它源自于1943 年Warren McCulloch(麥卡洛克)和Walter Pitts(皮茨)提出的神經元(neuron)。神經元是一種可以使用命題邏輯來描述的、人類大腦神經可計算單元的簡化模型。

現代的神經網絡是由一些小的計算單元構成的網絡,神經網絡中的每一個單元取一個輸入值向量,產生一個輸出值。因為神經網絡在其計算過程中要反復地從神經網絡的一個層饋入到另一個層,人們常常把這叫作深度學習,由于這種神經網絡通常具有多個層次,因而被認為是一種有深度的網絡。

神經網絡與統計語言模型在數學上有很多內容是相同的。但是,神經網絡比統計語言模型具有更加強大的分類能力,哪怕是在技術上只有一個隱藏層的神經網絡也能夠學習到任何的函數。

神經網絡分類器與統計語言模型的分類器也有不同。對于統計語言模型的分類器,學者們通過手工方式研制了很多基于領域知識的特征模板來執行不同的任務。但是在神經網絡分類器中,要盡量避免過多地使用手工的方式來設計大量的特征,而是要把原始的單詞作為輸入的數據進行深度學習,讓計算機自動地推導出各種特征,并把這作為分類學習過程的一個部分。

實踐證明,層次很深的神經網絡在表示學習方面的表現是很棒的。正是由于這樣的原因,深度神經網絡成為了處理大規模語言數據的很恰當的工具,它可以自動地學習蘊含在語言中的各種特征。

在1943 年,McCulloch 和Pitts 就描述了一種理想化的人工神經網絡,并構建了一種基于簡單邏輯運算的計算機制,開啟了神經網絡研究的序幕。1951年,McCulloch 和Pitts 的學生Marvin Minsky 建造了第一臺模擬神經網絡的機器,叫作SNARC。1958 年,Rosenblat(t羅森布拉特)提出可以模擬人類感知能力的神經網絡模型,稱之為感知機(Perceptron),并提出了一種接近于人類學習過程的學習算法。但是,感知機因為它的結構過于簡單,不能解決簡單的線性不可分問題。1969 年,Minsky 和Seymour Papert(帕佩特)指出,當時的計算機無法支持大型神經網絡所需要的計算能力。這樣的論斷直接將以感知機為代表的神經網絡打入冷宮,導致神經網絡的研究進入了十多年的“低谷”(馮志偉2021:122)。1974 年,哈佛大學的Paul Webos(韋伯斯)提出反向傳播算法(Backpropagation algorithm,BP),但當時未受到應有的重視。

在1983 年至1995 年間,反向傳播算法重新激發了人們對神經網絡的興趣。1983 年,美國加州理工學院的物理學家John Hopfield(何普菲爾德)提出了一種用于聯想記憶和優化計算的神經網絡,稱為何普菲爾德網絡(Hopfield network)。1984 年,加拿大多倫多大學的計算機科學家Geoffrey Hinton(辛頓)提出一種隨機化版本的何普菲爾德網絡,又叫作玻爾茲曼機(Boltzmann machine)。1986 年,David Rumelhart(魯梅哈德)和James McClelland(麥克雷蘭德)對于連接主義(connectionism)在計算機模擬神經活動中的應用進行了全面的研究,并改進了反向傳播算法。同年,Hinton 等人將反向傳播算法引入到多層感知機(multi-layer perceptron)中,于是人工神經網絡又重新引起人們的注意,并開始成為新的研究熱點。隨后,Yann LeCun(楊樂坤)等人將反向傳播算法引入到卷積神經網絡(Convolutional Neural Network,CNN)中,并在手寫體數字識別上取得了很大的成功。

2006 年,Hinton et al.(2012)發現多層的前饋神經網絡(Feed-Forward Neural Network,FFN)可以通過逐層預訓練,再用反向傳播算法進行微調,取得了很好的機器學習的效果。

近年來,隨著大規模并行計算以及GPU(Graphic Processing Unit)設備的普及,計算機的計算能力得到大幅度提高,可供機器學習的數據資源的規模也越來越大。在強大的計算能力(算力)、豐富的數據資源(算料)和先進的計算技術(算法)的支持下,計算機已經可以訓練大規模的人工神經網絡,于是,各大科技公司都投入巨資研究深度學習。

在神經語言模型中,把自然語言中單詞的離散符號(discrete symbols)映射為N 維空間中的連續向量(continuous vectors),這樣的連續向量叫作“詞向量”(word vector)。如圖2 所示(馮志偉2019:10)。

圖2:將離散的單詞符號映射為連續的詞向量

在圖3 中,David,John,play,Mary,loves,like 等離散的單詞,都映射到向量空間(vector space)中,成為了不同的詞向量。

圖3:將離散的單詞映射到N 維空間中

在圖4 中,N 維空間中這些單詞的詞向量都表示為連續的實數值。

圖4:在N 維空間中的詞向量都是連續的實數值

基于規則的語言模型和統計語言模型需要對于語言符號及其特征表示進行計算,尋求不同語言之間的特征對應規律,這是非常艱巨的語言特征工程(language feature engineering)。這樣的特征研究起來耗時而又耗力。

在神經語言模型中,由于把單詞符號都映射為向量空間中的詞向量,不再需要規模巨大的語言特征工程,也不需要手工設計語言特征,計算機能夠自動地從語料庫中獲取和計算向量化的語言特征,大大地節省了人力,同時也降低了研制自然語言處理系統的語言知識門檻。這是自然語言處理研究在知識獲取技術上的一大進步。

構造單詞的向量化特征表示也就是進行“詞嵌入”(word embedding,WE)?!霸~嵌入”把自然語言中的每一個單詞映射為向量空間中的一個詞向量,并且在這個向量空間中形式化地定義自然語言的單詞與單詞之間的相互關系。

詞嵌入的方式有兩種。一種方式叫做“連續詞袋”(Continuous Bag-of-Word,CBOW)方式,CBOW使用在一個窗口中的上下文單詞wi-2,wi-1,wi+1,wi+2的總和(SUM)來預測中心單詞wi。如圖5 左側所示。另一種方式叫作“連續跳元”(Continuous Skip-gram)方式,Skip-gram 使用中心詞wi來預測在一個窗口中的上下文單詞wi-2,wi-1,wi+1,wi+2。如圖5 右側所示。

圖5:詞嵌入:左側為CBOW,右側為Skip-gram

這就是所謂的“向量空間模型”(vector space model),也就是把單詞嵌入(embedding)到向量空間中的模型。詞嵌入這種方法有助于人們使用更加豐富的上下文參照來描述單詞的意義(Mikolov et al.2013:15)。

這樣的詞嵌入模型又叫作“Word2vec 模型”,在自然語言處理中大受歡迎,是自然語言處理研究中的重大創新,具有革命性的作用。

詞嵌入模型是N 元語法模型的進一步發展,從實質上說,它是一種采用向量表示的N 元語法模型。在神經網絡中,語言數據不再是離散的符號,而是用詞向量或句向量的實數表示,這樣的向量表示極大地提高了神經網絡的計算性能。把離散的語言符號表示為向量是語言學歷史上的重大創新,這樣的創新把自然語言處理與人工智能更加緊密地結合在一起。

人工神經元只是生物神經細胞的理想化實現,功能比較簡單。感知機只有一個人工神經元,而要想模擬人類大腦的能力,只使用一個神經元是不夠的,要使用多個神經元共同協作來完成。這種通過一定的連接方式共同協作的神經元就可以看作是一個人工神經網絡(馮志偉,丁曉梅2021)。

在神經語言模型(NLM)中,單詞前面的上下文是使用該單詞前面單詞的詞嵌入(word embedding)來表示的。把單詞前面的上下文表示為詞嵌入,而不是像在N 元語言模型中那樣表示為具體的單詞符號,這就使得神經語言模型能夠泛化為看不見的數據(unseen data),顯然比N 元語言模型更勝一籌。語言模型也就從符號主義發展到連接主義。

例如,在訓練集中可以看到這樣的句子:

I have to make sure when I get home to feed the cat.

假定人們從來也沒有在feed the 這樣的單詞串之后看到過單詞dog。而在測試集中,我們試圖預測在前面出現單詞系列I forgot when I got home to feed the 之后,究竟會出現什么單詞。在這樣的情況下,應當怎么辦呢?

根據訓練集的例子,如果使用N 元語法模型,就可以預見到feed the 之后的單詞應當是cat,可是僅僅根據N 元語法模型,不會預測到后面的單詞dog。然而,如果使用一個神經語言模型,那么,這個神經語言模型就可以根據cat 和dog 具有相似的詞嵌入這樣的事實,理直氣壯地給dog 指派與cat一樣高的概率,從而判斷feed the 后面的單詞是dog,而做出這種判斷的根據就僅僅是因為它們在嵌入中具有相似的詞向量。

假定有一個用詞向量表示的嵌入加權矩陣E,對于詞典V 中的每一個單詞,E 都能給出相應單詞的詞向量嵌入,這可以使用word2vec 算法預先計算出來。

下面,以前饋神經網絡(Feed-forward Neural Network,FFN)為例來說明神經語言模型的原理。

前饋神經網絡有三種結點:輸入單元(input unit)、隱藏單元(hidden unit)、輸出單元(output unit)。

輸入層x 是一個向量。神經網絡的核心是由隱藏單元hi構成的隱藏層h,每一個隱藏單元是一個神經單元,它取輸入的加權總和,然后進行非線性的應用。在標準的構架中,每一個層都是全連接的(fully-connected),也就是說,在每一個層中的每一個單元都取前面一個層中的所有單元的輸出作為其輸入,而在來自兩個相鄰層中每一對單元之間,都存在著連接。因此,每一個隱藏單元要對于所有的輸入單元求和。

在圖6 的簡單前饋神經網絡中,只有一個輸入層(input layer)、一個隱藏層(hidden layer)和一個輸出層(output layer)

圖6:簡單的前饋神經網絡

一個單獨的隱藏單元把一個權重向量和一個偏置(bias)作為其參數。對于每一個神經單元i,把權重向量和偏置結合起來,在整個的層上,構成一個單獨的權重矩陣W 和一個單獨的偏置向量b,從而表示整個隱藏層的參數。權重矩陣W 的一個成分Wji表示第i個輸入單元xi到第j 個隱藏單元hj的連接權重。

對于所有的層的權重都使用一個單獨的權重矩陣W 的好處在于,前饋神經網絡隱藏層的計算可以用矩陣運算,非常有效。事實上,這樣的計算只有三步:

(1)用輸入向量x 乘以權重矩陣。

(2)加上一個偏置向量b。

(3)使用激活函數(例如sigmoid 函數σ)。

隱藏層的輸出就是向量h,h 的計算公式如下:

h=σ(Wx+b)

這里采用sigmoid 函數σ 作為激活函數。

圖7 說明在訓練神經語言模型時,附加的層怎樣學習嵌入。這里,N=3,在輸入層(input layer)上下文單詞(the,ground,there)被表示為3 個獨熱向量(one hot vectors),把它們全都連接起來,作為嵌入矩陣E 的3個實例(instantiation)進入嵌入層(embedding layer)。嵌入加權矩陣E 為各個單詞所共有,嵌入時,每一個單詞都有一個d 維的向量,在映射層(projection layer)這個加權矩陣的維度為d×|V|,在隱藏層(hidden layer)的維度為dh×3d,在輸出層(output layer)的維度為|V|×dh。

圖7:返回到嵌入的全部學習路徑

在圖7 中,嵌入向量E 是3 個上下文單詞(the,ground,there)共享的?,F在讓我們來把圖7 走一遍。

(1)從輸入矩陣E 中選擇三個嵌入:給定前面的三個單詞(there,ground,the),查找它們的索引號,造出三個獨熱向量,然后,乘以輸入矩陣E。例如,我們來考慮Wi-3,也就是單詞the,用the(索引號為35)的獨熱向量乘以嵌入矩陣E,然后傳給第一個隱藏層的第一部分,這個隱藏層就是映射層。由于輸入矩陣E 的每一個行正好是一個單詞的嵌入,對于單詞Vi,其輸入就是獨熱向量xi,對于輸入單詞w,其映射層就是Exi=ei,這也就是單詞i 的嵌入。E 為3 個單詞所共享。對于上下文單詞,可以把這三個單詞(there,ground,the)的三個嵌入毗連起來,其索引號分別為35,9925,45180。得到e=(Ex1,Ex2,..., Exi)。

(2)乘以權值W:把e 乘以權值W,再加上偏置b,然后把它傳給分段線性的激活函數σ 從而形成隱藏層h。得到h=σ(We+b)。

(3)乘以權值U:繼續把h 乘以隱藏層權值U,在輸出層得到輸出z:z=Uh。

(4)使用softmax:根據公式y=soft max(z),對z 進行softmax 處理,經過softmax 處理之后,對于輸入層中的每一個結點i,在輸出層都得到一個概率估值P(wi=V42|wi-3, wi-2, wi-1),最后輸出單詞lived,其索引號為42。

對于簡單的神經網絡,例如兩層的感知機可以使用手工計算的方式,為每一個網絡參數計算出相對于損失函數(loss function)的梯度下降(gradient descent)表達式,但是多層的前饋神經網絡所對應的復合函數通常都是非常復雜的,而手工計算梯度的方式推導過程過于冗長,在實踐中并不可行。

為了解決多層的前饋神經網絡中面臨的這個困難問題,Hinton 在1986 年把“反向傳播算法”引入到多層前饋神經網絡中,實驗顯示,這種反向傳播算法在更新隱藏層的權值方面是非常有效的。

反向傳播算法的訓練過程分為兩個階段:激勵和誤差傳播階段以及權值更新階段。

激勵和誤差傳播階段又可再分為兩個步驟:

(1)前向傳播負責把輸入提供給網絡,依次計算網絡各層的輸出結果并加以保存。

(2)反向傳播負責計算輸出結果與學習目標之間的誤差,求解輸出層的梯度,然后按照與前向傳播相反的次序,計算各個網絡層的誤差以及所有神經網絡參數的梯度值,直到輸出層為止。如圖8 所示。

圖8:反向傳播

使用反向傳播算法,無論復合函數的復雜程度怎樣,只要這個復合函數內部的每一個子函數(subfunction)的導數是可以求解的,那么,整個復合函數對任意變量和子函數的求導,都可以通過一個計算機算法來自動地完成,這就為設計和實現高度復雜的神經網絡奠定了理論基礎。

反向傳播算法的主要優點在于:

(1)高效:使用反向傳播算法可以快速計算出神經網絡中每個參數對損失函數的影響程度,從而使得優化過程更加高效。

(2)自動化:反向傳播算法使得權重和偏置的更新過程變得自動化,減少了人工干預的需要,提高了模型訓練的效率。

(3)可擴展性:反向傳播算法可以應用于各種類型的神經網絡,如前饋神經網絡、循環神經網絡等,具有較強的可擴展性。

(4)可理解性:反向傳播算法可以幫助我們理解神經網絡中每個參數的作用和影響,從而更好地進行模型的調整和優化。

反向傳播算法在神經網絡中的應用,使得任意復雜程度的神經網絡的梯度求解過程都可以由計算機程序自動地完成,無需任何人工干預。所以,反向傳播算法為多層神經網絡的訓練和應用提供了系統化的、有效的解決方案。

反向傳播算法在深度學習中的應用,使得神經網絡的訓練更加高效、自動化、可擴展,并且可以幫助我們更好地理解和優化模型。

Hinton 等人于1986 年發表在《自然》(Nature)雜志上的關于反向傳播算法的論文引用次數超過4 萬次,在人工智能學界產生了巨大的影響。由于Hinton的反向傳播算法在深度學習中的成功,Hinton 被尊為“深度學習之父”。

下面以編碼器-解碼器模型(encoder-decoder model)為例來進一步說明神經語言模型。

編碼器-解碼器模型又叫作編碼器-解碼器網絡,也就是序列到序列網絡,這是一種神經語言模型,這個神經語言模型能夠根據上下文生成任意長度的、恰當的輸出序列。

編碼器-解碼器網絡有著廣泛的應用,可以運用于機器翻譯、文本摘要、智能問答、對話系統。

編碼器-解碼器網絡的關鍵思想是編碼器網絡取一個輸入序列,并構造出這個序列的上下文表示(contextualization representation),這樣的上下文表示,通常簡稱為“上下文”(context)。把這樣的上下文表示傳給解碼器,生成任務所要求的輸出。

圖9 是編碼器-解碼器構架的圖示。

圖9:編碼器-解碼器構架

圖9 中的上下文是輸入的隱藏表示,可以用很多方法被解碼器使用。

編碼器-解碼器網絡包括三個組成部分:

(1)一個編碼器,它接受輸入序列x1n,生成相應的上下文序列h1n。

(2)一個上下文向量,記為c,它是h1n的函數,它把輸入的精粹部分傳給解碼器。

(3)一個解碼器,它接受c 作為輸入,生成隱藏狀態的任意長度的序列h1m,由此得到輸出狀態的相應的序列y1m,與編碼器一樣,解碼器也可以使用任意序列的構架來實現。

圖10 顯示了使用編碼器-解碼器模型進行英語-西班牙語機器翻譯的過程。

圖10:使用編碼器-解碼器模型進行英語-西班牙語機器翻譯

源語言英語的句子(Source Text)和目標語言西班牙語的句子(Target Text)之間用一個分隔符(Separator)毗連起來,解碼器使用了來自編碼器最后一個隱藏層的上下文信息。

圖10 中顯示了一個英語的源文本“the green witch arrived”,一個句子分隔符<s>,一個西班牙語的目標文本“liego la bruja verde”。為了翻譯源文本,我們讓它通過網絡,向前進行推導以生成隱藏狀態,一直到達源文本的終點。然后,我們開始自回歸生成,從源輸入的末端以及句末標記開始進行搜索,從隱藏層的上下文向量中搜索到一個單詞。根據隱藏狀態和嵌入,逐一地生成爾后的單詞,一直到生成最后一個單詞。

圖11 對這個模型進行了形式化和泛化,為了幫助理解,使用了上標e 和d,分別表示編碼器(encoder)和解碼器(decoder)的隱藏狀態,這個網絡左側的成分用于處理輸入序列xi,并構成編碼器。這個簡化的圖只顯示了編碼器的一個網絡層,棧的構架是規范的,棧的頂層的輸出就作為輸入序列的最后表示。

圖11:編碼器-解碼器構架在參照時間內翻譯一個句子的形式化表示

在圖11 中,編碼器最后的隱藏狀態hne作為解碼器的上下文向量進行解碼。編碼器的全部目的就在于為輸入的文本生成一個上下文向量表示(contextualization representation)。編碼器的最后一個隱藏狀態使用hne來表示。這個表示也叫做c,也就是上下文向量(context vector)。然后就把這個c 傳送給解碼器。

在右側的解碼器接受這個狀態,并且用它來啟動解碼器的第一個隱藏狀態。也就是說,解碼器使用這個c 作為它的先驗的隱藏狀態h1d。然后,解碼器自回歸地生成一個輸出序列yi,每一個時刻生成一個成分,直到生成序列末端的標志為止。每一個隱藏狀態以前面一個隱藏狀態作為生成的條件,并且要在前面的狀態的上下文向量c 的影響下生成輸出。

這種方法的缺點是隨著解碼器中生成序列的增加,c 的影響會逐漸減弱。解決這個問題的辦法是讓上下文向量c 在生成過程中的每一步都在起作用。為此,我們在計算當前的隱藏狀態時,把c 作為參數加入到計算中(如圖12 所示)。計算方程如下:

圖12:解碼器中的每一個隱藏狀態都受到編碼器生成的上下文向量c 的影響

在每一個時間步的輸出yi,要在可能輸出的全部集合上進行softmax 的概率計算,得到概率最大的輸出:

yi=softmax(zi)

在softmax 的輸出中,取最大值argmax,就能得到每一個時間步的最佳輸出。在機器翻譯的情況下,也就是輸出的目標語言的單詞。

神經語言模型把離散的語言符號表示為向量,經過模型處理之后,再使用softmax 把處理的結果轉化為離散的語言符號作為輸出,大大地提高了語言模型的功能。

那么,從語言學的角度怎樣來解釋神經語言模型呢?

本文認為,語言符號的這種向量表示大致相當于Chomsky 提出的內在語言(Internal Language,I-語言),這樣的向量可以充分地表示語言的語法和語義,具有極強的表示力,因此,經過神經語言模型處理之后得到的向量表示,使用softmax 計算概率分布,最后就可以把這些向量外化為語言符號。這樣的語言符號也就是外部語言(External Language,E-語言)。因此,Chomsky 的通用語法(Universal Grammar,UG)還是很有道理的(馮志偉2019)。

至于語言符號的向量表示為什么能取得這樣好的效果,這還是當前語言學尚未解釋的語言之謎。

4.預訓練語言模型(PLM)

在深度學習和神經網絡的研究中,語言數據資源的貧乏是一個非常嚴重的問題。例如,商用神經機器翻譯系統需要數千萬個句子甚至數億個句子的語言大數據作為訓練語料。如果語言數據貧乏,自然語言處理系統的質量難以保證。為了解決語言數據貧乏的問題,學者們開始探討小規模語言數據資源下研制自然語言處理系統的可行性問題,并于2018 年提出了“預訓練語言模型”(Pre-training Language Model, PLM)。如圖13 所示。

圖13:預訓練語言模型

圖14:自注意力機制

在圖13 中,預訓練語言模型使用大規模的文本語料庫數據進行“預訓練”(Pre-training),然后使用面向特定任務的小規模語言數據集,根據遷移學習的原理進行“微調”(Fine-tuning),形成“下游任務的模型”(Models for downstream tasks)。

這樣的預訓練語言模型新范式使得研究者能夠專注于特定的任務,而適用于各種任務的通用預訓練語言模型可以降低自然語言處理系統的研制難度,從而加快了自然語言處理研究創新的步伐。

研究人員設計出各種預訓練模型,可以把通過預訓練從大規模文本數據中學習到的語言知識,遷移到下游的自然語言處理和生成任務模型的學習中。預訓練模型在幾乎所有自然語言處理的下游任務上,都表現出了優異的性能。預訓練模型也從單語言的預訓練模型,擴展到了多語言的預訓練模型和多模態的預訓練模型,并在相應的下游任務上都表現出色,成為了一個功能強大的大語言模型(Large Language Model,LLM),自然語言處理進入了空前繁榮的大語言模型的新時代(馮志偉,李穎2021)。

在大語言模型時代的神經機器翻譯,不再需要兩種語言的平行語料庫,而是采用一個巨大的預訓練網絡,通過一個特別的指令指示語言類型進行翻譯。

2017 年6 月,谷歌公司在其發表的論文《注意力就是你們所需要的一切》(Attention Is All You Need)中提出了一個完全基于注意力機制的預訓練語言模型,叫作Transformer①,這個模型拋棄了在此之前的其他采用注意力機制的模型保留的循環神經網絡結構與卷積神經網絡結構,將其核心定位在使用注意力機制(attention mechanism)上。Transformer是完全基于注意力機制的模型,在各項任務的完成和性能發揮方面表現優異,因此成為自然語言理解和機器翻譯的重要基準模型②。

在《注意力就是你們所需要的一切》這篇論文中,每一個單詞都被嵌入為512 維的向量,根據這篇論文,我們假設每一個單詞被嵌入到512 維的向量中。詞嵌入過程只發生在最底層的編碼器中。所有的編碼器都有一個相同的特點,它們都要接受一個向量列表,列表中的每一個向量的大小為512 維。在最底一層的編碼器中,輸入的是詞向量,但是在爾后的其他的編碼器中,這個詞向量就是下一層編碼器的輸入,這樣就可以形成一個向量列表。向量列表的大小是可以設置的參數,一般就是訓練集中最長句子的長度。由此可見,Transformer 實質上就是一種高維度的N 元語法模型,由于維度高,Transformer的功能也就比一般的N 元語法模型高得多了(Vaswani et al.2021)。

將輸入序列進行詞嵌入之后,源語言中的每一個單詞都會流經編碼器中的多頭注意力子層和前饋子層。

多頭注意力子層使用“自注意力機制”,這樣便可以充分地表示單詞與單詞之間聯系的密切程度。

在自注意力機制中,自注意力的強度要根據“查詢向量”(Query,簡寫為Q)、“鍵向量”(Key,簡寫為K)和“值向量”(Value,簡寫為V)來計算。

查詢向量Q 的作用在于,在對前面所有的輸入進行比較時,表示注意力關注的當前焦點。鍵向量K 的作用在于,在與注意力的當前焦點進行比較時,表示該焦點前面的輸入。值向量V 的作用在于,計算注意力當前焦點的輸出。

計算公式如下:

這個公式中,Q 表示查詢向量,K 表示鍵向量,V 表示值向量,d 表示Transformer 的維度(dimensionality)。

在圖15 中,假定x1,x2,x3是輸入,y3是輸出,可以這樣來計算輸出y3的值:首先生成輸入x1,x2,x3的查詢向量Q、鍵向量K、值向量V,然后比較它們之間的查詢向量與鍵向量(key/Query comparisons),計算出softmax 的值,然后對所有softmax 的值加權求和(Weight and Sum),最后輸出向量y3。顯而易見,輸出向量y3既考慮到輸入x3的信息,也考慮到它前面的輸入x1,x2的信息。

圖15:使用自注意力強度公式根據x1,x2,x3的K,Q,V,計算y3 的值

預訓練語言模型比之于統計語言模型對于語言數據的要求更加敏感。

在圖16 中,橫軸表示語料庫數據規模(Corpus Size)的大小,也就是語料庫中包含英語單詞(English Words)的數量,縱軸表示機器翻譯自動評測指標BLEU 值(Bi-Lingual Evaluation Understudy),也就是機器翻譯系統質量的水平。從圖17 中可以看出,在基于短語的(Phrase-Based)統計機器翻譯系統中,當語料庫數據的規模為100 萬(106)個單詞時,它的BLEU值為18.1,當語料庫數據的規模為1,000 萬(107)個單詞時,它的BLEU 值平穩地上升為23.5,當語料庫數據的規模為1 億(108)個單詞時,它的BLEU 值進一步平穩地上升為26.9;在帶有大規模語言模型基于短語的(Phrase-Based with Big LM)統計機器翻譯系統中,當語料庫數據的規模為100 萬(106)個單詞時,它的BLEU 值為23.4,當語料庫數據的規模為1,000 萬(107)個單詞時,它的BLEU 值平穩地上升為27.9,當語料庫數據的規模為1 億(108)個單詞時,它的BLEU值進一步平穩地上升為29.6;由此可見,隨著語料庫數據規模的逐漸地增大,統計機器翻譯系統的質量也平穩地增大。

圖16:統計機器翻譯數據規模與預訓練神經機器翻譯數據規模的比較

圖17:LLM 與NMT 機器翻譯水平對比

在預訓練神經機器翻譯系統中,當語料庫數據的規模為100 萬(106)個單詞時,它的BLEU 值僅僅為7.2,當語料庫數據的規模為1,000 萬(107)個單詞時,它的BLEU 值猛增為22.4,當語料庫數據的規模為1 億(108)個單詞時,它的BLEU 值又進一步猛增為29.2,隨著語料庫規模的增大,預訓練神經機器翻譯系統質量的增長幅度遠遠地大于統計機器翻譯系統質量的增長幅度。

這說明,語料庫數據規模的大小,對預訓練神經機器翻譯系統的影響比對統計機器翻譯系統的影響大得多。如果語料庫數據規模小于1,000 萬(107)個單詞,預訓練神經機器翻譯的質量是比不上統計機器翻譯的,當語料庫數據規模達到1 億(108)個單詞時,預訓練神經機器翻譯的質量與統計機器翻譯的質量大致持平。而當語料庫數據規模超過108個單詞時,預訓練神經機器翻譯的質量才有可能超過統計機器翻譯。

從圖16 可以看出,語言數據規模的大小,對于預訓練神經機器翻譯系統的性能有著舉足輕重的影響。

2020 年,J.Kaplan(卡普蘭)等人提出了縮放法則(Scaling Laws),指出語言模型的性能依賴于語言模型的參數數量、數據集大小和計算量的大小,模型的效果會隨著這三者的指數增加而線性提高,模型的損失(Loss)值隨著模型規模的指數增大而線性降低(Kaplan et al.,2020)。這意味著語言模型的能力是可以根據這三個變量估計的,提高語言模型參數量,擴大數據集規模都可以使得語言模型的性能得到提高。這為繼續提升語言模型的規模給出了定量分析依據③。

于是預訓練語言模型的研究者特別關注預訓練語言模型的規模,預訓練模型的規模越來越大,預訓練用到的文本數據也越來越多。例如,截至2022 年4月,英文維基百科(Wikipedia)中有超過640 萬篇文章,包含40 億個詞,規??捎^,涵蓋多個領域,是預訓練理想的文本數據資源。Google 研制BERT 時只用了16G 的文本數據,研制RoBERTa 時就增長到160G的文本數據,而到了研制T5 時,竟然用到了750G 的文本數據。隨著預訓練語言模型文本數據量的增大,預訓練語言模型的參數也越來越多。從AI2 研制的ELMo 系統有9,300 萬參數,Google 研制的BERT 系統有3.4 億參數,OpenAI 研制的GPT-2 系統有15 億參數,預訓練模型變得越來越大了。

在2018 年先后建立了ELMo(AI2 研制),ULMFiT(Fast.ai 研制),GPT(OpenAI 研制)等預訓練模型。

其中OpenAI 研制的GPT 和GPT-2 就是ChatGPT的前身。

5.大語言模型(LLM)

2018 年1 月Google 的研究團隊開創性地提出了預訓練語言模型BERT,該模型在諸多自然語言處理任務中展現了卓越的性能。這激發了大量以預訓練語言模型為基礎的自然語言處理研究,也引領了自然語言處理領域的預訓練范式的興起。然而,盡管這一變革影響深遠,但它并沒有改變每個模型只能解決特定問題的基本模式。

由OpenAI 公司開發的基于Transformer 的生成式預訓練模型(Generative Pre-Trained Transformer,GPT),包括GPT-1,GPT-2,GPT-3,InstructGPT,ChatGPT,GPT-4,它們利用Transformer 模型,從語言大數據中獲取了豐富的語言知識,在語言生成任務上達到了相當高的水平(馮志偉,張燈柯2023)。

2018 年6 月開發的GPT-1 只有1.17 億參數。但是到2020 年5 月,GPT-3 啟動,模型規模擴大到了1,750 億參數。這樣龐大的參數是人類記憶遠遠無法達到的。因此,我們把這樣的語言模型叫作大語言模型(Large Language Model, LLM)。

在此基礎上開發出ChatGPT。ChatGPT 的訓練語料高達100 億個句子,可以通過使用大量的訓練數據來模擬人的語言行為,生成人類可以理解的文本,不再需要示例,也就是“零樣本”(zero shot),就能夠根據上下文語境,提供出恰當的回答,甚至還能做句法分析和語義分析,幫助用戶調試計算機程序,寫計算機程序的代碼,而且能夠通過人類反饋的信息,不斷改善生成的功能,已經達到了很強的自然語言生成能力。

ChatGPT 通過一個簡單的對話框,利用一個大語言模型就能夠實現問題回答、文稿撰寫、代碼生成、數學解題等多種任務,而以往的自然語言處理系統需要使用多個小模型進行定制開發才能分別實現這些能力。ChatGPT 在開放領域問答、各類生成式自然語言任務以及對話理解等方面展現出的能力遠超過大多數人的想象。這些都有力地推動了大語言模型的突破,為自然語言處理研究帶來了巨大的進展,并在各個領域展示了令人矚目的成果。

ChatGPT 是一種對話場景優化語言模型(optimizing language models for dialogue)。ChatGPT 比GPT-3 更進一步,已經進化到具備執行自然語言指令的能力,用戶不必給出樣本示例,只要使用自然語言給出提示指令(prompt),ChatGPT 就可以理解用戶意圖。

ChatGPT 的機器翻譯水平與神經機器翻譯不相上下。圖17 是我國小牛機器翻譯對于高資源語言機器翻譯(例如,英語-德語,英語-漢語)的評測結果,圖中NMT 表示神經機器翻譯評測結果,LLM 表示大語言模型評測結果。

ChatGPT 在機器翻譯方面達到了很高的水平,克服了困擾人類數千年的語言障礙,說不同語言的人可以通過ChatGPT 互相溝通和交流,新的巴比塔終于建成了(馮志偉等2023)。

ChatGPT 是一個偉大的人工智能項目,它使用指令學習、基于人類反饋的強化學習、人工智能內容生成等一系列創新技術,使大語言模型在之前版本的基礎上實現了飛躍式的發展,在意圖理解、語言生成、對話控制和知識服務方面取得了重大的突破,刷新了硅基的非人類實體(機器)理解碳基的人類自然語言的嶄新高度。

從技術上說,在大語言模型中,語言成分的“遠距離依存”以及語言的“詞匯歧義”和“結構歧義”的處理,以及語義關系、因果關系和邏輯推理,其功夫都在語言之外。

如果把語言能力比作一座冰山,那么語言形式只是冰山露在水面之上的部分,而語義本體知識(semantic ontology knowledge)、常識事理(common sense)和專業領域知識(field knowledge)、社會文化背景知識(socialcultural background knowledge)則是深藏在冰山水面之下的部分,而這些知識也正是解決遠距離關聯問題、歧義消解問題、語義關系問題、因果關系問題、社會文化背景知識問題的關鍵。在自然語言處理的早期,人們曾經寄希望于靠人類專家手工構造冰山下的部分,例如,40 多年前人工智能的先驅者Douglas Lenat(雷納特)曾經設計了一個符號人工智能系統CYC,這個系統包含了數千萬條由人類專家輸入的事實信息,這些信息可以用于快速推理,但是這個研究項目并不成功,收效甚微。大語言模型則是采用數據驅動的“端到端嵌入”(end-to-end embedding)的方式,首先把語言數據轉化成高維向量空間里的詞向量和句向量,然后在向量空間里進行深度學習,讓大數據代替人類專家來構造冰山下的部分。ChatGPT 成功地證明了這種數據驅動的“端到端嵌入”技術路線對于構建非人類實體的語言能力是行之有效的。

本文認為,ChatGPT 具有如下特點:

(1)采用數據驅動的端到端嵌入方式,在向量空間里完成深度學習。

(2)基于海量高質量文本語料的無監督訓練:InstructGPT 從原始的45TB 的語料清洗得到570GB的高質量語料,建立大語言模型。

(3)基于人類反饋的強化學習方案(RLHF):雇用眾包團隊開展生成結果的人工標注,基于標注數據進行強化學習。通過人類用戶的反饋,不斷地改善生成功能。

(4)人工智能內容生成(AIGC):能夠自動生成文本、圖像、視頻、代碼等內容。

(5)交互式多輪對話:用戶可以自如地與ChatGPT對話。ChatGPT 能夠記住前面對話的內容,進行多輪對話。

當數據規模參數超過500 億-600 億的時候,系統會出現“涌現”(emergence)現象,研究人員驚訝地發現,只需要輸入一段提示(prompt),即便在沒有訓練過的新任務上,系統也能夠舉一反三,無師自通,很好地工作,顯示出越來越接近于人類的優秀表現,生成的語言也就越來越接近人類的語言。如圖18 所示。

圖18:涌現現象

這樣的“涌現”現象似乎意味著,當訓練數據在數量上增加到500 億-600 億時,GPT 系統發生了從量變到質變的重大變化。因此,只要不斷地增加訓練數據,就會產生質變的飛躍。

可見,涌現是指系統內部的個體或組件通過相互作用和動態演化所導致的產生全新的、難以預測的屬性、行為、規律的現象。這些新的特征無法簡單歸因于某一個單獨的個體或組件,也無法直接從單獨的個體或組件的屬性中推導出來。

為什么大語言模型會出現“涌現”,如何來闡明“涌現”的本質,目前也還是一個未解之謎。

這種群體性的“涌現”現象在其他學科中也有類似的表現。例如,在免疫學中,單個免疫細胞的功能是單一的,但是,無數的免疫細胞卻可以組成非常強大的免疫系統;在神經學中,神經元的相互作用可以產生意識、思想、記憶等復雜的現象,然而我們卻無法從單一的神經細胞推導出這些現象。在生物學中,一只螞蟻沒有規劃能力,但一個蟻群卻可以構建出復雜的蟻穴來。在物理學中,液體的流動性、張力、抗壓性是由單個水分子通過分子間相互作用產生的,但我們卻無法從單個分子的特性中推導出液體的流動性、張力、抗壓性。由此觀之,在大語言模型中出現“涌現”這樣的現象不足為奇。

人類單個神經元的功能有限,而人類的大腦有860 億個神經元,有6,000 萬億個鏈接,這樣的群體效應終于涌現出了極為復雜的人類意識,使人類成為了萬物之靈。那么,從語言學的角度,我們怎樣來看待“涌現”現象呢?

我們認為,從語言學理論的角度看,大語言模型出現“涌現”可能是由于語言本身的“遞歸性”造成的。

單個句子的表達能力是有限的,語法規則也是有限的,而語言中句子的數量卻是無窮無盡的,人們之所以能夠借助于有限的語法規則,造出無窮無盡的句子來,其原因就在于語言符號具有遞歸性。

語言符號的這種遞歸性,在不同的語言里表現不盡相同。漢語的句法構造的遞歸性突出地表現為句法成分所特有的套疊現象。在漢語里,由實詞和實詞性詞語組合而成的任何一種類型的句法結構,其組成成分本身,又可以由該類型的句法成分充任,而無須任何的形態標志。這種套疊現象在主謂結構、偏正結構、述賓結構、述補結構、聯合結構、復謂結構中都是存在的。例如,在句子“我肚子疼”中,“肚子/疼”是主謂結構,這個主謂結構套疊在“我肚子疼”中做謂語,與“我”又構成一個更大的主謂結構“我/肚子疼”,這是主謂結構的套疊現象。又如,在短語“中學物理教員”中,“物理/教員”是偏正結構,這個偏正結構套疊在“中學物理教員”中,與它前面的名詞“中學”又構成一個更大的偏正結構“中學/物理教員”,這是偏正結構的套疊現象。這種套疊現象是語言符號遞歸性導致的。

在大語言模型中,語言符號的遞歸性起著很大的作用。正是由于自然語言具有遞歸性,可以實現有限規則的無限運用,因而大語言模型產生了泛化的能力,可以舉一反三,無師自通地生成無限數目的、合乎語法的句子來,給人以“涌現”的感覺。

當然,ChatGPT 也存在不足。

(1)ChatGPT 除了具有語言處理能力之外,還具有一定的知識處理能力,但與其語言處理能力相比,知識處理能力的火候還稍微欠缺,特別是缺乏跟專業領域相關的知識能力,說多了就會“露餡”,有時甚至會提供不符合事實的錯誤答案。

(2)有時ChatGPT 會產生幻覺(hallucination),一本正經地胡說八道,或者說一些永遠正確的廢話。

(3)有時ChatGPT 會說出一些違反人類道德底線的話。

怎樣從語言學的角度來解釋大語言模型的“幻覺”呢?

本文認為,從語言學理論的角度來看,大語言模型產生“幻覺”,是由于自然語言的隨機性造成的。隨機性往往導致大語言模型難于理解周圍世界之間的因果關系。

在語言運用中,當人們用語言來進行交際活動的時候,有的語言成分使用得多一些,有的語言成分使用得少一些,各個語言成分的使用并不是完全確定的,這種不確定性,就是語言符號的隨機性。語言符號的隨機性是語言的本質屬性之一。

正因為語言符號具有隨機性,所以很難用確定性的規則來描述它。語言使用中大量的例外現象和歧義現象使得研究語法的語法學家們傷透腦筋,有的語法學家甚至因此而誤入迷津,以偏概全,得出了錯誤的結論。由于語言符號的隨機性,大語言模型就會產生以偏概全的錯誤,從而產生“幻覺”,一本正經地胡說。

因為ChatGPT 實際上只是一個大規模的語言模型,它只能在大規模語言數據基礎上對于人類的語言行為進行模仿,并沒有真正理解聊天的內容。ChatGPT盡管能夠針對人類的輸入產生類似于人類的反應,但是ChatGPT 只是根據用向量表示的語言數據進行實數計算,ChatGPT 并不知道它知道什么,也不知道它不知道什么,它并不能真正地理解自然語言。

2023 年3 月17 日,OpenAI 發布GPT-4。GPT-4具有強大的識圖能力,文字輸入限制由3,000 詞提升至2.5 萬詞,回答問題的準確性顯著提高,能夠生成歌詞、創意文本,改變文本的寫作風格。當任務的復雜性達到足夠的閾值時,GPT-4 比ChatGPT 更加可靠、更具有創意,并且能夠處理更細微的指令。

許多現有的機器學習基準測試都是用英語編寫的,為了了解GPT-4 在其他語言上的能力,OpenAI 研究團隊使用Azure Translate 將一套涵蓋57 個主題的14,000 個多項英語選擇題翻譯成多種語言。在測試的26 種語言的24 種中,GPT-4 優于ChatGPT 和其他大語言模型的英語語言性能。

我們把從感知機到GPT-4 的發展過程總結如下,可以看出,在這個發展過程中,2017 年6 月研制的Transformer 催生了大語言模型,是大語言模型的關鍵技術。

除了BERT 和GPT 系列之外,還有一些大語言模型:

2019 年由臉書公司(Facebook,后改名為Meta)研制的RoBERTa(Robustly Optimized BERT Pretraining Approach)是魯棒地優化了BERT 方法的大語言模型。

2019 年由谷歌公司和卡內基梅隆大學聯合研制的XLNe(teXtreme MultiLingual Language Model),這是特大的多語言的大語言模型。

2020 年由谷歌大腦公司研制的T5(Text-to-Text Transfer Transformer),這是文本到文本轉換的大語言模型。

ChatGPT 問世之后,中國的百度也于2023 年3 月16 日推出了“文心一言”。2023 年5 月,文心一言的內核“文心大模型”就升級到了3.5 版本。它實現了基礎模型升級、精調技術創新、知識點增強、邏輯推理增強,插件機制等,模型效果提升了50%,訓練速度提升了2 倍,推理速度提升了30 倍。

但是,在GPT 系列中,中文語言資源的規模并不很大,據統計,GPT-3 訓練語料的語種分布如表1:可以看出,在GPT-3 的訓練語料中,英文語料占92.09864%,而中文語料只占0.16012%,居于世界第13 位,這使得GPT-3 在英語處理中表現驚艷,而中文則表現欠佳,中文在GPT-3 中還處于數據孤島的地位(饒高琦等2023)。

中國是互聯網大國,我國網民規模已經達到10億,占全球網民的21%,但是,中文在互聯網上的占比僅僅為1.5%,而且中文數據的質量也不高,內容多為明星、爽文、娛樂話題、情感話語等。這是值得我們關注的。

在今后大語言模型的研制中,我們應當打破中文數據孤島的局面,加快中文語言資源的建設,在保證中文語料質量的前提下,努力增加中文語料的數量。

在我國語言學研究中,學者們提出了不同的本位理論。有的主張“字本位”,有的主張“詞本位”,有的主張“詞組本位”,有的主張“小句本位”,有的主張“句本位”。但是,大語言模型卻是以token 為本位的。

在大語言模型中,token 是處理和生成文本或代碼的基本單位,token 目前還沒有中文譯文,為了稱說方便,本文暫時把token 翻譯為“詞元”??梢躁P注到,各家廠商會宣稱自家模型支持多少個“詞元”的上下文,而不是說支持多少個單詞、多少個詞組、多少個漢字或多少個小句。大語言模型是“詞元本位”的。那么,影響大語言模型計算這種“詞元”的因素是什么呢?

首先,在大語言模型中,一個詞元并不對應一個英文單詞或一個漢字,詞元與單詞或漢字之間并沒有具體的換算關系。例如,根據OpenAI 發布的標記計算工具,英語的hamburger 一詞包含9 個字符,被分解為ham、bur 和ger 共3 個詞元。同一個詞語,如果在兩句話中的結構不同,會被分解為不同數目的詞元。

如何計算詞元主要取決于廠商使用的“詞元化”(tokenization)方法。詞元化是將輸入和輸出文本拆分為可由大語言模型處理的詞元的過程。這樣的過程可以幫助模型處理不同的語言、詞匯表和格式。而ChatGPT 背后采用的是一種稱為“字節對編碼”(Byte-Pair Encoding,BPE)的詞元化方法。

目前來看,一個單詞被分解成多少詞元,跟單詞的發音和該單詞在句子中的結構有關。而不同語言之間的計算差異也非常之大。拿英文單詞“hamburger”對應的中文“漢堡包”來說,這個單詞包含3 個漢字,被分解成了8 部分,也就是被分解為8 個詞元:162,109,231,161,254,94,44293,227。

其標記分解結果如下:

圖19:中文“漢堡包”包含3 個漢字,8 個詞元

英文hamburger 包含了3 個詞元,而與之相應的中文“漢堡包”則包含了8 個詞元。表達同樣的語義,中文詞元數為英文詞元數的一倍多。

OpenAI 官網中的一個英文句子:“You can use the tool below to understand how a piece of text would be tokenized by the API,and the total count of tokens in that piece of text.”包含144 個字符,該句子的詞元數為33 個。

在OpenAI 官網截圖中(圖20),這個英文句子的中文譯文為:“您可以使用下面的工具來理解API如何將一段文本標記化,以及該段文本中的標記總數?!边@個中文句子包含40 個字符(包括漢字、字母和標點符號),76 個詞元。

這個英文句子包含33 個詞元,而相應的中文句子則包含了76 個詞元。

從上面的OpenAI 官網截圖可以看出,相同意思的中文詞元數是英文詞元數的兩倍多??梢娭形暮陀⑽脑诖笳Z言模型的訓練中存在著“不公平性”。

究其原因,這也許是由于中文里的一個單詞往往可以表達多種含義,結構組成較為靈活,具有深厚的文化內涵,語境意義豐富,中文這些特點大大地增加了中文的歧義性和處理難度;而英語語法結構相對簡單,這使得英語在很多自然語言任務上比中文更容易被處理和理解。中文需要處理的詞元更多,模型所消耗的內存和計算資源也就越多,當然所需要的成本也就越大。

據統計,使用OpenAI 的GPT-4 模型API,每輸入1,000 個“詞元”至少要收費0.03 美元。由于中文的復雜性和中文詞元所需的成本很高,AI 模型在使用中文數據進行訓練時面臨嚴峻的挑戰,增加了中文模型應用和維護的難度。同時,對開發大模型的公司來說,做中文大模型由于需要額外的資源,或許要承擔更大的成本。這個問題也值得關注!

6.大語言模型與符號人工智能的結合

將大型語言模型(LLM)應用于實際領域的主要障礙之一是它們的不可預測性、缺乏推理能力、解釋性不強。如不能解除這些障礙,大語言模型將無法成為在關鍵環境中可信賴的工具,這是一個挑戰。最近,認知科學家Gary Marcus(馬爾庫斯)和人工智能先驅Douglas Lenat(雷納德)深入探討了這個挑戰。

早在1984 年,Lenat 就創建了Cyc 系統,這是一個基于知識的系統,提供了一個全面的本體論知識庫,人工智能可以用Cyc 來進行推理。Cyc 是建立在對現實世界知識的明確表示的基礎之上的,它包括常識、事實和經驗法則,它包含了數千萬條由人工輸入的信息,而且這些信息可以使用軟件進行快速的推理(Lenat & Marcus 2023)。

Cyc 的創作者意識到擁有一種富有表現力的表示語言是不可或缺的,因此他們開發了Cyc 語言(Cyc Language),簡稱CycL。CycL 是一種用來表達人工智能系統的規則的語言。CycL 已經被構建為輸入推理系統的一部分。

盡管Cyc 擁有數千萬條手工編寫的規則,但它可以在僅進行一次推理步驟的情況下,生成數百億個新的結論,而且這些結論都是基于Cyc 已經知道的內容而得出的。Cyc 的知識庫不夠深入和廣泛,它的自然語言理解和生成能力不如ChatGPT 出色,而且它無法像最先進的大語言模型一樣快速推理,目前基于大語言模型的聊天機器人更多的是在記憶和宣揚而不是理解和推斷。

Marcus 表示,他支持將神經網絡和符號系統結合在一起的混合人工智能系統。他認為,將Cyc 和大語言模型結合起來可以是實現混合人工智能系統愿景的方式之一。

本文認為,Cyc 使用理性主義的方法,代表了人類的智慧,大語言模型使用經驗主義的方法,代表了機器的智能,把人類的智慧與機器的智能融合起來,把理性主義方法與經驗主義方法結合起來,就有可能實現人機融合的人工智能。

多個世代以來,人們已經開發出了兩種非常不同類型的人工智能系統,一種是基于符號主義的人工智能系統,一種是基于連接主義的大語言模型,每一種系統都很先進,都可以獨立應用。如果把這兩種類型的人工智能系統結合起來,就有可能使我們更進一步朝著值得信任的通用人工智能邁進一步④。

7.余論:向通用人工智能(AGI)邁進

GPT 系列的成功具有劃時代的里程碑性質,是大語言模型時代最偉大的成果,足以載入人工智能發展的史冊。

但是,語言智能僅僅是人類智能的一部分,語言智能并不能代表人類的全部智能。狹義人工智能利用計算機強大的算力和內存容量,可以相對輕松地根據大量觀察到的數據生成復雜的模型。一旦條件稍有變化,這些模型往往就無法通用。這意味著,當前的人工智能還不能真正地學習,而只能從大規模的語言數據中提煉信息或經驗。當前的人工智能不是通過形成一個全面的世界模型(world model)去理解,而僅僅只是創建一個概要去表述。

現在人們普遍理解的通用人工智能(Artificial General Intelligence,AGI)是指:能夠在人類水平或者更高水平的多個認知領域進行理解和推理的人工智能系統,是代表一種涵蓋抽象思維各個領域的、具有人類智能水平的人工智能系統,也就是強人工智能。而當前用于特定任務的人工智能僅是一種弱人工智能。這意味著,我們所需的AGI 是一個與經驗一致且能做到準確預測的世界模型。

真正的通用人工智能還沒有到來。那么,我們離真正的通用人工智能還有多遠呢?大多數人工智能研究人員和權威機構認為,人類距離真正的通用人工智能最少也有幾年的時間。

2023 年4 月13 日,OpenAI 的合作伙伴微軟的Sebastien Bubeck(布貝克),Varun Chandrasekaran(禪德拉色卡藍)等發布了一篇論文《通用人工智能的火花:GPT-4 的早期實驗》(Sparks of Artificial General Intelligence: Early experiments with GPT-4)。這篇論文指出,在GPT-4 發布后,面對這個目前性能最強大的人工智能,很多人將GPT-4 看作AGI 的火花(Bubeck et al.2023)。文中提到:

GPT-4 不僅掌握了語言,還能解決涵蓋數學、編碼、視覺、醫學、法律、心理學等領域的前沿任務,且不需要人為增加任何的特殊提示。并且在所有上述任務中,GPT-4 的性能水平都幾乎與人類水平相當?;贕PT-4 功能的廣度和深度,我們相信它可以合理地被看作是通用人工智能的最接近的但不完全的版本。⑤

不過,這篇文章指出,在評估ChatGPT 等系統的功能時,我們經常把性能等同于能力。這是人們認識上的一個誤區:由于人們錯誤地把性能等同于能力,因此,人們把GPT-4 生成的對于世界的摘要性描述,看成是對真實世界的理解。

其原因在于,現在的大多數大語言模型僅接受文本訓練,缺乏多模態的訓練,因而并不具備在現實世界中說話、聽聲、聞嗅、觸摸以及生活行動的能力。僅在文本上訓練的世界模型,只能保證它們在語法上的正確。但在本質上,它不理解語言所指的對象,也缺乏與多模態環境直接接觸的常識。這是當前大語言模型的主要局限性。

大語言模型最受爭議的挑戰是它們產生幻覺的傾向?;糜X指的是模型會捏造參考資料和事實,或在邏輯推斷、因果推理等方面顛三倒四、生成毫無意義的內容。大語言模型的幻覺來源于它們缺乏對事件之間因果關系的了解。

最近我國學者Gao Jinglong 等在名為《ChatGPT是一個好的因果推理器嗎?一個全面的評估》(Is ChatGPT a Good Causal Reasoner? A Comprehensive Evaluation)的論文中指出,ChatGPT 這類大語言模型具備一定的解釋因果關系的能力,不管現實中是否存在關系,它們都傾向于假設事件之間存在著因果關系,并試圖來解釋這樣的因果關系(Gao et al.2023)。因此,他們最后得出結論:“ChatGPT 是一個優秀的因果關系解釋器,但卻不是一個好的因果關系推理器?!雹?/p>

這個結論也可以推廣到其他大語言模型中。這意味著,大語言模型本質上只具有通過觀察進行因果歸納的能力,而不具備因果演繹的能力。這說明,大語言模型是有局限性的,如果智能(intelligence)意味著從經驗中學習,并將學習得到的內容轉化為對理解周圍環境的世界模型,那么因果演繹作為構成學習的基本要素,是智能不可或缺的一部分。但是,現有的大語言模型正缺乏這種因果演繹的能力,所以,現在的大語言模型不可能成為通用人工智能。

現實世界是非常復雜的、五彩繽紛的。而大語言模型所構建的語言、知識、文本資料、甚至是視頻、音頻等多模態資料都僅僅只是我們所能體驗到的現實的很有限的一部分。當我們能夠構建一個有能力質疑自身現實、能夠自我探究的系統時,通用人工智能才能真正實現。

因此,我們應該構建一個能夠進行因果推斷、能夠理解世界的模型。這是當前人工智能研究的主要任務,也是人類歷史上的又一進步,意味著我們對世界本質有了更深的理解,對人類認知的邊界有了進一步的拓展,我們將更加清楚地認識到人類在宇宙中的地位,以及人類與宇宙的關系⑦。

顯而易見,大語言模型還不是通用人工智能的最終答案,構建一個能夠理解世界的模型才是通用人工智能未來的方向。

最近,OpenAI 的總裁Sam Altman(阿爾特曼)預言,2030 年前將出現通用人工智能,他們研制的GPT-10 的智慧將會超過全人類智慧的總和。但愿他的預言成真⑧!

大語言模型取得的成就應當算是當代語言研究的重大成果,可惜的是,語言學對于大語言模型幾乎沒有貢獻。

大語言模型對語言學提出了嚴峻挑戰。計算機把文本中的語言符號轉化為向量,讀了億萬個“詞元”,只要根據上下文對于下一個“詞元”預測來調整參數,就可以生成符合語法、邏輯通順的文本??梢姌嫵尚挛谋镜拿}絡就潛藏在大規模的文本數據之中,這樣的脈絡的實質是什么?怎樣發現這種脈絡?怎樣使用這種脈絡?這正是當代語言學應當研究的重要課題。

這樣的挑戰同時也是語言學發展的一個千載難逢的好機會,新時代的語言學家應當面對這種挑戰,把語言學發展到一個嶄新的階段。

注釋:

①Transformer 這個術語,學術界的譯名有“轉換器”“變形器”“變換器”等多種,至今沒有恰當的中文譯名,眾說紛紜,因此,學術界只好采用英文原形Transformer。本文尊重學術界的做法,采用英文原形Transformer。

②Vaswani A.,N.Shazeer,N.Parmar,J.Uszkoreit,L.Jones,A.N.Gomez,L.Kaiser & I.Polosukhin.2021.Attention is all you need[EB/OL].https://arxiv.org/abs/1706.03762[2023-08-20].

③Kaplan,J.,S.McCandlish,T.Henighan,et al.2020.Scaling laws for neural language models[EB/OL].https://arxiv.org/abs/2001.08361.[2023-07-25].

④參見:https://arxiv.org/abs/2308.04445

⑤參見:https://arxiv.org/pdf/2303.12712

⑥參見:https://arxiv.org/pdf/2305.07375

⑦參見:https://aisupremacy.substack.com/p/how-far-are-we-from-agi

⑧參見:https://openai.com/blog/announcing-openai-devday

猜你喜歡
語法向量單詞
向量的分解
聚焦“向量與三角”創新題
單詞連一連
跟蹤導練(二)4
看圖填單詞
Book 5 Unit 1~Unit 3語法鞏固練習
看完這些單詞的翻譯,整個人都不好了
向量垂直在解析幾何中的應用
向量五種“變身” 玩轉圓錐曲線
單詞拾趣
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合