理工科神器WolframAlpha超強(qiáng)計(jì)算知識(shí),補(bǔ)足ChatGPT短板
自 ChatGPT 發(fā)布以來(lái),人們每天都在解鎖它的新能力。前段時(shí)間,有人用 ChatGPT 寫了個(gè)神經(jīng)網(wǎng)絡(luò),還有人將它做成了智能音箱,效果完爆當(dāng)前市面上的大多數(shù)產(chǎn)品。不過(guò),在試用過(guò)程中,人們逐漸發(fā)現(xiàn),ChatGPT 也有短板,其中之一便是不會(huì)解數(shù)學(xué)題。比如下面這道「雞兔同籠」題,雖然乍一看,ChatGPT 的解題步驟似乎沒(méi)有問(wèn)題,但計(jì)算結(jié)果卻是錯(cuò)的。

很多網(wǎng)友都表示自己遇到了這種情況,計(jì)算機(jī)科學(xué)家、Wolfram 語(yǔ)言之父 Stephen Wolfram 也是其中之一。不過(guò),和普通人不同的是,Wolfram 為這一問(wèn)題提出了解決之法。他認(rèn)為,要從根本上解決 ChatGPT 的這個(gè)短板可能要耗費(fèi)大量精力,不如將其與自己的 Wolfram | Alpha 知識(shí)引擎結(jié)合起來(lái)用,因?yàn)楹笳弑揪途哂袕?qiáng)大的結(jié)構(gòu)化計(jì)算能力,而且也能理解自然語(yǔ)言。

在 Wolfram 看來(lái),世界是可表示的,世界是可計(jì)算的,世界就是我們的知識(shí)。因此,他試圖做的是:只要你能描述得出來(lái)想要什么,計(jì)算機(jī)就替你做。人來(lái)定義目標(biāo),然后計(jì)算機(jī)盡量去理解意思,并盡最大努力去執(zhí)行。為了完成這一目標(biāo),Stephen Wolfram 創(chuàng)造了以他自己名字命名的 Wolfram 語(yǔ)言和計(jì)算知識(shí)搜索引擎 Wolfram Alpha。
Wolfram Alpha 于 2009 年 5 月 18 日正式發(fā)布,其底層運(yùn)算和數(shù)據(jù)處理工作是通過(guò)在后臺(tái)運(yùn)行的 Mathematica 實(shí)現(xiàn)的。因?yàn)?Mathematica 支持幾何、數(shù)值以及符號(hào)式計(jì)算,并且具有強(qiáng)大的數(shù)學(xué)以及科技圖形圖像的可視化功能,所以 Wolfram Alpha 能夠回答多種多樣的數(shù)學(xué)問(wèn)題,并將答案以清晰美觀的圖形化方式顯示給用戶。這種計(jì)算知識(shí)引擎為蘋果的數(shù)字助理 Siri 奠定了堅(jiān)實(shí)的基礎(chǔ)。Stephen Wolfram 認(rèn)為,這款工具可以和 ChatGPT 實(shí)現(xiàn)完美互補(bǔ)。
在一篇博客中,Stephen Wolfram 完整地闡述了他的觀點(diǎn):ChatGPT 和 Wolfram|Alpha事情突然 “成了”,總是很神奇。2009 年的 Wolfram|Alpha、2020 年的 Physics Project 就給人這種感覺。而如今 OpenAI 的 ChatGPT 又以同樣的方式驚艷眾人。我關(guān)注神經(jīng)網(wǎng)絡(luò)技術(shù)時(shí)間不短(實(shí)際上大概有 43 年)。
但遍觀近年來(lái)這一領(lǐng)域的各種成就,我依然覺得 ChatGPT 表現(xiàn)相當(dāng)出色。它是突然出現(xiàn)的一個(gè)系統(tǒng),可生成幾乎媲美人類創(chuàng)作能力的文本??梢哉f(shuō)很好很強(qiáng)大。而且我認(rèn)為其成功將可能揭示一些關(guān)于人類思維本質(zhì)的東西。不過(guò),盡管 ChatGPT 在自動(dòng)處理類人范疇事件方面很優(yōu)秀,但并非一切有用的事情都那么 “像出自人類之手”,而是會(huì)有一些更為規(guī)范和結(jié)構(gòu)化的東西。
事實(shí)上,近幾個(gè)世紀(jì)間創(chuàng)立的數(shù)學(xué)、精確科學(xué)以及如今走熱的計(jì)算等領(lǐng)域的范式,都是我們的偉大文明成就,由此創(chuàng)造了一座有別于純?nèi)祟愃季S所能造就的能力之塔。幾十年來(lái),我一直深入?yún)⑴c計(jì)算范式研究,著意于構(gòu)建一種計(jì)算語(yǔ)言,用規(guī)范的符號(hào)系統(tǒng)表示更多事物。我的目標(biāo)是通過(guò)所建系統(tǒng) “以計(jì)算的方式輔助” 并增強(qiáng)人們想做之事;也可立即調(diào)用 Wolfram Language 和 Wolfram|Alpha,利用其特有的 “計(jì)算能力”,完成各種非人力所及的事情。這種工作方式極為強(qiáng)大。但這不僅對(duì)人類來(lái)說(shuō)重要,對(duì)類人 AI 同樣重要。
它可以即時(shí)賦予 AI 計(jì)算知識(shí)超能力,使其得以充分利用結(jié)構(gòu)化計(jì)算和知識(shí)的非類人能力。我們才剛開始探索這對(duì) ChatGPT 的重要價(jià)值,未來(lái)想必前景可期。Wolfram|Alpha 與 ChatGPT 風(fēng)格迥異,所做之事也大不相同。但二者又有連接點(diǎn):自然語(yǔ)言。
ChatGPT 可以像人類使用 Wolfram|Alpha 一樣,與 Wolfram|Alpha “對(duì)話”,Wolfram|Alpha 會(huì)用其計(jì)算知識(shí)能力將從 ChatGPT 獲得的自然語(yǔ)言轉(zhuǎn)變?yōu)榫_的符號(hào)化計(jì)算語(yǔ)言。幾十年來(lái),學(xué)術(shù)界在 ChatGPT 使用的這類 “統(tǒng)計(jì)方法” 和 Wolfram|Alpha 的實(shí)際出發(fā)點(diǎn) “符號(hào)方法” 的見解上一直存在分歧。但如今 ChatGPT 的成功和我們讓 Wolfram|Alpha 理解自然語(yǔ)言的一切努力,給了我們將這些成果融合做強(qiáng)的機(jī)會(huì)。
舉個(gè)例子:芝加哥到東京有多遠(yuǎn)?ChatGPT 本質(zhì)上是一個(gè)語(yǔ)言輸出生成系統(tǒng),它 “遵循” 網(wǎng)絡(luò)、書籍和其他各種訓(xùn)練材料內(nèi)容的 “模式”。無(wú)論是從某個(gè)小點(diǎn)還是整個(gè)篇章來(lái)看,它的輸出都很像人類,這一點(diǎn)難能可貴。它能表達(dá)連貫的東西,用上所學(xué)概念,說(shuō)出來(lái)往往還挺有意思,讓人驚喜。它總能生成 “統(tǒng)計(jì)上可信的” 結(jié)果,至少在語(yǔ)言層面上是這樣。但這并不能說(shuō)明它信心十足地給出的所有答案和計(jì)算就都是正確的。這是我剛注意到的一個(gè)例子(ChatGPT 的輸出本質(zhì)上是隨機(jī)的,所以如果你也問(wèn)這個(gè)問(wèn)題,答案可能不盡相同):

這個(gè)答案似乎令人信服,但并不對(duì),因?yàn)?Wolfram|Alpha 告訴我們:

這其實(shí)正是 Wolfram|Alpha 擅長(zhǎng)的事情:充分利用其結(jié)構(gòu)化、高精準(zhǔn)的知識(shí)將某事轉(zhuǎn)化為精確計(jì)算。所以好消息就是,可以考慮讓 Wolfram|Alpha 自動(dòng)幫助 ChatGPT 解決這個(gè)問(wèn)題。我們可以用編程方式向 Wolfram|Alpha 提問(wèn)(也可使用 web API 等):

再次向 ChatGPT 提問(wèn),附上前文結(jié)果:

ChatGPT 很禮貌地接受更正,如果再次問(wèn)這個(gè)問(wèn)題,它會(huì)給出正確的答案。顯然,用 Wolfram|Alpha 很可能有更精簡(jiǎn)的方式來(lái)處理這樣的前后轉(zhuǎn)換,但令人欣慰的是,即便是這種非常簡(jiǎn)單的純自然語(yǔ)言方法也已經(jīng)奏效。但為什么 ChatGPT 一開始會(huì)弄錯(cuò)?如果它在訓(xùn)練中就注意到芝加哥和東京之間的明確距離(比如從網(wǎng)上),當(dāng)然也能答對(duì)。但只掌握這種簡(jiǎn)單的解決方法還不夠,它需要一種實(shí)際的算法。Wolfram|Alpha 的處理方式截然不同。它假設(shè)能將采集到的自然語(yǔ)言轉(zhuǎn)換為精確的計(jì)算語(yǔ)言(即 Wolfram 語(yǔ)言),在這個(gè)示例中:

城市坐標(biāo)和計(jì)算城市間距離的算法是 Wolfram Language 中內(nèi)置計(jì)算知識(shí)的一部分。而且,Wolfram Language 確實(shí)擁有大量?jī)?nèi)置計(jì)算知識(shí),這也是我們幾十年努力工作的成果。我們通過(guò)精心管理海量持續(xù)更新的數(shù)據(jù),利用(并且經(jīng)常發(fā)明)各種方法、模型和算法,建立了一個(gè)完整連貫的計(jì)算語(yǔ)言系統(tǒng)。再舉幾個(gè)例子ChatGPT 和 Wolfram|Alpha 的工作方式迥異,且各有優(yōu)勢(shì)。但要了解 ChatGPT 能在哪些方面利用 Wolfram|Alpha 的優(yōu)勢(shì),我們來(lái)討論一些 ChatGPT 自己做得不夠正確的情況。有一個(gè)領(lǐng)域讓 ChatGPT 和人類都感到痛苦 —— 數(shù)學(xué)。

這個(gè)論述式回應(yīng)挺有意思。但實(shí)際結(jié)果是錯(cuò)的:

但是,如果 ChatGPT “咨詢” 一下 Wolfram|Alpha,也能做對(duì)。
我們來(lái)試一些稍微復(fù)雜的內(nèi)容:

乍一看,這個(gè)結(jié)果好像是那么回事,我可能都要相信了。但事實(shí)證明,這也是錯(cuò)的,Wolfram|Alpha 告訴我們:

而且,確實(shí),用 ChatGPT 做數(shù)學(xué)作業(yè)(如果不咨詢 Wolfram|Alpha)可能不太美妙。它會(huì)給你一個(gè)看似非常合理的答案:

但如果沒(méi)能 “真正理解數(shù)學(xué)”,ChatGPT 基本上不可能穩(wěn)妥地得出正確答案。這樣一來(lái),答案又是錯(cuò)的:

盡管如此,ChatGPT 還能對(duì) “它是如何到答案的” 做出看似非常合理的解釋(并不是說(shuō) “事實(shí)確實(shí)如何”)。而且有趣的是,它給出的解釋有著類似不懂?dāng)?shù)學(xué)的人會(huì)犯的錯(cuò)誤:

在各種情況下,“不能真正理解事物含義” 可能會(huì)引發(fā)麻煩。下面這個(gè)例子好像很有說(shuō)服力,但并不正確:


ChatGPT 似乎在某些方面正確了解了這些基礎(chǔ)數(shù)據(jù),但它所 “理解的含義” 不足以對(duì)數(shù)字準(zhǔn)確排序:

人們會(huì)設(shè)想找到相應(yīng)方法來(lái) “修復(fù)這一特定錯(cuò)誤”。但問(wèn)題是,像 ChatGPT 這樣基于生成語(yǔ)言的人工智能系統(tǒng),其基本思想并不適合結(jié)構(gòu)化計(jì)算任務(wù)。換言之,ChatGPT 需要 “修復(fù)” 幾乎無(wú)窮多的 “bug”,才能修補(bǔ) Wolfram|Alpha 以其結(jié)構(gòu)化方式能修復(fù)的一丁點(diǎn)問(wèn)題?!坝?jì)算鏈” 越復(fù)雜,就越有可能需要調(diào)用 Wolfram|Alpha 來(lái)解決問(wèn)題。ChatGPT 對(duì)以下問(wèn)題給出的答案相當(dāng)迷惑:

而且,正如 Wolfram|Alpha 告訴我們的,以上結(jié)論并不正確(因?yàn)樵谀撤N意義上它已經(jīng) “知道” 了):

當(dāng)涉及到具體(如定量)數(shù)據(jù),即便是相當(dāng)原始的數(shù)據(jù),做得更出色的似乎也依然是 Wolfram|Alpha。下述示例靈感來(lái)自長(zhǎng)期以來(lái)最受歡迎的 Wolfram|Alpha 問(wèn)題 “How many turkeys are there in Turkey?”:

這次乍看之下依然完全合理,甚至引用了相關(guān)來(lái)源。然而,事實(shí)證明,這些數(shù)據(jù)基本上是 “虛構(gòu)的”:

不過(guò),很好的一點(diǎn)是,你可以很容易地要求 ChatGPT “核查事實(shí)”:

現(xiàn)在用 Wolfram|Alpha API 提供以下信息:

現(xiàn)在,我們注入此數(shù)據(jù),讓 ChatGPT 更正其原始答案(甚至?xí)源煮w顯示其在何處做了更正):

當(dāng)涉及實(shí)時(shí)(或位置等相關(guān))數(shù)據(jù)或計(jì)算時(shí),“注入事實(shí)” 的能力就很可貴。ChatGPT 不會(huì)立即回答下面這個(gè)問(wèn)題:

但這里有一些相關(guān)的 Wolfram|Alpha API 輸出:

如果我們將上述信息輸入 ChatGPT,將生成不錯(cuò)的 “論述風(fēng)格” 結(jié)果:

有時(shí)候計(jì)算方法和類人模型之間存在著有趣的互動(dòng)。問(wèn) Wolfram|Alpha 一個(gè)異想天開的問(wèn)題(它甚至?xí)藢?shí)你是否想要 “軟冰淇淋”):

ChatGPT 起初對(duì)體積的概念有點(diǎn)困惑:

但隨后似乎 “反應(yīng)過(guò)來(lái)” 這么多冰淇淋其實(shí)有些搞笑:

路向何方
機(jī)器學(xué)習(xí)強(qiáng)大高效,特別是近幾十年,這一領(lǐng)域成績(jī)卓著,ChatGPT 可謂其最新成果。圖像識(shí)別、語(yǔ)音到文本、語(yǔ)言翻譯。每種應(yīng)用都是 “猛然” 越過(guò)相應(yīng)門檻。
隨之某些任務(wù)由 “基本毫無(wú)可能” 變成了 “基本可行”。但結(jié)果也并不是 “完美” 的?;蛟S有些東西在 95% 的情況下顯效良好,但只消一試,剩下的 5% 仍不明朗。從某些角度來(lái)看,這可能就是失敗。但關(guān)鍵是,對(duì)于各種重要用例,通常有 95% 的效用就已 “足夠好”。
也許是輸出本就不存在真正意義上的 “正確答案”。也許只是人們?cè)趪L試找出人類或系統(tǒng)算法發(fā)展完善的可能性。一次一個(gè) token 生成文本的千億參數(shù)神經(jīng)網(wǎng)絡(luò)可以完成 ChatGPT 所能做的事,相當(dāng)了不起。
想到這令人意外又矚目的成功,人們可能會(huì)認(rèn)為,只要 “訓(xùn)練出足夠大的網(wǎng)絡(luò)”,就可以暢所欲為了。但并非如此。計(jì)算的基本事實(shí),特別是計(jì)算不可化約性的概念,讓這種美好夢(mèng)想難以實(shí)現(xiàn)。更重要的則如我們?cè)跈C(jī)器學(xué)習(xí)的真實(shí)歷程中所見 —— 會(huì)有巨大突破(就像 ChatGPT),進(jìn)無(wú)止境。而且我們會(huì)發(fā)現(xiàn),一些用例因機(jī)器學(xué)習(xí)之 “能” 而成,而不會(huì)囿于其 “不能”。
在很多情況下,“最初的 ChatGPT” 可以幫助人們寫作、提建議或生成各種有用的文本。而一旦涉及創(chuàng)作完美事物,機(jī)器學(xué)習(xí)就不是理想路徑了。其實(shí)要說(shuō)完美,人類也一樣束手無(wú)策。這正是我們?cè)谏鲜鍪纠心芸吹降摹hatGPT 在 “類人范疇” 做得很好,因?yàn)闆](méi)有嚴(yán)格意義上的 “正確答案”。
如果 “非要” 讓它進(jìn)行精準(zhǔn)操作,它通常會(huì)敗下陣來(lái)。但重點(diǎn)來(lái)了,將 ChatGPT 連接到 Wolfram|Alpha 及其計(jì)算知識(shí) “超能力”,會(huì)是很好的解決辦法。在 Wolfram|Alpha 內(nèi)部,一切都會(huì)轉(zhuǎn)化為計(jì)算語(yǔ)言,精確的 Wolfram Language 代碼。在某種程度上,這些代碼必須 “完美” 才能可靠使用。不過(guò) ChatGPT 不必生成這樣的代碼,只需生成常規(guī)自然語(yǔ)言,然后 Wolfram|Alpha 可用其自然語(yǔ)言理解能力翻譯成精確的 Wolfram Language。
在許多方面,有人可能會(huì)說(shuō),ChatGPT 從未 “真正理解” 過(guò)事物;它只是 “知道如何產(chǎn)出有用的東西” 罷了。Wolfram|Alpha 的故事就不同了。因?yàn)橐坏?Wolfram|Alpha 將某些東西轉(zhuǎn)換為 Wolfram Language,就能得到完整、精確、規(guī)范的表示,人們以此計(jì)算事物就有保證。
不用說(shuō),很多 “有人情味” 的東西,并沒(méi)有正式的算法表示,但我們?nèi)匀豢梢杂米匀徽Z(yǔ)言來(lái)談?wù)摚M管可能不準(zhǔn)確。在這方面,ChatGPT 自成一體,功能令人稱奇。就像我們?nèi)祟愐粯?,ChatGPT 有時(shí)需要更規(guī)范精準(zhǔn)的 “助力”。但它不必 “規(guī)范而精準(zhǔn)” 地表明所求。因?yàn)?Wolfram|Alpha 可與之進(jìn)行相當(dāng)于是 ChatGPT 母語(yǔ)的自然語(yǔ)言交流。
而 Wolfram|Alpha 將負(fù)責(zé)在轉(zhuǎn)換為自己母語(yǔ) Wolfram Language 時(shí) “進(jìn)行規(guī)范和精準(zhǔn)處理”。這個(gè)情況很好,我認(rèn)為潛力巨大。這種潛力不僅體現(xiàn)在典型的聊天機(jī)器人或文本生成應(yīng)用層面。而且可以擴(kuò)展到數(shù)據(jù)科學(xué)和其他形式的計(jì)算工作(或編程)。從某種意義上說(shuō),這種方式直接兼顧兩個(gè)世界:ChatGPT 的類人世界和 Wolfram Language 的精確計(jì)算世界。
如果 ChatGPT 直接學(xué)習(xí) Wolfram Language 會(huì)怎么樣?嗯,確實(shí)可以,而且其實(shí)已經(jīng)在做了。我特別希望像 ChatGPT 這樣的模型最終能直接在 Wolfram Language 中高效運(yùn)行。這種情形很特別也很有趣,因 Wolfram Language 的全面計(jì)算語(yǔ)言的特性而成就,可以用計(jì)算術(shù)語(yǔ)廣泛談?wù)撌澜缟嫌械臎](méi)有的各種事情。
Wolfram Language 的整個(gè)概念在于接受人類思考的產(chǎn)物,然后通過(guò)計(jì)算來(lái)表示和處理。普通的編程語(yǔ)言只是提供某些方法告訴計(jì)算機(jī)具體該做什么。而 Wolfram Language 作為一種全面的計(jì)算語(yǔ)言,其作用遠(yuǎn)大于此。實(shí)際上,它意在成為人類和計(jì)算機(jī)都可用的 “以計(jì)算方式思考” 的語(yǔ)言。幾百年前,數(shù)學(xué)符號(hào)的發(fā)明,首次提供了一種 “以數(shù)學(xué)方式思考” 事物的精簡(jiǎn)媒介。其發(fā)明很快催生了代數(shù)和微積分,最終形成了各種數(shù)學(xué)科學(xué)。
Wolfram Language 旨在為計(jì)算思維做些類似的事情,盡管不僅是為人類而做,同時(shí)以計(jì)算范式打開所有 “計(jì)算 X” 領(lǐng)域的大門。我自己也因 Wolfram Language 作為 “思考語(yǔ)言” 受益匪淺,近幾十年中,看到人們通過(guò) Wolfram Language “以計(jì)算方式思考” 而取得如此進(jìn)步,我倍感欣慰。那么 ChatGPT 呢?其實(shí)也可以進(jìn)入這個(gè)領(lǐng)域。
但具體怎么做,我也說(shuō)不準(zhǔn)。因?yàn)檫@并不是關(guān)乎 ChatGPT 要學(xué)習(xí)如何進(jìn)行 Wolfram Language 已經(jīng)實(shí)現(xiàn)的計(jì)算,而是關(guān)于 ChatGPT 學(xué)習(xí)如何像人類一樣使用 Wolfram Language,是關(guān)于 ChatGPT 生成近乎 “創(chuàng)造性的文章”,不是用自然語(yǔ)言而是用計(jì)算語(yǔ)言。我很早就討論過(guò)人類用自然語(yǔ)言和計(jì)算語(yǔ)言混合交流寫就計(jì)算論文的概念。
現(xiàn)在的問(wèn)題在于 ChatGPT 能否編寫這些內(nèi)容,能否將 Wolfram Language 用作一種不單向人類,而且向計(jì)算機(jī)傳遞 “有意義交流” 的方式。而且涉及 Wolfram Language 代碼的實(shí)際執(zhí)行很可能有一個(gè)有趣的反饋循環(huán)。
關(guān)鍵是, Wolfram Language 代碼所傳達(dá) “思想” 的豐富和動(dòng)感有別于普通編程語(yǔ)言,更接近于 ChatGPT 在自然語(yǔ)言中 “神奇” 地處理的那類東西。換言之,Wolfram Language 類似于自然語(yǔ)言 —— 是一種表達(dá)力很強(qiáng)的語(yǔ)言,可以想象在其中為 ChatGPT 編寫一個(gè)有意義 “prompt” 的情形。
是的,Wolfram Language 可以直接在計(jì)算機(jī)上執(zhí)行;但作為 ChatGPT prompt,它可以用來(lái) “表達(dá)一個(gè)想法”,其所在 “故事” 能夠繼續(xù)??赡芤矔?huì)描述一些計(jì)算結(jié)構(gòu),讓 ChatGPT “即興” 思考人們?cè)谟?jì)算上對(duì)這種結(jié)構(gòu)的看法,取決于其通過(guò)閱讀這么多人類所寫東西學(xué)到的知識(shí),“對(duì)人類來(lái)說(shuō)很有趣” 的知識(shí)。
ChatGPT 的意外成功突然帶來(lái)無(wú)限可能,令人興奮?,F(xiàn)在就有機(jī)會(huì)讓 Wolfram|Alpha 賦予 ChatGPT 計(jì)算知識(shí)超能力。所以它不僅能產(chǎn)生高度 “似人輸出”,還能利用封裝在 Wolfram|Alpha 和 Wolfram Language 中的整個(gè)計(jì)算知識(shí)塔。