ml-explore/mlx

MLX: An array framework for Apple silicon

解決的問題

MLX 是一個專為 Apple silicon 上的機器學習優化之高性能陣列框架,讓研究人員能在無需手動在 CPU 與 GPU 之間傳輸資料的情況下,高效地訓練與部署模型。

工作原理

MLX 使用統一記憶體模型,陣列儲存在共用記憶體中,表示可在任何支援的裝置(CPU 或 GPU)上執行運算而無需移動資料。它採用惰性計算,陣列僅在需要時才實際產生,並透過動態圖建構避免輸入形狀變更時的緩慢編譯。此框架支援可組合的函數轉換,用於自動微分、向量化與圖優化。

適用對象

專為需要直覺且高效框架來探索新想法與建構複雜模型的機器學習研究人員設計。

主要特色

  • 熟悉的 API:Python API 遵循 NumPy,而 mlx.nnmlx.optimizers 遵循 PyTorch。
  • 多語言支援:C++、C 與 Swift 中也提供完整 API。
  • 統一記憶體:在 Apple silicon 上消除 CPU 與 GPU 之間的資料傳輸。
  • 彈性計算:結合惰性求值與動態圖建構,便於除錯且開發體驗直覺。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案