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間のデータ転送を排除します。
  • 柔軟な計算: 遅延評価と動的グラフ構築を組み合わせることで、デバッグが容易で直感的な開発が可能になります。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト