アパッチマハウト

アパッチマハウト
開発者Apacheソフトウェア財団
初回リリース2009年4月7日; 16年前[1] (2009年4月7日
安定版リリース
2020年10月7日 14.1 ; 5年前[2] ( 2020-10-07 )
リポジトリMahoutリポジトリ
書かれたJavaScala
オペレーティング·システムクロスプラットフォーム
タイプ機械学習
ライセンスApacheライセンス2.0
Webサイトmahout.apache.org

Apache Mahoutは、 Apache Software Foundationのプロジェクトであり、線形代数に主に焦点を当てた分散型またはスケーラブルな機械学習アルゴリズムの無償実装を開発しています。過去には多くの実装でApache Hadoopプラットフォームが使用されていましたが、現在はApache Sparkを主に利用しています。[3] [4] Mahoutは、一般的な数学演算(線形代数と統計に主に焦点を当てています)と基本的なJavaコレクションのためのJava/Scalaライブラリも提供しています。Mahoutは現在開発中であり、多くのアルゴリズムが実装されています。[5]

特徴

輪廻

Apache Mahout-Samsaraは、従来のScala風の構文ではなく、R風の構文を使用できるScalaドメイン固有言語(DSL)です。これにより、ユーザーはアルゴリズムを簡潔かつ明確に表現できます。

val G = B %*% B . t - C - C . t + ( ksiドットksi ) * ( s_qクロスs_q )                 

バックエンドに依存しない

Apache Mahoutのコードは、コードが実行されるエンジンからドメイン固有言語(DSL)を抽象化します。現在Apache Sparkエンジンで開発が進められていますが、ユーザーは任意のエンジンを自由に実装できます。H2OとApache Flinkは過去に実装されており、コードベースにサンプルが存在します。

GPU/CPUアクセラレータ

JVMは計算速度が非常に遅いことで知られています。速度向上のため、「ネイティブソルバー」が追加されました。これは、インコアBLAS演算、ひいては分散BLAS演算をJVMから移動させ、オフヒープまたはGPUメモリにオフロードすることで、複数のCPUおよび/またはCPUコア、あるいはViennaCLライブラリに対してビルドされたGPUで処理できるようにします。[6] ViennaCLは、BLAS演算をOpenMPとOpenCLで実装した、高度に最適化されたC++ライブラリです。リリース14.1時点で、OpenMPビルドは安定していると考えられていますが、OpenCLビルドはまだ実験的なPOC段階にあります。

推薦者

Apache Mahout には、交互最小二乗法、共起、相関共起の実装が備わっています。これらは、共起を拡張してデータの複数の次元で使用できるようにした Mahout 独自の推奨アルゴリズムです。

歴史

Map Reduce から Apache Spark への移行

Mahoutのコアアルゴリズムであるクラスタリング、分類、バッチベースの協調フィルタリングは、 Map/Reduceパラダイムを用いてApache Hadoop上に実装されていますが、Hadoopベースの実装への貢献に限定されていませんでした。単一ノードまたはHadoop以外のクラスタで実行される貢献も歓迎されています。例えば、Mahoutの協調フィルタリング・レコメンデーションコンポーネント「Taste」は、もともと独立したプロジェクトでしたが、Hadoopなしでもスタンドアロンで実行できます。

リリース0.10.0以降、プロジェクトはバックエンドに依存しないプログラミング環境(コードネーム「Samsara」)の構築に重点を移しました。[7] [8] [9]この環境は、バックエンドに依存しない代数的オプティマイザーと、インメモリおよび分散代数演算子を統合する代数的Scala DSLで構成されています。サポートされている代数プラットフォームは、Apache Spark、H2O、Apache Flinkです。[要出典] MapReduceアルゴリズムのサポートは、2014年から段階的に廃止され始めました。[10]

リリース履歴

リリース履歴
バージョン発売日注記
0.12009年4月7日
0.22009年11月18日
0.32010年3月17日
0.42010年10月31日
0.52011年5月27日
0.62012年2月6日
0.72012年5月16日
0.82013年7月25日
0.92014年2月1日
0.10.02015年4月11日サムサラDSL
0.10.12015年5月31日
0.10.22015年8月6日
0.11.02015年8月7日
0.11.12015年11月6日
0.11.22016年3月11日
0.12.02016年4月11日Apache Flinkエンジンを追加
0.12.12016年5月19日
0.12.22016年6月13日
0.13.02017年4月17日
0.14.02019年3月7日ソースのみ(バイナリなし)
14.12020年10月7日

開発者

Apache Mahoutはコミュニティによって開発されています。このプロジェクトは「プロジェクト管理委員会」(PMC)と呼ばれるグループによって管理されています。現在のPMCは、Andrew Musselman、Andrew Palumbo、Drew Farris、Isabel Drost-Fromm、Jake Mannix、Pat Ferrel、Paritosh Ranjan、Trevor Grant、Robin Anil、Sebastian Schelter、Stevo Slavićで構成されています。[11]

参考文献

  1. ^ 「Apache Mahout: 最初のリリース 0.1 がリリースされました」。
  2. ^ 「Apache Mahout:スケーラブルな機械学習とデータマイニング」 。 2019年3月6日閲覧
  3. ^ “Apache Mahout の紹介”. IBM.com。 2011年2011 年9 月 13 日に取得
  4. ^ 「InfoQ: Apache Mahout: 高度にスケーラブルな機械学習アルゴリズム」. infoq.com . 2011年. 2011年9月13日閲覧
  5. ^ 「アルゴリズム - Apache Mahout - Apache Software Foundation」cwiki.apache.org . 2011年. 2013年12月22日時点のオリジナルよりアーカイブ。 2011年9月13日閲覧
  6. ^ “Mahout SamsaraのGPUクラスターへの拡張”. 2020年11月3日時点のオリジナルよりアーカイブ2020年10月29日閲覧。
  7. ^ 「Mahout-Samsaraのコア内線形代数DSLリファレンス」。2016年8月2日時点のオリジナルよりアーカイブ。 2016年2月29日閲覧
  8. ^ 「Mahout-Samsaraの分散線形代数DSLリファレンス」。2016年8月2日時点のオリジナルよりアーカイブ。 2016年2月29日閲覧
  9. ^ “Mahout 0.10.x: プログラミング環境としてのMahoutの最初のリリース”. www.weatheringthroughtechdays.com . 2016年10月9日時点のオリジナルよりアーカイブ2016年2月29日閲覧。
  10. ^ 「MAHOUT-1510(「MapReduce さようなら」)」。
  11. ^ 「Apache 委員会情報」。
  • 公式サイト

「https://en.wikipedia.org/w/index.php?title=Apache_Mahout&oldid=1318403150」から取得