每天資訊理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

菜單

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

選自Stephen Wolfram writings

作者:Stephen Wolfram

機器之心編譯

編輯:悉閒

ChatGPT + Wolfram|Alpha= ?

自 ChatGPT 釋出以來,人們每天都在解鎖它的新能力。前段時間,有人用 ChatGPT 寫了個神經網路,還有人將它做成了智慧音箱,效果完爆當前市面上的大多數產品。

不過,在試用過程中,人們逐漸發現,ChatGPT 也有短板,其中之一便是不會解數學題。比如下面這道「雞兔同籠」題,雖然乍一看,ChatGPT 的解題步驟似乎沒有問題,但計算結果卻是錯的。

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

題目來自知乎使用者 @李闖。

很多網友都表示自己遇到了這種情況,計算機科學家、Wolfram 語言之父 Stephen Wolfram 也是其中之一。不過,和普通人不同的是,Wolfram 為這一問題提出瞭解決之法。他認為,要從根本上解決 ChatGPT 的這個短板可能要耗費大量精力,不如將其與自己的 Wolfram | Alpha 知識引擎結合起來用,因為後者本就具有強大的結構化計算能力,而且也能理解自然語言。

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

在 Wolfram 看來,世界是可表示的,世界是可計算的,世界就是我們的知識。因此,他試圖做的是:只要你能描述得出來想要什麼,計算機就替你做。人來定義目標,然後計算機儘量去理解意思,並盡最大努力去執行。

為了完成這一目標,Stephen Wolfram 創造了以他自己名字命名的 Wolfram 語言和計算知識搜尋引擎 Wolfram Alpha。Wolfram Alpha 於 2009 年 5 月 18 日正式釋出,其底層運算和資料處理工作是透過在後臺執行的 Mathematica 實現的。

因為 Mathematica 支援幾何、數值以及符號式計算,並且具有強大的數學以及科技圖形影象的視覺化功能,所以 Wolfram Alpha 能夠回答多種多樣的數學問題,並將答案以清晰美觀的圖形化方式顯示給使用者。這種計算知識引擎為蘋果的數字助理 Siri 奠定了堅實的基礎。

Stephen Wolfram 認為,這款工具可以和 ChatGPT 實現完美互補。

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

在一篇部落格中,Stephen Wolfram 完整地闡述了他的觀點:

ChatGPT 和 Wolfram|Alpha

事情突然 “成了”,總是很神奇。2009 年的 Wolfram|Alpha、2020 年的 Physics Project 就給人這種感覺。而如今 OpenAI 的 ChatGPT 又以同樣的方式驚豔眾人。

我關注神經網路技術時間不短(實際上大概有 43 年)。但遍觀近年來這一領域的各種成就,我依然覺得 ChatGPT 表現相當出色。它是突然出現的一個系統,可生成幾乎媲美人類創作能力的文字。可以說很好很強大。而且我認為其成功將可能揭示一些關於人類思維本質的東西。

不過,儘管 ChatGPT 在自動處理類人範疇事件方面很優秀,但並非一切有用的事情都那麼 “像出自人類之手”,而是會有一些更為規範和結構化的東西。事實上,近幾個世紀間創立的數學、精確科學以及如今走熱的計算等領域的正規化,都是我們的偉大文明成就,由此創造了一座有別於純人類思維所能造就的能力之塔。

幾十年來,我一直深入參與計算正規化研究,著意於構建一種計算語言,用規範的符號系統表示更多事物。我的目標是透過所建系統 “以計算的方式輔助” 並增強人們想做之事;也可立即呼叫 Wolfram Language 和 Wolfram|Alpha,利用其特有的 “計算能力”,完成各種非人力所及的事情。

這種工作方式極為強大。但這不僅對人類來說重要,對類人 AI 同樣重要。它可以即時賦予 AI 計算知識超能力,使其得以充分利用結構化計算和知識的非類人能力。

我們才剛開始探索這對 ChatGPT 的重要價值,未來想必前景可期。Wolfram|Alpha 與 ChatGPT 風格迥異,所做之事也大不相同。但二者又有連線點:自然語言。ChatGPT 可以像人類使用 Wolfram|Alpha 一樣,與 Wolfram|Alpha “對話”,Wolfram|Alpha 會用其計算知識能力將從 ChatGPT 獲得的自然語言轉變為精確的符號化計算語言。

幾十年來,學術界在 ChatGPT 使用的這類 “統計方法” 和 Wolfram|Alpha 的實際出發點 “符號方法” 的見解上一直存在分歧。但如今 ChatGPT 的成功和我們讓 Wolfram|Alpha 理解自然語言的一切努力,給了我們將這些成果融合做強的機會。

舉個例子:芝加哥到東京有多遠?

ChatGPT 本質上是一個語言輸出生成系統,它 “遵循” 網路、書籍和其他各種訓練材料內容的 “模式”。無論是從某個小點還是整個篇章來看,它的輸出都很像人類,這一點難能可貴。它能表達連貫的東西,用上所學概念,說出來往往還挺有意思,讓人驚喜。它總能生成 “統計上可信的” 結果,至少在語言層面上是這樣。但這並不能說明它信心十足地給出的所有答案和計算就都是正確的。

這是我剛注意到的一個例子(ChatGPT 的輸出本質上是隨機的,所以如果你也問這個問題,答案可能不盡相同):

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

這個答案似乎令人信服,但並不對,因為 Wolfram|Alpha 告訴我們:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

這其實正是 Wolfram|Alpha 擅長的事情:充分利用其結構化、高精準的知識將某事轉化為精確計算。

所以好訊息就是,可以考慮讓 Wolfram|Alpha 自動幫助 ChatGPT 解決這個問題。我們可以用程式設計方式向 Wolfram|Alpha 提問(也可使用 web API 等):

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

再次向 ChatGPT 提問,附上前文結果:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

ChatGPT 很禮貌地接受更正,如果再次問這個問題,它會給出正確的答案。顯然,用 Wolfram|Alpha 很可能有更精簡的方式來處理這樣的前後轉換,但令人欣慰的是,即便是這種非常簡單的純自然語言方法也已經奏效。

但為什麼 ChatGPT 一開始會弄錯?如果它在訓練中就注意到芝加哥和東京之間的明確距離(比如從網上),當然也能答對。但只掌握這種簡單的解決方法還不夠,它需要一種實際的演算法。

Wolfram|Alpha 的處理方式截然不同。它假設能將採集到的自然語言轉換為精確的計算語言(即 Wolfram 語言),在這個示例中:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

城市座標和計算城市間距離的演算法是 Wolfram Language 中內建計算知識的一部分。而且,Wolfram Language 確實擁有大量內建計算知識,這也是我們幾十年努力工作的成果。我們透過精心管理海量持續更新的資料,利用(並且經常發明)各種方法、模型和演算法,建立了一個完整連貫的計算語言系統。

再舉幾個例子

ChatGPT 和 Wolfram|Alpha 的工作方式迥異,且各有優勢。但要了解 ChatGPT 能在哪些方面利用 Wolfram|Alpha 的優勢,我們來討論一些 ChatGPT 自己做得不夠正確的情況。有一個領域讓 ChatGPT 和人類都感到痛苦 —— 數學。

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

這個論述式迴應挺有意思。但實際結果是錯的:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

但是,如果 ChatGPT “諮詢” 一下 Wolfram|Alpha,也能做對。

我們來試一些稍微複雜的內容:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

乍一看,這個結果好像是那麼回事,我可能都要相信了。但事實證明,這也是錯的,Wolfram|Alpha 告訴我們:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

而且,確實,用 ChatGPT 做數學作業(如果不諮詢 Wolfram|Alpha)可能不太美妙。它會給你一個看似非常合理的答案:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

但如果沒能 “真正理解數學”,ChatGPT 基本上不可能穩妥地得出正確答案。這樣一來,答案又是錯的:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

儘管如此,ChatGPT 還能對 “它是如何到答案的” 做出看似非常合理的解釋(並不是說 “事實確實如何”)。而且有趣的是,它給出的解釋有著類似不懂數學的人會犯的錯誤:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

在各種情況下,“不能真正理解事物含義” 可能會引發麻煩。

下面這個例子好像很有說服力,但並不正確:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

ChatGPT 似乎在某些方面正確瞭解了這些基礎資料,但它所 “理解的含義” 不足以對數字準確排序:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

人們會設想找到相應方法來 “修復這一特定錯誤”。但問題是,像 ChatGPT 這樣基於生成語言的人工智慧系統,其基本思想並不適合結構化計算任務。換言之,ChatGPT 需要 “修復” 幾乎無窮多的 “bug”,才能修補 Wolfram|Alpha 以其結構化方式能修復的一丁點問題。

“計算鏈” 越複雜,就越有可能需要呼叫 Wolfram|Alpha 來解決問題。ChatGPT 對以下問題給出的答案相當迷惑:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

而且,正如 Wolfram|Alpha 告訴我們的,以上結論並不正確(因為在某種意義上它已經 “知道” 了):

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

當涉及到具體(如定量)資料,即便是相當原始的資料,做得更出色的似乎也依然是 Wolfram|Alpha。下述示例靈感來自長期以來最受歡迎的 Wolfram|Alpha 問題 “How many turkeys are there in Turkey?”:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

這次乍看之下依然完全合理,甚至引用了相關來源。然而,事實證明,這些資料基本上是 “虛構的”:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

不過,很好的一點是,你可以很容易地要求 ChatGPT “核查事實”:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

現在用 Wolfram|Alpha API 提供以下資訊:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

現在,我們注入此資料,讓 ChatGPT 更正其原始答案(甚至會以粗體顯示其在何處做了更正):

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

當涉及實時(或位置等相關)資料或計算時,“注入事實” 的能力就很可貴。ChatGPT 不會立即回答下面這個問題:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

但這裡有一些相關的 Wolfram|Alpha API 輸出:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

如果我們將上述資訊輸入 ChatGPT,將生成不錯的 “論述風格” 結果:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

有時候計算方法和類人模型之間存在著有趣的互動。問 Wolfram|Alpha 一個異想天開的問題(它甚至會核實你是否想要 “軟冰淇淋”):

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

ChatGPT 起初對體積的概念有點困惑:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

但隨後似乎 “反應過來” 這麼多冰淇淋其實有些搞笑:

理工科神器Wolfram|Alpha注入超強計算知識,補足ChatGPT短板

路向何方

機器學習強大高效,特別是近幾十年,這一領域成績卓著,ChatGPT 可謂其最新成果。影象識別、語音到文字、語言翻譯。每種應用都是 “猛然” 越過相應門檻。隨之某些任務由 “基本毫無可能” 變成了 “基本可行”。

但結果也並不是 “完美” 的。或許有些東西在 95% 的情況下顯效良好,但只消一試,剩下的 5% 仍不明朗。從某些角度來看,這可能就是失敗。但關鍵是,對於各種重要用例,通常有 95% 的效用就已 “足夠好”。也許是輸出本就不存在真正意義上的 “正確答案”。也許只是人們在嘗試找出人類或系統演算法發展完善的可能性。

一次一個 token 生成文字的千億引數神經網路可以完成 ChatGPT 所能做的事,相當了不起。想到這令人意外又矚目的成功,人們可能會認為,只要 “訓練出足夠大的網路”,就可以暢所欲為了。但並非如此。計算的基本事實,特別是計算不可化約性的概念,讓這種美好夢想難以實現。更重要的則如我們在機器學習的真實歷程中所見 —— 會有巨大突破(就像 ChatGPT),進無止境。而且我們會發現,一些用例因機器學習之 “能” 而成,而不會囿於其 “不能”。

在很多情況下,“最初的 ChatGPT” 可以幫助人們寫作、提建議或生成各種有用的文字。而一旦涉及創作完美事物,機器學習就不是理想路徑了。其實要說完美,人類也一樣束手無策。

這正是我們在上述示例中能看到的。ChatGPT 在 “類人範疇” 做得很好,因為沒有嚴格意義上的 “正確答案”。如果 “非要” 讓它進行精準操作,它通常會敗下陣來。但重點來了,將 ChatGPT 連線到 Wolfram|Alpha 及其計算知識 “超能力”,會是很好的解決辦法。

在 Wolfram|Alpha 內部,一切都會轉化為計算語言,精確的 Wolfram Language 程式碼。在某種程度上,這些程式碼必須 “完美” 才能可靠使用。不過 ChatGPT 不必生成這樣的程式碼,只需生成常規自然語言,然後 Wolfram|Alpha 可用其自然語言理解能力翻譯成精確的 Wolfram Language。

在許多方面,有人可能會說,ChatGPT 從未 “真正理解” 過事物;它只是 “知道如何產出有用的東西” 罷了。Wolfram|Alpha 的故事就不同了。因為一旦 Wolfram|Alpha 將某些東西轉換為 Wolfram Language,就能得到完整、精確、規範的表示,人們以此計算事物就有保證。不用說,很多 “有人情味” 的東西,並沒有正式的演算法表示,但我們仍然可以用自然語言來談論,儘管可能不準確。在這方面,ChatGPT 自成一體,功能令人稱奇。

就像我們人類一樣,ChatGPT 有時需要更規範精準的 “助力”。但它不必 “規範而精準” 地表明所求。因為 Wolfram|Alpha 可與之進行相當於是 ChatGPT 母語的自然語言交流。而 Wolfram|Alpha 將負責在轉換為自己母語 Wolfram Language 時 “進行規範和精準處理”。這個情況很好,我認為潛力巨大。

這種潛力不僅體現在典型的聊天機器人或文字生成應用層面。而且可以擴充套件到資料科學和其他形式的計算工作(或程式設計)。從某種意義上說,這種方式直接兼顧兩個世界:ChatGPT 的類人世界和 Wolfram Language 的精確計算世界。

如果 ChatGPT 直接學習 Wolfram Language 會怎麼樣?嗯,確實可以,而且其實已經在做了。我特別希望像 ChatGPT 這樣的模型最終能直接在 Wolfram Language 中高效執行。這種情形很特別也很有趣,因 Wolfram Language 的全面計算語言的特性而成就,可以用計算術語廣泛談論世界上有的沒有的各種事情。

Wolfram Language 的整個概念在於接受人類思考的產物,然後透過計算來表示和處理。普通的程式語言只是提供某些方法告訴計算機具體該做什麼。而 Wolfram Language 作為一種全面的計算語言,其作用遠大於此。實際上,它意在成為人類和計算機都可用的 “以計算方式思考” 的語言。

幾百年前,數學符號的發明,首次提供了一種 “以數學方式思考” 事物的精簡媒介。其發明很快催生了代數和微積分,最終形成了各種數學科學。Wolfram Language 旨在為計算思維做些類似的事情,儘管不僅是為人類而做,同時以計算正規化開啟所有 “計算 X” 領域的大門。

我自己也因 Wolfram Language 作為 “思考語言” 受益匪淺,近幾十年中,看到人們透過 Wolfram Language “以計算方式思考” 而取得如此進步,我倍感欣慰。那麼 ChatGPT 呢?其實也可以進入這個領域。但具體怎麼做,我也說不準。因為這並不是關乎 ChatGPT 要學習如何進行 Wolfram Language 已經實現的計算,而是關於 ChatGPT 學習如何像人類一樣使用 Wolfram Language,是關於 ChatGPT 生成近乎 “創造性的文章”,不是用自然語言而是用計算語言。

我很早就討論過人類用自然語言和計算語言混合交流寫就計算論文的概念。現在的問題在於 ChatGPT 能否編寫這些內容,能否將 Wolfram Language 用作一種不單向人類,而且向計算機傳遞 “有意義交流” 的方式。而且涉及 Wolfram Language 程式碼的實際執行很可能有一個有趣的反饋迴圈。關鍵是, Wolfram Language 程式碼所傳達 “思想” 的豐富和動感有別於普通程式語言,更接近於 ChatGPT 在自然語言中 “神奇” 地處理的那類東西。

換言之,Wolfram Language 類似於自然語言 —— 是一種表達力很強的語言,可以想象在其中為 ChatGPT 編寫一個有意義 “prompt” 的情形。是的,Wolfram Language 可以直接在計算機上執行;但作為 ChatGPT prompt,它可以用來 “表達一個想法”,其所在 “故事” 能夠繼續。可能也會描述一些計算結構,讓 ChatGPT “即興” 思考人們在計算上對這種結構的看法,取決於其透過閱讀這麼多人類所寫東西學到的知識,“對人類來說很有趣” 的知識。

ChatGPT 的意外成功突然帶來無限可能,令人興奮。現在就有機會讓 Wolfram|Alpha 賦予 ChatGPT 計算知識超能力。所以它不僅能產生高度 “似人輸出”,還能利用封裝在 Wolfram|Alpha 和 Wolfram Language 中的整個計算知識塔。