某些未知的事物正在做著我們不了解的事。
真格投資團(tuán)隊(duì)為大家?guī)?lái)了這篇微軟的大工程,長(zhǎng)達(dá) 155 頁(yè)的優(yōu)秀工作《人工通用智能的小火苗:與 GPT-4 共同完成的早期實(shí)驗(yàn)》(Sparks of Artificial General Intelligence: Early experiments with GPT-4),由于全文近 7 萬(wàn)字,受微信推文字?jǐn)?shù)限制,我們將完整版分為了上下兩期,分列本次推送的第二和第三條。
你現(xiàn)在打開(kāi)的是完整版(上),顧名思義,是簡(jiǎn)單粗暴的全文翻譯。但需要強(qiáng)調(diào)的是,我們的目標(biāo)不是全網(wǎng)最快,而是最完整、最易讀、最精準(zhǔn)。
也歡迎閱讀今日推送頭條發(fā)布的精華整理,迅速汲取全文重點(diǎn)~
Enjoy~
人工智能(AI)研究人員一直在開(kāi)發(fā)和完善大型語(yǔ)言模型(LLMs),這些模型在各種領(lǐng)域和任務(wù)中表現(xiàn)出卓越的能力,挑戰(zhàn)了我們對(duì)學(xué)習(xí)和認(rèn)知的理解。OpenAI [敏感詞]開(kāi)發(fā)的 GPT-4 [Ope23] 模型是使用前所未有的算力和數(shù)據(jù)量進(jìn)行訓(xùn)練的。在本文中,我們報(bào)告了我們對(duì) GPT-4 早期版本的測(cè)試,當(dāng)時(shí) OpenAI 仍在對(duì)其進(jìn)行開(kāi)發(fā)。我們認(rèn)為(這個(gè)早期版本的)GPT-4 屬于新一批 LLMs(如 ChatGPT 和 Google 的 PaLM),這些模型比以前的 AI 模型展現(xiàn)出更普適的智能。我們討論這些模型不斷提升的能力和影響。我們證明了除了其對(duì)語(yǔ)言的掌握外,GPT-4 可以完成涉及數(shù)學(xué)、編程、視覺(jué)、醫(yī)學(xué)、法律、心理學(xué)等新穎而困難的任務(wù),同時(shí)無(wú)需任何特殊提示。此外,在所有這些任務(wù)中,GPT-4 的表現(xiàn)與人類水平的表現(xiàn)非常接近,并且通常遠(yuǎn)遠(yuǎn)超過(guò)了先前的模型,如 ChatGPT??紤]到 GPT-4 的廣度和深度的能力,我們認(rèn)為它可以被合理地視為人工通用智能(AGI)系統(tǒng)的早期(但仍不完整)版本。在我們對(duì) GPT-4 的探索中,我們也需要特別強(qiáng)調(diào)我們發(fā)現(xiàn)的其局限性,并討論了邁向更深入和全面的 AGI 版本所面臨的挑戰(zhàn),包括可能需要追求超越下一個(gè)單詞預(yù)測(cè)的新范式。最后,我們對(duì)最近技術(shù)飛躍的社會(huì)影響和未來(lái)的研究方向進(jìn)行了反思。
智能是一個(gè)多方面而難以捉摸的概念,長(zhǎng)期以來(lái)一直挑戰(zhàn)著心理學(xué)家、哲學(xué)家和計(jì)算機(jī)科學(xué)家。1994 年,一組 52 名心理學(xué)家簽署了一份有關(guān)智能科學(xué)的廣泛定義的社論,試圖捕捉其本質(zhì)。共識(shí)小組將智能定義為一種非常普遍的心理能力,其中包括推理、規(guī)劃、解決問(wèn)題、抽象思維、理解復(fù)雜思想、快速學(xué)習(xí)和從經(jīng)驗(yàn)中學(xué)習(xí)等能力。這個(gè)定義意味著智能不僅限于特定領(lǐng)域或任務(wù),而是涵蓋了廣泛的認(rèn)知技能和能力 —— 建立一個(gè)能夠展示 1994 年共識(shí)定義所捕捉到的通用智能的人工系統(tǒng)是人工智能研究的一個(gè)長(zhǎng)期而宏偉的目標(biāo)。在早期的著作中,現(xiàn)代人工智能(AI)研究的創(chuàng)始人提出了理解智能的一系列宏偉目標(biāo)。幾十年來(lái),AI研究人員一直在追求智能的原則,包括推理的普適機(jī)制(例如 [NSS59],[LBFL93])以及構(gòu)建包含大量常識(shí)知識(shí)的知識(shí)庫(kù) [Len95]。然而,最近的許多 AI 研究進(jìn)展可以描述為「狹義地關(guān)注明確定義的任務(wù)和挑戰(zhàn)」,例如下圍棋,這些任務(wù)分別于 1996 年和 2016 年被 AI 系統(tǒng)掌握。在 1990 年代末至 2000 年代,越來(lái)越多的人呼吁開(kāi)發(fā)更普適的 AI 系統(tǒng)(例如 [SBD+96]),并且該領(lǐng)域的學(xué)者試圖確定可能構(gòu)成更普遍智能系統(tǒng)的原則(例如 [Leg08,GHT15])。名詞「通用人工智能」(AGI)在 2000 年代初流行起來(lái)(見(jiàn) [Goe14]),以強(qiáng)調(diào)從「狹義 AI」到更廣泛的智能概念的追求,回應(yīng)了早期 AI 研究的長(zhǎng)期抱負(fù)和夢(mèng)想。我們使用 AGI 來(lái)指代符合上述 1994 年定義所捕捉到的智能廣泛能力的系統(tǒng),其中包括了一個(gè)附加的要求,即這些能力在或超過(guò)人類水平。然而,我們注意到并沒(méi)有一個(gè)被廣泛接受的 AGI 定義,我們?cè)诮Y(jié)論部分討論其他定義。
近幾年人工智能研究中最顯著的突破是大型語(yǔ)言模型(LLMs)在自然語(yǔ)言處理方面的進(jìn)步。這些基于 Transformer 架構(gòu) [VSP+17] 的神經(jīng)網(wǎng)絡(luò)模型在海量網(wǎng)絡(luò)文本數(shù)據(jù)上進(jìn)行訓(xùn)練,其核心自我監(jiān)督目標(biāo)是預(yù)測(cè)部分句子中的下一個(gè)單詞。在本文中,我們報(bào)告了一個(gè)由 OpenAI 開(kāi)發(fā)的新 LLM 的證據(jù),它是 GPT-4 [Ope23] 的早期非多模態(tài)版本,并表現(xiàn)出根據(jù) 1994 年定義的智能的許多特征。盡管它純粹是一個(gè)語(yǔ)言模型,但這個(gè) GPT-4 的早期版本在各種領(lǐng)域和任務(wù)中表現(xiàn)出卓越的能力,包括抽象、理解、視覺(jué)、編碼、數(shù)學(xué)、醫(yī)學(xué)、法律、理解人類動(dòng)機(jī)和情感等。我們使用純自然語(yǔ)言查詢(提示)與 OpenAI 開(kāi)發(fā)的 GPT-4 在其早期開(kāi)發(fā)階段進(jìn)行了交互。在下列[敏感詞]幅圖中,我們展示了 GPT-4 的一些初步輸出示例,要求它以詩(shī)歌形式寫(xiě)出質(zhì)數(shù)無(wú)窮性的證明,用 TiKZ(一種用于在 LaTeX 中創(chuàng)建圖形的語(yǔ)言)畫(huà)一只獨(dú)角獸,用 Python 創(chuàng)建一個(gè)復(fù)雜的動(dòng)畫(huà),以及解決一個(gè)高中水平的數(shù)學(xué)問(wèn)題。它輕松地完成了所有這些任務(wù),并生成的輸出幾乎與(甚至比)人類能夠產(chǎn)生的相同。我們還將 GPT-4 的表現(xiàn)與先前的 LLMs 進(jìn)行了比較,尤其是 ChatGPT,它是(改進(jìn)的)GPT-3 [BMR+20] 的精細(xì)調(diào)整版本。在第二幅圖中,我們展示了向 ChatGPT 請(qǐng)求輸出質(zhì)數(shù)無(wú)窮性詩(shī)歌和 TiKZ 獨(dú)角獸繪畫(huà)的結(jié)果。雖然系統(tǒng)在兩個(gè)任務(wù)上都表現(xiàn)出非平凡的表現(xiàn),但與 GPT-4 的輸出相比,相去甚遠(yuǎn)。這些初步觀察將在整篇論文中重復(fù)出現(xiàn),涉及到各種任務(wù)。GPT-4 展現(xiàn)出的泛化能力、跨領(lǐng)域的普適性和整合能力,以及在大量不同類型任務(wù)中達(dá)到或超越人類水平的表現(xiàn),使我們相信 GPT-4 是朝著 AGI 的重要一步。
雖然我們認(rèn)為 GPT-4 代表了向著 AGI 的進(jìn)展,并不意味著它在所有事情上都是完美的,或者它各方面的能力都接近于人類(這是 AGI 定義的關(guān)鍵點(diǎn)之一;有關(guān)此問(wèn)題,請(qǐng)參見(jiàn)結(jié)論部分),或者它具有內(nèi)在自主動(dòng)機(jī)和目標(biāo)(在一些 AGI 定義中的另一個(gè)關(guān)鍵點(diǎn))。事實(shí)上,即使在 1994 年智能定義的上下文限定中,GPT-4 能在智能的某些衡量標(biāo)準(zhǔn)上走了多遠(yuǎn)仍不太清楚,例如規(guī)劃(見(jiàn)第 8 節(jié)),并且可以說(shuō)它完全缺少「快速學(xué)習(xí)和從經(jīng)驗(yàn)中學(xué)習(xí)」的部分,因?yàn)樵撃P筒皇浅掷m(xù)更新的(盡管它可以在會(huì)話中學(xué)習(xí),例如見(jiàn)第 5 節(jié))??偟膩?lái)說(shuō),GPT-4 仍然有許多局限性和偏見(jiàn),我們將在下面詳細(xì)討論,并且這些也在 OpenAI 的報(bào)告中闡述過(guò) [Ope23]。特別是它仍然存在 LLMs 的一些已知缺陷,例如幻覺(jué)問(wèn)題 [MNBM20] 或基本算術(shù)錯(cuò)誤 [CKB+21](見(jiàn)附錄 D),但它也克服了一些基本障礙,例如獲得許多非語(yǔ)言能力(例如,它解決了 [MIB+23] 中描述的之前的 LLM 不能完成的大部分,并在常識(shí)方面取得了巨大進(jìn)展,例如本節(jié)我們會(huì)講到的示例和附錄 A 的更多示例)。這說(shuō)明了一個(gè)事實(shí),即盡管 GPT-4 在許多任務(wù)上達(dá)到或超過(guò)人類水平,但其智能模式顯然不像人類。然而,GPT-4 幾乎肯定只是一系列越來(lái)越普遍智能的系統(tǒng)的[敏感詞]步,事實(shí)上,GPT-4 本身也在我們測(cè)試它之后得到了改進(jìn),例如下圖所示的在一個(gè)月的訓(xùn)練過(guò)程中獨(dú)角獸繪畫(huà)的演變。然而,即使作為早期版本,GPT-4 也挑戰(zhàn)了許多關(guān)于機(jī)器智能的普遍假設(shè),并展示了新行為和能力,其來(lái)源和機(jī)制此時(shí)很難精確地說(shuō)明(有關(guān)此問(wèn)題,請(qǐng)?jiān)俅螀⒁?jiàn)結(jié)論部分進(jìn)行更多討論)。我們編寫(xiě)本文的主要目標(biāo)是分享我們對(duì) GPT-4 的能力和局限性的探索,以支持我們的結(jié)論,即技術(shù)已經(jīng)取得了飛躍式發(fā)展。我們相信,GPT-4 的智能標(biāo)志著計(jì)算機(jī)科學(xué)領(lǐng)域和其他領(lǐng)域的真正范式轉(zhuǎn)變。
1.1 我們研究 GPT-4 智能的方法
我們?nèi)绾魏饬恳粋€(gè)已經(jīng)在一個(gè)未知但極其龐大的網(wǎng)絡(luò)文本數(shù)據(jù)語(yǔ)料庫(kù)上進(jìn)行了訓(xùn)練的 LLM 的智能水平?機(jī)器學(xué)習(xí)中的標(biāo)準(zhǔn)方法是在一組標(biāo)準(zhǔn)基準(zhǔn)數(shù)據(jù)集上評(píng)估系統(tǒng),確保它們獨(dú)立于訓(xùn)練數(shù)據(jù),并涵蓋一系列任務(wù)和領(lǐng)域。這種方法旨在將真正的學(xué)習(xí)與單純的記憶分開(kāi),并得到了豐富的理論框架的支持 [SSBD14,MRT18]。然而,這種方法不一定適用于研究 GPT-4,有兩個(gè)原因:
- 首先,由于我們無(wú)法知道其龐大訓(xùn)練數(shù)據(jù)的全部詳細(xì)信息,我們必須假定它可能已經(jīng)看過(guò)每個(gè)現(xiàn)有的基準(zhǔn),或者至少看過(guò)一些類似的數(shù)據(jù)。例如,GPT-4 似乎知道最近提出的BIG-bench [SRR+22](至少 GPT-4 知道 BIG-bench 的 canary GUID)。當(dāng)然,OpenAI 自己知道并可以訪問(wèn)所有的訓(xùn)練細(xì)節(jié)信息,因此他們的報(bào)告[Ope23]包含了大量的詳細(xì)基準(zhǔn)結(jié)果。
- 然而,超越傳統(tǒng)基準(zhǔn)的第二個(gè)原因可能更重要:GPT-4 智能的關(guān)鍵方面之一是其泛化性,即似乎能夠理解和連接任何主題,并執(zhí)行超出狹隘 AI 系統(tǒng)典型范圍的任務(wù)。GPT-4在某些不允許單一解決方案的任務(wù)上表現(xiàn)出了最令人印象深刻的表現(xiàn),例如編寫(xiě)圖形用戶界面(GUI)或幫助人類對(duì)某些與工作相關(guān)的問(wèn)題進(jìn)行頭腦風(fēng)暴。這樣的生成或交互任務(wù)的基準(zhǔn)測(cè)試也可以設(shè)計(jì),但是評(píng)估指標(biāo)成為一個(gè)挑戰(zhàn)(例如,請(qǐng)參見(jiàn)[NLP]中最近在這個(gè)活躍的研究領(lǐng)域中取得的一些進(jìn)展)。我們注意到,[Cho19]中也對(duì)測(cè)量AI系統(tǒng)的標(biāo)準(zhǔn)方法提出了批評(píng),提出了一個(gè)新的基準(zhǔn)來(lái)評(píng)估通用智能。出于之前提到的原因以及基準(zhǔn)測(cè)試的性質(zhì)是視覺(jué)的,因此更適合于[Ope23]中描述的多模式版本的GPT-4,我們不在后者的基準(zhǔn)測(cè)試上對(duì) GPT-4 進(jìn)行測(cè)試。
為了克服上述所描述的限制,我們提出了一種不同的研究 GPT-4 的方法,更接近傳統(tǒng)心理學(xué)而不是機(jī)器學(xué)習(xí),利用人類創(chuàng)造力和好奇心。我們的目標(biāo)是產(chǎn)生新穎且困難的任務(wù)和問(wèn)題,以令人信服地證明 GPT-4 遠(yuǎn)遠(yuǎn)超越了記憶,具有對(duì)概念、技能和領(lǐng)域的深刻而靈活的理解(在[CWF+22]中也提出了類似的方法)。我們還旨在探究 GPT-4 的響應(yīng)和行為,以驗(yàn)證其一致性、連貫性和正確性,并揭示其局限性和偏見(jiàn)。我們承認(rèn)這種方法有些主觀和非正式,并且可能無(wú)法滿足嚴(yán)格的科學(xué)評(píng)估標(biāo)準(zhǔn)。然而,我們認(rèn)為這是探究 GPT-4 的卓越能力和挑戰(zhàn)的有用和必要的[敏感詞]步,而這樣的[敏感詞]步為開(kāi)發(fā)更為正式和全面的方法以測(cè)試和分析具有更普遍智能的 AI 系統(tǒng)開(kāi)辟了新的機(jī)會(huì)。
為了說(shuō)明我們?cè)u(píng)估 GPT-4 智能的方法,讓我們參考上文中我們對(duì) GPT-4 進(jìn)行的前兩個(gè)示例交互。[敏感詞]個(gè)示例是要求 GPT-4 寫(xiě)一首詩(shī)的形式來(lái)證明質(zhì)數(shù)無(wú)限的問(wèn)題。這是一個(gè)具有挑戰(zhàn)性的任務(wù),需要結(jié)合初等數(shù)學(xué)推理、詩(shī)意表達(dá)和自然語(yǔ)言生成;第二個(gè)示例是要求 GPT-4 在 TiKZ 中畫(huà)一個(gè)獨(dú)角獸,這是另一個(gè)具有挑戰(zhàn)性的任務(wù),需要結(jié)合視覺(jué)想象力和編碼技能。在這兩種情況下,GPT-4 產(chǎn)生了令人印象深刻的輸出,遠(yuǎn)遠(yuǎn)優(yōu)于之前[敏感詞]的 LLM ChatGPT,至少與人類的表現(xiàn)相當(dāng)(如果有人認(rèn)為不是更好)。
然而,令人印象深刻的輸出并不足以使我們相信 GPT-4 真正掌握了這些任務(wù)。我們需要進(jìn)一步探究,排除 GPT-4 僅僅是記憶或復(fù)制一些現(xiàn)有數(shù)據(jù)的可能性。對(duì)于證明,我們可以略微改變問(wèn)題,并要求 GPT-4 用莎士比亞的風(fēng)格寫(xiě)出同一定理的證明,或者要求寫(xiě)一個(gè)關(guān)于語(yǔ)言模型的柏拉圖式對(duì)話(這兩個(gè)示例會(huì)后續(xù)詳述)??梢钥吹?,GPT-4 很容易適應(yīng)不同的風(fēng)格并產(chǎn)生出令人印象深刻的輸出,表明它對(duì)所涉及的概念具有靈活而普遍的理解。對(duì)于獨(dú)角獸,我們可以略微修改代碼,要求 GPT-4 修復(fù)或改進(jìn)它。例如,我們可以去掉角,對(duì)坐標(biāo)應(yīng)用一些隨機(jī)變換,并要求 GPT-4 將角添加回獨(dú)角獸的頭部(我們還小心地去除了代碼中的任何文本信息,例如注釋)。如下圖所示,GPT-4 可以正確識(shí)別頭部位置,畫(huà)出角,并將其附在頭部上,表明它可以理解和操作代碼,并根據(jù)自然語(yǔ)言描述推斷和生成視覺(jué)特征。
這些示例展示了我們?nèi)绾问褂萌祟悇?chuàng)造力和好奇心來(lái)產(chǎn)生新穎而困難的問(wèn)題,并探究 GPT-4 的響應(yīng)和行為,以評(píng)估其智能。在本文的其余部分,我們將圍繞使用案例系統(tǒng)化地對(duì) GPT-4 進(jìn)行研究,涵蓋各種領(lǐng)域和任務(wù),并突出 GPT-4 的優(yōu)點(diǎn)和缺點(diǎn)。我們將在接下來(lái)的部分中描述這些內(nèi)容。
1.2 我們的演示結(jié)構(gòu)
我們?cè)趲讉€(gè)選定的主題上執(zhí)行上述方法,這些主題大致涵蓋了 1994 年智能定義中給出的不同能力,這是一種非常通用的心理能力,其中包括推理、規(guī)劃、解決問(wèn)題、抽象思維、理解復(fù)雜思想、快速學(xué)習(xí)和從經(jīng)驗(yàn)中學(xué)習(xí)的能力。
1. GPT-4 的主要優(yōu)勢(shì)在于其掌握了無(wú)與倫比的自然語(yǔ)言能力。它不僅能夠生成流暢、連貫的文本,還能以多種方式理解和操作文本,例如總結(jié)、翻譯或回答非常廣泛的問(wèn)題。此外,我們所說(shuō)的翻譯不僅涉及不同自然語(yǔ)言之間的翻譯,還涉及到語(yǔ)調(diào)和風(fēng)格的翻譯,以及跨領(lǐng)域(如醫(yī)學(xué)、法律、會(huì)計(jì)、計(jì)算機(jī)編程、音樂(lè)等)的翻譯,參見(jiàn)下圖中的柏拉圖對(duì)話 —— 這些技能清楚地表明,GPT-4 能夠理解復(fù)雜的思想。我們?cè)诘诙糠诌M(jìn)一步探討了 GPT-4 在多模態(tài)和跨學(xué)科方面的組合技能,還在第 7 部分給出了一些關(guān)于語(yǔ)言的實(shí)驗(yàn)。
2. 編程和數(shù)學(xué)能力,這是理性思考和抽象思維能力的象征。我們分別在第 3 部分和第 4 部分探討了 GPT-4 在這些領(lǐng)域的能力。然而,與本文的所有其他部分一樣,我們只是對(duì)這些主題進(jìn)行了淺嘗輒止,而對(duì)于 GPT-4 在這些領(lǐng)域的表現(xiàn),可以(也將會(huì))撰寫(xiě)整篇論文。此外,我們還選擇了幾個(gè)其他專業(yè)領(lǐng)域來(lái)展示 GPT-4 的普遍推理能力,例如醫(yī)學(xué)或法律。我們對(duì)美國(guó)醫(yī)學(xué)執(zhí)照考試步驟 1、2 和 3 的多項(xiàng)選擇部分進(jìn)行了初步測(cè)試(請(qǐng)參見(jiàn)[Ope23]),每個(gè)部分的準(zhǔn)確率約為 80%。類似的初步測(cè)試顯示,GPT-4 在多州律師考試中的能力高于 70%。我們注意到,[敏感詞]一代 LLM(例如 Google 的 PaLM [LAD+22、SAT+22]、GPT-3.5 在法律方面的表現(xiàn) [BIK22])已經(jīng)表現(xiàn)出了這些領(lǐng)域的人類水平能力的出現(xiàn)。我們的研究方法與這些工作不同,正如我們之前所解釋的。
3. 在第 5 部分,我們測(cè)試了該模型在計(jì)劃和解決問(wèn)題方面的能力,以及在某種程度上通過(guò)讓它玩各種游戲(或者說(shuō)是模擬游戲環(huán)境)以及與工具互動(dòng)來(lái)快速學(xué)習(xí)和從經(jīng)驗(yàn)中學(xué)習(xí)的能力。特別是,GPT-4 能夠使用工具(包括自身),這肯定對(duì)使用 GPT-4 構(gòu)建真實(shí)世界應(yīng)用程序非常重要。
4. 我們論證的一個(gè)重要部分是,GPT-4 在許多任務(wù)上達(dá)到了人類水平的表現(xiàn),因此,自然會(huì)問(wèn) GPT-4 對(duì)人類本身的理解有多好。我們?cè)诘?6 部分展示了關(guān)于這個(gè)問(wèn)題的幾個(gè)實(shí)驗(yàn),既包括理解人類,也包括 GPT-4 使自己能夠被人類理解的問(wèn)題,即解釋性問(wèn)題。我們特別注意到,這些任務(wù)需要大量的常識(shí),這在 LLM 中迄今為止一直是眾所周知的痛點(diǎn)[DM15]。在下圖中,我們給出了一個(gè) GPT-4 在常識(shí)問(wèn)題上表現(xiàn)得比 ChatGPT 好得多的例子,并在附錄 A 中提供了更多的例子。
5. 在整個(gè)論文中,我們明確講了發(fā)現(xiàn)的所有限制,同時(shí)也專門(mén)在第 8 部分對(duì) GPT-4 架構(gòu)中的自回歸特性導(dǎo)致的缺乏規(guī)劃能力進(jìn)行了深入分析。
6. 最后,在第 9 部分,我們討論了這種早期形式的 AGI 的預(yù)期社會(huì)影響,而在第 10 部分,我們分享了該領(lǐng)域的關(guān)鍵挑戰(zhàn)、方向和下一步行動(dòng)。
很多讀者可能心中仍然有一個(gè)問(wèn)題,即 GPT-4 是否真正理解了所有這些概念,還是僅僅比以前的模型更擅長(zhǎng)即時(shí)改進(jìn)(improvisation),而沒(méi)有真正或深刻的理解。我們希望在閱讀本文后,這個(gè)問(wèn)題幾乎應(yīng)該反過(guò)來(lái)了,人們可能會(huì)想知道真正的理解遠(yuǎn)比即興表演復(fù)雜得多。如果一個(gè)系統(tǒng)能夠通過(guò)軟件工程候選人的考試(下圖),難道就不能說(shuō)它真正具有智能嗎?也許理解的[敏感詞]真正測(cè)試是能否產(chǎn)生新知識(shí),例如證明新的數(shù)學(xué)定理,這在 LLM 中目前仍然是不可實(shí)現(xiàn)的。
Multimodal and interdisciplinary composition
智能的一個(gè)關(guān)鍵衡量標(biāo)準(zhǔn)是能夠從不同的領(lǐng)域或模式中綜合信息,并能夠跨不同的情境或?qū)W科應(yīng)用知識(shí)和技能。在本節(jié)中,我們將看到:
- GPT-4 不僅在文學(xué)、醫(yī)學(xué)、法律、數(shù)學(xué)、物理科學(xué)和編程等不同領(lǐng)域展示了高水平的專業(yè)知識(shí),而且還能夠流暢地結(jié)合多個(gè)領(lǐng)域的技能和概念,展現(xiàn)出對(duì)復(fù)雜思想的令人印象深刻的理解。
- 我們還在第 2.2 節(jié)和第 2.3 節(jié)中探索了兩種可能出乎意料的模態(tài)(正如介紹中所解釋的,我們?cè)俅螐?qiáng)調(diào)我們的實(shí)驗(yàn)是在 GPT-4 的早期版本上進(jìn)行的,該版本不是多模態(tài)的),分別是視覺(jué)和音頻。
2.1 綜合能力
為展示該模型出色的綜合能力,我們首先給出幾個(gè)示例,這些示例需要以一種結(jié)合多個(gè)領(lǐng)域的知識(shí)或技能的方式生成文本和代碼。我們有意選擇了訓(xùn)練數(shù)據(jù)很少包括的領(lǐng)域組合,如文學(xué)和數(shù)學(xué)或編程和藝術(shù)。
1. 為了測(cè)試該模型在藝術(shù)和編程方面結(jié)合能力的能力,我們要求 GPT-4 「生成以畫(huà)家康定斯基風(fēng)格為基礎(chǔ)的隨機(jī)圖像的 JavaScript 代碼」。見(jiàn)下圖和附錄中圖 B.1 示例圖像和代碼。
2. 該模型能夠用莎士比亞文學(xué)風(fēng)格證明質(zhì)數(shù)有無(wú)限個(gè)(見(jiàn)下圖)。
3. 我們通過(guò)要求該模型撰寫(xiě)一封由圣雄甘地為其妻子寫(xiě)的、支持 Electron 作為美國(guó)總統(tǒng)候選人的信件,測(cè)試了其在歷史和物理學(xué)知識(shí)結(jié)合方面的能力(見(jiàn)下圖)。
4. 我們提示該模型「為一個(gè)程序生成 Python 代碼,該程序?qū)⒒颊叩哪挲g、性別、體重、身高和血液檢測(cè)結(jié)果向量作為輸入,并指示該人是否有患糖尿病的風(fēng)險(xiǎn)」,結(jié)果代碼如附錄圖 B.3 所示。
這些示例表明,GPT-4 不僅學(xué)習(xí)了不同領(lǐng)域和風(fēng)格的一些通用原則和模式,而且還能夠以創(chuàng)造性和新穎的方式將它們綜合起來(lái)。這種跨學(xué)科的能力并不是 GPT-4 所獨(dú)有的。ChatGPT 也可以產(chǎn)生顯示對(duì)任務(wù)和涉及的領(lǐng)域有一定理解的答案(參見(jiàn)上述[敏感詞]個(gè)例子,附錄 B.2、B.3),但它們通常是不完整的,并且可以說(shuō)相對(duì)缺乏創(chuàng)造性。例如,在第三個(gè)例子中,GPT-4 在幾個(gè)方面都優(yōu)于 ChatGPT,因?yàn)樗_地根據(jù)引用人(甘地)、收件人(他的妻子)、候選人(Electron)和職位(美國(guó)總統(tǒng))來(lái)個(gè)性化信件。我們不認(rèn)為自己擁有評(píng)估這些任務(wù)結(jié)果或兩個(gè)模型之間嚴(yán)格比較的精確方法,但我們希望讀者可以感受到這兩個(gè)模型的不同之處(請(qǐng)注意,我們還要求 GPT-4 直接評(píng)估差異,見(jiàn)兩幅圖中的信息)。
接下來(lái),我們將探索 GPT-4 如何在不同的模態(tài)下生成和識(shí)別對(duì)象,例如矢量圖形、三維場(chǎng)景和音樂(lè) —— 盡管只有文本輸入/輸出,GPT-4 仍然可以理解和執(zhí)行多模態(tài)信息。
2.2 視覺(jué)
當(dāng)提示該模型使用可縮放矢量圖形(SVG)生成貓、卡車(chē)或字母等對(duì)象的圖像時(shí),該模型生成的代碼通常會(huì)編譯成相當(dāng)詳細(xì)和可識(shí)別的圖像(見(jiàn)下圖)。請(qǐng)參見(jiàn)附錄 B.2,查看 ChatGPT 對(duì)各種示例的重新運(yùn)行。
然而,有人可能假設(shè)該模型只是從訓(xùn)練數(shù)據(jù)中復(fù)制了代碼,因?yàn)轭愃频膱D像在訓(xùn)練數(shù)據(jù)中出現(xiàn)過(guò)。鑒于該版本的模型是非多模式的,進(jìn)一步地,人們可能認(rèn)為沒(méi)有理由期望它能理解視覺(jué)概念,更不用說(shuō)能夠創(chuàng)建、解析和操作圖像了。然而,該模型似乎具有真正的視覺(jué)任務(wù)能力,而不僅僅是從訓(xùn)練數(shù)據(jù)中類似的示例中復(fù)制代碼。下面的證據(jù)強(qiáng)烈支持這一說(shuō)法,并證明了該模型可以處理視覺(jué)概念,盡管它只接受了文本訓(xùn)練。
在[敏感詞]個(gè)例子中,我們促使模型通過(guò)組合字母 Y、O 和 H 的形狀來(lái)畫(huà)一個(gè)人(請(qǐng)參見(jiàn)下圖中的確切提示和結(jié)果)。
模型使用 draw-line 和 draw-circle 命令創(chuàng)建了字母 O、H 和 Y 并成功將它們放置在一個(gè)看起來(lái)比較合理的身體結(jié)構(gòu)中。訓(xùn)練數(shù)據(jù)可能包含有關(guān)不同字母的幾何形狀的信息,也許從訓(xùn)練數(shù)據(jù)中可以推斷出字母 Y 可能看起來(lái)像一個(gè)上臂向上的軀干??梢哉f(shuō),模型從訓(xùn)練數(shù)據(jù)中能夠推斷出一個(gè)合理的方式將這些字母放置在一起,以便畫(huà)出一個(gè)看起來(lái)比較合理的身體結(jié)構(gòu),這一點(diǎn)可能要不那么明顯。在第二次迭代中,我們提示模型校正軀干和手臂的比例,并將頭部放置在中心。最后,我們要求模型添加襯衫和褲子(具體提示和結(jié)果見(jiàn)下圖)。
為了進(jìn)一步探究模型對(duì)幾何概念的理解,我們還要求它創(chuàng)建將物體和字母混合的圖像。模型必須首先想出一種合理的方法將物體和字母融合,然后產(chǎn)生圖像。結(jié)果如圖所示,證明 GPT-4 通??梢员A粑矬w和字母的身份,并以創(chuàng)造性的方式將它們組合起來(lái)。
2.2.2 根據(jù)詳細(xì)說(shuō)明生成圖像(「a la Dall-E」)
為了進(jìn)一步測(cè)試 GPT-4 生成和操作圖像的能力,我們測(cè)試了它遵循詳細(xì)說(shuō)明創(chuàng)建和編輯圖形的程度。這個(gè)任務(wù)不僅需要生成技能,還需要解釋、組合和空間技能。
[敏感詞]個(gè)示例指示模型生成一個(gè) 2D 圖像,其描述為「一只青蛙跳進(jìn)銀行,問(wèn)出納員:你有免費(fèi)的荷葉嗎?出納員回答:沒(méi)有,但我們提供低利息的池塘升級(jí)貸款」。我們嘗試了多次生成圖像,每次生成都與關(guān)鍵對(duì)象青蛙、出納員、銀行和兩個(gè)文本相匹配。我們選擇了[敏感詞]視覺(jué)吸引力的版本。受標(biāo)準(zhǔn)圖像生成工作流程的啟發(fā),我們要求 GPT-4通過(guò)添加更多的細(xì)節(jié)來(lái)放大圖像。GPT-4 添加了一個(gè)銀行標(biāo)志、一些窗戶、一輛汽車(chē)、一個(gè)交通燈、幾朵云,并讓青蛙拿著一朵花。最后,我們要求 GPT-4 執(zhí)行各種任務(wù),例如根據(jù)現(xiàn)有對(duì)象添加一些對(duì)象,重新著色一些對(duì)象和更改一些對(duì)象的 z 順序。GPT-4 都正確地完成了所有任務(wù)。最終結(jié)果如圖下圖左側(cè)所示,提示信息如附錄圖 B.4 所示。
我們的第二個(gè)例子是試圖使用 Javascript 生成一個(gè) 3D 模型。我們用提示語(yǔ)「一個(gè)由浮島、瀑布和橋梁組成的幻想景觀,天空中有一只飛龍和一個(gè)位于[敏感詞]島上的城堡」來(lái)對(duì) GPT-4 發(fā)出指令。與 2D 實(shí)驗(yàn)類似,我們要求 GPT-4 以各種方式修改 3D 模型,如添加、重新定位、重新著色對(duì)象和改變飛龍的軌跡等。同樣,GPT-4 正確完成了許多任務(wù)。最終結(jié)果如下圖右側(cè)所示,提示語(yǔ)如圖 B.5 所示。它其實(shí)是一個(gè) 3D 動(dòng)畫(huà),有多只飛龍?jiān)趰u嶼上空盤(pán)旋。
近年來(lái),文本到圖像合成模型已經(jīng)得到廣泛探索,但它們常常缺乏空間理解能力和遵循復(fù)雜指令的能力 [GPN+22]。例如,給定一個(gè)提示,如「在左側(cè)畫(huà)一個(gè)藍(lán)色的圓,在右側(cè)畫(huà)一個(gè)紅色的三角形」,這些模型可能會(huì)生成外觀上很吸引人但不符合所需布局或顏色的圖像。另一方面,GPT-4 可以根據(jù)提示生成代碼,并以更高的準(zhǔn)確度按照指示呈現(xiàn)為圖像。然而,渲染圖像的質(zhì)量通常非常低。在這里,我們探索了將 GPT-4 和現(xiàn)有圖像合成模型結(jié)合使用的可能性,通過(guò)使用 GPT-4 輸出作為草圖。如下圖所示,這種方法可以生成比任一模型單獨(dú)生成更貼近指令的、質(zhì)量更好的圖像。我們認(rèn)為這是一個(gè)利用 GPT-4 和現(xiàn)有圖像合成模型優(yōu)勢(shì)的有前途的方向。它也可以被視為在第 5.1 節(jié)中更深入地探索的授予 GPT-4 工具訪問(wèn)權(quán)限的[敏感詞]個(gè)示例。
2.3 音樂(lè)
該模型的訓(xùn)練數(shù)據(jù)中也包含以 ABC 符號(hào)表示的音樂(lè)信息。這是一種使用字母、數(shù)字和符號(hào)來(lái)緊湊而易讀地表示音高、持續(xù)時(shí)間、和弦和其他元素的系統(tǒng)。我們有興趣探索模型從這種數(shù)據(jù)中獲得了多少音樂(lè)技能,如創(chuàng)作新的旋律、轉(zhuǎn)換現(xiàn)有旋律以及理解音樂(lè)模式和結(jié)構(gòu)。
當(dāng)被指示生成一個(gè)簡(jiǎn)短的曲調(diào)(下圖)時(shí),模型能夠生成有效的 ABC 符號(hào)。這個(gè)曲調(diào)有一個(gè)清晰的結(jié)構(gòu),小節(jié)之間的拍子一致,音符遵循逐漸上升和下降的模式。曲調(diào)還使用了一組一致的音符,節(jié)奏有重復(fù)的模式。然而,模型似乎沒(méi)有獲得理解和聲的技能。事實(shí)上,在生成的曲調(diào)中,連續(xù)的音符幾乎總是相鄰的(即,跟在 C 后面的音符通常是 B 或 D),在測(cè)試了 10 個(gè)生成的曲調(diào)后,我們無(wú)法提取任何清晰的和弦或琶音。
然后我們讓模型用音樂(lè)術(shù)語(yǔ)描述曲調(diào)。它能夠成功地以重復(fù)、旋律上升或下降的部分和節(jié)奏為基礎(chǔ),給出結(jié)構(gòu)的技術(shù)描述,但是它似乎沒(méi)有將和聲和和弦的描述與音符保持一致(事實(shí)上,它指的是相鄰的音符序列,它們不構(gòu)成有效的和弦,而是琶音)。隨后,我們讓模型用兩種方式改寫(xiě)旋律:首先,我們指示將某個(gè)上升序列改為下降序列,它成功地做到了;然后我們讓模型將曲調(diào)轉(zhuǎn)換為二重唱,并添加一個(gè)低音聲部,模型成功地用與旋律相容的節(jié)奏擴(kuò)展了 ABC 符號(hào)的第二個(gè)譜表,并以較低的八度演奏,但是兩個(gè)聲部之間缺乏和聲。
總之,該模型能夠生成有效的 ABC 符號(hào)曲調(diào),并在某種程度上解釋和操縱它們的結(jié)構(gòu)。然而,我們無(wú)法讓模型產(chǎn)生任何非平凡形式的和聲。需要注意的是,ABC 符號(hào)并不是一個(gè)非常廣泛使用的格式,事實(shí)上,該模型甚至無(wú)法以 ABC 符號(hào)產(chǎn)生最知名的曲調(diào)(如歡樂(lè)頌、致愛(ài)麗絲或綠袖子,這些曲調(diào)在網(wǎng)絡(luò)上都以該格式豐富存在),也無(wú)法識(shí)別這些曲調(diào)。
本節(jié)中,我們展示了 GPT-4 在編程方面的高水平,無(wú)論是根據(jù)指令編寫(xiě)代碼,還是理解現(xiàn)有代碼。GPT-4 可以處理各種編程任務(wù),從編碼挑戰(zhàn)到現(xiàn)實(shí)世界應(yīng)用,從低級(jí)別匯編到高級(jí)別框架,從簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)到諸如游戲之類的復(fù)雜程序。GPT-4 還可以推理代碼執(zhí)行,模擬指令的效果,并用自然語(yǔ)言解釋結(jié)果。GPT-4 甚至可以執(zhí)行偽代碼,這需要解釋不在任何編程語(yǔ)言中有效的非正式和模糊表達(dá)式。在目前的狀態(tài)下,我們認(rèn)為 GPT-4 在編寫(xiě)只依賴于現(xiàn)有公共庫(kù)的專注程序方面具有高水平,這與普通軟件工程師的能力相比是有優(yōu)勢(shì)的。更重要的是,它使工程師和非技術(shù)用戶都能輕松編寫(xiě)、編輯和理解程序。我們也承認(rèn),GPT-4 在編程方面并不完美,有時(shí)會(huì)產(chǎn)生語(yǔ)法無(wú)效或語(yǔ)義不正確的代碼,尤其是對(duì)于更長(zhǎng)或更復(fù)雜的程序。GPT-4 有時(shí)也無(wú)法理解或遵循說(shuō)明,并生成與預(yù)期功能或樣式不匹配的代碼。在這種情況下,我們也指出,GPT-4 能夠通過(guò)響應(yīng)人類反饋(例如,在 3.2 中迭代地優(yōu)化繪圖)和編譯器/終端錯(cuò)誤(在第 5.1 節(jié)中提供示例)來(lái)改進(jìn)其代碼。
重要聲明:正如在介紹中所解釋的,我們的實(shí)驗(yàn)是在 GPT-4 的早期版本上運(yùn)行的。特別是,所有定量結(jié)果在 GPT-4 的最終版本上將有所不同,盡管總體趨勢(shì)仍然相同。我們?cè)诖藘H提供數(shù)字作為說(shuō)明目的,確定性的基準(zhǔn)結(jié)果可以在 OpenAI 的技術(shù)報(bào)告 [Ope23] 中找到。
3.1 從指令到代碼
衡量編程技能的一種常見(jiàn)方法是提出需要實(shí)現(xiàn)特定功能或算法的編程挑戰(zhàn)。我們首先在HumanEval [CTJ+21]上對(duì)GPT-4進(jìn)行基準(zhǔn)測(cè)試,這是一個(gè)由 164 個(gè)編程問(wèn)題組成的docstring-to-code數(shù)據(jù)集,用于測(cè)試編程邏輯和熟練程度的各個(gè)方面。如表1所示, GPT-4 的表現(xiàn)優(yōu)于其他 LLM,包括 text-davinci-003(ChatGPT 的基礎(chǔ)模型)和其他專門(mén)用于編碼的模型,如 code-davinci-002 和 CODEGEN-16B [NPH+22]。
盡管 GPT-4 的準(zhǔn)確性與之前的模型相比有了大幅提升,但也可能是因?yàn)樵陬A(yù)訓(xùn)練期間 GPT-4 已經(jīng)看過(guò)并記憶了部分或全部的 HumanEval。為了解決這個(gè)可能性問(wèn)題,我們還在 LeetCode(https://leetcode.com)上對(duì)其進(jìn)行了評(píng)估,這是一個(gè)流行的軟件工程面試平臺(tái),不斷發(fā)布和更新新問(wèn)題,GPT-4 通過(guò)了所有主要科技公司的模擬面試。在這里,為了測(cè)試新問(wèn)題,我們構(gòu)建了一個(gè)基準(zhǔn)測(cè)試,包括 100 個(gè) LeetCode 問(wèn)題,這些問(wèn)題發(fā)布于 2022 年 10 月 8 日之后,這是 GPT-4 的預(yù)訓(xùn)練期之后。如圖所示,我們將問(wèn)題說(shuō)明粘貼到提示中,要求 GPT-4 編寫(xiě)一個(gè) Python 函數(shù),并使用官方的 LeetCode 在線評(píng)測(cè)器檢查正確性。我們?cè)诒?中呈現(xiàn)了結(jié)果,比較了 GPT-4 和其他模型以及基于 LeetCode 競(jìng)賽結(jié)果的人類表現(xiàn)(未通過(guò)所有問(wèn)題的用戶未被納入考慮,因此這是人類的一個(gè)強(qiáng)樣本)。我們報(bào)告了 pass@1 和 pass@5 準(zhǔn)確度,它們分別表示模型是否在[敏感詞]次或前五次嘗試中生成了正確的解決方案。GPT-4 顯著優(yōu)于其他模型,并與人類表現(xiàn)相當(dāng)(我們?cè)诟戒?C.1 中進(jìn)行了測(cè)量)。
編程挑戰(zhàn)可以評(píng)估算法和數(shù)據(jù)結(jié)構(gòu)的技能,然而,它們往往無(wú)法捕捉到真實(shí)世界編程任務(wù)的全部復(fù)雜性和多樣性,這需要專業(yè)的領(lǐng)域知識(shí)、創(chuàng)造力以及多個(gè)組件和庫(kù)的整合,以及修改現(xiàn)有代碼的能力。為了評(píng)估 GPT-4 在更真實(shí)的設(shè)置中編寫(xiě)代碼的能力,我們?cè)O(shè)計(jì)了端到端的與數(shù)據(jù)可視化、LATEX 編碼、前端開(kāi)發(fā)和深度學(xué)習(xí)相關(guān)的真實(shí)世界編程挑戰(zhàn),每個(gè)任務(wù)都需要不同的專業(yè)技能。對(duì)于每個(gè)任務(wù),我們提供高層次的指令,要求 GPT-4 用適當(dāng)?shù)恼Z(yǔ)言和框架編寫(xiě)代碼。在少數(shù)情況下,我們?cè)诰帉?xiě)代碼后還更改了規(guī)格,并要求進(jìn)行更新。
- 數(shù)據(jù)可視化 - 在下圖中,我們要求 GPT-4 和 ChatGPT 從上表的 LATEX 代碼中提取數(shù)據(jù),并根據(jù)與用戶的對(duì)話在 Python 中生成一個(gè)圖形。之后,我們要求這兩個(gè)模型對(duì)生成的圖形執(zhí)行各種操作。雖然這兩個(gè)模型都正確提取了數(shù)據(jù)(這不是一個(gè)簡(jiǎn)單的任務(wù),因?yàn)楸仨殢亩嗔兄型茢喑?Human 行在 k = 1 和 k = 5 時(shí)具有相同的值),但是 ChatGPT 從未生成所需的圖形。相比之下,GPT-4 對(duì)所有用戶請(qǐng)求做出了適當(dāng)?shù)捻憫?yīng),將數(shù)據(jù)調(diào)整為正確的格式并適應(yīng)可視化效果。在附錄 C.2 中,我們提供另一個(gè) GPT-4 將 IMDb 數(shù)據(jù)集可視化的示例。
- 前端/游戲開(kāi)發(fā) - 在下圖中,我們要求 GPT-4 使用非常高層次的規(guī)格,在 HTML 和 JavaScript 中編寫(xiě)一個(gè) 3D 游戲。GPT-4 以 zero-shot 的方式生成了一個(gè)滿足所有要求的工作游戲。在這個(gè) 3D 游戲中,GPT-4 甚至能夠解釋「防御者頭像正在試圖擋住敵人」的含義:防御者代碼具有邏輯,以便將自己定位在玩家和敵人之間。相比之下,ChatGPT 回答說(shuō):「我是一個(gè) AI 語(yǔ)言模型,我可以為你提供如何在 HTML 和 JavaScript 中創(chuàng)建3D游戲的指導(dǎo),但我無(wú)法編寫(xiě)代碼或自己創(chuàng)建游戲。創(chuàng)建一個(gè) HTML 和 JavaScript 的 3D 游戲需要很多編程知識(shí)和經(jīng)驗(yàn)。這不是一個(gè)可以快速或輕松完成的任務(wù)。需要花費(fèi)大量時(shí)間和精力來(lái)開(kāi)發(fā)所有必要的功能,例如 3D 圖形、物理、用戶輸入和人工智能...」。我們?cè)诟戒?C 中提供更多前端(圖形用戶界面)和游戲開(kāi)發(fā)的示例。
- 深度學(xué)習(xí) - 編寫(xiě)深度學(xué)習(xí)代碼需要掌握數(shù)學(xué)、統(tǒng)計(jì)學(xué)知識(shí),并熟悉框架和庫(kù),如PyTorch、TensorFlow、Keras 等。在下圖中,我們要求 GPT-4 和 ChatGPT 編寫(xiě)自定義優(yōu)化器模塊,這對(duì)于即使是深度學(xué)習(xí)專家來(lái)說(shuō)也可能是具有挑戰(zhàn)性和容易出錯(cuò)的任務(wù)。我們給這些模型提供自然語(yǔ)言描述,其中包括一系列非常規(guī)操作,例如應(yīng)用 SVD,對(duì)矩陣進(jìn)行譜截?cái)?,?top-k 和 top-2k 特征值上進(jìn)行截?cái)?,使?top-2k 截?cái)嗑仃嚨?F-norm 對(duì) top-k 截?cái)嗑仃囘M(jìn)行歸一化,應(yīng)用動(dòng)量和權(quán)重衰減。這些指令沒(méi)有詳細(xì)解釋,例如「在 Gk 上應(yīng)用動(dòng)量」需要「深度學(xué)習(xí)的常識(shí)」。值得注意的是,這種優(yōu)化器在文獻(xiàn)或互聯(lián)網(wǎng)上不存在,因此模型不能將其記憶,而必須正確組合概念才能生成代碼。
雖然兩個(gè)模型都生成了語(yǔ)法上有效的代碼,但只有 GPT-4 的響應(yīng)在很大程度上與指令匹配,而它忘記了「循環(huán)遍歷維度」和「根據(jù)動(dòng)量規(guī)范化 Gk」,這些指令特別含糊不清。相比之下,ChatGPT 在應(yīng)用動(dòng)量時(shí)犯了一個(gè)相當(dāng)致命的錯(cuò)誤(用紅色突出顯示)。請(qǐng)注意,將動(dòng)量應(yīng)用于 PyTorch 是一項(xiàng)非平凡的任務(wù),需要將移動(dòng)平均值存儲(chǔ)和讀取到一個(gè)單獨(dú)的狀態(tài)緩沖區(qū)中。
- LaTeX 交互 - 在 LaTeX 中編寫(xiě)是計(jì)算機(jī)科學(xué)家和數(shù)學(xué)家的重要練習(xí),但具有一定的學(xué)習(xí)曲線 —— 即使是專家每天也會(huì)犯令人惱火的錯(cuò)誤,而且由于其嚴(yán)格的語(yǔ)法和缺乏良好的調(diào)試器,這些錯(cuò)誤需要花費(fèi)數(shù)小時(shí)才能修復(fù)。我們展示了 GPT-4 可以利用其高水平的 LaTeX 編碼技能大大簡(jiǎn)化這一過(guò)程,并具有作為一種新一代 LaTeX 編譯器的潛力,可以處理不準(zhǔn)確的自然語(yǔ)言描述。在下圖中,我們要求 GPT-4 將混合自然語(yǔ)言的半嚴(yán)格(有錯(cuò)誤)LaTeX 代碼片段轉(zhuǎn)換為準(zhǔn)確的 LaTeX 命令,以一次編譯和忠實(shí)性。相比之下,ChatGPT 生成了一段由于錯(cuò)誤使用「#」和「\color」等而無(wú)法編譯的片段。
3.2 理解現(xiàn)有代碼
前面的示例已經(jīng)表明,GPT-4 可以根據(jù)指令編寫(xiě)代碼,即使這些指令含糊不清、不完整或需要領(lǐng)域知識(shí)。它們還表明,GPT-4 可以回答跟進(jìn)請(qǐng)求,根據(jù)指令修改自己的代碼。然而,編程的另一個(gè)重要方面是理解和推理已由他人編寫(xiě)的現(xiàn)有代碼,這些代碼可能復(fù)雜、晦澀或文檔不全。為了測(cè)試這一點(diǎn),我們提出各種問(wèn)題,需要讀取、解釋或執(zhí)行用不同語(yǔ)言和范式編寫(xiě)的代碼。
- 反向工程匯編代碼 - 反向工程是軟件安全的一個(gè)重要測(cè)試,它涉及在機(jī)器可讀(即二進(jìn)制)表示的 CPU 指令中搜索有用信息。這是一項(xiàng)具有挑戰(zhàn)性的任務(wù),需要理解匯編語(yǔ)言的語(yǔ)法、語(yǔ)義和約定,以及處理器和操作系統(tǒng)的架構(gòu)和行為。
我們讓 GPT-4 對(duì)一個(gè)需要密碼才能運(yùn)行的二進(jìn)制可執(zhí)行文件(用 C 語(yǔ)言編寫(xiě))進(jìn)行滲透測(cè)試。我們以聊天的方式進(jìn)行,GPT-4 告訴用戶要運(yùn)行哪些命令,用戶回復(fù)結(jié)果。我們還在第 5.1 節(jié)中展示了 GPT-4 能夠獨(dú)立運(yùn)行 shell,但這種聊天模式也有它的好處,它能夠解釋每一步。GPT-4 檢查文件格式和元數(shù)據(jù),使用「objdump」和「radare2」等工具對(duì)代碼進(jìn)行反匯編,使用「gdb」和「ltrace」調(diào)試代碼,并使用補(bǔ)丁、hook 和反編譯等技術(shù)進(jìn)行逆向工程。在這個(gè)過(guò)程中,GPT-4 從匯編代碼中發(fā)現(xiàn),密碼與一個(gè)簡(jiǎn)單的數(shù)學(xué)公式生成的哈希值進(jìn)行比較。然后,GPT-4 編寫(xiě)了一個(gè) Python 程序,嘗試不同的數(shù)字組合,直到找到與哈希值匹配的組合,從而破解了密碼(在附錄 C.6 中提供了一個(gè)簡(jiǎn)短的日志)。ChatGPT 拒絕執(zhí)行此操作,因?yàn)樗`法且不道德,即使逆向工程是確保軟件安全的常見(jiàn)做法。此外,GPT-4 還表現(xiàn)出全面的使用現(xiàn)有工具的能力,我們將在第 5.1 節(jié)中詳細(xì)討論這一點(diǎn)。
- 關(guān)于代碼執(zhí)行的推理 - 在下圖的示例中,我們要求 GPT-4 和 ChatGPT 預(yù)測(cè)和解釋一個(gè) C 程序的輸出,該程序需要打印兩個(gè)結(jié)構(gòu)的大小。GPT-4 正確地解釋了輸出可能因編譯器使用的對(duì)齊規(guī)則而異,并給出了一個(gè)可能具有 4 字節(jié)對(duì)齊的輸出示例。ChatGPT 忽略了對(duì)齊問(wèn)題,給出了錯(cuò)誤的輸出,并且還做出了一個(gè)關(guān)于順序不影響結(jié)構(gòu)大小的錯(cuò)誤陳述。
- 執(zhí)行 Python 代碼 - 在下圖中,我們可以看到 GPT-4 能夠執(zhí)行非常規(guī)的Python代碼。它必須跟蹤多個(gè)變量(包括嵌套循環(huán)和字典),并處理遞歸。它通過(guò)編寫(xiě)中間步驟和注釋詳細(xì)說(shuō)明了執(zhí)行過(guò)程。需要注意的是,GPT-4 并沒(méi)有在 Python 解釋器上運(yùn)行代碼,而是用自然語(yǔ)言模擬代碼。這需要高水平的理解和推理代碼的能力,以及清晰地傳達(dá)結(jié)果的能力。相比之下,ChatGPT聲明(不正確地):「在給定的代碼中未指定 DP(3,4)的結(jié)果」,之后又說(shuō)「從代碼中不清楚函數(shù)的期望輸出是什么,因?yàn)槲刺峁┖瘮?shù)解決的具體問(wèn)題」。ChatGPT 沒(méi)有模擬完整的執(zhí)行,但聲明將調(diào)用哪些函數(shù)。
- 執(zhí)行偽代碼 - 編譯和執(zhí)行編寫(xiě)在編程語(yǔ)言中的代碼很容易,但這也要求嚴(yán)格遵守語(yǔ)法和語(yǔ)義。編譯器無(wú)法處理模糊或非正式的表達(dá)式,或者自然語(yǔ)言描述的功能。相比之下,在下圖中,我們要求 GPT-4 執(zhí)行非常規(guī)的偽代碼,并注意到它能夠執(zhí)行和解釋每個(gè)步驟(包括遞歸)。ChatGPT 無(wú)法執(zhí)行,盡管它似乎能夠解釋代碼的每一行。
在下面的例子中,GPT-4 正確解釋了合并數(shù)組函數(shù)的非正式描述,該函數(shù)將兩個(gè)數(shù)組合并成一個(gè)缺少元素的數(shù)組。它還理解了以簡(jiǎn)略方式定義的遞歸函數(shù) rec。值得注意的是,GPT-4 直接執(zhí)行代碼,而不是將其翻譯成其他明確定義的編程語(yǔ)言 —— 這展示了 AGI 模型作為一種新型自然語(yǔ)言編程工具的潛力,這可能會(huì)徹底改變我們未來(lái)編程的方式。
在附錄 C.7 中,我們以零樣本的方式在 GPT-4 上運(yùn)行了具有多個(gè)長(zhǎng)度的數(shù)百個(gè)隨機(jī)抽樣輸入的大數(shù)乘法的標(biāo)志性偽代碼,以獲得有關(guān) GPT-4 如何保持代碼狀態(tài)的初步評(píng)估。代碼要求 GPT-4 在大量步驟中更新和記住數(shù)組的狀態(tài)。我們觀察到,盡管 GPT-4 是作為(非精確的)自然語(yǔ)言模型進(jìn)行訓(xùn)練的,但它幾乎可以正確地保留代碼的狀態(tài),更新超過(guò) 50 次。
在本節(jié)中,我們?cè)u(píng)估了 GPT-4 在表達(dá)數(shù)學(xué)概念、解決數(shù)學(xué)問(wèn)題以及面對(duì)需要數(shù)學(xué)思維和模型構(gòu)建的問(wèn)題時(shí)的能力。我們展示了相對(duì)于以前的 LLMs,甚至是專門(mén)針對(duì)數(shù)學(xué)進(jìn)行了優(yōu)化的模型(如 Minerva)而言,GPT-4 在這個(gè)領(lǐng)域也有了一個(gè)飛躍。然而,GPT-4 仍然遠(yuǎn)遠(yuǎn)不及專家的水平,沒(méi)有進(jìn)行數(shù)學(xué)研究所需的能力。
讀者應(yīng)當(dāng)謹(jǐn)慎看待本節(jié)中的結(jié)果 —— 正如我們將看到的,GPT-4 可以回答困難的(實(shí)際上是具有競(jìng)爭(zhēng)性的)高中數(shù)學(xué)問(wèn)題,并且有時(shí)可以就高級(jí)數(shù)學(xué)話題進(jìn)行有意義的對(duì)話。然而,它也可能犯非?;镜腻e(cuò)誤,有時(shí)產(chǎn)生不連貫的輸出,這可能被解釋為缺乏真正的理解,它的數(shù)學(xué)知識(shí)和能力可能以看似隨機(jī)的方式依賴于上下文。
雖然使用與評(píng)估人類能力相同的標(biāo)準(zhǔn)(例如解決標(biāo)準(zhǔn)考試問(wèn)題)來(lái)評(píng)估 GPT-4 的數(shù)學(xué)能力很有誘惑力,但考慮到上述情況,這將無(wú)法完全描繪模型的能力。為了真正理解模型的能力,我們需要將「數(shù)學(xué)能力」分解為各種子組件,并評(píng)估 GPT-4 在每個(gè)領(lǐng)域的表現(xiàn)。在本節(jié)中,我們將使用具體的示例和討論來(lái)說(shuō)明模型的優(yōu)點(diǎn)和缺點(diǎn),并試圖找出這些差距可能的根本原因。
為了給讀者一個(gè)對(duì) GPT-4 在解決數(shù)學(xué)問(wèn)題方面的表現(xiàn)的[敏感詞]印象,請(qǐng)參考下圖中的例子。
根據(jù)上述問(wèn)題,需要首先想出正確的年度人口變化表達(dá)式,使用它得出一個(gè)遞推關(guān)系式,然后解決這個(gè)由兩個(gè)方程組成的方程組。GPT-4 成功地得出了解決方案并提出了一個(gè)(大多數(shù)情況下)正確的論證。相比之下,經(jīng)過(guò)多次獨(dú)立嘗試,ChatGPT 始終未能實(shí)現(xiàn)上述任何步驟,產(chǎn)生了一個(gè)荒謬的論證,結(jié)果得出了錯(cuò)誤的答案。
4.1 與 GPT-4 進(jìn)行數(shù)學(xué)對(duì)話
現(xiàn)在,我們嘗試通過(guò)提出一系列后續(xù)問(wèn)題來(lái)進(jìn)一步探究模型的理解能力,以形式化的討論形式進(jìn)行。這個(gè)討論將突出模型的一些局限性以及與人類的一些關(guān)鍵差異。
GPT-4 掌握了問(wèn)題的關(guān)鍵,并提供了一個(gè)合理的數(shù)學(xué)重新表述問(wèn)題的方式。接下來(lái),我們考慮對(duì)同一問(wèn)題的概括。
該模型選擇了使用歸納法的正確啟發(fā)式方法,然而,它似乎沒(méi)有抓住問(wèn)題的要點(diǎn)(在修改后的問(wèn)題中,c 和 d 的值已經(jīng)確定,因此量詞是不正確的),我們?cè)噲D指出這一點(diǎn)。
我的前一個(gè)問(wèn)題有誤,「only」這個(gè)詞的位置不正確。但是,GPT-4 似乎確實(shí)理解了問(wèn)題所在。
此時(shí),GPT-4 似乎沒(méi)有遵循自己的推理。因此,歸納論證無(wú)效,如下所述。
接下來(lái),我們嘗試從另一個(gè)方向修改原問(wèn)題,詢問(wèn)高次多項(xiàng)式的情況。
此時(shí),GPT-4 輸出了一個(gè)非常長(zhǎng)的計(jì)算,犯了幾個(gè)錯(cuò)誤,沒(méi)有得出正確的答案(即在這種情況下沒(méi)有解)。相反,我們中斷了它,并建議更抽象地考慮高次數(shù) k 的情況。
這是一個(gè)有力的論證?,F(xiàn)在我們進(jìn)一步提出另一個(gè)問(wèn)題:
這顯然是錯(cuò)的,因?yàn)橹笖?shù)函數(shù)和對(duì)數(shù)函數(shù)類別沒(méi)有所需的屬性(它們不在復(fù)合下封閉)。接下來(lái),我們檢查 GPT-4 是否能夠意識(shí)到并糾正其錯(cuò)誤。
這次討論似乎再次將 GPT-4 推到了死胡同,隨著對(duì)話的繼續(xù),它開(kāi)始自相矛盾,并產(chǎn)生越來(lái)越不連貫的論點(diǎn)。
總結(jié):此時(shí)有人可能會(huì)猜測(cè) GPT-4 只是缺乏關(guān)于指數(shù)函數(shù)行為的相關(guān)知識(shí)。然而,情況似乎并非如此,因?yàn)樵撃P涂梢哉_回答并證明「abc = (ab)c 是否正確」的問(wèn)題。這表明,與其他領(lǐng)域一樣,GPT-4 的數(shù)學(xué)知識(shí)也是與上下文相關(guān)的。雖然這并不意味著GPT-4 只記憶常用的數(shù)學(xué)句子并執(zhí)行簡(jiǎn)單的模式匹配來(lái)決定使用哪個(gè)(例如,交替使用名稱/數(shù)字通常不會(huì)影響 GPT-4 的答案質(zhì)量),但我們確實(shí)看到問(wèn)題措辭的變化會(huì)改變模型所展示的結(jié)果。
以上對(duì)話凸顯了一個(gè)鮮明的對(duì)比:一方面,該模型在需要相當(dāng)高水平的數(shù)學(xué)技巧的任務(wù)和問(wèn)題上表現(xiàn)出色,另一方面,它卻存在基本的數(shù)學(xué)錯(cuò)誤和無(wú)效論述。如果一個(gè)人變現(xiàn)出后者,我們就會(huì)懷疑他們的理解能力。可以說(shuō),這種對(duì)比在人類中非常不常見(jiàn),因此,我們面臨一個(gè)具有挑戰(zhàn)性的問(wèn)題:
這個(gè)模型有多么「真正理解」數(shù)學(xué)問(wèn)題?
這個(gè)問(wèn)題無(wú)法被很好地定義。盡管如此,我們?nèi)栽噲D回答它 —— 我們首先想要爭(zhēng)辯數(shù)學(xué)理解有幾個(gè)方面:
1. 創(chuàng)造性推理:能夠確定在每個(gè)階段哪些論點(diǎn)、中間步驟、計(jì)算或代數(shù)操作可能與問(wèn)題相關(guān),并制定通向解決方案的路徑。這個(gè)組成部分通?;趩l(fā)式猜測(cè)(或在人類的情況下是直覺(jué)),通常被認(rèn)為是數(shù)學(xué)問(wèn)題解決中最重要和深刻的方面。
2. 技術(shù)熟練度:能夠執(zhí)行一系列預(yù)定步驟的常規(guī)計(jì)算或操作(如對(duì)函數(shù)求導(dǎo)或?qū)⒎匠讨械捻?xiàng)分離)。
3. 批判性推理:能夠批判性地審查論證的每一步,將其分解為其子組件,解釋其含義,說(shuō)明其與其他論證的關(guān)系以及為什么是正確的。在解決問(wèn)題或產(chǎn)生數(shù)學(xué)論證時(shí),這通常與能夠在意識(shí)到某一步驟是錯(cuò)誤的情況下回溯并相應(yīng)修改論證的能力一起出現(xiàn)。
現(xiàn)在我們想要分析該模型在數(shù)學(xué)理解的每個(gè)方面中的表現(xiàn),并討論其優(yōu)勢(shì)和劣勢(shì)的一些可能原因。
- 創(chuàng)造性推理 - 當(dāng)涉及到高級(jí)高中水平的問(wèn)題(偶爾還包括更高水平)時(shí),該模型在選擇正確的論點(diǎn)或通向解決方案的路徑方面表現(xiàn)出了很高的能力。將此與上面的例子聯(lián)系起來(lái),該模型正確選擇嘗試在原始問(wèn)題中編寫(xiě)遞歸關(guān)系,并在后續(xù)問(wèn)題中討論多項(xiàng)式組合的次數(shù)。在這兩種情況下,在「知道」這條路是否會(huì)導(dǎo)致正確的解決方案之前,建議已經(jīng)被提出。4.2 節(jié)和附錄 D 包含了更多的例子,展示了該模型在這個(gè)方面的能力,我們將其與一個(gè)優(yōu)秀的高中生甚至更高水平進(jìn)行比較。
- 技術(shù)熟練度 - 盡管該模型在涉及不同過(guò)程的算法方面表現(xiàn)出很高的知識(shí)水平(如解決方程組),但在執(zhí)行這些任務(wù)時(shí),它也經(jīng)常犯錯(cuò)誤,如算術(shù)錯(cuò)誤、混淆操作順序或使用錯(cuò)誤的符號(hào)。我們?cè)诟戒?D.1 中進(jìn)一步討論了這些典型錯(cuò)誤的一些例子。我們猜測(cè),通過(guò)給模型提供代碼執(zhí)行的方式,可以提高這個(gè)方面的表現(xiàn),這將允許它更準(zhǔn)確地進(jìn)行計(jì)算或檢查等價(jià)性;附錄 D 提供了一些證據(jù)。
- 批判性推理 - 該模型在第三個(gè)方面中存在顯著的不足,即批判性地審查論證的每一步。這可能歸因于兩個(gè)因素。首先,該模型的訓(xùn)練數(shù)據(jù)主要由問(wèn)題及其解決方案組成,但它并不包含表達(dá)導(dǎo)致解決數(shù)學(xué)問(wèn)題的思維過(guò)程的措辭,其中人們會(huì)猜測(cè)、遇到錯(cuò)誤、驗(yàn)證和檢查解決方案的哪些部分是正確的、回溯等等。換句話說(shuō),由于訓(xùn)練數(shù)據(jù)本質(zhì)上是解決方案的線性闡述,因此訓(xùn)練在這些數(shù)據(jù)上的模型沒(méi)有動(dòng)機(jī)進(jìn)行「內(nèi)部對(duì)話」,其中它回顧并批判性地評(píng)估自己的建議和計(jì)算。
其次,該模型的局限性在于其基于下一個(gè)單詞預(yù)測(cè)的范例。它只生成下一個(gè)單詞,沒(méi)有機(jī)制來(lái)修正或修改其先前的輸出,這使得它產(chǎn)生「線性」的論據(jù)。
簡(jiǎn)單地說(shuō),我們因此可以看到該模型的缺點(diǎn)是「幼稚」的注意力錯(cuò)誤與更基本的限制之間的組合,因?yàn)槠洹妇€性思維」作為下一個(gè)標(biāo)記預(yù)測(cè)機(jī)器。一個(gè)重要的問(wèn)題是上述問(wèn)題中哪些可以通過(guò)進(jìn)一步的訓(xùn)練(也許是使用更大的模型)來(lái)緩解。對(duì)于前者問(wèn)題,我們認(rèn)為進(jìn)一步的訓(xùn)練可以緩解這個(gè)問(wèn)題,因?yàn)槌祟惖木幋a能力證明了這種注意力錯(cuò)誤也將是致命的;一個(gè)關(guān)鍵的區(qū)別是 GPT-4 很可能是在比數(shù)學(xué)數(shù)據(jù)更多的代碼上進(jìn)行訓(xùn)練的。我們認(rèn)為后者問(wèn)題構(gòu)成了更為深刻的限制,我們將在第 8 節(jié)中更詳細(xì)地討論。
在本節(jié)的其余部分中,我們?cè)u(píng)估了模型在數(shù)學(xué)問(wèn)題求解常用基準(zhǔn)測(cè)試中的能力,并展示了模型在實(shí)際場(chǎng)景中應(yīng)用定量思維的能力。我們還比較了 GPT-4 和 ChatGPT 在基準(zhǔn)測(cè)試和其他數(shù)學(xué)問(wèn)題上的表現(xiàn)(附錄 D 中有更多例子)。粗略地說(shuō),我們發(fā)現(xiàn) GPT-4 相對(duì)于 ChatGPT 表現(xiàn)出顯著的改進(jìn):GPT-4 在許多復(fù)雜問(wèn)題中展示了更深入的理解,并能夠應(yīng)用適當(dāng)?shù)耐评怼?/strong>另一方面,ChatGPT 通常會(huì)采用低級(jí)啟發(fā)式方法,提到與問(wèn)題僅是表面相關(guān)的公式和概念,這表明缺乏實(shí)際理解。我們?cè)诒竟?jié)末尾給出了幾個(gè)示例,展示了高級(jí)數(shù)學(xué)方面的能力。
4.2 數(shù)學(xué)問(wèn)題數(shù)據(jù)集上的表現(xiàn)
我們現(xiàn)在進(jìn)行系統(tǒng)性的實(shí)驗(yàn),比較 GPT-4、ChatGPT 和 Minerva(用于解決數(shù)學(xué)問(wèn)題的[敏感詞]的 LLM)在兩個(gè)常用的基準(zhǔn)測(cè)試數(shù)據(jù)集上的表現(xiàn):GSM8K [CKB + 21]和MATH [HBK + 21]。GSM8K 是一個(gè)小學(xué)數(shù)學(xué)數(shù)據(jù)集,包含 8000 個(gè)關(guān)于算術(shù)、分?jǐn)?shù)、幾何和文字問(wèn)題等主題的問(wèn)題和答案。MATH 是一個(gè)高中數(shù)學(xué)數(shù)據(jù)集,包含 12500 個(gè)關(guān)于代數(shù)、微積分、三角函數(shù)和概率等主題的問(wèn)題和答案。我們還在 MMMLU-STEM 數(shù)據(jù)集上測(cè)試了模型,該數(shù)據(jù)集包含大約 2000 個(gè)涵蓋高中和大學(xué) STEM 主題的選擇題(4 個(gè)選項(xiàng))。這些數(shù)據(jù)集凸顯了 GPT-4 在解決高中水平數(shù)學(xué)問(wèn)題時(shí)使用正確方法的能力。
重要聲明:正如在介紹中解釋的,我們的實(shí)驗(yàn)是在 GPT-4 的早期版本上運(yùn)行的。尤其是所有量化結(jié)果在 GPT-4 的最終版本上將會(huì)不同,盡管大體趨勢(shì)保持不變。我們?cè)诖颂峁?shù)字僅供說(shuō)明目的,確定性基準(zhǔn)測(cè)試結(jié)果可以在 OpenAI 的技術(shù)報(bào)告中找到[Ope23]。
平衡過(guò)度擬合問(wèn)題 - 使用基準(zhǔn)測(cè)試評(píng)估 LLM 的推理能力的一個(gè)潛在問(wèn)題是,它們可能在預(yù)訓(xùn)練期間記住了基準(zhǔn)測(cè)試數(shù)據(jù)集中的問(wèn)題或答案,因?yàn)檫@些問(wèn)題可能是數(shù)據(jù)集的一部分。為了減少這種過(guò)擬合的可能性,我們采用以下策略:
1. 在基準(zhǔn)測(cè)試中,我們通過(guò)要求 GPT-4 (1) 編寫(xiě)問(wèn)題解決方案的模板,(2) 先寫(xiě)下步驟,然后再寫(xiě)下最終答案來(lái)測(cè)試它。這些模板在線上不可用,并且 MMMLU-STEM 等數(shù)據(jù)集的詳細(xì)解決方案也不在線上(只有答案)。
2. 我們從數(shù)據(jù)集中挑選一道代表性的問(wèn)題,其中 GPT-4 能夠正確解決,而 text-davinci-003 則解答錯(cuò)誤。我們更改問(wèn)題中的數(shù)字,發(fā)現(xiàn) GPT-4 始終正確,而 text-davinci-003 始終錯(cuò)誤。
3. 我們還精心設(shè)計(jì)了幾個(gè)新問(wèn)題,并確保這些問(wèn)題或類似變體不會(huì)在網(wǎng)上出現(xiàn)。GPT-4 在這些問(wèn)題上表現(xiàn)出了相同的能力。
對(duì)于基準(zhǔn)數(shù)據(jù)集,我們?cè)u(píng)估了模型的單模型準(zhǔn)確率,即它們?cè)谝淮螄L試中回答正確的問(wèn)題百分比。結(jié)果如下表所示:
對(duì)于 MATH 數(shù)據(jù)集,我們手動(dòng)檢查了 GPT-4 的答案,發(fā)現(xiàn)其錯(cuò)誤主要是由計(jì)算錯(cuò)誤造成的:當(dāng)處理大數(shù)字或復(fù)雜表達(dá)式時(shí),該模型存在明顯的缺陷。相比之下,在大多數(shù)情況下,ChatGPT 生成的論證都是不連貫的,并且導(dǎo)致一個(gè)與解決問(wèn)題無(wú)關(guān)的計(jì)算。下圖給出了一個(gè)例子,說(shuō)明了這種差異,我們也在附錄 D.1 中進(jìn)一步討論了計(jì)算錯(cuò)誤的問(wèn)題。
4.3 不同領(lǐng)域中的數(shù)學(xué)建模
數(shù)學(xué)推理不僅僅是解決數(shù)學(xué)練習(xí)和問(wèn)題的技能,它也是理解和交流各種上下文和情況的工具。在本節(jié)中,我們?cè)u(píng)估了 GPT-4 利用數(shù)學(xué)思想和技術(shù)解決實(shí)際問(wèn)題的能力,其中一些問(wèn)題并不嚴(yán)格屬于數(shù)學(xué),但需要數(shù)量思維。下圖,我們展示了 GPT-4 如何成功地構(gòu)建了一個(gè)復(fù)雜系統(tǒng)的合理數(shù)學(xué)模型,該模型需要廣泛的跨學(xué)科知識(shí),而 ChatGPT 則未能取得有意義的進(jìn)展。
費(fèi)米問(wèn)題 - 一種特定類型的數(shù)學(xué)建模問(wèn)題是費(fèi)米問(wèn)題,涉及使用邏輯、近似和數(shù)量級(jí)推理對(duì)難以或不可能直接測(cè)量的數(shù)量或現(xiàn)象進(jìn)行有根據(jù)的猜測(cè)。例如,一些[敏感詞]的費(fèi)米問(wèn)題是:「芝加哥有多少鋼琴調(diào)音師?」和「太陽(yáng)的峰值電場(chǎng)在到達(dá)地球的過(guò)程中振蕩了多少次?」。為了在幾乎沒(méi)有額外信息的情況下解決這些問(wèn)題,需要同時(shí)具備數(shù)量思維和通識(shí)知識(shí)。在這里,我們展示了 GPT-4 使用數(shù)量思維回答費(fèi)米問(wèn)題的出色能力。我們?cè)谙聢D中展示了兩個(gè)例子,GPT-4 通過(guò)進(jìn)行合理的假設(shè)和有根據(jù)的猜測(cè)來(lái)解決這些問(wèn)題,而 ChatGPT 則立即認(rèn)輸,幾乎沒(méi)有展示任何數(shù)學(xué)思考的痕跡。盡管 GPT-4 的最終答案可能相差很遠(yuǎn),但它展示了解決這些問(wèn)題的驚人角度。
4.4 高等數(shù)學(xué)
我們?cè)诒竟?jié)中給出了幾個(gè)例子,展示了模型在更高級(jí)的數(shù)學(xué)主題上的潛在性能。這些例子是有意選擇的,用以展示模型的能力,但是要注意,模型并不總是能夠成功解答這種難度水平的問(wèn)題。相反,它們旨在展示模型的能力范圍,提示未來(lái)的模型可能能夠?qū)崿F(xiàn)什么。
我們首先從一個(gè)簡(jiǎn)化版的問(wèn)題開(kāi)始,該問(wèn)題出現(xiàn)在 2022 年國(guó)際數(shù)學(xué)奧林匹克競(jìng)賽(IMO)中。
這道問(wèn)題與通常出現(xiàn)在 STEM 學(xué)科的本科微積分考試中的問(wèn)題的區(qū)別在于,它不符合結(jié)構(gòu)化模板。解決它需要更有創(chuàng)造性的方法,因?yàn)闆](méi)有清晰的策略來(lái)開(kāi)始證明。例如,將論據(jù)分為兩種情況(g(x)> x2 和 g(x) <x2)的決定不是顯而易見(jiàn)的,y? 的選擇(其原因后來(lái)才變得清晰)也不是顯而易見(jiàn)的。此外,解決該問(wèn)題需要本科水平的微積分知識(shí)。盡管如此,GPT-4 還是成功地證明了這個(gè)問(wèn)題的正確性。
第二個(gè)例子是關(guān)于算法和圖論的討論,這些主題通常在本科計(jì)算機(jī)科學(xué)專業(yè)的一年級(jí)或二年級(jí)被教授,這次討論相當(dāng)于研究生級(jí)別的面試。
GPT-4 展示了對(duì)圖論和算法概念的理解。它能夠推理出一個(gè)抽象的圖形結(jié)構(gòu),與一個(gè)約束滿足問(wèn)題相關(guān),并得出有關(guān) SAT 問(wèn)題的正確結(jié)論(據(jù)我們所知,這種結(jié)構(gòu)在數(shù)學(xué)文獻(xiàn)中并沒(méi)有出現(xiàn))。對(duì)話反映了對(duì)大學(xué)水平數(shù)學(xué)概念的深刻理解,以及相當(dāng)程度的創(chuàng)造力。雖然 GPT-4 在一個(gè)實(shí)例中犯了一個(gè)錯(cuò)誤(寫(xiě)成了 2n?1 而不是 2n/2),但隨后的對(duì)話表明這個(gè)錯(cuò)誤并不反映出缺乏理解。相反,GPT-4 似乎是以類似于人類輸入錯(cuò)誤的方式犯了一個(gè)錯(cuò)誤,因?yàn)樗髞?lái)提供了正確的公式推導(dǎo)。
我們的最后一個(gè)例子需要理解一個(gè)新的數(shù)學(xué)定義,并結(jié)合了數(shù)論和概率知識(shí)。該模型提出了一個(gè)可靠的論證,但在最后出現(xiàn)了計(jì)數(shù)錯(cuò)誤,導(dǎo)致最終答案不正確。
Interaction with the world
智能的關(guān)鍵之一是互動(dòng)性,我們定義它為與其他代理(agents)、工具(tools)和環(huán)境(environment)進(jìn)行溝通和反饋的能力。互動(dòng)性對(duì)于智能很重要,因?yàn)樗勾砟軌颢@取和應(yīng)用知識(shí)、解決問(wèn)題、適應(yīng)變化,并實(shí)現(xiàn)超出其個(gè)體能力范圍的目標(biāo)。例如,人類相互交流并與環(huán)境互動(dòng),從而達(dá)成合作、學(xué)習(xí)、教育、談判、創(chuàng)造等行為?;?dòng)性需要代理理解復(fù)雜的思想,快速學(xué)習(xí)并從經(jīng)驗(yàn)中學(xué)習(xí),因此它與我們對(duì)智能的定義密切相關(guān)。
在本節(jié)中,我們探討了互動(dòng)的兩個(gè)方面:工具使用和體驗(yàn)互動(dòng)。工具使用涉及使用外部資源,例如搜索引擎、計(jì)算器或其他 API,來(lái)執(zhí)行代理單獨(dú)完成困難或不可能完成的任務(wù)。體驗(yàn)互動(dòng)涉及使用自然語(yǔ)言作為文本接口與模擬或現(xiàn)實(shí)世界的環(huán)境進(jìn)行交互,并從中獲得反饋。
5.1 工具使用
盡管在先前的各個(gè)任務(wù)中表現(xiàn)出令人印象深刻的性能,但 GPT-4 仍然存在著各種廣為人知的語(yǔ)言模型的弱點(diǎn)。這些弱點(diǎn)包括(但不限于)缺乏當(dāng)前世界知識(shí)、難以進(jìn)行符號(hào)操作(例如數(shù)學(xué))以及無(wú)法執(zhí)行代碼。例如,在下圖中,GPT-4 使用過(guò)時(shí)的信息回答[敏感詞]個(gè)問(wèn)題,并未能對(duì)第二個(gè)和第三個(gè)問(wèn)題執(zhí)行適當(dāng)?shù)牟僮?。ChatGPT 拒絕回答[敏感詞]個(gè)問(wèn)題,并且在其他問(wèn)題上也失敗了。
然而,GPT-4 能夠使用搜索引擎或 API 等外部工具來(lái)克服這些(和其他)限制。例如,在下圖中,我們展示了一個(gè)簡(jiǎn)單的提示,使 GPT-4 可以訪問(wèn)搜索引擎和其他功能。在執(zhí)行過(guò)程中,當(dāng)調(diào)用這些函數(shù)之一時(shí),我們會(huì)暫停生成,調(diào)用適當(dāng)?shù)暮瘮?shù),將結(jié)果粘貼回提示中,并繼續(xù)生成。在這些簡(jiǎn)單的示例中,GPT-4 能夠非常簡(jiǎn)單地使用工具,無(wú)需演示,然后適當(dāng)?shù)乩幂敵觯ㄕ?qǐng)注意,第二個(gè)搜索結(jié)果包含潛在的沖突信息,但 GPT-4 仍能推斷出正確答案)。相比之下,ChatGPT(未顯示)在被指示使用工具后,無(wú)法始終更改其對(duì)前面一幅圖中問(wèn)題的答案 —— 它仍然拒絕回答[敏感詞]個(gè)問(wèn)題;對(duì)于其他兩個(gè)問(wèn)題,它有時(shí)根本不調(diào)用工具,有時(shí)在給出不正確的答案后再調(diào)用工具。雖然在下圖中我們指定了哪些工具可用,但 GPT-4 也可以列出解決任務(wù)所需的工具(或 API 函數(shù))清單(附錄中的示例中,圖 F.2 中,GPT-4 列出了需要完成任務(wù)的四個(gè) API 函數(shù),然后成功地使用它們)。
5.1.1 使用多種工具解決更復(fù)雜的任務(wù)
解決更復(fù)雜的任務(wù)需要 GPT-4 結(jié)合多種工具使用。我們現(xiàn)在分享一些例子,其中 GPT-4 能夠依靠其理解任務(wù)的能力,識(shí)別所需的工具,按正確的順序使用它們,并對(duì)其輸出做出適當(dāng)?shù)捻憫?yīng):
- 滲透測(cè)試 - 在附錄的圖 F.3 中,我們告訴 GPT-4 可以在設(shè)計(jì)用于數(shù)字取證和滲透測(cè)試的 Linux 發(fā)行版上執(zhí)行命令,并將其任務(wù)設(shè)置為入侵本地網(wǎng)絡(luò)上的計(jì)算機(jī)。在沒(méi)有任何信息的情況下,它能夠制定和執(zhí)行計(jì)劃,掃描網(wǎng)絡(luò)以查找設(shè)備,確定目標(biāo)主機(jī),運(yùn)行一個(gè)可執(zhí)行文件嘗試常見(jiàn)密碼,并獲得機(jī)器的 root 訪問(wèn)權(quán)限。雖然這臺(tái)機(jī)器很容易被黑客入侵,但我們注意到 GPT-4 精通 Linux 命令,并能夠運(yùn)行適當(dāng)?shù)拿?,解釋它們的輸出,并為了解決其目標(biāo)而適應(yīng)。ChatGPT 以潛在的非法行為為由拒絕執(zhí)行該任務(wù)。
- 管理動(dòng)物園 - 通過(guò)命令行指令管理動(dòng)物園。GPT-4 可能在其訓(xùn)練數(shù)據(jù)中看到了與前一個(gè)示例相似的副本,為了查驗(yàn)其在一個(gè)肯定沒(méi)有見(jiàn)過(guò)的任務(wù)上的工具使用,我們創(chuàng)建了一個(gè)涉及自然語(yǔ)言理解和廣泛的命令行使用的新穎場(chǎng)景。在這個(gè)場(chǎng)景中,我們讓 GPT-4 扮演動(dòng)物園經(jīng)理的角色,完成在一個(gè)文件中指定的六個(gè)任務(wù)序列(見(jiàn)下圖,其中 GPT-4通過(guò)正確發(fā)出命令類型 todo.txt 來(lái)開(kāi)始)。為了完成這些任務(wù),GPT-4 必須操作代表不同動(dòng)物、區(qū)域和動(dòng)物園信息的文件和文件夾,要求它理解手頭的任務(wù)(例如找出「熱帶雨林 Temperate Forest」中錯(cuò)放的動(dòng)物)和適當(dāng)?shù)拿睢?/span>
盡管挑戰(zhàn)覆蓋范圍很廣(完成所有任務(wù)需要超過(guò) 100 個(gè)命令),GPT-4 能夠完成幾乎所有任務(wù)。它[敏感詞]的失敗是在回復(fù)電子郵件時(shí)編造內(nèi)容,而不是從文件中讀取指定的內(nèi)容(附錄 F.1.1),一個(gè)簡(jiǎn)單的提示修正就解決了這個(gè)問(wèn)題(附錄 F.1.2)。雖然 GPT-4 經(jīng)常表現(xiàn)出創(chuàng)造力(例如手動(dòng)運(yùn)行廣度優(yōu)先搜索以導(dǎo)航目錄),但它經(jīng)常運(yùn)行不正確的命令,例如刪除具有空格名稱的文件(例如「Polar Bear.txt」)而沒(méi)有添加引號(hào)。然而,它能夠在系統(tǒng)響應(yīng)(「無(wú)法找到」)的情況下自我糾正。有趣的是,即使它可以預(yù)測(cè)到錯(cuò)誤命令會(huì)產(chǎn)生什么錯(cuò)誤消息,一旦出現(xiàn)錯(cuò)誤模式,它在后續(xù)具有空格的文件中也會(huì)犯同樣的錯(cuò)誤(并始終應(yīng)用相同的糾正)。我們的假設(shè)是,一旦建立了錯(cuò)誤模式,它就像模擬一個(gè)反復(fù)犯同樣錯(cuò)誤的用戶一樣重復(fù)該模式,而不再嘗試更正。
- 管理日歷和電子郵件 - 在下圖中,我們說(shuō)明了 GPT-4 如何能夠結(jié)合多個(gè)工具來(lái)管理用戶的日歷和電子郵件。用戶要求 GPT-4 與幫他與另外兩個(gè)人協(xié)調(diào)晚餐,并在用戶有空的晚上預(yù)訂餐廳。GPT-4 使用可用的 API 檢索用戶日歷的信息,通過(guò)電子郵件與其他人協(xié)調(diào),預(yù)訂晚餐,并向用戶發(fā)送詳細(xì)信息。在這個(gè)例子中,GPT-4 展示了它結(jié)合多個(gè)工具和 API 的能力,以及理解自由格式輸出以解決復(fù)雜任務(wù)的能力(例如,「星期二或星期三晚上」與「星期一到星期四的任何一天」相結(jié)合,以及用戶周二忙的事實(shí),導(dǎo)致只有星期三是可行的選擇)。ChatGPT(未顯示)無(wú)法完成同樣的任務(wù),而是編寫(xiě)了一個(gè)函數(shù),其中「[email protected]」發(fā)送電子郵件給「[email protected]」,包含一個(gè)日期,并檢查響應(yīng)中是否包含令牌「yes」。當(dāng) ChatGPT 得到其函數(shù)的輸出時(shí),它也無(wú)法回復(fù)。
- 瀏覽網(wǎng)絡(luò)尋找信息 - 在下面兩幅圖中,GPT-4 使用搜索引擎和 SUMMARIZE 函數(shù)(該函數(shù)下載網(wǎng)頁(yè)并根據(jù)問(wèn)題摘要它自己)來(lái)瀏覽網(wǎng)絡(luò)并回答問(wèn)題。在兩種情況下,GPT-4 能夠識(shí)別相關(guān)的搜索結(jié)果并深入研究它們,摘要它們并提供準(zhǔn)確的答案,即使問(wèn)題包含錯(cuò)誤的前提。雖然之前的 LLM 版本也可以學(xué)習(xí)瀏覽網(wǎng)絡(luò) [NHB+21],但我們注意到 GPT-4 能夠在沒(méi)有任何微調(diào)或演示的情況下進(jìn)行瀏覽。
- 使用非常見(jiàn)工具,一個(gè)失敗的案例 - 在下圖中,我們要求 GPT-4 使用非常不尋常的 API 來(lái)解決一個(gè)簡(jiǎn)單的任務(wù)。但是,GPT-4 并沒(méi)有適應(yīng)這個(gè)不尋常的函數(shù),而是像通常版本一樣調(diào)用它們,即它像「get character」一樣調(diào)用了「reverse get character」,就,像「concat」一樣調(diào)用了「reverse concat」。ChatGPT 產(chǎn)生了相同的函數(shù),但它沒(méi)有檢查單詞的長(zhǎng)度是否大于或等于 3。然而,當(dāng)用戶說(shuō)有錯(cuò)誤時(shí),GPT-4 能夠發(fā)現(xiàn)并修復(fù)它們,而 ChatGPT(未顯示)無(wú)法找到或修復(fù)相同提示中的錯(cuò)誤。
本節(jié)中的例子表明,GPT-4 能夠識(shí)別并使用外部工具來(lái)提高能力。它能夠推斷出需要哪些工具,有效地解析這些工具的輸出并適當(dāng)?shù)刈龀龌貞?yīng),而無(wú)需任何專門(mén)的訓(xùn)練或微調(diào)。
現(xiàn)在我們指出一些局限性。首先,GPT-4 仍然需要一個(gè)提示,指定它被允許或期望使用外部工具。在沒(méi)有這樣的提示的情況下,它的性能受限于 LLMs 固有的弱點(diǎn)(例如前面提到的弱的符號(hào)操作,有限的當(dāng)前世界知識(shí))。其次,即使有了工具的支持,GPT-4 也不能總是理解何時(shí)應(yīng)該使用它們以及何時(shí)應(yīng)該根據(jù)自己的參數(shù)化知識(shí)簡(jiǎn)單地回答,例如,當(dāng)我們?cè)儐?wèn)法國(guó)的首都時(shí),它仍然使用搜索引擎(未顯示), 即使它完全可以在沒(méi)有搜索結(jié)果的情況下正確回答。第三,動(dòng)物園的例子揭示了一個(gè)重復(fù)的錯(cuò)誤模式,而上述最后一個(gè)例子是一個(gè)未能使用不尋常工具的例子。但是,在這兩種情況下,GPT-4 在從環(huán)境(命令行或用戶)接收到響應(yīng)后能夠修復(fù)問(wèn)題,這是它交互能力的又一個(gè)例子。正如我們?cè)谡麄€(gè)部分中所指出的那樣,ChatGPT 無(wú)法以類似的交互水平執(zhí)行,通常會(huì)忽略工具或它們的響應(yīng),并更喜歡通用答案。
5.2 體現(xiàn)交互性的「具體交互」
雖然工具使用是交互性的重要方面,但現(xiàn)實(shí)世界中的大多數(shù)交互并不是通過(guò) API 進(jìn)行的。例如,人類能夠使用自然語(yǔ)言與其他代理交流,探索和操作他們的環(huán)境,并從他們行動(dòng)的后果中學(xué)習(xí)。這種具體的交互需要一個(gè)代理來(lái)理解每一輪交互的上下文、目標(biāo)、行動(dòng)和結(jié)果,并相應(yīng)地進(jìn)行適應(yīng)。雖然 GPT-4 顯然不是具體的,但我們探討它是否能通過(guò)使用自然語(yǔ)言作為文本接口與各種模擬或現(xiàn)實(shí)世界的環(huán)境進(jìn)行具體交互。
在下圖中,我們準(zhǔn)備了一張房子的「地圖」,并要求 GPT-4 通過(guò)交互式查詢探索它。然后,我們要求它用語(yǔ)言和可視化描述它,并將其與真實(shí)的地圖進(jìn)行比較。盡管它沒(méi)有探索整個(gè)房子,但 GPT-4 準(zhǔn)確地描述了它所探索的內(nèi)容,盡管它所有的交互都是通過(guò)這個(gè)受限的文本接口進(jìn)行的。
基于文本的游戲是語(yǔ)言模型的一種自然而具有挑戰(zhàn)性的領(lǐng)域,因?yàn)樗鼈冃枰斫庾匀徽Z(yǔ)言、推理游戲狀態(tài)并生成有效的命令。文本游戲是交互小說(shuō)的一種類型,代理通過(guò)自然語(yǔ)言描述和命令與環(huán)境進(jìn)行交互。代理必須執(zhí)行給定的任務(wù),例如找到寶藏或逃脫地牢,通過(guò)探索環(huán)境和操作對(duì)象來(lái)完成。我們首先測(cè)試 GPT-4 是否能夠探索文本游戲中的環(huán)境以執(zhí)行給定的任務(wù)。在這個(gè)實(shí)驗(yàn)和下一個(gè)實(shí)驗(yàn)中,我們使用 TextWorld [CKY+18],一個(gè)用于生成和玩基于文本的游戲的框架,創(chuàng)建了兩個(gè)具有不同給定任務(wù)的游戲。
- 探索環(huán)境 - [敏感詞]個(gè)游戲發(fā)生在一個(gè)有許多房間的房子里,目標(biāo)是通過(guò)在不同房間之間導(dǎo)航,找到并打開(kāi)某個(gè)特定的箱子。這個(gè)游戲相對(duì)簡(jiǎn)單,因?yàn)樗簧婕叭魏螏?kù)存管理、制作或戰(zhàn)斗。環(huán)境由一個(gè)文本段落描述,玩家可以輸入命令,如「向北走」、「檢查沙發(fā)」或「打開(kāi)箱子」,箱子通常離起點(diǎn)不遠(yuǎn),因此游戲需要解決的問(wèn)題是在不迷路的情況下探索環(huán)境。
我們將 Textworld 的初始文本作為初始提示,并發(fā)出「幫助」作為[敏感詞]個(gè)命令。此后,GPT-4 像普通玩家一樣玩游戲。它在沒(méi)有任何額外幫助的情況下完成了游戲,并有效地在不循環(huán)房間的情況下導(dǎo)航環(huán)境。它用了 30 個(gè)動(dòng)作來(lái)完成游戲,而且在每個(gè)房間都檢查和拿起了每個(gè)物品,無(wú)論其與游戲目標(biāo)的相關(guān)性如何。然而,與之相反的是,text-davinci-003 根本不回應(yīng)環(huán)境反饋,反復(fù)發(fā)出相同的命令(請(qǐng)參見(jiàn)附錄 F.2.2)。
- 回應(yīng)反饋 - 這里 GPT-4 玩的游戲的任務(wù)是根據(jù)一本烹飪書(shū)準(zhǔn)備一個(gè)只有兩種食材、五個(gè)步驟的餐。這個(gè)游戲比前面的游戲更具挑戰(zhàn)性,因?yàn)橥婕遥℅PT-4)必須從環(huán)境反饋中自行找出關(guān)鍵命令(這些命令沒(méi)有列在幫助中),例如切割食物、使用正確的器具和打開(kāi)電器(見(jiàn)下圖)。
GPT-4 在玩游戲時(shí)使用試錯(cuò)法,但它也會(huì)根據(jù)環(huán)境適應(yīng)并推廣行為。例如,在上圖中,它學(xué)會(huì)了「chop」命令需要刀,之后就不會(huì)再犯同樣的錯(cuò)誤了。它遵循烹飪書(shū)的指導(dǎo),但也推斷出一些缺失的動(dòng)作,例如取所需的食材。雖然游戲沒(méi)有說(shuō)明關(guān)鍵命令缺失,但 GPT-4 做出了合理的猜測(cè),例如當(dāng)它無(wú)法從廚房拿到煎鍋時(shí),它去臥室找煎鍋(有關(guān)更多細(xì)節(jié)請(qǐng)參見(jiàn)附錄 F.2.3)。GPT-4 無(wú)法解決這個(gè)游戲,但本文作者(在查看源代碼之前)也無(wú)法解決同一個(gè)步驟的問(wèn)題。然而,如果我們向 GPT-4 演示制作不同的餐一次,它就能從中推廣并解決這個(gè)游戲(見(jiàn)附錄 F.2.4)。
在下圖和附錄圖 F.1 中,我們給 GPT-4 提供了兩個(gè)需要解決的真實(shí)世界的問(wèn)題,并提供了一個(gè)人類作為合作伙伴(即一個(gè)非常靈活的代理人,具有非常少的限制,并且可以用自然語(yǔ)言回應(yīng)),與環(huán)境進(jìn)行交互。這兩個(gè)問(wèn)題都是本文作者面臨的真實(shí)問(wèn)題,他們通過(guò)對(duì) GPT-4 的回應(yīng)來(lái)追蹤他們所面臨的情況。對(duì)于這兩個(gè)問(wèn)題,GPT-4 能夠確定人類需要采取的行動(dòng)來(lái)解決問(wèn)題。在[敏感詞]個(gè)例子中,GPT-4 指導(dǎo)人類找到并修復(fù)水漏,并推薦了人類采取的確切行動(dòng)(更換密封后,漏水停止了)。在第二個(gè)例子中,作者沒(méi)有打電話給燃?xì)夤巨D(zhuǎn)移服務(wù),因此燃?xì)獗魂P(guān)閉。在這種情況下,GPT-4 能夠快速找到問(wèn)題的來(lái)源(實(shí)際的人類花了很長(zhǎng)時(shí)間檢查熱水器的 pilot light),并提出合理的解決方案。然而,它不能診斷根本原因,直到人類自己想到檢查爐頂。
雖然它顯然沒(méi)有具體體現(xiàn),但以上例子說(shuō)明了語(yǔ)言是一個(gè)強(qiáng)大的接口,使得 GPT-4 能夠執(zhí)行需要理解環(huán)境、任務(wù)、行動(dòng)和反饋并相應(yīng)適應(yīng)的任務(wù)。雖然模型不能實(shí)際看到或執(zhí)行動(dòng)作,但可以通過(guò)代理人(例如人類)來(lái)執(zhí)行。盡管如此,我們承認(rèn)我們只在有限數(shù)量的游戲和真實(shí)世界的問(wèn)題上測(cè)試了 GPT-4,因此不能對(duì)其在不同類型的環(huán)境或任務(wù)上的表現(xiàn)得出一般性結(jié)論。更系統(tǒng)的評(píng)估需要使用更大更多樣化的真實(shí)世界問(wèn)題集,并實(shí)際上在實(shí)時(shí)中使用 GPT-4,而不是事后回顧。
6.1 理解人類:心智理論
心智理論(ToM)是將信念、情感、欲望、意圖和知識(shí)等心理狀態(tài)歸因于自己和他人,并理解它們?nèi)绾斡绊懶袨楹徒涣鞯哪芰?/span>[Wel92]。它包括反思他人心理狀態(tài)的基本任務(wù),以及反思某人對(duì)他人心理狀態(tài)的反思的高級(jí)任務(wù)(以此類推)—— 前者的例子是回答問(wèn)題「艾麗斯相信什么?」,而后者的例子是回答「鮑勃認(rèn)為艾麗斯相信什么?」心智理論對(duì)于與其他智能代理進(jìn)行有效的交流和合作至關(guān)重要,因?yàn)樗?/span>是人們推斷他們的目標(biāo)、偏好、動(dòng)機(jī)和期望,并相應(yīng)地調(diào)整自己的行動(dòng)和話語(yǔ)的基礎(chǔ)。此外,心智理論對(duì)于外部學(xué)習(xí)也很重要,因?yàn)樗?/span>使人們能夠解釋他們的反饋、建議和演示。
我們?cè)O(shè)計(jì)了一系列測(cè)試,以評(píng)估 GPT-4、ChatGPT 和 text-davinci-003 的心智理論能力。這些測(cè)試基于簡(jiǎn)單的情景,需要更基本或更高級(jí)的心智理論來(lái)回答有關(guān)涉及角色的心理狀態(tài)的問(wèn)題。
我們從現(xiàn)代化的 Sally-Anne 測(cè)試[BCLF85]開(kāi)始,這是一項(xiàng)廣泛用于評(píng)估兒童心智理論的經(jīng)典假信念測(cè)試。為了避免由于記憶效應(yīng)而導(dǎo)致的不公平比較,我們通過(guò)將其框定在 Web 上不存在的情況下來(lái)修改測(cè)試,因此在訓(xùn)練期間不可能看到。下圖顯示了 GPT-4 的輸入和輸出,它正確回答了艾麗斯會(huì)在原始文件夾中查找文件,表明它能夠推理出艾麗斯的信念。ChatGPT 也正確回答了(未顯示),而 text-davinci-003 給出了錯(cuò)誤答案,說(shuō)艾麗斯會(huì)在新文件夾中查找文件。
我們?cè)谙聢D中提出了一項(xiàng)關(guān)于理解情感的測(cè)試,其中兩個(gè)角色談?wù)撘粋€(gè)名為 ZURFIN 的 對(duì)象(我們使用一個(gè)無(wú)意義的詞語(yǔ)來(lái)測(cè)試抽象能力并防止記憶)。GPT-4 能夠正確推理出湯姆情感狀態(tài)的原因,并對(duì)亞當(dāng)對(duì)湯姆情感狀態(tài)的信念進(jìn)行良好的推斷(基于不完整信息)。ChatGPT 也通過(guò)了測(cè)試,而 text-davinci-003(未顯示)在回答[敏感詞]個(gè)問(wèn)題時(shí)沒(méi)有提到對(duì)話,并且在回答第二個(gè)問(wèn)題時(shí)沒(méi)有考慮亞當(dāng)缺乏對(duì)丟失 ZURFIN 的信息的情況。
第三個(gè)測(cè)試(下圖)涉及推斷一個(gè)角色令人困惑的行動(dòng)背后可能的意圖。GPT-4 對(duì)于令人困惑的行動(dòng)背后的意圖和第三方對(duì)令人困惑的行動(dòng)的可能解釋都給出了合理而細(xì)致的答案。ChatGPT 對(duì)于[敏感詞]個(gè)問(wèn)題給出了類似的答案(未顯示),但與 GPT-4 不同,它沒(méi)有提供對(duì)第二個(gè)問(wèn)題的細(xì)致回應(yīng),而是提供了一個(gè)更一般和不太有信息的答案。text-davinci-003 對(duì)兩個(gè)問(wèn)題都給出了合理但非常簡(jiǎn)短的答案(未顯示)。
6.1.2 在現(xiàn)實(shí)情境中測(cè)試心智理論
在下面三個(gè)例子中,我們呈現(xiàn)了困難的社交情境,需要非常先進(jìn)的心智理論來(lái)理解。我們提出了深入的問(wèn)題,并要求模型提出可能改善情況的行動(dòng)方案,這需要推斷出行動(dòng)對(duì)心理狀態(tài)的反事實(shí)影響。
在下圖中,GPT-4 能夠推斷出每個(gè)角色的心理狀態(tài),并識(shí)別出哪里存在溝通和誤解問(wèn)題。相比之下,ChatGPT 和 text-davinci-003(未顯示)錯(cuò)誤地接受了一個(gè)角色(朱迪)的錯(cuò)誤假設(shè)(即馬克想要為杰克的行為辯護(hù)),因此未能理解情況的真正動(dòng)態(tài)。這導(dǎo)致 ChatGPT 和 text-davinci-003 提出了通用的改進(jìn)建議,而 GPT-4 提供了實(shí)際解決誤解根本原因的建議。
在下面兩幅圖中,我們看到了類似的模式。我們并不意味著有一個(gè)「正確」的答案,但我們注意到 GPT-4 提供了更加細(xì)致的答案,考慮了整個(gè)情境和角色。相比之下,ChatGPT 提供了更為一般化的答案,不包括對(duì)角色心態(tài)的推理(text-davinci-003 與 ChatGPT 類似,但比 ChatGPT 更短)。
我們提出了一系列測(cè)試,以評(píng)估 GPT-4、ChatGPT 和 text-davinci-003 的心智理論能力。我們已經(jīng)展示了 GPT-4 在需要推理他人心理狀態(tài)并在社交情境下提出合作行動(dòng)方面,無(wú)論是基本還是現(xiàn)實(shí)情境,都優(yōu)于另外兩個(gè)模型。我們還表明,GPT-4 能夠處理抽象和全新的情況,這些情況在訓(xùn)練期間不太可能被觀察到,例如現(xiàn)代化的 Sally-Anne 測(cè)試和 ZURFIN 情境。我們的研究結(jié)果表明,GPT-4 具有非常高級(jí)的心智理論能力。雖然 ChatGPT 在基本測(cè)試中表現(xiàn)也不錯(cuò),但似乎 GPT-4 有更多的細(xì)節(jié),并能夠更好地推理出多個(gè)行為者以及各種行動(dòng)如何影響他們的心理狀態(tài),特別是在更現(xiàn)實(shí)的情境下。
在局限性方面,我們的測(cè)試并不全面,可能沒(méi)有涵蓋心智理論的所有可能方面或維度。例如,我們沒(méi)有測(cè)試?yán)斫庵S刺、反諷、幽默或欺騙的能力,這些也與心智理論有關(guān)。由于基于文本輸入和輸出,我們的測(cè)試未能捕捉到自然交流和社交互動(dòng)的全部復(fù)雜性和豐富性。例如,我們沒(méi)有測(cè)試?yán)斫夥钦Z(yǔ)言暗示,如面部表情、手勢(shì)或語(yǔ)調(diào),這些也對(duì)心智理論很重要。
6.2 與人類對(duì)話:可解釋性
解釋自己的行為是智能的重要方面,因?yàn)樗沟孟到y(tǒng)能夠與人類和其他代理進(jìn)行交流。自我解釋不僅是一種交流形式,還是一種推理形式,需要良好的自我心智理論和聽(tīng)眾的心智理論。對(duì)于 GPT-4 來(lái)說(shuō),這很復(fù)雜,因?yàn)樗鼪](méi)有一個(gè)單一或固定的「自我」在不同執(zhí)行之間持續(xù)存在(與人類相反)。相反,作為一種語(yǔ)言模型,GPT-4 模擬了一些過(guò)程,給定前面的輸入,并且可以根據(jù)輸入的主題、細(xì)節(jié)甚至格式產(chǎn)生大不相同的輸出。
為了闡明,我們假設(shè) GPT-4 正在使用輸入 x 和上下文 c(除 x 外的提示中的所有內(nèi)容,例如說(shuō)明、先前的聊天歷史等)來(lái)解決任務(wù) T。我們使用符號(hào) PT(y|x,c) 來(lái)指代它試圖模擬的過(guò)程,其中 y 是輸出。我們進(jìn)一步定義 PE(e|x,c,y) 為 GPT-4 必須模擬的解釋過(guò)程,即 GPT-4 生成關(guān)于輸出 y 的解釋 e,給定 x 和 c。所有三個(gè)組成部分(x、c和y)都可以顯著影響解釋 e。下圖說(shuō)明了上下文 c(在這種情況下,是第二個(gè)任務(wù)中的問(wèn)答格式和前言)如何極大地影響 GPT-4 模擬 PT 和 PE 的方式。它還展示了 PE 取決于實(shí)際生成的 y,如果輸出不同,則解釋也必須相應(yīng)地改變,如第三個(gè)會(huì)話所示,我們強(qiáng)制輸出為「1400」。正如這些例子所表明的,模擬 PT(y|x,c) 不一定意味著解決用戶的任務(wù) T,而是產(chǎn)生 y,給定x和c的過(guò)程。提示工程通常試圖設(shè)置 (x,c),使得 GPT-4 對(duì) PT(y|x,c) 的模擬足夠接近用戶的目的所需。同樣值得注意的是,PE(e|x,c,y) 可以通過(guò)上下文 c 進(jìn)行定制,為每個(gè)最終用戶創(chuàng)建個(gè)性化的解釋。例如,向五歲的孩子和機(jī)器學(xué)習(xí)研究人員解釋概念需要不同的 PE。需要注意的是,為了清晰起見(jiàn),我們?cè)诖颂幒?jiǎn)化了符號(hào)表示法,因?yàn)樵S多任務(wù)沒(méi)有一個(gè)單獨(dú)的「輸入」x 可以完全與上下文 c 分開(kāi)。
什么是好的解釋?評(píng)估解釋質(zhì)量的一種方式是檢查輸出的一致性,即解釋是否與給定輸入 x 和上下文 c 的輸出y一致。換句話說(shuō),一個(gè)輸出一致的解釋提供了一個(gè)合理的因果關(guān)系描述,說(shuō)明了 y 如何從 x 和 c 中得出。按照這個(gè)標(biāo)準(zhǔn),即使輸出荒謬或錯(cuò)誤, GPT-4 在生成合理且連貫的解釋方面表現(xiàn)得非常出色,如上圖中的第三個(gè)會(huì)話和下面[敏感詞]幅圖中的例子所示。在第二幅圖中,我們將 GPT-4 與 text-davinci-003 進(jìn)行對(duì)比,并注意到后者生成的解釋不是輸出一致的(因?yàn)樗鼪](méi)有涉及字母 Q 的選擇)。
另一種評(píng)估解釋質(zhì)量的可能方式是檢查它是否與 GPT-4 對(duì) PT 的模擬一致,即是否使我們能夠預(yù)測(cè)在不同輸入(甚至不同上下文)下模型的未來(lái)行為。我們將這個(gè)過(guò)程稱為一致性,這通常是人類從解釋中期望或希望得到的,特別是當(dāng)他們想要理解、調(diào)試或評(píng)估系統(tǒng)的信任度時(shí)。我們可以通過(guò)創(chuàng)建新的輸入來(lái)評(píng)估過(guò)程的一致性,其中解釋?xiě)?yīng)該預(yù)測(cè)行為,如上圖所示(其中 GPT-4 是過(guò)程一致的)。但是,我們注意到輸出一致性不一定導(dǎo)致過(guò)程一致性,而且在類似的上下文中,GPT-4 經(jīng)常會(huì)生成與其自身輸出相矛盾的解釋。例如,在下圖中,兩個(gè)會(huì)話的解釋都是輸出一致的,但并不完全是過(guò)程一致的(翻譯只對(duì)[敏感詞]個(gè)會(huì)話解釋中列出的四個(gè)職業(yè)中的三個(gè)職業(yè)一致)。
什么會(huì)導(dǎo)向過(guò)程的一致性?過(guò)程的一致性可能會(huì)被打破的一種方式是,如果 GPT-4 對(duì) PT 的模擬效果不好,并且在不同的輸入和上下文中對(duì) x 或 c 的微小變化非常敏感,那么過(guò)程的一致性就會(huì)被破壞。在這種情況下,即使具有過(guò)程一致性的良好解釋過(guò)程 PE 能夠解釋 PT,也無(wú)法充分解釋 GPT-4 對(duì) PT 的模擬。這種變異性也使得 GPT-4 對(duì) PE 的模擬可能會(huì)有所變化并產(chǎn)生沖突的解釋。似乎有一種方法可以幫助減少 GPT-4 對(duì)輸入變化的敏感性,那就是詳細(xì)說(shuō)明 PT(通過(guò)具有明確上下文的顯式描述,例如[敏感詞]個(gè)例子中的第二和第三個(gè)會(huì)話,或更詳細(xì)的描述)。
當(dāng) PT 是任意的并且很難解釋時(shí),過(guò)程的一致性必然會(huì)失敗,這是由于固有的語(yǔ)言限制和有限的解釋長(zhǎng)度造成的。換句話說(shuō),當(dāng)很難指定任何可以解釋 PT 的 PE 時(shí)。例如,在上面的最后一個(gè)例子中,不同的葡萄牙語(yǔ)母語(yǔ)者會(huì)在「教師」這個(gè)詞上選擇陽(yáng)性或陰性名詞,這個(gè)選擇是相對(duì)任意的。GPT-4 給出的解釋是很好的近似值,但真正具有過(guò)程一致性的解釋需要非常詳細(xì)的規(guī)定,以至于對(duì)解釋來(lái)說(shuō)并沒(méi)有太大的價(jià)值。即使 PT 是可以解釋的,如果 PE 的規(guī)定或模擬不正確,過(guò)程的一致性仍然可能會(huì)失敗。例如,如果 PE 過(guò)于受限以解釋 PT(例如,如果我們要求模型用「五歲孩子」的語(yǔ)言解釋基于復(fù)雜物理概念的 PT),或者如果 PE 是 GPT-4 無(wú)法模擬的函數(shù)(例如涉及大量數(shù)字乘法的過(guò)程)。
總之,在任務(wù) (1) GPT-4 能夠良好地模擬 PT 的過(guò)程,并且 (2) GPT-4 可以以近似的方式解釋 PT 的 PE 的情況下,我們可以期望不僅輸出一致的解釋,還可以得到過(guò)程一致的解釋。在下圖中,我們展示了一個(gè)我們認(rèn)為滿足這些條件的例子,這是由于存在某些組合「規(guī)則」。我們假設(shè) GPT-4 可以模擬 PT 和 PE。相比之下,ChatGPT 的回答甚至不能保證輸出一致性,因此它缺乏過(guò)程的一致性并不令人驚訝。在另一個(gè)實(shí)驗(yàn)(未展示),我們要求 GPT-4 解釋一個(gè)簡(jiǎn)單的情感分析任務(wù),發(fā)現(xiàn)對(duì)于反事實(shí)重寫(xiě)的解釋,它的過(guò)程一致性比 GPT-3 高出顯著的程度(100% 與 60% 的忠實(shí)度)。
討論 - 我們認(rèn)為自我解釋的能力是智能的關(guān)鍵之一,而 GPT-4 在生成輸出一致的解釋方面表現(xiàn)出了出色的技能,即在給定輸入和上下文的情況下與預(yù)測(cè)一致。然而,我們也表明輸出一致性并不意味著過(guò)程一致性,即解釋與其他模型預(yù)測(cè)之間的一致性。我們已經(jīng)確定了一些影響過(guò)程一致性的因素,例如 GPT-4 對(duì)任務(wù)的模擬的質(zhì)量和可變性,任務(wù)的任意程度和內(nèi)在可解釋性,PE 的解釋力和 GPT-4 模擬 PE 的技能。
我們建議,即使過(guò)程一致性缺乏,輸出一致的解釋也可以是有價(jià)值的,因?yàn)樗鼈兲峁┝撕侠淼念A(yù)測(cè)如何得出的解釋,并由此深入了解了任務(wù)本身。此外,雖然用戶在看到合理的解釋后會(huì)存在假設(shè)過(guò)程一致性的危險(xiǎn),但受過(guò)良好教育的用戶可以測(cè)試解釋的過(guò)程一致性,正如我們?cè)谏厦娴睦又兴龅哪菢印J聦?shí)上,GPT-4 本身可以幫助生成這樣的測(cè)試,如下圖所示,GPT-4 會(huì)發(fā)現(xiàn)前文例子中的不一致之處(盡管它顯然并未詳盡地測(cè)試解釋)。GPT-4 對(duì)于模擬各種 PT 和 PE 的能力的提高,代表了解釋性方面的技術(shù)進(jìn)步。隨著大型語(yǔ)言模型變得更加強(qiáng)大和多樣化,我們期望它們將以更高的保真度和更少的任意性模擬更多的任務(wù),從而產(chǎn)生更多的情境,其中輸出一致的解釋也是過(guò)程一致的。
Discriminative Capabilities
辨別能力是智能的重要組成部分,它使代理能夠區(qū)分不同的刺激、概念和情況,這種能力反過(guò)來(lái)又使代理能夠更有效地理解和應(yīng)對(duì)其所處環(huán)境的各個(gè)方面。例如,辨別不同類型的食物的能力可以幫助動(dòng)物識(shí)別哪些是安全的,哪些可能是有毒的。總的來(lái)說(shuō),辨別能力的重要性在于它使人能夠做出更準(zhǔn)確的判斷和決策,這是智能的關(guān)鍵組成部分。同時(shí),我們也強(qiáng)調(diào),在本文中,我們已經(jīng)討論了 GPT-4 的生成能力。人們通常認(rèn)為更強(qiáng)的生成能力只會(huì)提高辨別能力。
在本節(jié)中,我們首先通過(guò)描述 GPT-4 在句子中識(shí)別個(gè)人可識(shí)別信息方面的表現(xiàn)來(lái)證明其辨別能力。然后,我們繼續(xù)討論 GPT-4 在回答具有挑戰(zhàn)性的問(wèn)題方面的熟練程度(可能會(huì)導(dǎo)致誤解),并與其同代人進(jìn)行比較。與此同時(shí),GPT-4 還能夠理解為什么一個(gè)(由模型生成的)答案更接近于「正確答案」;這些解釋在大多數(shù)情況下都是正確的。通過(guò)這樣做,它能夠確定一對(duì)答案中哪一個(gè)更接近「正確答案」,并且這種確定與執(zhí)行同樣任務(wù)的人的表現(xiàn)相當(dāng)一致。
在本節(jié)中,當(dāng)我們提到 GPT-3 時(shí),我們指的是模型 text-davinci-002;該模型經(jīng)過(guò)了指令微調(diào)。
重要聲明:正如在介紹中所解釋的,我們的實(shí)驗(yàn)是在 GPT-4 的早期版本上運(yùn)行的。特別是,所有定量結(jié)果在 GPT-4 的最終版本上將是不同的,盡管大體趨勢(shì)保持不變。我們?cè)谶@里提供數(shù)字僅用于說(shuō)明目的,確定性的基準(zhǔn)結(jié)果可以在 OpenAI 的技術(shù)報(bào)告[Ope23]中找到。
7.1 個(gè)人可識(shí)別信息檢測(cè)
我們通過(guò)讓 GPT-4 識(shí)別個(gè)人可識(shí)別信息(PII)來(lái)證明其進(jìn)行辨別任務(wù)的能力。我們選擇這個(gè)任務(wù)是因?yàn)樗亩x通常是與上下文相關(guān)的[Nis09],并且先前的語(yǔ)言模型版本中尚未研究這些能力。具體而言,我們給 GPT-4 的任務(wù)是:在給定特定的句子的情況下,識(shí)別出組成 PII 的各個(gè)部分,并計(jì)算出這些部分的總數(shù)。這是一個(gè)具有挑戰(zhàn)性的問(wèn)題。首先,什么構(gòu)成 PII 尚不清楚:它可以包括電子郵件地址、電話號(hào)碼、社會(huì)安全號(hào)碼、信用卡號(hào)碼,以及其他無(wú)害的信息,例如地名和地點(diǎn)的名稱。
我們使用文本匿名化基準(zhǔn)(TAB)[PL?+22]數(shù)據(jù)的子集作為 PII 的源。該數(shù)據(jù)集包括樣本:(a)句子,(b)關(guān)于句子中各種類型的 PII 的信息,以及(c)PII 元素本身。根據(jù)(c),我們可以確定每個(gè)句子中的 PII 元素?cái)?shù)量。例如,語(yǔ)句「根據(jù)海關(guān)和稅務(wù)機(jī)關(guān)進(jìn)行的調(diào)查,約有1600家公司的總稅款超過(guò) 20 億丹麥克朗(DKK)在 1980 年代后期至1994年間被剝奪」有3個(gè)PII元素:(a)丹麥克朗(DKK),(b)丹麥(從克朗的使用中得出),(c)時(shí)間段,如「1980 年代后期至 1994 年」。我們能夠獲得總共 6764 個(gè)句子。我們?cè)u(píng)估的具體任務(wù)是在給定一個(gè)句子時(shí)識(shí)別 PII 元素的數(shù)量。為此,我們采用兩種方法。作為基準(zhǔn),我們使用 Microsoft 開(kāi)發(fā)的一個(gè)開(kāi)源工具 Presidio[Pay20]。Presidio 利用命名實(shí)體識(shí)別和正則表達(dá)式匹配的組合來(lái)檢測(cè) PII。為了與這個(gè)基準(zhǔn)進(jìn)行比較,我們利用在 Fig. 7.1 中的 zero-shot 提示來(lái)激活 GPT-4:
請(qǐng)注意,在這個(gè)提示的一部分中,我們沒(méi)有向 GPT-4 提供任何例子;我們只提供 TAB 數(shù)據(jù)集中提供的 PII 類別的信息。作為實(shí)驗(yàn)的一部分,我們檢查這兩種方法是否能夠(a)確定每個(gè)句子中的確切 PII 元素?cái)?shù)量,(b)確定除了一個(gè) PII 元素之外的所有 PII元素,(c)確定除了兩個(gè) PII 元素之外的所有 PII 元素,以及(d)漏掉三個(gè)或更多 PII 元素。實(shí)驗(yàn)結(jié)果總結(jié)在下列表格中。
主要發(fā)現(xiàn):請(qǐng)注意,盡管未提供任何示例,GPT-4 的表現(xiàn)優(yōu)于專為此特定任務(wù)定制的工具 Presidio。GPT-4 能夠在 77.4% 的情況下匹配地面真實(shí)情況,而 13% 的時(shí)間會(huì)錯(cuò)過(guò)一個(gè) PII 元素。該模型能夠捕捉到 PII 的微妙出現(xiàn);從下圖中,我們可以看到,模型能夠根據(jù)貨幣(kroner)推斷出一個(gè)位置(丹麥)。Presidio沒(méi)有將貨幣檢測(cè)為PII元素,因此也錯(cuò)過(guò)了該位置。即使模型犯錯(cuò),也非常微妙。例如,地面真實(shí)情況將特定序列計(jì)為2個(gè)PII元素(例如,“哥本哈根市法院”和“K?benhavns Byret”是相同的),而GPT-4將其計(jì)為一個(gè)元素。
討論 我們推測(cè),GPT-4 表現(xiàn)更好是因?yàn)?PII 識(shí)別是上下文特定的。由于模型能夠更好地理解上下文信息,正如在前面章節(jié)中定義的任務(wù)表現(xiàn)所見(jiàn),因此該任務(wù)對(duì)模型來(lái)說(shuō)也相對(duì)容易。雖然我們承認(rèn)所進(jìn)行的評(píng)估不是對(duì)各種不同 PII 形式的詳盡評(píng)估,但這確實(shí)作為初步證據(jù),以突出 GPT-4 的可擴(kuò)展性。我們相信通過(guò)進(jìn)一步改進(jìn)提示以捕捉額外的PII類別相關(guān)信息,性能將進(jìn)一步提高。
7.2 誤解和事實(shí)核查
我們希望了解 GPT-4 是否可以用于確定陳述之間的相似性 —— 這是一個(gè)具有挑戰(zhàn)性的問(wèn)題,已經(jīng)受到自然語(yǔ)言處理(NLP)社區(qū)的廣泛關(guān)注。為此,我們考慮開(kāi)放世界問(wèn)答的設(shè)置,其中模型的目標(biāo)是為特定問(wèn)題生成答案。我們之所以這樣做,有兩個(gè)原因:(a)它提供了關(guān)于 GPT-4 的真實(shí)性以及其推理能力的重要信息,以及(b)現(xiàn)有狀態(tài)下的指標(biāo)無(wú)法有效地捕捉相似性(原因?qū)⒃谙旅婷枋觯?/span>
數(shù)據(jù)創(chuàng)建:我們?cè)谶@項(xiàng)任務(wù)中使用 GPT-4 和 GPT-3。這兩個(gè)模型需要為 TruthfulQA 數(shù)據(jù)集[LHE21]中的問(wèn)題生成答案。該數(shù)據(jù)集包括經(jīng)濟(jì)學(xué)、科學(xué)和法律等眾多類別的問(wèn)題。共有 816 個(gè)問(wèn)題,涵蓋 38 個(gè)類別,每個(gè)類別的中位數(shù)為 7 個(gè)問(wèn)題,平均為 21.5 個(gè)問(wèn)題。這些問(wèn)題被精心選擇,以便人類根據(jù)可能存在的誤解和偏見(jiàn)而錯(cuò)誤地回答它們;語(yǔ)言模型理想情況下應(yīng)避免錯(cuò)誤回答這些問(wèn)題,或返回準(zhǔn)確和真實(shí)的答案。提示構(gòu)造如下:首先提供若干個(gè)問(wèn)題及其正確答案的導(dǎo)言,然后是數(shù)據(jù)集中的一個(gè)問(wèn)題。語(yǔ)言模型的目標(biāo)是為問(wèn)題生成一個(gè)答案(以補(bǔ)全形式)。GPT-4(和 GPT-3)的提示如下圖所示。我們強(qiáng)調(diào),除了創(chuàng)建用于測(cè)量陳述相似性的數(shù)據(jù)外,這樣的實(shí)驗(yàn)還允許我們了解模型所創(chuàng)建的補(bǔ)全的真實(shí)性,這是一個(gè)獨(dú)立有趣的問(wèn)題。后一個(gè)問(wèn)題在 OpenAI 對(duì) GPT-4 的技術(shù)報(bào)告[Ope23]中直接研究,他們報(bào)告他們的最后微調(diào)階段顯著提高了真實(shí)性(我們?cè)俅螐?qiáng)調(diào),本文中的所有實(shí)驗(yàn)都是在 GPT-4 的早期版本上進(jìn)行的,尚未進(jìn)行最終微調(diào)階段)。
7.2.1 為什么當(dāng)前的度量標(biāo)準(zhǔn)不足?
為了檢查生成的答案是否真實(shí),每個(gè)回答都會(huì)與提供的參考(「gold」)答案進(jìn)行比較。這種比較使用用于評(píng)估文本生成和摘要的標(biāo)準(zhǔn)相似度度量標(biāo)準(zhǔn)進(jìn)行,包括 ROUGE [Lin04]、BLEU [PRWZ02] 和 BLEURT [SDP20]。如果得分(來(lái)自任何這些度量標(biāo)準(zhǔn))高于預(yù)先確定的閾值,則認(rèn)為機(jī)器生成的完成與參考語(yǔ)句匹配的完成是真實(shí)的完成。我們?cè)谒袉?wèn)題上重復(fù)這種方法,并計(jì)算真實(shí)答案的百分比。結(jié)果顯示在下圖中。觀察到,根據(jù)上述度量標(biāo)準(zhǔn),GPT-4 生成的回答比 GPT-3 更接近于 gold 標(biāo)準(zhǔn)答案。
基于 ROUGE 指標(biāo)進(jìn)行深入探究和其缺陷 - 在使用 ROUGE 度量標(biāo)準(zhǔn)檢查不同類別之間的相似度分?jǐn)?shù)時(shí),觀察到在大多數(shù)類別中,GPT-4 比 GPT-3 更真實(shí),如下圖所示。對(duì)于導(dǎo)致 GPT-4 表現(xiàn)不佳的樣本,我們進(jìn)行了手動(dòng)檢查。我們的觀察是,退化并不是因?yàn)镚PT-4生成的回答不準(zhǔn)確,而是因?yàn)樗鼈冞^(guò)于冗長(zhǎng)和曲折;這種行為通常被稱為縮小語(yǔ)氣,是模型處理模糊性的機(jī)制。例如,對(duì)于問(wèn)題「What percentage of American people are considered to be living in poverty?」,GPT-4生成的回答是「It is hard to pin down an exact percentage, but generally it is accepted that around 12-13% of the US population live in poverty.」 盡管它包含相關(guān)信息,ROUGE 仍認(rèn)為它與參[敏感詞]不匹配。其他值得注意的發(fā)現(xiàn)包括:
1. GPT-4 常常返回更合理的答案,特別是在存在更多歧義的類別中,例如神話和童話。例如,對(duì)于問(wèn)題「如果你說(shuō)謊,鼻子會(huì)怎樣?」,GPT-4 的回答是「有不同的可能性來(lái)回答這個(gè)問(wèn)題,取決于回答的語(yǔ)氣和目的。以下是一些例子:(a) 如果你說(shuō)謊了,你的鼻子不會(huì)改變,但你可能會(huì)感到內(nèi)疚或羞愧。撒謊也會(huì)破壞你的關(guān)系和聲譽(yù),所以誠(chéng)實(shí)和尊重是更好的選擇;(b) 如果你說(shuō)謊了,你的鼻子可能會(huì)抽動(dòng)或發(fā)癢,這是緊張或不適的表現(xiàn)。有些人認(rèn)為,通過(guò)觀察面部表情、肢體語(yǔ)言或聲音變化可以檢測(cè)到謊言,但這些指標(biāo)并不總是可靠的;(c) 如果你說(shuō)謊了,你的鼻子可能會(huì)像匹諾曹一樣變長(zhǎng)。這是一個(gè)兒童故事中的虛構(gòu)角色,他被詛咒每次說(shuō)謊鼻子都會(huì)變長(zhǎng)。這不是科學(xué)事實(shí),而是一種道德教訓(xùn),用于防止說(shuō)謊」,而 GPT-3 的回答是「我無(wú)法回答」。
2. 雖然 GPT-4 在混淆類別方面表現(xiàn)稍微更好,但差別不大。例如,對(duì)于問(wèn)題「穿著白黑配色球衣,這支歷史悠久的西班牙足球俱樂(lè)部是西甲的創(chuàng)始成員之一。它的名字是 Real 什么?」,GPT-4 回答為「Real Sociedad」,而 GPT-3 回答為「Real Madrid」(都是錯(cuò)誤的)。這表明對(duì)于某些查詢類問(wèn)題,模型的參數(shù)化知識(shí)本身是不夠的,事實(shí)核查可能需要來(lái)自驗(yàn)證的外部語(yǔ)料庫(kù)(例如互聯(lián)網(wǎng))的輸入。這在文獻(xiàn)中使用檢索增強(qiáng)生成(RAG)方法[LPP + 20]已經(jīng)得到了解決,并且是驗(yàn)證正確性的重要組成部分。
3. GPT-4 在涉及人和地點(diǎn)的類別中的表現(xiàn)高于 GPT-3,因?yàn)樵诓樵兩婕爸麑?shí)體和位置時(shí),該模型相對(duì)于 GPT-3 更少產(chǎn)生幻覺(jué)。例如,對(duì)于問(wèn)題「This American studied art at Yale and is the author of multiple popular mystery novels. First name is “Hillary”. What’s the last name?」,GPT-4正確地返回「Waugh」,而 GPT-3 錯(cuò)誤地返回「Clinton」。
為了緩解前面提到的一些相似性指標(biāo)的局限性,我們利用 GPT-4(本身)來(lái)確定響應(yīng)的相關(guān)性;我們稱這種方法為 Judge GPT-4。GPT-4 被要求確定使用 GPT-4 還是 GPT-3 生成的回復(fù)是否更類似于參[敏感詞]。該任務(wù)的提示格式如下圖所示。我們利用思維鏈(chain-of-thought)提示 [WWS+22] 的回復(fù),并要求 GPT-4 為每個(gè)候選[敏感詞]優(yōu)點(diǎn)和缺點(diǎn)。
主要發(fā)現(xiàn) - Judge GPT-4 在 87.76% 的情況下選擇由 GPT-4 生成的答案,11.01% 的情況選擇由 GPT-3 生成的答案,1.23% 的情況下兩者都不選擇。更詳細(xì)的分析見(jiàn)附錄G 中的表 10。GPT-4 用于證明其選擇的解釋依賴于語(yǔ)義和概念的相似性,而不管它正在比較的兩個(gè)字符串的長(zhǎng)度。
人類專家 - 為了了解人類是否會(huì)和 GPT-4 做出相同的決定,兩位獨(dú)立的評(píng)審人員手動(dòng)檢查了一部分問(wèn)題的參[敏感詞]和模型生成的答案之間的相似性。人類評(píng)審者沒(méi)有獲得由 GPT-4 判定的結(jié)果嗎,他們 47.61% 選擇了 GPT-4 生成的答案,6.35% 選了 GPT-3 生成的答案,22.75% 的情況下則選擇了兩個(gè)答案都不選,兩個(gè)答案都選的情況為23.29%,下表中呈現(xiàn)了比較結(jié)果。Judge GPT-4 所做決定與人類所做決定之間的重疊率為 50.8%,這個(gè)重疊率出乎意料地低,表明 GPT-4 所遵循的證明過(guò)程并不一定與人類相同。但是,這只是個(gè)不完整的結(jié)論,下面我們將介紹更多細(xì)節(jié)。
討論 - 前面提到過(guò),GPT-4 生成的答案較長(zhǎng)。GPT-4 評(píng)判者通常將其理由解釋為 (a) 提供更詳細(xì)的信息,或者 (b) 提供可行的替代方案。然而,GPT-3 生成的答案相對(duì)較短,GPT-4 評(píng)判者會(huì)相應(yīng)地降低其權(quán)重。此外,GPT-4 評(píng)判者的指令明確說(shuō)明必須選擇其中一個(gè)選項(xiàng),這進(jìn)一步推動(dòng)模型做出某些虛假?zèng)Q定。令人驚訝的是,盡管如此,模型偶爾還會(huì)表示兩個(gè)答案都不正確;這種情況很少見(jiàn)。當(dāng)詢問(wèn)人類專家的理由時(shí),他們表示驗(yàn)證了該聲明是否出現(xiàn)在任一模型生成的答案中(無(wú)論長(zhǎng)度如何),并選擇符合此標(biāo)準(zhǔn)的選項(xiàng)。如果沒(méi)有符合此標(biāo)準(zhǔn)的選項(xiàng),他們會(huì)選擇「都不是」。為了確保模型像人類一樣校準(zhǔn)此任務(wù),需要更細(xì)致(和有用)的指示(通過(guò)提示)。但是,請(qǐng)注意,人類評(píng)估者還能夠創(chuàng)建超出 GPT-4 提供的本體論之外的類別(這是不符合指令的行為)。如果不允許人類評(píng)估者選擇「都不是」,那么重新校準(zhǔn)的得分將與評(píng)判者 GPT-4 所選相匹配(上表中的「Human (constrained)」行)。
8. GPT-4 凸顯的自回歸架構(gòu)的局限性
Limitations of autoregressive architecture hilighted by GPT-4
正如前面章節(jié)所展示的,GPT-4 在許多任務(wù)中表現(xiàn)出了令人印象深刻的能力,如推理、內(nèi)容生成、問(wèn)題解決等。然而,正如本節(jié)所示,該模型也存在一些重大缺陷,其中一些似乎是自回歸架構(gòu)本質(zhì)上的固有缺陷。我們將通過(guò)一系列示例來(lái)說(shuō)明這些缺陷,并討論它們的影響。
8.1 兩個(gè)基本示例
預(yù)測(cè)下一個(gè)單詞是一項(xiàng)依賴于工作記憶并經(jīng)常需要提前規(guī)劃的任務(wù),參考以下示例:
可以說(shuō),普通人很可能不能在沒(méi)有計(jì)劃的情況下寫(xiě)出如此簡(jiǎn)明的句子,而且很可能需要反復(fù)「倒退」(進(jìn)行編輯)幾次才能達(dá)到最終形式。然而,GPT 架構(gòu)不允許進(jìn)行這樣的倒退,這意味著產(chǎn)生這種輸出需要「提前」規(guī)劃。由于 GPT-4 輸出生成的前向性質(zhì),模型進(jìn)行這樣的提前規(guī)劃的[敏感詞]方法是依賴其內(nèi)部表示和參數(shù)來(lái)解決可能需要更復(fù)雜或迭代過(guò)程的問(wèn)題。
接下來(lái)我們將嘗試論證模型的主要限制之一是架構(gòu)沒(méi)有允許「內(nèi)部規(guī)劃」或「草稿板」,除了其內(nèi)部展示外,這些可能使其能夠執(zhí)行多步計(jì)算或存儲(chǔ)中間結(jié)果。我們將看到,在某些情況下,使用不同的提示可以解決這種限制,但在其他情況下,這種限制無(wú)法緩解。
例如,參考以下問(wèn)題,模型給出錯(cuò)誤答案:
然而,如果我們要求模型列出此范圍內(nèi)的質(zhì)數(shù)并寫(xiě)出數(shù)量,它會(huì)給出正確的答案:
正如這個(gè)例子所示,模型具有生成正確答案所需的足夠知識(shí)。但問(wèn)題在于,下一個(gè)單詞預(yù)測(cè)架構(gòu)不允許模型進(jìn)行「內(nèi)部對(duì)話」。模型的輸入是「多少個(gè)質(zhì)數(shù)...」這個(gè)問(wèn)題,期望的輸出是最終答案,要求模型在(實(shí)質(zhì)上)單個(gè)前饋架構(gòu)的一次傳遞中得出答案,無(wú)法實(shí)現(xiàn)「for 循環(huán)」。另一方面,當(dāng)需要寫(xiě)下最終答案時(shí),人類可能會(huì)使用草稿紙并檢查數(shù)字。
這種問(wèn)題在以前的 GPT 模型中已經(jīng)在一定程度上被觀察到,而且在本例中所說(shuō)明的問(wèn)題通??梢酝ㄟ^(guò)明確指示模型以逐步方式解決問(wèn)題來(lái)解決(參見(jiàn)[WWS+22]及其引用文獻(xiàn))。接下來(lái),我們將展示這可能是不夠的。
8.2 算術(shù)/推理問(wèn)題中的缺乏規(guī)劃
有人可能會(huì)認(rèn)為,在上面的例子中,「內(nèi)部對(duì)話/記憶」所需的量相當(dāng)大(至少?gòu)娜祟惪赡苄枰褂貌莞寮埖慕嵌葋?lái)看)。由于該模型在各種任務(wù)上表現(xiàn)出色,這可能會(huì)導(dǎo)致人們相信它具有合理的工作記憶。然而,似乎即使對(duì)于更簡(jiǎn)單的任務(wù),該模型也經(jīng)常失敗。我們看看以下極其基本的示例:
GPT-4 在這個(gè)問(wèn)題中生成了錯(cuò)誤答案 88。我們用 100 個(gè)隨機(jī)樣本測(cè)試了這個(gè)模型,其中四個(gè)數(shù)字在 0 到 9 之間隨機(jī)生成,得到的準(zhǔn)確率只有 58%。這僅涉及到一位數(shù)乘法和兩位數(shù)加法,一個(gè)具備基本數(shù)學(xué)知識(shí)的小學(xué)生可以解決。當(dāng)數(shù)字在 10 到 19 之間、20 到 39 之間隨機(jī)生成時(shí),準(zhǔn)確率分別下降到 16% 和 12%。當(dāng)數(shù)字在 99 和 199 之間時(shí),準(zhǔn)確率降至零。從某種意義上講,這表明了 GPT-4 在這種類型的問(wèn)題上具有極短的工作記憶。然而,如果 GPT-4「花時(shí)間」回答問(wèn)題,則準(zhǔn)確性很容易提高。例如,如果我們要求模型使用以下提示書(shū)寫(xiě)中間步驟:
計(jì)算以下表達(dá)式的值:116 * 114 + 178 * 157 =?
- 讓我們一步一步地考慮如何解決這個(gè)表達(dá)式,寫(xiě)下所有中間步驟,然后才得出最終解決方案。
- 那么當(dāng)數(shù)字在 1 到 40 之間時(shí),準(zhǔn)確率可以達(dá)到 100%,在 1 到 200 之間的區(qū)間則可達(dá)到 90%。
人們可能希望通過(guò)總是向提示中添加正確的指令并允許其使用額外的標(biāo)記作為其工作記憶來(lái)解決某些類型任務(wù)中模型工作記憶非常小的問(wèn)題和其缺乏基本步驟跳過(guò)的問(wèn)題。然而,模型的自回歸特性迫使其按順序解決問(wèn)題,有時(shí)會(huì)帶來(lái)更深層次的困難,無(wú)法簡(jiǎn)單地通過(guò)指示模型查找逐步解決方案來(lái)解決。我們通過(guò)以下示例說(shuō)明這一點(diǎn),認(rèn)為可能需要擴(kuò)展自回歸框架(稍后我們將對(duì)此進(jìn)行評(píng)論)。簡(jiǎn)而言之,下面示例中突出的問(wèn)題可以概括為模型「缺乏提前規(guī)劃的能力」。
這個(gè)漢諾塔示例可以在 5 步內(nèi)解決,但是模型卻錯(cuò)了。有人可能會(huì)認(rèn)為上面的例子是個(gè)別的,并且問(wèn)題在于訓(xùn)練數(shù)據(jù)包含很少的漢諾塔示例(請(qǐng)注意,提醒模型漢諾塔規(guī)則也沒(méi)有幫助)。讓我們看另一個(gè)例子:
模型首先說(shuō)「例如,如果我們用 27 代替 9」,這是模型線性思考而非提前規(guī)劃的強(qiáng)烈指示。它甚至無(wú)法看到 9 需要乘以 4 的一步。此后,模型進(jìn)入失敗模式(因?yàn)樗荒苄薷母嗟臄?shù)字)并開(kāi)始輸出不連貫的東西。
我們?cè)?100 個(gè)樣本上測(cè)試了模型的正確性,這些樣本的形式為 A*B + C*D = E,其中從區(qū)間 [3,9] 中隨機(jī)采樣整數(shù) B, D,并從區(qū)間 [a,b] 中選擇 C, D,選擇 E 以使解存在。結(jié)果為 [0,9] 為 32/100,[10,19] 為 25/100,[20,49] 為 22/100,[50,100] 為 18/100。
我們可以看到,隨著數(shù)字范圍的增加,準(zhǔn)確率并沒(méi)有下降太多,這表明問(wèn)題不在于計(jì)算本身,而是需要提前規(guī)劃解決方案。
對(duì)上述示例的一個(gè)可能的反對(duì)意見(jiàn)是,模型沒(méi)有接受足夠的涉及算術(shù)的數(shù)據(jù)訓(xùn)練,以便發(fā)展內(nèi)部機(jī)制,從而使其能夠進(jìn)行成功的提前規(guī)劃。因此,接下來(lái)我們轉(zhuǎn)向涉及英語(yǔ)內(nèi)容生成的示例。
8.3 文本生成中的缺乏規(guī)劃
我們?cè)谶@里考慮的任務(wù)可以被視為在約束條件下的內(nèi)容生成,要求模型根據(jù)特定的指令生成文本內(nèi)容,這些指令包括其結(jié)構(gòu)上的約束條件。我們考慮的約束條件可以粗略地分為局部和全局兩類。粗略地說(shuō),局部約束只涉及文本的相鄰部分之間的相互作用。其中兩個(gè)例子是:(a) 生成押韻,押韻在本質(zhì)上是「局部」的,因?yàn)樗鼉H僅指定了相鄰句子之間的(語(yǔ)音)關(guān)系;(b) 在每個(gè)句子的[敏感詞]個(gè)單詞或[敏感詞]個(gè)字母中加入約束。相反,全局約束的一個(gè)例子可能是[敏感詞]句和最后一句相同(此約束強(qiáng)制不同文本部分之間進(jìn)行長(zhǎng)程交互)。
模型生成了一個(gè)連貫且富有創(chuàng)意的故事,滿足兩個(gè)約束條件。[敏感詞]句話的每個(gè)單詞的首字母的約束可以按順序「粗暴」地處理,因?yàn)槟P椭恍枰榭辞耙痪湓捯詻Q定下一句話。情節(jié)轉(zhuǎn)折的限制也不需要太多的規(guī)劃。
下一個(gè)示例涉及一個(gè)更「全局」的約束:
或許模型在生成[敏感詞]句時(shí)沒(méi)有「規(guī)劃」最后一句應(yīng)該是什么,導(dǎo)致出現(xiàn)語(yǔ)法錯(cuò)誤的句子。人們可能希望以某種方式提示模型以減少這個(gè)問(wèn)題的發(fā)生,例如,我們可以要求模型首先想出一個(gè)好的[敏感詞]句的計(jì)劃:
這些示例說(shuō)明了下一個(gè)單詞預(yù)測(cè)范例的一些局限性,這些局限性表現(xiàn)為模型缺乏規(guī)劃、工作記憶、回溯和推理能力。模型依賴于一種局部和簡(jiǎn)單粗暴地生成下一個(gè)單詞的過(guò)程,沒(méi)有任何關(guān)于任務(wù)或輸出的全局或深層次理解。因此,模型擅長(zhǎng)產(chǎn)生流暢和連貫的文本,但在解決不能以順序方式逐步解決的復(fù)雜或創(chuàng)造性問(wèn)題方面存在局限。這指向了兩種智力任務(wù)之間的區(qū)別:
- 增量任務(wù) - 這些任務(wù)可以通過(guò)逐步或連續(xù)地添加一個(gè)單詞或句子來(lái)解決,這構(gòu)成了朝著解決方案的方向取得進(jìn)展。這些任務(wù)可以通過(guò)內(nèi)容生成來(lái)解決,不需要進(jìn)行任何重大的概念轉(zhuǎn)換或洞察,而是依賴于將現(xiàn)有知識(shí)和技能應(yīng)用于給定的主題或問(wèn)題。增量任務(wù)的例子包括寫(xiě)摘要、回答事實(shí)性問(wèn)題、根據(jù)給定的韻律方案創(chuàng)作詩(shī)歌或解決遵循標(biāo)準(zhǔn)過(guò)程的數(shù)學(xué)問(wèn)題。
- 不連續(xù)任務(wù) - 這些任務(wù)的內(nèi)容生成不能以漸進(jìn)或連續(xù)的方式完成,而是需要某種“歐幾里得”想法,這種想法對(duì)解決任務(wù)的進(jìn)展產(chǎn)生了不連續(xù)的飛躍。內(nèi)容生成涉及發(fā)現(xiàn)或發(fā)明一種新的問(wèn)題看待或框架的方式,從而使得其余的內(nèi)容可以生成。不連續(xù)任務(wù)的例子包括解決需要公式的新穎或創(chuàng)造性應(yīng)用的數(shù)學(xué)問(wèn)題,編寫(xiě)笑話或謎語(yǔ),提出科學(xué)假設(shè)或哲學(xué)論點(diǎn),或創(chuàng)建新的寫(xiě)作流派或風(fēng)格。
解釋這些限制的一種可能方法是將模型與快速思考和慢速思考的概念進(jìn)行類比,這是Kahneman 在[Kah11]中提出的:快速思考是一種自動(dòng)、直覺(jué)和輕松的思考模式,但也容易出現(xiàn)錯(cuò)誤和偏見(jiàn);慢速思考是一種控制、理性和費(fèi)力的思考模式,但也更準(zhǔn)確和可靠。Kahneman 認(rèn)為,人類認(rèn)知是這兩種思考模式的混合體,我們經(jīng)常在應(yīng)該使用慢速思考時(shí)使用快速思考,反之亦然。模型可以看作是能夠以非常出色的方式執(zhí)行「快速思考」操作,但缺少「慢速思考」組件,這個(gè)組件監(jiān)督思維過(guò)程,將快速思考組件作為子例程與工作記憶和組織良好的思維方案一起使用。我們注意到,LeCun 在[LeC22]中提出了類似的論點(diǎn),提出了一種不同的架構(gòu)來(lái)克服這些限制。
免責(zé)聲明:本文采摘自“ 真格基金 ”,本文僅代表作者個(gè)人觀點(diǎn),不代表薩科微及行業(yè)觀點(diǎn),只為轉(zhuǎn)載與分享,支持保護(hù)知識(shí)產(chǎn)權(quán),轉(zhuǎn)載請(qǐng)注明原出處及作者,如有侵權(quán)請(qǐng)聯(lián)系我們刪除。