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