站長之家(ChinaZ.com)12月6日 消息:Apple 開源的 MLX 是一個適用于蘋果芯片的機(jī)器學(xué)習(xí)框架。它具有許多功能,包括熟悉的 API、可組合的函數(shù)轉(zhuǎn)換、延遲計算、動態(tài)圖構(gòu)建和多設(shè)備支持等。
MLX 從 NumPy、PyTorch、Jax 和 ArrayFire 等框架中吸取靈感,創(chuàng)建了一個強(qiáng)大且多功能的平臺。通過示例倉庫,我們可以看到 MLX 的各種能力,包括語言模型訓(xùn)練、文本生成、圖像生成和語音識別。MLX 的安裝也非常簡單,只需使用 pip 命令即可。
代碼: https://github.com/ml-explore/mlx
文檔: https://ml-explore.github.io/mlx/build/html/index.html
重點功能:
熟悉的 API:MLX 的 Python API 與 NumPy 緊密結(jié)合,而功能齊全的 C++ API 則反映了 Python 版本。此外,mlx.nn 和 mlx.optimizers 等更高級別的包通過遵守 PyTorch 約定來簡化模型構(gòu)建。
可組合函數(shù)轉(zhuǎn)換:MLX 引入了可組合函數(shù)轉(zhuǎn)換,支持自動微分、向量化和計算圖優(yōu)化。
惰性計算:MLX 中的計算被設(shè)計為惰性計算,確保僅在必要時才具體化數(shù)組,從而優(yōu)化計算效率。
動態(tài)圖構(gòu)建:MLX采用動態(tài)圖構(gòu)建,消除了因函數(shù)參數(shù)形狀變化而引發(fā)的緩慢編譯。這種方法簡化了調(diào)試過程。
多設(shè)備支持:MLX 允許操作在支持的設(shè)備(包括 CPU 和 GPU)上無縫運行,為開發(fā)人員提供了靈活性。
統(tǒng)一內(nèi)存模型:MLX 引入了與其他框架不同的統(tǒng)一內(nèi)存模型。陣列駐留在共享內(nèi)存中,允許跨不同設(shè)備類型對 MLX 陣列進(jìn)行操作,而無需移動數(shù)據(jù)。
(舉報)