Apache MXNetは、ディープニューラルネットワークをトレーニングおよびデプロイするオープンソースのディープラーニングソフトウェアフレームワークです。スケーラブルであること、高速なモデルトレーニングが可能であること、柔軟なプログラミングモデルと複数のプログラミング言語( C++、Python、Java、Julia、MATLAB、JavaScript、Go、R、Scala、Perl、Wolfram Languageを含む) をサポートすることを目指しています。MXNetライブラリは移植性があり、複数のGPU [ 2 ]およびマシンに拡張できます。ワシントン大学のCarlos Guestrin氏が GraphLab と共同で開発しました。[ 3 ]
2023 年 9 月現在、積極的に開発は行われていません。[ 4 ] Apache MXNet は、重要な貢献の不足、古いビルド、主要な支援者である Amazon が PyTorch などの他のフレームワークに重点を移したことなど、複数の要因が重なって事実上放棄されました。このプロジェクトでは 1 年以上新しいリリースがなく、貢献者からのプル リクエストや更新もほとんどなかったため、2023 年に Apache Attic に移行しました。さらに、コミュニティはより堅牢なサポートと開発活動を提供する他のフレームワークに移行し始めました。[ 5 ]
Apache MXNetは、畳み込みニューラルネットワーク(CNN)や長短期記憶ネットワーク(LSTM)などの深層学習モデルをサポートする、スケーラブルな深層学習フレームワークです。
MXNetは、分散パラメータサーバーを使用して動的なクラウドインフラストラクチャ上に分散できます(カーネギーメロン大学、Baidu、Googleの研究に基づく[ 6 ])。複数のGPUまたはCPUを使用することで、フレームワークは線形スケールに近づくことができます。
MXNetは命令型プログラミングと記号型プログラミングの両方をサポートしています。このフレームワークを使用すると、開発者は追跡、デバッグ、チェックポイントの保存、ハイパーパラメータの変更、および早期停止を実行できます。
MXNetは、フロントエンド開発にはPython、R、Scala、Clojure、Julia、Perl、MATLAB 、JavaScriptを、バックエンド最適化にはC++をサポートしています。
このフレームワークは、Amalgamation を使用して、モバイル デバイスなどの低性能デバイスにトレーニング済みモデルをデプロイして推論を実行することをサポートしています。[ 7 ]その他のデプロイ対象には、IoTデバイス (AWS Greengrass を使用)、サーバーレス コンピューティング( AWS Lambdaを使用)、またはコンテナなどがあります。これらの低性能環境は、CPU が弱かったりメモリ (RAM) が限られていたりする場合がありますが、より高レベルの環境 (たとえば、GPU ベースのクラスタ) でトレーニングされたモデルを使用できる必要があります。
MXNet は、 Amazon Web Services (AWS) [ 8 ]やMicrosoft Azure [ 9 ]などのパブリック クラウドプロバイダーによってサポートされています。現在、MXNet はIntel、Baidu、Microsoft、Wolfram Research、およびCarnegie Mellon、MIT、ワシントン大学、香港科技大学などの研究機関 によってサポートされています。[ 10 ]