比Python快6.8萬(wàn)倍,新語(yǔ)言Mojo首次開(kāi)放下載,AI大佬:開(kāi)發(fā)生態(tài)多年來(lái)最大升級(jí)
什么編程語(yǔ)言,敢號(hào)稱是高性能版的“Python++”?
新語(yǔ)言Mojo,來(lái)自LLVM之父和Swift之父Chris Lattner,性能可達(dá)到目前版本Python的68000倍。
你沒(méi)看錯(cuò),幾個(gè)月前團(tuán)隊(duì)還宣稱是35000倍,換了臺(tái)機(jī)器測(cè)評(píng)就成了68000倍。
現(xiàn)在,Mojo終于開(kāi)放編譯器和完整本地開(kāi)發(fā)環(huán)境的下載,首日就在開(kāi)發(fā)社區(qū)引發(fā)轟動(dòng)。
圖片
它語(yǔ)法像Python一樣簡(jiǎn)單,跑起來(lái)像C++一樣快,更重要的是可以與任何Python庫(kù)無(wú)縫交互。
圖片
由于Numpy、Pandas、SciPy這些大家已經(jīng)熟悉的老朋友都能繼續(xù)用,受到AI開(kāi)發(fā)者的格外關(guān)注,英偉達(dá)科學(xué)家范麟熙表示:
可能是Python生態(tài)系統(tǒng)多年來(lái)最重要的升級(jí),等了很久,終于來(lái)了!
圖片
創(chuàng)始人:Mojo對(duì)Python不是威脅,C++們應(yīng)該害怕
Mojo是如何做到比Python快這么多倍的?團(tuán)隊(duì)寫(xiě)了3篇技術(shù)解讀,簡(jiǎn)單總結(jié)如下:
第1步,通過(guò)類型注釋消除Python動(dòng)態(tài)類型的損失,并做代數(shù)簡(jiǎn)化(algebraic simplifications),避免開(kāi)方運(yùn)算以及簡(jiǎn)化復(fù)數(shù)平方運(yùn)算,達(dá)到89倍加速。
第2步,通過(guò)向量化實(shí)現(xiàn)SIMD(單指令多數(shù)據(jù))的并行計(jì)算,并讓向量寬度以匹配CPU的FMA(浮點(diǎn)乘法累加單元)數(shù)量,達(dá)到874倍。
第3步,把前兩步開(kāi)發(fā)好的單線程實(shí)現(xiàn)改成多核并行化,對(duì)于88核的系統(tǒng)再獲得30倍加速,與原始Python相比已經(jīng)到了26000倍。
第4步,解決并行化中的加載不均衡問(wèn)題,讓線程從池中動(dòng)態(tài)獲取任務(wù),得到最終結(jié)果68000倍。
圖片
這與之前宣傳的35000倍不同,主要是中途換過(guò)一次測(cè)評(píng)基準(zhǔn)系統(tǒng),從32核的英特爾至強(qiáng)金牌6455B換成了88核的英特爾至強(qiáng)白金8481C。
此前,Mojo已可通過(guò)在線Playground形式試用,4個(gè)月來(lái)已積攢12萬(wàn)開(kāi)發(fā)者。
圖片
這一次是Mojo編譯器和IDE工具首次開(kāi)放本地下載,從Linux開(kāi)始,后續(xù)將添加Mac和Windows支持。
圖片
一同開(kāi)放的還有支持語(yǔ)法高亮和代碼補(bǔ)全等實(shí)用功能的VSCode插件。
圖片
甚至可以像Python一樣在Jupyter里交互式操作。
圖片
手快的網(wǎng)友已經(jīng)在爭(zhēng)相曬各種版本的“Hello world”。
圖片
圖片
對(duì)于“Python會(huì)被取代嗎這樣的討論”,Mojo創(chuàng)始人Chris Lattner本人認(rèn)為:
Mojo并不是對(duì)Python的威脅,而是給Python開(kāi)發(fā)者增加超能力。
如果誰(shuí)應(yīng)該害怕,應(yīng)該是C++這種不易用的高速語(yǔ)言。
雖然Mojo很強(qiáng)大,但還是被網(wǎng)友發(fā)現(xiàn)一個(gè)“致命”缺點(diǎn)。
作為一門(mén)新語(yǔ)言,AI們還沒(méi)學(xué)會(huì),想學(xué)習(xí)就得靠自己了。
不過(guò)應(yīng)該也可以把文檔發(fā)給AI,讓它現(xiàn)學(xué)試試?
背后公司Modular融資1億美元
Chris Lattner畢業(yè)于波特蘭大學(xué),領(lǐng)導(dǎo)了LLVM、Clang等知名編譯器項(xiàng)目,并牽頭開(kāi)發(fā)蘋(píng)果Swift語(yǔ)言。
2017年離開(kāi)蘋(píng)果后,他先后在特斯拉短暫領(lǐng)導(dǎo)過(guò)自動(dòng)駕駛Autopilot軟件團(tuán)隊(duì),在谷歌負(fù)責(zé)Tensorflow基礎(chǔ)設(shè)施,在RISC-V架構(gòu)的領(lǐng)軍公司SiFive負(fù)責(zé)工程和產(chǎn)品團(tuán)隊(duì)。
圖片
2022年,Lattner作為“Swift之父”卻與當(dāng)時(shí)的Swift核心團(tuán)隊(duì)發(fā)生沖突,退出管理事務(wù),徹底分道揚(yáng)鑣。
也是在這一時(shí)期,他透露自己正在搞AI基礎(chǔ)設(shè)施方向的創(chuàng)業(yè)。
新公司Modular,致力于構(gòu)建出模塊化、可組合和分層架構(gòu)的AI基礎(chǔ)設(shè)施。
包括創(chuàng)建編譯器、運(yùn)行時(shí)環(huán)境,為異構(gòu)計(jì)算設(shè)計(jì)、邊緣和數(shù)據(jù)中心并重,并專注于可用性。
共同創(chuàng)始人Tim Davis,此前在谷歌團(tuán)隊(duì)參與了TF Lite、 Android ML、NNAPI等項(xiàng)目的編譯器開(kāi)發(fā)。
2023年8月,Modular獲得1億美元融資,總?cè)谫Y額達(dá)1.3億美元。
圖片
為AI開(kāi)發(fā)者創(chuàng)建結(jié)合Python的可用性與C++的性能的Mojo語(yǔ)言是其第一步。
今后在Modular創(chuàng)建的AI引擎中,所有代碼都可以用Mojo一種語(yǔ)言編寫(xiě),無(wú)需再使用C、C++或CUDA編程。
那么,你會(huì)嘗試使用這款新語(yǔ)言么?
參考鏈接:
[1]https://www.modular.com/blog/mojo-its-finally-here
[2]https://www.modular.com/blog/mojo-a-journey-to-68-000x-speedup-over-python-part-3[3]https://x.com/DrJimFan/status/1699841214416318672