oxiglade/mlx-rs

Unofficial Rust bindings to Apple's mlx framework

解決的問題

它為 Apple 的 MLX 庫提供了一個安全且符合慣例的 Rust 界面,讓 Rust 開發者能夠建立並執行針對 Apple Silicon 優化的機器學習模型。

工作原理

該專案作為 MLX 數組框架的 Rust 繫結。它利用 MLX 的核心功能,包括延遲求值以優化記憶體和效能、可動態變化的計算圖,允許在不重新編譯的情況下靈活處理參數形狀,以及統一記憶體模型,使 CPU 和 GPU 之間的操作無需資料複製。

適用對象

希望利用 Apple Silicon 硬體加速進行機器學習任務(例如訓練神經網絡或運行預訓練模型如 Mistral)的 Rust 開發者。

主要特色

  • Apple Silicon 優化:專為 Mac 硬體的高效率設計。
  • 統一記憶體:消除在不同裝置間複製資料的需求。
  • 延遲求值:僅在真正需要時才實體化數組,以節省資源。
  • 多裝置支援:支援在 CPU 和 GPU 上進行運算。
  • 範例實作:包含訓練 MNIST 和使用 Mistral 進行文字生成的範例。

"MLX 提供了一種簡潔且高效的方式來在 Apple Silicon 上進行機器學習。" — @mlx

相關

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