2022年11月底,ChatGPT一经推出,全球关注,风头依旧强劲!取代搜索引擎,奇点说,拐点说,若干职业面临失业危机,人类面临终极挑战…,面对如此热点,本文分享我们的认识,欢迎讨论和指正。
总的来说,ChatGPT取得了显著科技进步,尽管有不足,但迈向AGI(artificial general intelligence,通用人工智能)仍充满诸多挑战!
图1:https://openai.com/blog/chatgpt/ 网页截图
首先,介绍AI研究中的伊莉莎效应(Eliza Effect),也是与聊天机器人(chatbot)有关。
伊莉莎效应,指人会过度解读机器的结果,读出原来不具有的意义。人有一种心理趋向,在下意识中以为自然界现象与人类行为相似,心理学上称为人的拟人化意识(anthropomorphisation),特别是当人类对新现象缺乏足够认识的情况下。比如古时人们认为打雷是因为天上住着一个雷公,雷公生气就打雷了。
名字「伊莉莎」取自1966年由MIT的计算机科学家Joseph Weizenbaum开发的一款聊天机器人。聊天机器人Eliza被设计成一个心理咨询师,讨巧的Eliza项目取得了意外的成功,效果让当时的用户非常震惊,引起轰动,但其实只是以简单的规则文法为基础的巧妙运用。
对ChatGPT的原理加以一定理解,应能减少在认知ChatGPT时的伊莉莎效应。有一个正确判断,才能行健致远。为此我们力求严谨,并提供参考文献,以便读者进一步了解。下文将分三大部分:
个人主页:http://oa.ee.tsinghua.edu.cn/ouzhijian
作者:欧智坚,清华大学电子工程系副教授、博士生导师。担任IEEE音频语音语言期刊(TASLP)副主编,Computer Speech&Language编委,IEEE语音语言技术委员会(SLTC)委员,IEEE言语技术(SLT)2021大会主席,中国计算机学会(CCF)杰出会员及语音对话与听觉专委会委员等。发表论文近百篇,获得省部级奖3项及多次国内外优秀论文奖。在随机场语言模型,离散隐变量模型的学习算法,端到端对话模型及其半监督学习等方面做出基础原创研究。
ChatGPT的进步,是站在多年来人工智能研究的巨人肩膀上,特别是深度学习技术,也就是使用多层神经网络的技术。我们梳理了在ChatGPT的系统构建中,起着重要作用的几个技术,如下图。正是这些技术的共同作用(六部曲),才诞生了ChatGPT。
ChatGPT的模型骨架是,基于Transformer神经网络架构的自回归语言模型(language model)。基于微调(finetuning)的技术,基于Prompt(提示)的技术,情景学习(in-context learning),从人类反馈中强化学习(RLHF)技术,逐步发展并最终促成了ChatGPT的诞生。
图2:ChatGPT的进步
1. 语言模型(LM,language model)
語言模型,就是人類自然語言的機率模型。人類自然語言是一個句子,一個句子是一個自然語言符號序列x1,x2,…,xn,服從機率分佈
利用機率論乘法公式,可得
# #把這種從左到右,每個位置利用前面歷史符號x1,x2,…,xi-1 (即上文),計算目前符號出現的(條件)機率P(xi | x1,…,x i-1)的模型,稱為自迴歸語言模型,非常自然可用來在給定上文條件下,產生目前符號。例如,下圖範例了在給定上文「The best thing about AI is its ability to」,下一個符號的出現機率。
依此可以遞迴生成,
# #語言模型問題的關鍵在於,建構什麼樣的函數族來表示條件分佈P(xi | x1,…,xi-1 ),並能有效從大數據中學習到模型參數。 ChatGPT基於的一個技術進步,就是利用神經網路來表示P(xi | x1,…,xi-1)。
2. Transformer神經網路架構
#對於序列條件分佈P (xi | x1,…,xi-1) 建模的一個挑戰就是,長程依存關係(long-range dependencies )的建模。利用普通遞歸神經網路(recurrent neural network, RNN)的序列模型,在訓練時會遇到梯度爆炸和消失的缺陷(the exploding and vanishing gradient effects)[1],因此很長一段時間人們利用基於長短時記憶網路(long short-term memory, LSTM)[2]的RNN來進行序列建模。 LSTM透過引入門控機制一定程度上緩解了梯度爆炸和消失的缺陷。 2017年發展的Transformer神經網路架構[3],則徹底捨棄了遞歸計算,透過利用自註意力機制,使用前饋神經網路(feed-forward neural network,FFNN)來進行序列建模,更好地解決了梯度爆炸和消失的缺陷。
讓我們直觀來理解Transformer在序列建模方面相比RNN的優勢。考慮序列中相距為n的兩處位置,這兩處位置間的在前向和後向計算中的訊號,在神經網路中行進的路徑長度,是影響神經網絡長程依存關係學習能力的重要因素,RNN是O(n),而Transformer是O(1)。對這塊不理解的讀者,可以跳過,不影響後面內容的閱讀:-)
圖3
3. GPT語言模型及預訓練微調技術 自然語言理解包括廣泛的不同任務,例如問答、語意相似性評估、文本蘊含關係判斷、文件分類、機器翻譯、閱讀理解,摘要等等。人們發現可以先在大量(無需標註的)文字上訓練一個大型Transformer-LM(常稱為骨架),然後在面對不同的下游任務時,利用下游任務各自的標註資料對這個大型Transformer網路進行微調,取得了很大性能提升,這就是所謂的預訓練微調技術(pre-training fine-tuning),典型技術包括2018-2019年發展的GPT [4]和BERT [5]。 GPT是基於Transformer的自回歸語言模型,BERT是基於Transformer的遮罩語言模型(masked language model, MLM)。 正如GPT原文表述的「Our work broadly falls under the category of semi-supervised learning for natural language.」,這種無監督預訓練(unsupervised pre-training)結合有監督微調(supervised fine-tuning),是一種半監督學習,其本質是協同進行有監督學習和無監督學習。 (來自GPT原文[4]「Improving language understanding by generative pre-training」) #4. GPT-2及零樣本提示技術 #在預訓練微調技術框架下,仍需要對每個下游任務,收集和標註各自不少的標註數據,然後微調得到各自任務上的一個“狹隘專家”(narrow expert),每個狹隘模型都需要單獨構建和存儲,這費時費力費資源。如果能建置更通用(more general)的系統,其能勝任很多任務,並且能免除為每個任務人工採集和標註資料集,就太棒了。在2019年GPT-2原文[6],有這樣願景的清晰闡述,是不是已經看出了邁向AGI的味道:-) #“We would like to move towards more general systems which can perform many tasks – eventually without the need to manually create and label a training dataset for each one.” 讓機器去學習執行一個自然語言理解任務(如問答),本質是去估計出條件分佈 #既然一個通用系統能執行許多不同的任務,那麼它的建模應該進一步條件於任務task,即建模 #以GPT-2為代表的一個創新做法是, task、input、output 都用自然語言來表達成符號序列,這樣模型 P(output | task,input)就歸結為一個語言模型——給定上文,遞迴產生下一個符號。不同任務的訓練資料都統一組織成 這樣的符號序列的形式。例如, (translate to french, english text, french text) (answer the question, document, question, answer) 其中,task,常稱為是提示(prompt)。提示的做法很多,也有很多相關研究,本文不展開介紹了。 在GPT-2之前也有類似想法的研究,GPT-2把規模(無論訓練集還是模型的規模)拉到了一個新高度,採集百萬網頁創建了一個大數據集WebText(40GB),訓練出最大參數規模為1.5B的Transformer-LM,展示了零樣本情形下,在多個任務上的出色性能,不需要任何參數或模型架構修改(without any parameter or architecture modification)。值得指出一點,GPT-2的做法充分體現了多任務學習(multitask learning) 和元學習(meta-learning),可作為GPT-2之所以有出色表現的一個直觀解釋吧。 (來自GPT-2原文[6]「 Language models are unsupervised multitask learners」。GPT-2訓練了系列的Transformer -LM,參數規模分別為117M、345M、762M、1542M,上圖展示了隨著模型參數規模的增大,各任務表現的不斷提升。) #5. GPT-3及in-context learning #2020年GPT-3的工作[7],延續了GPT-2的願景與技術路線,希望突破各任務仍需任務特定標註及微調的缺陷(there is still a need for task-specific datasets and task-specific fine-tuning),希望能建構像人一樣的通用系統,文中清楚指出其中其中一個研究動機是注意到: 「humans do not require large supervised datasets to learn most language tasks – a brief directive in natural language (e.g. 『please tell me if this sentence describes something happy or something sad’) or at most a tiny number of demonstrations (e.g. 『here are two examples of people acting brave; please give a third example of bravery ') is of atten suffic to enable a form to enable aformat to 0en suffic to enable aformat to enable aformat to enable aformat to enable aformat to enable aformat to enable aformat to enable aformat to enable aformat to enable aformat to enable aformat to enable aformat to enable aformat to enable aformat to enable aformat to enable aform man enable aform man enable aform per enable aform)。 least a reasonable degree of competence.” 也就是說給了任務描述(directive)和示範樣本(demonstrations),機器應該就能像人一樣執行多樣的任務。 GPT-3再次拉升規模(scaling up)到了一個新高度,訓練集規模為45TB文字(清洗前)、570GB(清洗後) ,Transformer-LM規模比GPT-2又增加了10倍,達到了175B(見下Table 2.1)。 GPT-2文章主要做了零樣本提示情形,GPT-3則做了零樣本(zero-shot),單一樣本(single-shot)以及少樣本(few-shot)情形的實驗,統稱為In Context Learning (情境學習),其中給出的示範樣本(demonstrations)可以是0個、1個或多個,但都會帶有任務描述(task description),請參閱Figure 2.1的圖示說明。從Figure1.2可看出,隨著示範樣本的增多,不同規模的模型的效能提升的趨勢。 #(以上皆來自GPT-3原文[7]“Language Models are Few-Shot Learners”) #6. InstructGPT, ChatGPT及RLHF技術 #目前大型語言模型(large language model, LLM)用於自然語言理解的做法是,依據P(output | task,input),給定上文task,input ,遞迴產生下一個符號。 InstructGPT研究的一個出發點是考慮到在人機對話中,增大語言模型並不能從本質上使它們更好地遵循使用者意圖。大型語言模型也會表現出不盡人意的行為,如編造事實,生成有偏有害文本,或根本對使用者沒有幫助。 這是因為許多最近的大型LM 使用的語言建模目標是,預測來自互聯網的網頁上的下一個符號,這不同於“有幫助和安全地遵循用戶的指示」的目標。因此,我們說語言建模目標是未對齊的(misaligned)。避免這些意外行為,對於在數百個應用程式中部署和使用語言模型尤其重要。 2022年3月,InstructGPT工作[8]展示了一種途徑,可以透過根據人類回饋進行微調,使語言模型在一系列任務上對齊到用戶意圖(aligning language models with user intent) ,得到的模型稱為InstructGPT。具體來說,如下Figure 2所示,InstructGPT建構過程包含三步驟: 第1 步:收集示範資料(13K個資料),使用有監督學習微調GPT-3(大小為175B),訓練得到supervised policy(有監督策略)。 第2步:收集比較資料(33K個資料),訓練出reward model(獎勵模型),大小為6B。 第3步:收集31K條訓練數據,使用強化學習針對獎勵模型來優化策略,稱為從人類回饋中強化學習(reinforcement learning from human feedback, RLHF)。具體是使用稱為PPO的策略最佳化方法[9]。 對示範資料和比較資料的收集,使用了40人的外包標註員。 (取自IntructGPT原文[8]「Training language models to follow instructions with human feedback」) #2022年11月,OpenAI發布的ChatGPT模型[10],基本上是InstructGPT模型的沿襲,使用了相同的三步驟訓練方法,但是收集了更大規模的數據,進行模型訓練和系統建構。 總結:從語言模型研究、Transformer神經網路架構、GPT語言模型及預訓練微調、GPT-2及零樣本提示(zero-shot prompting )、GPT-3及情境學習(in-context learning),發展到InstructGPT,ChatGPT及RLHF技術,回頭看看上去是一條比較清晰的技術路徑,但事實上,其它類型的語言模型(比如基於能量的語言模型[11])、其它類型的神經網路架構(如狀態空間模型[12])、其它類型的預訓練方法(例如基於隱變數模型[13])、其它的強化學習方法(例如基於使用者仿真器[14])等,都在不斷發展中,新方法研究從來沒有停止過,不同方法間相互啟發、相互促進,形成通往通用人工智慧的滾滾洪流,奔湧向前,生生不息。貫穿ChatGPT六部曲的很重要一點是,規模效應,俗稱暴力美學。在路線基本正確的判斷下,把規模拉上去,是提升性能的好方法。 量變產生質變,量變未必產生質變,如果路線存在不足的話。以下談談ChatGPT的不足。 近年來人工智慧領域的頂會(如ICML, ACL)的一個非常好的做法,就是對投稿增加了一項要求,在文章中需留一節表達自己工作的不足(Limitations)。相反,對不足避而不談,並不嚴謹,也不利於對一項技術的全面認識,可能誤導大眾、助長伊莉莎效應乃至錯誤判斷。 事實上,ChatGPT原文[10]對其不足,已經做了比較全面的宣告。 ChatGPT的不足(截圖來自ChatGPT原文[10]) #讀者可以直接看上面英文,下面用中文稍做一下解釋。讀者可以結合下面的例子來理解。我們對ChatGPT不足的更多分析,將在下一章探討邁向AGI(通用人工智慧)所面臨的挑戰時來一起討論。 L1. ChatGPT 有時會寫出看似合理但不正確或荒謬的答案。 L2. ChatGPT 對輸入措詞的調整或多次嘗試相同的提示很敏感。 L3. ChatGPT的生成,通常過於冗長並過度使用某些短語,例如重申它是 OpenAI 訓練的語言模型。 L4. 理想情況下,當使用者提供模糊的查詢時,模型應該提出要求對方做澄清的問題。相反,目前的模型通常會猜測使用者的意圖。 L5. 雖然ChatGPT已努力使模型拒絕不當請求,但有時仍會回應有害指令或表現出有偏見的行為。 圖4:ChatGPT有關牛蛋和雞蛋的例子 02 ChatGPT的不足
圖5:有關ChatGPT即時資訊處理不足的範例
結合ChatGPT原文[10]自述的不足,我們將ChatGPT的不足概括為以下五點。這五點也基本上代表了從ChatGPT往未來看,邁向通用人工智慧(AGI)所面臨的挑戰,是邁向AGI所亟待解決的重要科學問題與關鍵技術。值得指出的,本文的角度並不是以任務來分析不足和挑戰,而更多是從各類任務的共通性問題的角度來分析。如果以任務為行,問題為列,那麼我們的角度是按列來分析。按行也可以給出非常好的分析和判斷。
當討論AGI之時,我們需跳出僅關注自然語言處理的局限,以更大的視野審視人工智慧的研究和技術。參考人工智慧經典著作[15],人工智慧指智能體的研究與設計,智能體(intelligent agent)指任何設備,其可以觀察周圍環境並作出行動以最大化成功機會,更學術的說法是,最大化期望效用(utility)或最大化期望回報(return),如下圖所示。細心的讀者會發現,下圖也常用於強化學習的框架圖。確實如此,在[15]有類似闡述,「Reinforcement learning might be considered encompass all of AI」(強化學習可能被認為涵蓋了人工智慧的所有)。帶著這些概念,我們來認識ChatGPT的不足。
圖6:智能體與環境的交互,常用於作為強化學習的框架圖[16]
1. ChatGPT會隨機編造(一本正經地給予錯誤的資訊),在知識建模及利用上有明顯不足。
這基本上對應前面介紹的L1,可以從前面的例子清楚看出來。我們所說的知識,包括常識知識,專門知識,以及即時資訊等面向。例如,從常識來講,ChatGPT一開始表現出並不知道牛是哺乳動物,不能產蛋。從即時資訊來看,ChatGPT,本質上是一個基於Transformer架構的大型自回歸語言模型,其學到的知識僅限於其訓練數據,其截止年份為2021年。讀者可以自行嘗試使用ChatGPT,發現其在這方面的不足。
上述不足,從更深層次來說,反映了人工智慧歷史上由來已久的聯結主義(connectionist)與符號主義(symbolism)的兩股思潮的紛爭。
圖7
聯結主義認為知識埋藏於神經網路的權重,訓練神經網路調整其權重能讓其學習知識。符號主義主張知識由符號系統來組織,例如關係型資料庫,知識圖譜,數學物理學等其它專門知識,以及數理邏輯。兩種思潮也在交叉融合,例如
因此,為克服ChatGPT在知識建模及利用上的不足,對現有技術的一個深層挑戰是,神經網路與符號邏輯的有效融合。數據與知識雙輪驅動,多年來有不少研究工作,但總的來說找到行之有效的融合辦法仍需持續努力。
2. ChatGPT在多輪對話互動上有明顯不足,缺乏規劃能力。
這基本上對應上面的L4,L4只是指出ChatGPT不會做澄清提問。但是我們看到比L4更嚴重的不足,從ChatGPT的建構過程看,它是建模條件分佈 P(output | input) 預測(prediction),並不會做規劃(planning) 。
在圖6所示框架中,一個很重要的概念是規劃(planning),規劃的目的是,為了最大化期望效用。這顯著不同於大型語言模型最大化語言符號出現的條件似然 P(output | input)。 InstructGPT考慮系統應該遵循使用者意圖,用RLHF(從人類回饋中強化學習)的技術讓系統輸出對齊到人類提問,部分地緩解了對GPT-3做有監督學習而沒有進行規劃而帶來的未對齊問題。 進一步提升規劃能力達到最大化期望效用,將是ChatGPT通往AGI的一大挑戰。
那麼人機互動系統的效用是什麼呢?有關這一點,InstructGPT的論文[8]對此從有幫助(helpful),誠實(honest),無害(harmless)三個維度有過討論。 「我們希望語言模型是有幫助的(它們應該幫助使用者解決他們的任務)、誠實的(它們不應該偽造資訊或誤導使用者)和無害的(它們不應對人或環境造成身體、心理或社會傷害)。但具體的實現手段,尚需進一步探索,而不是止步於RLHF技術。
3. ChatGPT行為不可控(uncontrollable)。
這基本上對應上面的L2、L3、L5。系統輸出對輸入很敏感(L2),沒辦法控制它輸出過於冗長或過度使用某些短語(L3),沒辦法控制它響應有害指令或表現出有偏見的行為(L5)。這些缺點不僅出現在ChatGPT,在以目前深度學習技術建構的電腦視覺,語音辨識等智慧系統中,也有類似不可控問題。
人類具有蘇格拉底式的智慧,即「自己知道自己不知道」,這正是現在的深度神經網路系統欠缺的,自己不知道自己出錯了。現在的神經網路系統大都過於自信(over-confident),不會對人類做出錯匯報,在出錯時似然仍出奇得高,讓人難以信賴和控制。 可信賴(Trustworthy)和可控,將是通往AGI的一大挑戰。
4. ChatGPT效率(efficiency)不足。
#在ChatGPT声明的不足中并没重视这点。效率包括参数效率,数据效率,能耗效率等。ChatGPT通过使用超大数据,训练超大模型,不断拉升规模,取得了一个出彩的性能。但是,在同等规模下(同等的模型参数个数,同等的数据标注量或标注成本,同等的算力,同等的能耗),ChatGPT是否代表了最先进的技术呢?答案很多时候是否定的。例如,最近的研究报道[19],参数个数13B的LLaMA 模型在多个基准测试中性能优于175B的GPT-3模型,因此13B的LLaMA具有更好的参数效率。近期我们自己的工作也表明,一个良好设计的知识检索对话模型仅用100M,性能显著超过1B的大模型。
能耗效率好理解,我们来看数据效率。目前的智能系统构建,困于依赖大量人工标注下有监督学习范式,数据效率低。基于自回归的大型语言模型,人们发现可以先在大量(无需标注的)文本上训练,然后使用微调或提示技术,部分缓解了目前深度学习技术数据效率低的不足,但仍需要任务相关的标注数据。模型愈大,对标注量要求愈大。如何进一步高效协同利用有标数据和无标数据,是实现数据高效的一个挑战。
5. 多模态具身智能,是探索AGI的重要内容。
ChatGPT仅限于文本输入输出,其所犯的许多错误也说明了它对语义、知识和因果推理的严重缺乏。单词的意义似乎在于它们在统计学上的共现性,而非现实世界的基础。所以即使未来的语言模型越来越大,它们在一些基本的物理常识方面还是表现不佳。
智力远不止语言能力,生物智能的基本要素在于动物与世界进行感觉运动交互的能力[20]。未来的智能机器不一定具有人形,但是机器在听、说、读、写、思考、操纵物体、行动等若干方面,通过具身与环境进行多模态互动,将极大促进机器智能的发展,也将助力机器智能超越文本单一模态局限,更好地帮助人类。
总结:从语言学看,语言知识包括单词的结构和特性——形态学(morphology)和词汇(lexicon),单词如何构成短语和句子——句法学(syntax),词素、单词、短语、句子和语篇的意义——语义学(semantics)[21]。ChatGPT通过超大模型,学习到了相当的语言知识(特别是语义层次之下的知识),具备一定的语言理解能力,生成通顺的句子,但是也存在明显的不足:
针对这些不足,我们梳理了从ChatGPT往未来看,迈向通用人工智能(AGI)所面临的若干挑战,如图8所示,也指出若干重要的研究内容。值得指出的是,各块研究的范畴并不是孤立的,而是彼此有交集。比如,在可信赖和可控研究中,希望系统输出符合社会规范,那么在系统的效用中如何体现这种社会规范,从而系统规划的输出,能够符合社会规范。因此,系统可控的研究与提高系统规划能力的研究,是有交集的。又比如,在系统的规划决策中,如何融合知识?
图8:迈向AGI的挑战
ChatGPT是人工智慧研究中的重要事件,嚴謹認識其進步,不足及邁向AGI的未來挑戰,非常重要。我們相信,求真務實,不斷創新,推動人工智慧發展到一個新的高度未來可期,歡迎大家多探討指正,謝謝!
以上是清華教授歐智堅專訪,深度剖析ChatGPT的光環背後及未來挑戰!的詳細內容。更多資訊請關注PHP中文網其他相關文章!