Mojo——會燃的 AI 編程語言

點擊鏈接瞭解詳情

img


導語:本文簡介 Mojo 的背景與特點,並分享如何通過騰訊雲 Cloudstudio 的 WebIDE 和分享社區快速學習和上手 Mojo。

🔥🔥🔥 騰訊雲 Cloud Studio 已開放 Mojo 應用模版。

什麼是 Mojo

Mojo 是基於 Python 而生的編程語言,它結合了 Python 的簡易性和 C 語言的強大性能,能夠實現硬件的豐富功能,如多核、向量單元和加速器單元。Mojo 能對大量低級 AI 硬件進行編程,並且輕鬆擴展模型,爲開發者提供卓越的性能體驗。

Mojo 出現的背景

當下,AI 模型的開發基本都是使用 Python 完成。但 Python 性能相對較慢,對於大規模的計算密集型任務,並不是最佳選擇。在使用多線程時,Python 解釋器中的全局解釋器鎖不能充分發揮多核處理器的優勢,一定程度增加了 AI 模型開發的複雜性。且 Python 的內存佔用通常較高,在規模的數據集和複雜的模型中,會因頻繁的內存交換而變得效率低下,尤其會限制可處理的數據規模。這無疑是減緩 AI 模型創新發展的步伐。伴隨着機器學習需求與日俱增,Mojo 應運而生。

Mojo 的優點

  • 可用性和可編程性

開發者使用 Mojo 進行編程,無需再單獨掌握 C++ 或 CUDA 等其他語言,通過 Mojo 一種語言即可完成 AI 模型所有內容的編寫。Mojo 的高級語法完全基於 Python,其使用起來像 Python 一樣簡單,但具有 C++ 和 Rust 的性能。並且 Mojo 能夠實現自動並行化,很大程度降低了開發者的使用門檻。

  • 性能強大

Mojo 的性能號稱比 Python 快 68000 倍。因爲 Mojo 是靜態編譯的,靜態編譯語言的代碼在執行之前經過編譯器編譯過程,將代碼直接編譯成機器碼。在運行時不需要進行解釋或動態編譯,從而在計算密集型任務上具有明顯的性能優勢。此外,Mojo 利用 MLIR,使開發人員可以輕鬆利用向量、線程和 AI 硬件單元。

  • 互操作性和可擴展性

Mojo 支持訪問完整的 Python 科學計算庫,如 Numpy、SciPy、Pandas、Matplotlib 以及用戶自定義代碼,提供了豐富的機器學習算法、工具以及深度學習框架等,隨着時間的推移將發展成 Python 的超集,使得在 Mojo 上開發和訓練複雜的機器學習模型更加容易和高效。

總之,Mojo 是面向 AI 的編程語言,是一種創新且可擴展的編程模型,用於解決開發者在構建機器學習基礎設施時,面臨的整個堆棧編程過於複雜的問題。Mojo 又被稱爲 Python 的超集,它比 Python更適用於系統編程,同時,Mojo 支持任何 Python 模塊導入 Mojo 程序中,讓開發者可以充分使用高性能代碼,不會增加開發門檻。另外,在 AI 模型開發過程中,Mojo 可以通過“fn”創建函數,以構建更復雜的函數管道或函數鏈,從而實現更高級的功能,爲 AI 模型創新提供更穩定、快速、高質量的開發環境。

騰訊雲 Cloud Studio 相關服務

  1. 騰訊雲 Cloud Studio 是騰訊雲的面向雲端開發的 IDE 產品。內置了 Mojo 鏡像和官方全部 Mojo 示例:Cloud Studio

登陸後選擇 Mojo 鏡像,點擊和直接可以編輯、運行,也可以按需提高運行的資源配置,使用示例如下所示:

img

  • 代碼運行

運行 Mojo 代碼文件。打開 mojo 模版中的 hello.🔥 文件。

img

寫入以下代碼保存:

rint("Hello cloudstudio Mojo 🔥!")
    for x in range(9, 0, -3):
        print(x)

運行得到:

img

  1. 騰訊雲CloudStudio也具備開發愛好者交流學習分享的應用社區:club.cloudstudio.net

社區中已提供 Mojo 相關學習資料,文中對 Mojo 基礎語法、Python 集成進行了科普,點擊【快速體驗】即可通過應用查看。

img

點擊【復刻】可進入 IDE Mojo 模版進行編碼體驗。

img

img

大模型加速效果測評

根據該 benchmark 測試結果(GitHub - tairov/llama2.mojo: Inference Llama 2 in one file of pure 🔥), 看起來官方宣稱的超 Python 68000 倍的最大加速效果也許有些誇大,但 llama2 15M 模型下 Mojo 相比於 Python 來說確實加速了不少(我們自己測試速度倍差比該結果稍大)。而且 Mojo 還在起步階段,如果它真能達到所暢想的目標,還是很有前景的。

img

img

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章