ChatGPT 需要 Wolfram|Alpha 注入超強的計算知識![]() 當事情突然 "成功 "時會帶給我們意外的驚喜。早在2009年的時候,Wolfram|Alpha 就帶給了我們這樣的驚喜。這個驚喜發(fā)生在我們2020年的物理項目中,F(xiàn)在又發(fā)生在了 OpenAI 的 ChatGPT 上。我研究神經網(wǎng)絡技術已經有很長一段時間了(實際上是43年)。 觀察過去幾年的發(fā)展,我也發(fā)現(xiàn) ChatGPT 的表現(xiàn)非常出色。最后,突然間我們發(fā)現(xiàn),有一個系統(tǒng)可以成功地生成幾乎任何東西的文本,而這與人類可能寫出的東西非常相似。這是一個很驚喜且很有用的發(fā)現(xiàn)。 而且,我認為它的成功可能在告訴我們一些關于人類思維本質的非;的東西,我在別的地方也會討論一下這個話題。但是,盡管 ChatGPT 在自動完成主要的模擬人類的思維方式方面是一個了不起的成就,但其實并非所有有用的方面都可以做到如此 "像人類",而有些方面反而更加正式和結構化。事實上,我們的文明在過去幾個世紀的最偉大成就之一就是建立了數(shù)學、精確科學的范式,而現(xiàn)在最重要的是,創(chuàng)造了計算的概念,并創(chuàng)造了一個與純人類思維所能實現(xiàn)的完全不同的能力塔。 幾十年來,我自己一直深入地參與計算范式的研究,單純地追求建立一種計算語言,可以正式的符號方式代表真實世界盡可能多的事物。在此過程中,我的目標是建立一個能夠 "以計算方式協(xié)助" 我們想要達成目標的系統(tǒng),并增強其功能。我作為一個人在思考問題。但我也可以立即調用 Wolfram 語言和 Wolfram| Alpha ,利用一種獨特的 "計算超能力",讓我做到各種超越人類能力范圍內的事情。 這是一種非常強大的工作方式。關鍵是,這不僅對我們人類很重要。它對"類人類 - human like"的人工智能也同樣重要,甚至可能更重要。因其可以立即賦予人工智能那些我們認為是計算知識的超能力,這種超能力可以利用結構化計算和結構化知識這樣的非人類力量。這些對于 ChatGPT 究竟意味著什么我們還在探索中。但很明顯,這可能會帶給我們驚喜的發(fā)現(xiàn)。Wolfram|Alpha 所做的事情與 ChatGPT 非常不同,其方式也非常不同。 但它們有一個共同點:自然語言。這意味著 ChatGPT 可以像人類一樣與 Wolfram|Alpha "對話"—— Wolfram|Alpha 可將從 ChatGPT 獲得的自然語言轉化為精確的、符號化的計算語言,并在此基礎上運用其計算知識能力。幾十年來,在思考人工智能時,一直存在著 "統(tǒng)計方法" 和 "符號方法" 的兩極分化,前者是 ChatGPT 使用的方法,后者是 Wolfram|Alpha 的出發(fā)點。 但現(xiàn)在,結合在 ChatGPT 上獲得的成功,以及我們在使 Wolfram|Alpha 理解自然語言方面所做的所有工作,我們終于有機會將這兩種方法結合起來,最后可能得到一個比任何一種方法都要強大的結果。 一個簡單的范例 ChatGPT 的核心是一個生成語言輸出的系統(tǒng),它 "遵循" 網(wǎng)絡上和教材中的內容,以及其他用于訓練的材料的模式。值得注意的是,這種輸出類似人類的輸出,這種類似不是某個小范圍的部分,而且是在整體輸出。 它可以表達連貫的內容,它所學到的概念往往以有趣和意想不到的方式出現(xiàn)。它生成的內容 "在統(tǒng)計學上是合理的",至少在語言學層面上是合理的。但是,盡管這看起來很厲害,但肯定不意味著它提出的所有事實和計算都一定是正確的。這是我剛剛注意到的一個例子(而且沒錯,ChatGPT 有內在的隨機性,所以如果你再進行一遍嘗試,你可能不會得到同樣的結果): ![]() 聽起來很有說服力。但事實證明它👆是錯誤的,因為 Wolfram|Alpha 告訴我們: ![]() 當然,公平地說,這正是 Wolfram|Alpha 擅長的事情:可以根據(jù)其結構化、精選的知識將其轉化為精確的計算。 但巧妙的是,人們可以考慮 Wolfram|Alpha 在這方面自動幫助 ChatGPT?梢酝ㄟ^編程方式向 Wolfram|Alpha 提問: ![]() 現(xiàn)在再次向 ChatGPT 提問,并附上這個結果: ![]() ChatGPT 非常有禮貌地接受更正,如果您再次提出問題,它就會給出正確答案。顯然,可以有一種更簡化的方式讓 Wolfram|Alpha 來回處理,但很高興看到即使是這種非常簡單的純自然語言方法也基本上已經奏效了。 但是,為什么 ChatGPT 一開始就把這件事弄錯了呢?如果它在訓練的某個地方(例如從網(wǎng)絡上)看到了芝加哥和東京之間的具體距離,它當然可以做對。但在這種情況下,神經網(wǎng)絡可以輕松完成的那種泛化——比如從城市之間距離的許多例子中——是不夠的;需要一個實際的計算算法。 Wolfram|Alpha 處理事情的方式完全不同。它采用自然語言,然后,假設它可能,將其轉換為精確的計算語言(即 Wolfram 語言),在這種情況下: ![]() 城市的坐標和計算它們之間距離的算法是 Wolfram 語言中內置計算知識的一部分。而且,是的,Wolfram 語言具有大量的內置計算知識——這是我們數(shù)十年工作的結果,我們仔細整理了現(xiàn)在大量不斷更新的數(shù)據(jù),實施(并經常發(fā)明)方法和模型以及算法——并系統(tǒng)地為所有事物建立一個完整連貫的計算語言。 再舉幾個例子 ChatGPT 和 Wolfram|Alpha 以截然不同的方式工作,并且具有截然不同的優(yōu)勢。但為了了解 ChatGPT 可以在哪些方面利用 Wolfram|Alpha 的優(yōu)勢,讓我們來討論一下 ChatGPT 本身不能正確完成的一些情況。和人類一樣,ChatGPT 經常遇到困難的一個領域是數(shù)學。 ![]() 這是一個有趣的、散文式的回應。但實際結果是錯誤的: ![]() 但是,如果 ChatGPT "咨詢一下" Wolfram|Alpha,它當然能夠做出正確的選擇。讓我們嘗試稍微復雜一點的東西: ![]() 乍一看,這個結果看起來不錯,我傾向于相信它。然而,事實證明這又是錯誤的,因為 Wolfram|Alpha 告訴我們: ![]() 所以用 ChatGPT 做數(shù)學作業(yè),可能不是一個好主意。它可以給出一個看似很合理的答案: ![]() 但是如果沒有 "真正理解數(shù)學",ChatGPT 基本上不可能可靠地得到正確答案。在這種情況下,答案又是錯誤的: ![]() 盡管如此,ChatGPT 甚至可以對"它是如何得到答案的"做出一個看起來非常合理的解釋。而且,相當迷人(也很有趣),它給出的解釋與不懂數(shù)學的人犯的錯誤非常相似: ![]() 在各種情況下,"沒有真正理解事物的含義"會造成麻煩: ![]() 這聽起來很有說服力。但這是不正確的: ![]() ChatGPT 似乎已經在某個地方正確地學習了這些底層數(shù)據(jù);但它"對含義的理解"還不足以讓它正確地對數(shù)字進行排名: ![]() 而且,是的,可以想象找到一種方法來"修復這個特定的錯誤"。但關鍵是,像 ChatGPT 這樣基于生成語言的人工智能系統(tǒng)的基本思想并不適合需要進行結構化計算的情況。換句話說,它需要"修復"幾乎無限數(shù)量的"錯誤"才能修補 Wolfram|Alpha 以其結構化方式實現(xiàn)的幾乎無窮小的一角。 "計算鏈"變得越復雜,您就越有可能必須調用 Wolfram|Alpha 才能正確處理。這里 ChatGPT 產生了一個相當混亂的答案: ![]() 而且,正如 Wolfram|Alpha 告訴我們的那樣,它的結論是不正確的: ![]() 每當涉及到特定(例如定量)數(shù)據(jù)時——即使是相當原始的形式——事情往往更像是一個" Wolfram|Alpha 故事"。 下面是一個示例,其靈感來自長期以來最受歡迎的 Wolfram|Alpha 測試查詢"土耳其有多少只火雞?": ![]() 同樣,這似乎(咋一看)完全有道理,甚至引用了相關來源。但事實證明,這些數(shù)據(jù)基本上只是"編造的": ![]() 不過,非常棒的是,ChatGPT 可以很容易地"請求事實來核實": ![]() 現(xiàn)在通過 Wolfram|Alpha API提供這些問題的答案: ![]() 現(xiàn)在我們可以要求 ChatGPT 修復其原始回應,注入此數(shù)據(jù)(甚至以粗體顯示它的修正): ![]() 當涉及實時(或位置等相關)數(shù)據(jù)或計算時,"注入事實"的能力特別棒。ChatGPT 不會立即回答這個問題: ![]() 但這里有一些相關的 Wolfram|Alpha API 輸出: ![]() 如果我們將其提供給 ChatGPT,它會生成一個不錯的"論文風格"結果: ![]() 有時計算和"類人類"之間存在有趣的相互作用。這是 Wolfram|Alpha 提出的一個異想天開的問題(它甚至會檢查您是否想要"軟冰" - Soft serve,也稱為軟冰,是一種冷凍甜點,類似于冰淇淋,但由于在冷凍過程中引入了空氣,因此更柔軟且密度更低。): ![]() ChatGPT 起初對量的概念有點困惑: ![]() 但隨后它似乎"意識到"這么多冰淇淋是相當愚蠢的: ![]() 前進的道路 機器學習是一種強大的方法,尤其是在過去十年中,它取得了一些非凡的成功——ChatGPT 是最新的成功案例。比如:圖像識別、語音轉文字、語言翻譯等。在每一種情況下,以及更多情況下,都超過了一個門檻——通常是突然之間。有些任務從"基本不可能"變成了"基本可行"。但結果基本上從來都不是"完美"的。也許某些東西在 95% 的時間里都運作良好。 但是盡管嘗試,其他 5% 仍然難以捉摸。出于某些目的,人們可能會認為這是一種失敗。但關鍵是,通常有各種重要的使用案例,95%是"足夠好"。可能是因為輸出是某種無論如何都沒有真正"正確答案"的東西。 可能是因為人們只是試圖嘗試表面的可能性,然后人類或系統(tǒng)算法會從中挑選或改進。一次生成一個標記文本的數(shù)千億參數(shù)神經網(wǎng)絡可以做 ChatGPT 可以做的事情,這真是太了不起了。鑒于這一戲劇性的——意想不到的——成功,人們可能會認為,如果可以繼續(xù)并"訓練一個足夠大的網(wǎng)絡",那么絕對可以用它做任何事情。但它不會那樣工作。關于計算的基本事實——尤其是計算不可約性的概念——清楚地表明它最終是不可能的。 但更相關的是我們在機器學習的實際歷史中所看到的:它會有很大的突破(比如 ChatGPT );改進不會停止。所以至關重要的是,我們將會發(fā)現(xiàn)一些例子在可以完成的情況下取得成功,并且不會因不能完成的事情而受阻。是的,在很多情況下,"原始 ChatGPT "可以幫助人們寫作、提出建議或生成對各種文檔或交互有用的文本。 但是,當涉及到設置必須完美的事物時,機器學習并不是做到這一點的方法——就像人類也不是那樣。這正是我們在上面的例子中看到的:ChatGPT 在"像人類部分"方面做得很好,沒有精確的"正確答案"。但是,當它處理某些精確的事情時,它常常會倒下。但這里的重點是,有一個很好的方法可以解決這個問題——通過將 ChatGPT 連接到 Wolfram|Alpha 及其所有計算知識的"超級能力"。在 Wolfram|Alpha 內部,一切都被轉化為計算語言,并轉化為精確的 Wolfram 語言代碼,在某種程度上必須"完美"才能可靠地使用。 但關鍵是 ChatGPT 不必生成它。它可以生成其常用的自然語言,然后 Wolfram|Alpha 可以使用其自然語言理解能力將該自然語言翻譯成精確的 Wolfram 語言。在很多方面,有人可能會說 ChatGPT 從來沒有"真正理解"事物;它只是"知道如何生產有用的東西"。但對于 Wolfram|Alpha,情況就不同了。因為一旦 Wolfram|Alpha 將某些東西轉換為 Wolfram 語言,它就會得到一個完整、精確、正式的表示,人們可以從中可靠地計算東西。 不用說,有很多"人類感興趣"的東西我們沒有正式的計算表示——盡管我們仍然可以用自然語言談論它們,盡管可能不準確。對于這些,ChatGPT 憑借其令人印象深刻的功能獨樹一幟。但就像我們人類一樣,ChatGPT 有時也需要更正式、更精確的"助力"。但關鍵是它不必"正式和精確"地表達它想要的內容。因為 Wolfram|Alpha 可以用相當于 ChatGPT 的母語——自然語言來與之交流。 當 Wolfram|Alpha 轉換為其母語 Wolfram 語言時,它會負責"增加形式和精確性"。這是一個非常好的情況,我認為它具有很大的實際潛力。而且這種潛力不僅存在于典型的聊天機器人或文本生成應用程序的水平。它擴展到諸如進行數(shù)據(jù)科學或其他形式的計算工作(或編程)之類的事情。從某種意義上說,這是獲得兩個世界最好的直接方法:ChatGPT 的像人類世界和 Wolfram 語言的計算精確世界。 ChatGPT 直接學習 Wolfram 語言怎么樣?嗯,是的,它可以做到這一點,事實上它已經開始了。最后,我完全希望像 ChatGPT 這樣的東西能夠直接在 Wolfram 語言中運行,并且在這方面非常強大。這是一個有趣而獨特的情況,由于 Wolfram 語言作為一種全面的計算語言的特性而成為可能,它可以用計算術語廣泛地談論世界和其他地方的事物。Wolfram 語言的整個概念是獲取我們人類思考的事物,并能夠通過計算來表示和處理它們。普通的編程語言旨在提供告訴計算機具體做什么的方法。 Wolfram 語言——作為一種全面的計算語言——所涉及的東西遠不止于此。實際上,它旨在成為一種人類和計算機都可以"計算思考"的語言。許多世紀以前,當數(shù)學符號被發(fā)明時,它首次提供了一種流線型的媒介,可以在其中對事物進行"數(shù)學思考"。它的發(fā)明很快導致了代數(shù)和微積分,并最終導致了所有各種數(shù)學科學。 Wolfram 語言的目標是為計算思維做類似的事情,盡管現(xiàn)在不僅僅是人類——并啟用計算范式可以打開的所有"計算 X"領域。我自己從 Wolfram 語言作為一種"用來思考的語言"中受益匪淺,并且很高興看到在過去的幾十年里,由于人們通過 Wolfram 的媒介"以計算方式思考"而取得了如此多的進步。那么 ChatGPT 呢?好吧,它也可以進入這個。我還不確定這一切將如何運作。但這與 ChatGPT 學習如何進行 Wolfram 語言已經知道的計算無關。它是關于 ChatGPT 學習如何更像人們一樣使用 Wolfram 語言。 這是關于 ChatGPT 提出"創(chuàng)意論文"的類比,但現(xiàn)在不是用自然語言而是用計算語言編寫的。我一直在討論人類撰寫的計算論文的概念——以自然語言和計算語言的混合形式進行交流,F(xiàn)在的問題是 ChatGPT 能夠編寫這些內容——并且能夠使用 Wolfram 語言作為提供"有意義的交流"的一種方式,不僅對人類,而且對計算機。而且,是的,有一個潛在有趣的反饋循環(huán)涉及 Wolfram 語言代碼的實際執(zhí)行。但關鍵點在于,與普通編程語言不同,Wolfram 語言代碼所代表的"思想"的豐富性和流動性更接近于 ChatGPT 在自然語言中"神奇"處理的那種東西。 或者,換句話說,Wolfram 語言——就像自然語言一樣——是一種具有足夠表現(xiàn)力的東西,以至于人們可以想象在其中為 ChatGPT 編寫一個有意義的"提示"。是的,Wolfram 語言可以直接在計算機上執(zhí)行。但作為 ChatGPT 提示,它可以用來"表達一個想法",其"故事"可以繼續(xù)。它可能會描述一些計算結構,讓 ChatGPT 根據(jù)它通過閱讀人類編寫的這么多東西所學到的東西,去"即興演奏"人們可能會在計算上對這種結構說些什么——這將"對人類會很有趣"。 ChatGPT 的意外成功突然打開了各種令人興奮的可能性。但就目前而言,有機會通過 Wolfram|Alpha 賦予 ChatGPT 計算知識超能力。因此,它不僅可以產生"似是而非的像人類輸出",還可以產生利用封裝在 Wolfram|Alpha 和 Wolfram 語言中的整個計算和知識塔的輸出。 [ 此帖被小火龍果在2023-04-07 17:06重新編輯 ]
|