
MLX是由蘋果的機器學習研究團隊推出的用于機器學習的陣列框架,該開源框架專為 Apple Silicon 芯片而設(shè)計優(yōu)化,從NumPy、PyTorch、Jax和ArrayFire等框架中吸取靈感,提供簡單友好的使用方法,幫助開發(fā)人員在蘋果M系列芯片上有效地開發(fā)、訓練和部署模型。
MLX的主要功能
- 熟悉的 API:MLX 有一個緊隨 NumPy 的 Python API。MLX 還擁有功能齊全的 C++ API,與 Python API 非常相似。
- 可組合的函數(shù)轉(zhuǎn)換:MLX 支持用于自動微分、自動向量化和計算圖優(yōu)化的可組合函數(shù)轉(zhuǎn)換。
- 惰性計算:MLX 中的計算是惰性計算,數(shù)組僅在需要時才會具體化。
- 動態(tài)圖構(gòu)建:MLX 中的計算圖是動態(tài)構(gòu)建的。更改函數(shù)參數(shù)的形狀不會觸發(fā)緩慢的編譯,并且調(diào)試簡單直觀。
- 多設(shè)備:可以在任何支持的設(shè)備(CPU 和 GPU)上運行。
- 統(tǒng)一內(nèi)存:MLX 和其他框架的主要區(qū)別在于統(tǒng)一內(nèi)存模型,陣列共享內(nèi)存。MLX 上的操作可以在任何支持的設(shè)備類型上運行,無需移動數(shù)據(jù)。