気になるオープンソース AI/ML 2020

気になるオープンソース AI/ML 2020

オープンソースAIやマシーンラーニング(ML)は年々新しいものが続々出てきています。日本でも様々な研究がされていますが、圧倒的に海外の方がすすんでいます。2018年にも7選としてやっていますが、2年経ってその後どのようにかわったのでしょうか?そんな最先端のオープンソースAI&マシーンラーニング(ML)を今回は10選ご紹介します。

Accord.NET(10位)

Accord.NETは、画像処理ライブラリと音声処理ライブラリを組み合わせたMLのフレームワークです。C#で記述され、高レベルの画像処理や信号処理、統計アプリケーションを構築するためのフレームワークです。

用途に合わせたサンプルが数多く準備され、目的に応じたサンプルを誰でも簡単に利用できてしまう点は初心者にとって最適です。さらに、このフレームワークは、生産グレードの科学計算に最適です。さまざまな環境で高いレベルのアプリケーションを構築できます。

Cloudera(9位)

Cloudera Data Science Workbenchは、技術的にはオープンソースではありませんが、技術者がR、Python、またはScalaをオンデマンドで使用し、Apache SparkおよびApache Impalaに安全にアクセスできるようにします。

これを使うと、ユーザーは新しい機械学習プロジェクトを開発してプロトタイプを作成し、単一の統合ワークフローを通じて本番環境に簡単にデプロイできます。データサイエンスワークベンチには、組み込みのスケジューリング、モニタリング、電子メールアラートなど、さまざまな機能も備わっています。

Apple Core ML(8位)

Apple Core MLオープンソースライブラリは、モバイルアプリにAIを組み込みたい企業向けのMLフレームワークです。このソリューションを使用するには、モデルファイルをプロジェクトにドロップするだけです。その後、簡単にモデルを作成してトレーニングできます。

これらのモデルは特にiOS形式で機能するため、できるだけ早くアプリローンチ出来るようになります。さらに、Apple Core MLは、メモリフットプリントと電力消費を可能な限り低く抑えながら、ニューラルエンジン、CPU、GPUにアクセスすることで、デバイス上のパフォーマンスを最大限に活用します。

Apache Spark MLlib(7位)

Apache Spark MLlibは、非常にスケーラブルで高度な機械学習ライブラリです。このオープンソースサービスは、Apache Mesos、Hadoop、およびKubernetesで実行されます。また、Spark機能にスタンドアロンサービスとしてアクセスしたり、クラウドに実装したりすることもできます。

MLlibは、複数のソースからのデータへのアクセスにも優れており、ロジスティック回帰、分類、およびクラスタリングに使えるアルゴリズムがあります。 Apache Spark MLlibの他のワークフローユーティリティには、MLパイプラインの構築、永続化、機能変換が含まれます。

Torch(6位)

Torchは、MLライブラリとオープンソース環境です。このオープンソースフレームワークは、機械学習プロジェクトの速度と柔軟性を優先します。現在市販されている他の製品とは違い、GPUを最優先しており、高速なスクリプト言語Lua(ルア)によって利用します。

このソリューションはスクリプト言語LuaJITであり、基礎となるC / CUDA実装オプションが含まれています。 Torch環境には、埋め込み可能なポート、線形代数ルーチン、堅牢なインターフェースがあります。

Theano(5位)

PythonベースのオープンソースソリューションであるTheanoは、開発者が機械学習モデルを最適化、定義、評価できるライブラリです。柔軟性とスケーラビリティを必要とするユーザーには理想的です。多数のMLモデルの作成を容易にし、古いライブラリの1つとして、業界標準のツールとされることがあります。

Theanoは、さまざまなネイティブライブラリと統合でき、コードに変換するプロセスを簡単に拡張できます。さらに、GPUに最適化され、テストのための効率的な差別化ソリューションとオプションを提供します。

Microsoft Cognitive Toolkit(4位)

Microsoft Cognitive Toolkit(別名CNTK)は、企業がMLプロジェクトを次のレベルに引き上げるのに役立つAIオープンソースソリューションです。この高度なシステムは、ディープラーニングアルゴリズムやリカレントニューラルネットワークのトレーニングに最適です。

このプラットフォームの最も評価すべき機能には、PythonからC ++までのすべてのデータを処理できる高度なコンポーネントが含まれる点です。さらに、リソースの使用を最適化および強化することを容易にします。 Microsoft Azureをすでに使用している場合は、もはや選択肢に他のサービスは考えられません。

Keras(3位)

2015年にリリースされたKerasは、ニューラルネットワークAPIで構成された高レベルのオープンソースプラットフォームです。 Kerasは、TensorFlowやMicrosoft Cognitive Toolkitなど、他のさまざまなオープンソースソリューションでも実行できます。

使いやすさで世界中で知られているこのPythonベースのシステムは、迅速なプロトタイピング、たたみ込みネットワークや繰り返しネットワークのサポートに最適です。 Kerasは、GPUとCPUの両方で最適に実行されます。したがって、独自のニーズに合わせて環境を設計できます。

Shogun(2位)

Shogun Toolboxとしても知られているShogunは、ML用のオープンソースライブラリであり、統一された効率的な機械学習手法を幅広く提供しています。このツールは、Linux、Unix、macOSなどのプラットフォームを含むさまざまな言語をサポートしています。

機械学習の問題を解決するためのアルゴリズムとデータ構造があります。さらに、Shogunは、機械学習ライブラリへのリンクをサポートすることで、大規模な学習を可能な限り簡単にすることに重点を置いています。

効率的な実装と複数のデータ表現の簡単な組み合わせを探しているなら、Shogunが最適です。

名前も将軍っていいですよね。

Tensorflow(1位)

Googleがサポートしている正解で最も有名なAI /MLプラットフォームです。これを差し置いて1位は考えられません。驚くほど使いやすく、直感的に高レベルなモデルの構築が可能です。クラウド、ブラウザ、オンプレミスで素早くトレーニングしディスプレイ出来るのも魅力の一つです。

Dropbox、Uber、Twitter、Intelなどの大手企業もこのプラットフォームを利用しています。

まとめ

最も利用価値が高いのはやはりTensorflowでした。実際、利用した感想としては非常に使いやすく、やりたいことが簡単にできるという点です。

Tensorflowについては、また別の機会になにか作って見たいと思います。

技術は日進月歩。また2年後あたりにAI/MLの現状をリサーチしてみたいと思います。