蘋果M系列晶片專屬的機器學習框架,開源即爆紅!
現在,使用這個框架,你就能直接在蘋果GPU上跑70億參數大模型、訓練Transformer模型或是做LoRA微調。
它由蘋果官方發表,風格與PyTorch相似,不過並不基於任何已有框架實現。
LeCun等大咖紛紛趕來點讚轉發。
Just in time for the holidays, we are releasing some new software today from Apple machine learning research.
— Awni Hannun (@awnihannun) December 5, 2023
MLX is an efficient machine learning framework specifically designed for Apple silicon (i.e. your laptop!)
Code: https://t.co/Kbis7IrP80
Docs: https://t.co/CUQb80HGut
NVIDIA高級AI科學家Jim Fan讚歎稱:
這應該是目前蘋果在開源AI開源上最大的動作了。
甚至還有網友動起了iPhone上A晶片的想法
那麼,這個框架究竟是什麼樣子?
參考多個ML框架設計
這個新框架名叫MLX,有探索機器學習(ml-explore)的意思。
從功能來看,MLX主要有以下幾點特性:
API熟悉(包括C++ API、類似NumPy的Python API以及一些進階功能包近似於PyTorch的API)、可組合函數變換、惰性運算、動態圖構建、多設備可用、統一記憶體存取架構。
框架作者Awni Hannun介紹,之所以MLX不直接基於PyTorch實現,主要有幾個方面的考量。
首先是因為,MLX框架是為蘋果晶片設計的。
蘋果晶片在採用了一些獨特的設計,例如統一記憶體存取架構,這些設計在框架中都可以被利用。
然後,MLX框架也參考了不同機器學習框架的優勢,包括NumPy、PyTorch、Jax和ArrayFire等。
例如JAX中可組合的函數轉換,就被加進了MLX的設計中,但graph(運算圖)仍然是動態構建的。
除此之外,作者認為MLX也有一些屬於自己的特性,如簡單、靈活和多樣性等。
因此,MLX在功能和設計上與PyTorch等經典框架不完全一樣,有一些「自己的style」。
如果你手上有蘋果M晶片電腦的話,現在就可以上手一試跑AI模型了。
蘋果電腦M系列晶片才能用
目前,官方給出了5類MLX的使用參考案例:
- Transformer架構語言模型的訓練
- 用LLaMA或Mistral進行長文本生成
- 用LoRA進行參數微調
- 用Stable Diffusion進行圖像生成
- 用Whisper進行語音辨識
作者們還在GitHub上放出了基於Stable Diffusion對比的PyTorch和MLX的性能:
要是對這幾個AI模型感興趣,裝好MLX之後就可以直接上手試玩了。
作者給出了一系列Step by Step的教學,教你如何在蘋果電腦上運行MLX框架。
首先是pip install mlx,安裝一下框架:
我們也在蘋果M晶片電腦上嘗試了一下,可以成功安裝:
值得一提的是,安裝前記得檢查一下你的蘋果電腦,各種環境和作業系統是否都正確。
而且晶片必須是蘋果自主研發的M系列晶片,可以用這個指令檢查一下:
如果是Intel平臺,也是用不了MLX的:
搞定之後,git clone一個副本,就可以在樣例裡面找到自己想玩的模型,嘗試上手運行了:
這裡跑一個LLaMA試試:
然後就可以開始問問題了,例如波爾查諾-魏爾斯特拉斯定理是什麼等等,LLaMA就能在終端給你解答:
LightningAI的Sebastian Raschka表示,這個框架看起來非常酷,希望能看到更多PyTorch與MLX在macOS上的性能對比。
除此之外,LLaMA在MLX上的實現細節也非常有意思:
Looks super cool, excited to see some benchmarks vs regular PyTorch on macOS.
— Sebastian Raschka (@rasbt) December 6, 2023
Hah, there's already a "traditional" RoPE? What did I miss!? 😅 https://t.co/M12TKwh0Ax
還有不少蘋果使用者表示高興:H100稀缺的情況下,終於可以用M3 Max來幹大事了。
加入電腦王Facebook粉絲團In a world of limited H100s, geeks like me have been eagerly awaiting this 🤓 I know what my m3 Max is going to be doing during the holidays 😊 https://t.co/GuLgxDekcc
— Ahmed Reza (@AhmedRezaT) December 6, 2023