我們擅長(cháng)商業(yè)策略與用戶(hù)體驗的完美結合。
歡迎瀏覽我們的案例。
蘋(píng)果新發(fā)布適用于蘋(píng)果芯片的機器學(xué)習框架 MLX,MLX 是一個(gè)類(lèi)似于 NumPy 的陣列框架,旨在為使用蘋(píng)果硬件的研究人員簡(jiǎn)化 ML 模型的訓練和部署。
一直以來(lái),英偉達 CUDA 稱(chēng)霸天下,使得它在 AI 領(lǐng)域的勢力不可動(dòng)搖。
對于許多人來(lái)說(shuō),都希望打破這個(gè)護城河,比如 PyTorch 支持更多 GPU,OpenAI 的 Triton 等等。
近日,蘋(píng)果針對使用蘋(píng)果芯片的機器學(xué)習研究人員,專(zhuān)門(mén)發(fā)布了一款機器學(xué)習框架 MLX。
蘋(píng)果機器學(xué)習團隊的 Awni Hannun 在X-note 中將該軟件稱(chēng)為:「……專(zhuān)為蘋(píng)果芯片設計的高效機器學(xué)習框架」。
MLX 使用起來(lái)類(lèi)似 PyTorch、Jax 和 ArrayFire 等現有框架。
但是,MLX 針對 Apple 芯片進(jìn)行了優(yōu)化。以前受困于艱難使用M芯片 GPU 跑模型的研究人員,現在終于可以擺脫這個(gè)苦惱了!
同時(shí),MLX 增加了對統一內存模型的支持,這也意味著(zhù)陣列位于共享內存中,并且可以在任何支持的設備類(lèi)型上執行操作,而無(wú)需執行數據復制。那么,一旦蘋(píng)果的其他產(chǎn)品也能夠開(kāi)始跑模型……有沒(méi)有很期待!
英偉達高級科學(xué)家 Jim Fan 表示,這可能是蘋(píng)果公司迄今為止在開(kāi)源人工智能方面的最大舉措:
MLX 特別之處
先讓我們來(lái)看看 MLX 的速度:
一位網(wǎng)友對 MLX 的速度進(jìn)行了測試,他在推文中表示,使用 Apple MLX 框架進(jìn)行計算的速度,M2 Ultra(76 個(gè) GPU)可達到每秒 5 次迭代(It/sec),而 M3 Max(40 個(gè) GPU)可以達到每秒 2.8 次迭代。
這個(gè)速度是與 Pytorch 幾乎持平的。
MLX 的另一大特點(diǎn),像 Jim Fan 指出的那樣,是它設計出色的 API。
對深度學(xué)習領(lǐng)域的開(kāi)發(fā)人員來(lái)說(shuō),上手幾乎零成本。
這是因為 MLX 的設計靈感來(lái)自于 PyTorch、Jax 和 ArrayFire 等現有框架。
研究團隊解釋道:「Python API 與 NumPy 高度相似,只有少數例外。MLX 還擁有一個(gè)功能齊全的 C++ API,它與 Python API 高度一致?!?/p>
研究團隊對該設計的目的作了補充:「該框架旨在兼顧對用戶(hù)操作友好,同時(shí)保持訓練和部署模型的高效。我們的目標是使研究人員能夠輕松擴展和改進(jìn) MLX,以便快速探索新的想法?!?/p>
除了可以輕松上手的 API 之外,MLX 的一些其他關(guān)鍵特性還包括:
可組合的函數變換:MLX 含有用于自動(dòng)微分、自動(dòng)向量化和計算圖優(yōu)化的可組合函數變換,這對于優(yōu)化和加速機器學(xué)習模型的訓練過(guò)程非常有用。
延遲計算:MLX 支持延遲計算,數組只在需要時(shí)才會(huì )被實(shí)例化。
動(dòng)態(tài)圖構建:MLX 中的計算圖是動(dòng)態(tài)構建的。改變函數參數的形狀不會(huì )觸發(fā)緩慢的編譯,調試也簡(jiǎn)單直觀(guān)。這使得模型的開(kāi)發(fā)和調試更加靈活和高效。
多設備支持:操作可以在任何支持的設備上運行(目前支持 CPU 和 GPU)。
統一內存:MLX 與其他框架的顯著(zhù)區別在于統一的內存模型。在 MLX 中,數組存在于共享內存中,對 MLX 數組的操作可以在任何支持的設備類(lèi)型上執行,而無(wú)需移動(dòng)數據。
MLX Data
除了發(fā)布 MLX 以外,蘋(píng)果機器學(xué)習團隊還一起發(fā)表了 MLX Data。這是一個(gè)與 MLX 框架無(wú)關(guān)的數據加載庫,可以與 PyTorch、Jax 或 MLX 一同使用。
MLX Data 可以用于加載大規模數據集,也可以獨立用于數據預處理,以供機器學(xué)習訓練使用。
該庫的目標是允許用戶(hù)利用多線(xiàn)程來(lái)加速數據處理流水線(xiàn),而無(wú)需涉及復雜的多進(jìn)程操作或使用符號語(yǔ)言編寫(xiě)代碼。這有利于幫助提高數據加載和預處理的效率。
MLX 示例展示
目前,用戶(hù)可以通過(guò) PyPI 輕松安裝 MLX,只需執行以下命令:pip install mlx
用戶(hù)需要確保滿(mǎn)足以下安裝要求:
- 使用M系列芯片(蘋(píng)果芯片)
- 使用本地 Python 版本不低于 3.8
- MacOS 版本需不低于 13.3
研究團隊同時(shí)提供了一系列有關(guān) MLX 功能的示例,包括 Transformer 語(yǔ)言模型訓練、使用 LLaMA 進(jìn)行大規模文本生成、使用 LoRA 進(jìn)行微調、使用穩定擴散生成圖像,以及用 OpenAI 的 Whisper 進(jìn)行語(yǔ)音識別等。
這些例子也側面證明了該公司在語(yǔ)言處理、圖像生成和語(yǔ)音識別等方面的技術(shù)實(shí)力和工具的強大程度。
其他開(kāi)發(fā)人員也對于 MLX 進(jìn)行了其他有趣的嘗試,比如一位來(lái)自塞浦路斯大學(xué)的教授,在使用 PyTorch 和新的 MLX 框架的情況下,成功在 Apple M2 Ultra GPU 上解決了一個(gè)板上的二維熱傳導方程問(wèn)題,其中包含兩個(gè) Dirichlet 和兩個(gè) Neumann 邊界條件。
有趣的是,MLX 的計算速度大約是之前的兩倍,并且可以直接使用 Matplotlib 進(jìn)行繪圖,無(wú)需轉移到 CPU。
從 MLX 一瞥蘋(píng)果對于人工智能的展望
普惠機器學(xué)習
研究團隊一再強調,「MLX 是由機器學(xué)習研究人員為機器學(xué)習研究人員設計的?!?這表明蘋(píng)果意識到為機器學(xué)習開(kāi)發(fā)開(kāi)放、易于使用的開(kāi)發(fā)環(huán)境的需求,以促進(jìn)該領(lǐng)域的進(jìn)一步發(fā)展。
芯片技術(shù)
因為蘋(píng)果的處理器現在存在于其所有產(chǎn)品中,包括 Mac、iPhone 和 iPad。這種在這些芯片上使用 GPU、CPU 和(有可能在某個(gè)時(shí)刻)神經(jīng)引擎的方法可能會(huì )轉化為在設備上執行 ML 模型。其性能可能超過(guò)其他處理器,至少在邊緣設備方面。
開(kāi)發(fā)工具的重要性
蘋(píng)果明確決定將重點(diǎn)放在為機器學(xué)習研究人員提供最佳工具上,包括強大的 M3 Mac,用于模型構建?,F在,他們進(jìn)一步希望將這種關(guān)注轉化為對普通用戶(hù)而言可行、以人為本的 AI 工具。
總體而言,蘋(píng)果希望通過(guò)提供強大的工具和在不同設備上的性能優(yōu)勢,將機器學(xué)習和人工智能推向更廣泛的用戶(hù)。
蘋(píng)果版CUDA來(lái)了!專(zhuān)為自家芯片打造,M3 Max可跑每秒迭代2.8次 09:04:36
華為實(shí)現全國首個(gè)省域輕量化5G全網(wǎng)覆蓋:較4G可提升10倍 功耗低20% 09:24:57
全球首款“真無(wú)線(xiàn)”電視續作:新增 NFC 支付讀卡器和熱像儀 09:22:58
美團無(wú)人機首條高校外賣(mài)航線(xiàn)在深圳開(kāi)航 09:20:17
高德地圖上線(xiàn)甘肅震區交通出行保障服務(wù):包含避難所和物資領(lǐng)取點(diǎn)查詢(xún)等 09:17:18
華為云與泰國氣象局聯(lián)合打造泰國盤(pán)古大模型:預測臺風(fēng)未來(lái)路徑從 5 小時(shí)縮短到 10 秒 09:15:45