讓我們一起來拆解一下"ChatGPT"這個詞。首先,"Chat"在英語中是指聊天。因此,一眼看過去,我們可以判斷這是一個用于交流對話的工具。
接下來,我們來看看"GPT"代表什么含義。為了更好地理解這一點,我們需要了解這個大語言模型是如何工作的。可以簡單地概括為:當你提供一段上文時,模型會根據(jù)這段上文生成接下來的一個詞語。舉個例子,假設你有這樣一個句子:“我吃飯”,其中“我吃”作為已知的部分(即上文),模型將幫助你生成下一個詞語,在這個例子中就是“飯”。因此,“ChatGPT”的核心功能就是根據(jù)給定的上文生成下一個詞語。
那么,"GPT"中的"G"代表什么呢?答案是"Generative",意味著生成。這正是模型的工作方式——生成文本。現(xiàn)在我們明白了"G"的含義。
接下來,我們來探討一下模型是如何生成詞語的。當我們聽到“不聽老人言”的時候,自然而然就會想到下一句是“吃虧在眼前”。這種聯(lián)想能力源于我們日常生活中的經(jīng)驗。同樣地,大型語言模型也需要通過一個過程來獲取類似的經(jīng)驗。這個過程就是我們所說的“訓練”。
以"ChatGPT"為例,其強大的回答問題能力來自于對海量文本數(shù)據(jù)的訓練。具體來說,它接受了45TB的語言資料訓練。為了讓大家對這個數(shù)字有個概念,舉個例子,一個高清電影可能占幾GB的空間,而1TB等于1024GB。這意味著45TB的數(shù)據(jù)非常龐大。但需要注意的是,這些數(shù)據(jù)全部由文字組成,并非視頻或圖片。假設我們在電腦記事本里寫下10萬個漢字,文件大小大約只有幾百KB。相比之下,45TB的數(shù)據(jù)相當于大約450萬套《四大名著》的文字內容。這是一個巨大的數(shù)字。
訓練過程是自動進行的,無需人為干預,這也被稱為“無監(jiān)督學習”。在人工智能領域,機器學習分為三種類型:監(jiān)督學習、無監(jiān)督學習和強化學習。無監(jiān)督學習的特點在于,系統(tǒng)能夠自主學習,無需外部指導。
最后,你可能會好奇模型是如何利用這些文本數(shù)據(jù)進行訓練的。顯然,它并不能像人類那樣閱讀書籍。這個問題的答案涉及到了模型內部復雜的算法機制,這些機制使得模型能夠分析并學習文本模式,從而實現(xiàn)文本生成的功能。
讓我們通過一個簡單的例子來解釋如何訓練大模型以生成文本。假設我們要訓練模型識別并完成像“四大名著”這樣的經(jīng)典文學作品中的句子。在這個過程中,“范文”就像是學生寫作時參考的優(yōu)秀例文。例如,如果我們有一句范文“我吃飯”,并且我們希望模型在給定“我吃”的前提下能正確生成“飯”這個字,那么它是如何實現(xiàn)這一目標的呢?
首先,我們需要明白計算機處理信息的方式。計算機內部處理的所有信息本質上都是數(shù)字。因此,我們需要創(chuàng)建一個“編碼表”,將每個字符映射到一個唯一的數(shù)字上。比如,可以設定“我”對應數(shù)字1,“吃”對應2,“飯”對應3,這只是舉例說明,并非實際的編碼規(guī)則。
有了編碼表后,我們就可以開始構建模型的計算邏輯。為了生成“我吃飯”這句話中的“飯”,模型需要解決一個數(shù)學問題:找到一組合適的權重(系數(shù)),使得輸入字符的數(shù)字表示與期望輸出字符的數(shù)字表示之間的關系成立。用數(shù)學語言來說,就是尋找一組權重A和B,使得下面的方程成立: 1×A+2×B=3
這里的1、2和3分別代表“我”、“吃”和“飯”的編碼值。這是一個二元一次方程,可能存在多個解。例如,A=1,B=1和A=0.5,B=1.25都能滿足方程。然而,在訓練模型時,關鍵在于選擇那些能夠產(chǎn)生預期結果(即“飯”)的解。
這些權重或系數(shù)被稱為“參數(shù)”。對于像ChatGPT這樣的大型語言模型而言,它擁有極其龐大的參數(shù)數(shù)量——約1750億個參數(shù)。這意味著模型能夠處理極其復雜的語言結構和模式。在訓練過程中,模型通過調整這些參數(shù)來學習從給定的上文中預測下一個詞的最佳方式。例如,當面對“我不吃草”這樣的句子時,模型會根據(jù)類似的方程進行計算,以預測出正確的下一個詞“草”。
簡而言之,訓練大模型就像解數(shù)學題一樣,通過不斷地調整參數(shù)來找到最佳解,從而生成符合語境的文本。
當我們談論ChatGPT時,確實有很多人對其表現(xiàn)出的能力感到驚訝,甚至認為它仿佛擁有了人類般的思考和理解能力。這種感覺主要源于其龐大的參數(shù)規(guī)模——1750億個參數(shù),這讓它能產(chǎn)生出與傳統(tǒng)人工智能截然不同的效果。為了幫助理解這種差異,我們可以做一個簡化的類比:盡管這種類比并不完全準確,但有助于說明問題。
人腦包含大約800至1000億個神經(jīng)元,每個神經(jīng)元又能與其他神經(jīng)元通過數(shù)以千計的突觸相連,共同構成了復雜的網(wǎng)絡結構,支持著我們的認知過程。相比之下,ChatGPT的參數(shù)數(shù)量(1750億)雖然巨大,但仍遠不及人腦中突觸的數(shù)量(約100萬億)。此外,參數(shù)與神經(jīng)突觸之間的功能差異也很大,因此,ChatGPT要達到人類智能水平還有很長的路要走。
盡管如此,隨著技術的進步,一些大型語言模型已經(jīng)擁有上萬億個參數(shù),理論上講,參數(shù)越多,模型的表現(xiàn)就越接近于“智能”。
值得注意的是,即使經(jīng)過大量文本訓練后,ChatGPT已經(jīng)能處理一般性的語言問答任務,但在某些專業(yè)領域如金融、生物醫(yī)藥或信息技術等方面,它仍可能遇到挑戰(zhàn)。這是因為這些領域的專業(yè)術語和表達方式與日常語言存在差異。為了提升ChatGPT在特定領域的表現(xiàn),可以通過所謂的“微調”來對其進行進一步訓練。這意味著在已有的通用模型基礎上進行少量的調整,而不是從零開始重新訓練整個模型。
這種預先訓練好的基礎模型被稱為“預訓練模型”,英文中稱為“pre-trained model”,簡稱“pre-train”。正如建樓時先打好地基一樣,預訓練模型為后續(xù)的特定任務提供了堅實的基礎。
讓我們回顧一下我們所經(jīng)歷的訓練過程,這些訓練顯著提升了我們的大型語言模型的能力。然而,仍然存在一些問題影響著模型的表現(xiàn)。例如,在短語“我吃飯”中,我希望模型能夠生成“飯”這個詞。在這種情況下,“飯”的生成概率受到動詞“吃”的強烈影響,而非主語“我”。將“我”替換為“你”,不應該改變最終的“飯”,但將動詞從“吃”改為“喜歡”,就會顯著改變預期的輸出結果。
這說明了一個原則:上文內容對目標詞的影響程度各不相同,通常來說,距離目標詞越近的單詞對其產(chǎn)生的影響越大。不過,并非總是如此,更復雜的例子展示了這一點。
以句子“我看到了隱藏在這個風度翩翩的紳士背后的令人不寒而栗的真相。”為例,當我們預測“真相”這個詞時,最具影響力的因素并不是緊鄰的“的”字,也不是“令人不寒而栗”,而是“看到”、“隱藏”、“背后”。這體現(xiàn)了所謂的“長程依賴”現(xiàn)象,即遠離目標詞的元素也可能對預測產(chǎn)生重大影響。
早期的聊天機器人和問答系統(tǒng)普遍面臨著這一挑戰(zhàn),導致性能不佳。直到2017年,Google推出了Transformer架構,引入了注意力機制來解決這一難題。
注意力機制的工作原理類似于人類處理信息的方式,即專注于核心內容而忽略無關緊要的細節(jié)。以一張包含一只貓、草地和籬笆的圖片為例。
大多數(shù)人會立刻將注意力集中在貓身上,即使它并非位于圖片中心。我們的大腦自然而然地優(yōu)先關注主要對象,正如Transformer中的注意力機制允許模型集中精力于句子中最關鍵的部分,如“看到”、“隱藏“、”背后”,以準確預測出“真相”。
綜上所述,Transformer的注意力機制有效地解決了長程依賴問題,使模型能夠專注于句子中的關鍵部分,從而生成更準確的結果。這一創(chuàng)新已成為開發(fā)先進語言模型的基礎,包括ChatGPT在內的許多模型都采用了Transformer架構,其中的“T”即代表Transformer。
盡管Transformer極大地提升了大語言模型的能力,特別是在注意力機制方面,但仍存在不少挑戰(zhàn)需要克服。例如,當你要求模型根據(jù)“朋友啊朋友”這一提示生成后續(xù)文本時,它可能會意外地產(chǎn)生”你可曾想起了我”之類的歌詞內容,而不是你期望的回答:“你現(xiàn)在在哪里?”
這種情況的發(fā)生是因為模型接受過大規(guī)模語料庫的訓練,其中包含了歌詞等內容,這些歌詞在訓練數(shù)據(jù)中可能更為頻繁或突出,因此模型傾向于生成與之相關的回應。這顯然不是我們想要的結果。為了解決這類問題,研究人員提出了一個新的解決方案:
具體來說,既然訓練數(shù)據(jù)存在問題,研究者決定引入人為因素。他們找到一些人來準備一系列預定義的問題及其對應的答案,類似于企業(yè)內部使用的常見問題解答(FAQ)。這些精心設計的問答會被作為示例提供給ChatGPT進行訓練。
這是一個涉及人為干預的過程,因為人們需要準備這些FAQ。這種方法被稱為監(jiān)督學習,這是我們了解到的機器學習領域的第二種類型,之前我們提到的是無監(jiān)督學習。
即使使用監(jiān)督學習解決了部分問題,但仍有一些挑戰(zhàn)未被克服。比如,如果向模型提出“如何摧毀地球?”這樣的問題,在早期階段,ChatGPT或其他大型語言模型可能會詳盡地列舉出各種方法,包括具體的步驟,如果按照這些步驟操作,后果將不堪設想。
在這種情況下,我們發(fā)現(xiàn)這些模型在經(jīng)過不斷優(yōu)化后,雖然能夠提供高質量的回答,但卻缺乏人類的價值觀。對于正常的人來說,面對此類問題時,絕對不會給出實際的操作指南。為了解決這一問題,研究人員采取了一種新的策略:
他們邀請了一些人對ChatGPT的回答進行評分。如果模型給出了詳細的步驟,即使回答準確,也會因其違反人類價值觀而得到低分,比如一分或零分。相反,如果模型的回答是“我是一個人工智能,無法提供此類信息”,或是提倡保護地球的態(tài)度,即使沒有直接回答問題,也會獲得高分,比如滿分五分。
隨著時間的發(fā)展,研究人員不再依賴人力來進行評分,因為這樣做成本較高。早期,OpenAI公司在某個非洲國家聘請了一些勞動力成本極低的人員來評估ChatGPT的回答是否符合人類價值觀。這一做法后來被媒體曝光并受到了批評,稱其為“血汗工廠”。隨后,研究人員改進了技術,開發(fā)出一套自我評估系統(tǒng),用于判斷模型的回答是否符合人類的價值觀。
通過引入人類的評價標準,使得ChatGPT能夠進一步學習,這一過程被稱為強化學習,這是機器學習領域的第三種主要學習方式。因此,我們可以看到,ChatGPT實際上已經(jīng)綜合運用了機器學習中的三種主流學習方法。
我們已探討了ChatGPT的工作原理,現(xiàn)在讓我們回到先前提出的問題:ChatGPT這樣的大型語言模型是否真正理解語義?我的答案是“否”。這是因為這類模型是基于概率生成的,而非真正意義上的理解。
所謂的基于概率生成,意味著模型根據(jù)已讀取的大量文本數(shù)據(jù)來預測下一個詞或句子。例如,如果一個特定詞語“吃”后通常跟著“飯”,那么模型在生成相應內容時也會傾向于使用這個詞。這種傾向性是基于它在訓練數(shù)據(jù)中觀察到的模式,本質上是一種概率計算,而非真正的理解。
因此,將大型語言模型視為能理解人類情感的觀點在我看來并不準確。近期,《自然》雜志上發(fā)表的一篇由麻省理工學院研究人員撰寫的文章進一步支持了這一看法。該文章探討了語言作為交流工具而非思考工具。
文章指出,語言最初是為了滿足人際間溝通需求而產(chǎn)生的。即便在缺乏語言的情況下,人們仍然能夠進行思考。研究者通過觀察聾啞兒童的成長過程進行了論證。盡管這些孩子無法聽到或說出言語,但他們仍能學習數(shù)學、進行邏輯推理和建立因果聯(lián)系,說明他們的思維能力并未受到影響。
這篇文章強調了語言模型僅依賴于語言和文字訓練的事實。既然語言主要是一種交流工具而非思維工具,期望通過語言訓練得到具有思考能力的模型無疑是不切實際的。盡管某些情況下模型表現(xiàn)出了看似智能的行為,但這僅僅是模擬的結果。
值得一提的是,F(xiàn)acebook(現(xiàn)Meta)的人工智能首席科學家楊立昆也曾表達過類似觀點。他認為思維與語言并非等同,即不能簡單地假設通過語言訓練就能使模型具備真正的思考能力。楊立昆是人工智能領域享有盛譽的專家,他曾榮獲計算機科學領域的最高榮譽——圖靈獎。
本文為科普中國·創(chuàng)作培育計劃扶持作品
作者:孫善明 中國計算機學會GESP技術委員會主席;中國計算機學會PTA技術委員會常委;中國計算機學會科普工委委員;中國計算機學會高級會員;CCF2024年度杰出演講者;中國電子教育學會青少年教育分會副秘書長;
審核:崔原豪 南方科技大學系統(tǒng)設計與智能制造學院副研究員
出品:中國科協(xié)科普部
監(jiān)制:中國科學技術出版社有限公司、北京中科星河文化傳媒有限公司
來源: 科普中國創(chuàng)作培育計劃
內容資源由項目單位提供