0x00
前段時間,又一個程式設計語言黑馬忽然沖進了開發者們的視野并正式開放下載下傳。
它的名字叫Mojo,相信當時不少小夥伴們也都看到了。
正如官網所言,Mojo是為AI開發者所準備的程式設計語言,文法有點像Python。
根據Mojo官網的描述,它結合了Python的易用性和C語言的高性能,解鎖了AI硬體的可程式設計性和AI模型的可擴充性。
0x01
而就在前幾天,Mojo居然出了個大動作,官方宣布正式開源其标準庫。
Mojo官方表示,要想讓Mojo充分發揮其潛力,開源是必經之路,并表示目前在Apache 2許可之下,Mojo标準庫的核心子產品已經開源并釋出。
目前Mojo官方允許開發者通過GitHub PR來送出外部貢獻,鼓勵廣大開發者參與到Mojo的開發和完善中來,進而促進社群的壯大。
不僅釋出了開源代碼,官方同時還釋出了Mojo标準庫完整的Commit送出曆史記錄,以便開發者能夠追溯代碼的演變過程,進而更好地了解代碼背景。
這還不算,官方還專門給出了一份Mojo開源貢獻指南。
可以看到,Mojo官方對于開源和社群這件事确實還是挺重視的。
0x02
Mojo看起來似乎挺能打,那它到底是哪個公司所推出來的呢?
看了一下才發現Mojo是由人工智能公司Modular所推出的全新程式設計語言。
而Modular這個公司則是一個非常年輕的新生AI創業公司,于2022年由Chris Lattner和Tim Davis所創立。
提到這兩個創始人,相信有些同學也有所了解,都是業内頂級專家。
其中Chris Lattner還被稱為“LLVM之父”和“Swift之父”,在蘋果、谷歌、特斯拉等多家知名科技巨頭裡曾帶領建構了AI和核心系統。
Modular公司的願景非常宏偉,目标是自下而上重塑AI基礎設施。
之前,Modular AI曾獲得過上億美金的融資,這對于一個剛誕生不久的初創型公司而言,可謂是成績斐然。
另外在公司官網的投資者名單裡能看到,不少AI領域的知名投資機構都有參與。
0x03
官網表示,Mojo這個程式設計語言有幾個比較明顯的特點。
1、首先是性能方面。
Mojo充分利用硬體的特性和功能,包括多核、矢量單元和加速器單元,以及先進的編譯器和異構運作時機制,在不增加複雜性的前提下實作了與C++和CUDA相當的性能。
在并行化這一塊,Mojo利用MLIR,使Mojo開發者能夠充分利用向量、線程和AI硬體單元。
2、其次是互操作性方面。
大家都知道,發展到今天,Python的生态極其繁榮,各種函數、庫、架構、模型、工具等等數不勝數。
而Mojo則可以通路整個Python生态。比如使用Mojo,可以在代碼中無縫地接入和混合像Numpy和Matplotlib等庫。
3、再者就是可擴充性方面。
可擴充性這塊也是Mojo的優勢。Mojo可以更新使用者模型中的已有操作,以便開發者可以使用預處理、後處理、自定義替換等操作來輕松地擴充使用者的模型。
0x04
Mojo最初釋出于去年的5月初,當時上線數月就形成了基本的規模和生态。
随後不久,Modular官網宣布Mojo正式開放下載下傳,首先是從Linux系統開始,并在後續的疊代版本中陸續添加了對Mac的支援,另外Windows的支援也在程序之中。
這也意味着開發者可以通過Mojo SDK進行嘗試并編寫自己的Mojo代碼。
當時就在Mojo官宣可以下載下傳後不久,一位名叫Aydyn Tairov開源作者就利用Mojo來做了一個突破性的嘗試。
這個作者之前曾将GitHub上火熱的由純C實作的llama2.c項目移植到了基于Python的llama2.py。
而這次Aydyn Tairov又将llama2.py移植到了llama2.mojo,結果非常出乎意料,移植後性能提升了近250倍。
即便如此,作者仍然認為裡面還有一些改進的空間。
看到Mojo如此的表現,有不少網友說Python這次可謂是遭遇了一個強大的對手,Mojo甚至有可能在未來會取代Python?
對此,公司CEO Chris Lattner直接回應稱:
Mojo并不會對Python造成威脅,相反,還會幫助Python開發者變得更強大。
文章的最後也附上相關的位址,感興趣的小夥伴可以嘗試一下。
- Mojo官網:https://www.modular.com/mojo
- Mojo文檔:https://docs.modular.com/mojo
至于這門程式設計語言在接下來的AI時代會如何發展,我們可以拭目以待。