Google前董事長施密特,日前在史丹佛內部演講,不小心講實話。他提出未來當AI「文本轉行動」新功能出現後,一般人不必太認真學Python,把寫程式工作交給ChatGPT即可。但卻進一步提及,AI時代下,該關注的程式語言新星是Mojo!這個號稱「Python超級升級版」的Mojo是什麼?功能與優缺點在哪?為何速度快上3.5萬倍?功能與優缺點為何?值得想切入AI與程式語言這一行的人關注?
曾在Google擔任執行長和董事長、現為專業投資人的施密特(Eric Schmidt),近期因為在史丹佛大學內部演講太過直言,引發不少討論。但也讓外界難得聽見科技業高層精英的諸多實話。
雖目前影片已下架,但熱心的網友留存完整內容。他在演講影片中直指,未來AI大模型發展3大方向,分別是模型上下文窗口(context window)提升讓模型更有用、文字轉行動(text to action)賦能一般人,以及AI代理人變得更為普遍。
別認真學Python,卻要關心Mojo?
這其中,文字轉行動的創新,會讓以後一般人不需要太過認真學Python,這週引發不少科技業社群討論與擔憂。其實,施密特此言,並非直指在AI時代完全不再需要人類寫程式,只是表示某種程度上AI可代勞一些簡單的程式碼工作,以後一般人若只需要開發網頁,或打造簡單應用程式,不需要理解背後的程式碼細節。
但其實,AI時代訓練大模型出現許多挑戰,施密特在影片中話鋒一轉,指出程式語言必需再精進,才有辦法讓大模型的研發加速。現有的Python,或者輝達研發出的程式設計平台CUDA,在他眼中都有缺點,但「最近出現了一種叫做Mojo的新程式語言。看起來,它似乎終於解決了AI程式設計的一些問題。」
比Python快3萬5千倍的程式新星
到底Mojo是什麼?根據Mojo開發團隊的官網資訊,它在特定條件的測試下,執行速度竟可以比Python快3萬5千倍!同時它許多性能都與Python相近,堪稱Python的超級升級版。為何施密特點名看好?Mojo是誰開發?功能特色為何?哪些優點值得被重視?以下是完整介紹。
Mojo是誰發明的?
Mojo的創造者是克里斯·拉特納(Chris Lattner),他是全球軟體工程和電腦科學領域的傳奇大神,早在2003年於伊利諾大學厄巴納香檳分校唸博士時,他就開發出 LLVM,從根本上改變了編譯器的創建方式。
在谷歌,他領導開發了MLIR,這是一種專門為現代電腦和AI設計的新工具。拉特納在2014年任職蘋果時,也領導開發了Swift程式語言。由於兼具安全與速度快,是全球開發行動應用的工程師的首選。
Mojo則是拉特納在2022年出來創業成立Module AI以後,為AI時代特別設計的新程式語言,截自2023年9月資訊,已有超過12萬名開發者註冊使用Mojo Playground。
為何AI時代需要新語言?開發Mojo的理由
據拉特納近期的訪談,他表示在創立Modula AI,投入人工智慧領域的開發後,他和團隊發現,現有的程式工具(比如CUDA和MPI)使用起來很麻煩。這些工具規則混亂,讓寫出高效的程式變得很困難。
於是,他們決定創造一個新的工具,叫做ML編譯器框架。這個工具的目標是讓程式可以在不同類型的電腦硬體(比如CPU、GPU等)上都能高效運行。他們特別注重讓這個工具能夠充分利用最新的硬體。
為了證明他們的想法是對的,他們做了一個實驗。他們用自己的工具寫了一個程式,用來做矩陣乘法,這是一種常見的數學運算。結果發現,他們的程式比英特爾公司專門為自家晶片優化的程式還要快!這說明他們的通用工具,甚至可以超越專家為特定硬體設計的解決方案。
接下來,他們想要為這個強大的新工具創造一種容易使用的程式語言。他們選擇了Python作為基礎,因為Python很受歡迎,而且容易學習。他們希望能夠利用Python已有的豐富資源,讓更多人可以使用他們的新工具。
但是,現有的Python程式並不適合用來發揮ML編譯器框架的全部實力。所以,拉特納創造了一種新的程式語言,叫做Mojo。
Mojo看起來和寫起來都很像Python,但是它增加了一些新功能,可以讓程式運行得更快、更有效率。Mojo直接使用ML編譯器框架,所以它可以充分利用最新的硬體,達到最佳的運行速度。
Mojo有什麼優點?
簡單來說,Mojo就像是給Python裝上了一個超級引擎。它既保留了Python易用的特點,又大大提高了執行速度。據開發者拉特納與權威資料科學家、Enlitic創辦人傑洛米·霍華德(Jeremy Howard)指出,與Python等現有程式語言相比,Mojo有4點勝出
1. 速度快:
Mojo用融合技術,能將多個運算步驟合併成一個,減少了中間過程,提高了效率。 因此執行速度比Python快很多倍。
2. 容易學習:
Mojo在很多地方沿用了Python簡單的寫法,讓目前主要是熟悉Python的開發者可以輕鬆上手,不需要學習全新的語法。
3. 靈活性強:
Mojo可以使用現有的Python程式碼和工具,同時還能實現高速運算。它支持平行計算,可以同時使用多個處理器,加快AI模型的訓練和運行速度,也可以輕鬆地在不同類型的電腦硬體上運行,如CPU、GPU等。
4. 方便部署:
Mojo 可以生成小巧獨立的程式檔案,這些檔案很容易安裝到不同的電腦或設備上。這點和用 C 語言寫的程式很像。簡單來說,就是你寫好的 Mojo 程式可以很方便地在各種地方使用,不需要額外安裝很多東西。
Mojo的缺點:
由於全世界工程師寫程式還是以Python為主流,目前Mojo雖已有不少人使用,工程師能否普遍接受還難說。主要原因是一個程式語言若要成為全球主流,仍需要社群支持與生態圈資源,Python這方面明顯勝出。施密特也直指,仍還得觀察一下,看看它是否真的能在Python占主導地位的情況下生存下來。
Mojo的未來
Mojo的出現代表了程式語言發展的新方向。它將高性能、易用性和靈活性結合在一起,為開發者提供了一個強大的工具。在未來的AI時代,就算Mojo不一定能成為主流程式語言,至少說明了,要推動大模型與AI快速發展,程式語言本身也亟待創新,未來想進入AI與程式設計這一行的人,確實需要密切關注。