IBMは米国時間11月23日、同社の機械学習システム「SystemML」が「Apache Incubator」のオープンソースプロジェクトとして受理されたと発表した。
Apache Incubatorは、The Apache Software Foundationの正式プロジェクトへの登竜門だ。
機械学習システムのオープンソース化はトレンドになってきている。
このため、機械学習の導入あるいは利用拡大を検討している企業にとって、考慮すべきオープンソースのコードベースは星の数ほどある。例えば、Googleの「TensorFlow」やFacebookの「Torch」といったツールは、ニューラルネットワークの学習効率を向上させるためのものだ。そして、SystemMLは、企業利用を念頭に置いたエコシステムの拡大を目指している。
IBMは、機械学習を専門にする企業が生み出されるような土壌を作り出そうとしている。Microsoftも同様の道を目指す可能性はあるが、Apacheのオープンソースという手段は採らないないかもしれない。
ビッグデータ分析を実現する「MapReduce」や「Apache Hadoop」も、元々はオープンソースプロジェクトとして出発しているため、Apacheの機械学習システムとしてどういったものが勝ち残ったとしても、同じようにやっていけるはずだ。
IBMのSystemMLは、企業データの分析を目的とした、業界に特化した機械学習アルゴリズムを作り上げるために用いられる。同社は、コードベースを1度記述するだけで、複数の業界やプラットフォームに適用できるようなかたちでSystemMLを開発した。SystemMLがスケーラビリティに優れていれば、Apacheに寄贈するというIBMの選択によって、これは他の分析ソフトウェアとの接点にもなるはずだ。
「Apache SystemML」プロジェクトでは既に、APIからデータインジェスチョン(データの取得/取り込み/加工)、ドキュメントに至るまでのありとあらゆるものに対する320を超えるパッチや、「Apache Spark」に対する90を超える貢献、SystemMLエンジンに対する複数の企業からの15人を超えるコントリビューターからの貢献が達成されている。
Apache SystemMLプロジェクトの詳細は以下の通りだ。
SystemMLによって、機械学習アルゴリズムの柔軟な仕様と、単一ノードからインメモリデータ処理、Apache Hadoopや「Apache Spark」上での分散コンピューティングに至るまでの多岐にわたるハイブリッドなランタイム実行計画の自動的な生成を目的とする、宣言型の大規模な機械学習機能が提供される。機械学習アルゴリズムは、線形代数プリミティブや統計関数、機械学習固有の構造を含め、プログラミング言語RやPythonのシンタックスで表現できる。こういった高水準言語によって、(1)カスタム化された分析を表現するうえでの十分な柔軟性と、(2)入力フォーマットや物理データ表現に依存しないという、データの独立性がもたらされるため、データ科学者の生産性を著しく高められるようになる。また、ディスクファイルシステム上での分散やスパーシティといった、データの特性に加えて、分散環境におけるノード数やCPU、ノード当たりのメモリ容量といった処理上の特性に応じた自動最適化により、効率とスケーラビリティの双方を確保できる。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。