Appleシリコン専用の機械学習用の配列フレームワークがリリースされた!
MLX Contributorsが制作したAppleシリコン専用の機械学習用の配列フレームワークGithubリポジトリからダウンロード可能です。
M1からM3搭載Macで使用可能
MLXは特に以下のような開発者やプロフェッショナルにとって効果的なツールとなります:
Apple Siliconを搭載したMacデバイス(注01)を使用する開発者: MLXはApple Silicon向けに最適化されており、Mシリーズチップを搭載したMacBookなどで高いパフォーマンスを発揮します。したがって、Apple Siliconデバイスを利用している開発者にとって特に有用です。
PyTorchユーザー: MLXはPyTorchスタイルのAPIを提供しており、PyTorchのユーザーやディープラーニングエンジニアにとっては馴染みやすいです。PyTorchを使っている開発者が迅速に採用しやすいでしょう。
オープンソースAIや機械学習プロジェクトに参加する開発者: MLXはオープンソースで提供されており、GitHubリポジトリには豊富なドキュメントや自己完結型の例が含まれています。したがって、オープンソースAIプロジェクトに参加する開発者や、機械学習モデルの開発に関心のある開発者に適しています。
Apple製品を活用するAI研究者やディープラーニング専門家: MLXはAppleのAI研究チームによって開発され、Apple製品向けに最適化されています。Apple製品を活用してAI研究やディープラーニングに取り組む専門家にとって、MLXは魅力的な選択肢となります。
※注01:MLXは特定のApple Siliconシリーズに限定されるような情報は提供されていないようです。通常、機械学習フレームワークやソフトウェアは、特定のプロセッサーシリーズに依存することなく、一般的なハードウェアプラットフォーム上で動作するように設計されていますが、サイトやリポジトリをくまなくみてみましたが、どのAppleシリコンでインストール可能かが記述されていませんでした。
したがって、MLXはMシリーズ、Sシリーズ、Tシリーズ、Wシリーズ、Hシリーズ、Uシリーズなど、Apple Siliconの異なるシリーズに搭載されたプロセッサーを搭載したMacデバイスで利用できる可能性が高いですが明記はありません。
MLXの主要な特徴
MLXのいくつかの主要な特徴には以下のものがあります:
馴染みのあるAPI: MLXにはNumPyに密接に従うPython APIがあります。また、完全に機能するC++ APIもあり、Python APIと密接に似ています。高レベルのパッケージであるmlx.nnやmlx.optimizersもあり、PyTorchに密接に従うAPIを持っており、より複雑なモデルの構築を簡素化します。
組み合わせ可能な関数変換: MLXには、自動微分、自動ベクトル化、計算グラフの最適化のための組み合わせ可能な関数変換があります。
遅延計算: MLX内の計算は遅延されます。配列は必要な時にのみ実体化されます。
動的グラフ構築: MLXの計算グラフは動的に構築されます。関数引数の形状を変更しても遅いコンパイルがトリガーされず、デバッグは簡単で直感的です。
マルチデバイス: サポートされているデバイス(現在はCPUとGPU)のどれでも操作を実行できます。
統一メモリ: MLXと他のフレームワークとの注目すべき違いは、統一メモリモデルです。MLXの配列は共有メモリに存在し、MLX配列上の操作はデータを移動せずにサポートされているデバイスタイプのいずれかで実行できます。
一般的な機械学習用の配列フレームワーク
Macシリコン専用ではなく、一般的な機械学習用の配列フレームワークには以下のようなものがあります。
TensorFlow: TensorFlowはGoogleによって開発されたオープンソースの機械学習フレームワークであり、さまざまなハードウェア上で動作します。Macシリコン以外のプラットフォームでも使用できます。
PyTorch: PyTorchはFacebookによって開発されたオープンソースの機械学習フレームワークであり、Macシリコンを含む多くのプラットフォームでサポートされています。
scikit-learn: scikit-learnはPython向けのオープンソースの機械学習ライブラリで、Macシリコン以外のプラットフォームでも利用可能です。
XGBoost: XGBoostは勾配ブースティングアルゴリズムを実装した機械学習ライブラリであり、クロスプラットフォーム対応です。
NVIDIAのジン・ファン氏も称賛
Jim Fanさんは、MLXのリリースがディープラーニングの専門家向けになじみのあるAPIを設計し、多くの人が関心を持つOSS(オープンソースソフトウェア)モデルに対する簡潔な例を示すことで優れた仕事をしたと評価しています。また、MLXのGitHubリポジトリへのリンクと、詳細なドキュメントが提供されていることに触れています。
さらに、Jim FanさんはAppleの同僚である@awnihannun氏に感謝の意を表明しており、これを「早いクリスマスプレゼント」と表現しています。