Angel-ML/angel
A Flexible and Powerful Parameter Server for large-scale machine learning
Angel – 分散型機械学習およびグラフ計算プラットフォーム
何であるか – Angelは、大規模な機械学習モデルのトレーニングとグラフ計算ジョブの実行に向けたオープンソースで高パフォーマンスなフレームワークです。パラメータサーバーアーキテクチャを採用しており、モデルパラメータは専用のサーバーノードにシャーディングされ、ワーカーは勾配や更新を計算します。このシステムはJavaおよびScalaで構築され、YARN(またはローカル)で実行可能で、直接使用することも、Spark on Angelを介して使用することもできます。
主な機能
- 従来の機械学習アルゴリズム – ロジスティック回帰、SVM、線形/ロバスト回帰、ソフトマックス、K-means、GBDT、LDA*(WarpLDAを含む)、因子分解機械など
- グラフアルゴリズム – PageRank、K-core、H-index、近接度、連結成分、三角形カウント、Louvain、ラベルプロパゲーション、LINE、Word2Vec、GraphSAGE、GCN、DGIなど
- パラメータサーバーコア – モデルパーティショナ、柔軟な一貫性モデル、同期コントローラ、カスタム更新ロジック用のプラグイン可能な
psFuncインターフェース - Spark統合 – 「Spark on Angel」により、Sparkジョブを書くだけでAngelのPSサービスを自動的に活用でき、Angel-MLlibとグラフカーネルの両方が公開されます
- デプロイオプション – ソースからコンパイル、単一マシンでテスト実行、YARNクラスタで起動(詳細なリソース設定ガイド付き)
誰が使うか
- コモディティクラスタ上で数十億のパラメータを持つモデルをトレーニングしたいデータサイエンスチーム
- 大規模グラフ学習やグラフニューラルネットワークに取り組む研究者
- 既にHadoop/YARNを利用している企業で、TensorFlow風のパラメータサーバーのネイティブなJava/Scalaベースの代替手段を求める企業
始める方法
- リポジトリをクローンし、Compilation Guideに従ってJARをビルドする。
- Quick-Startチュートリアル(Spark-on-Angelの例)を実行して、シンプルなロジスティック回帰ジョブを確認する。
- ドキュメントに掲載された広範なアルゴリズムリストから選択し、提供されたパラメータ記述ファイルで設定する。
プロジェクトの健全性
- 最新リリース: 3.2.0(Apache-2.0ライセンス)
- 腾讯と北京大学からの積極的な貢献者;メーリングリストとロードマップウィキが提供されている
- PSGraph、DimBoost、LDA*など、複数の査読済み論文が本システムの研究的実績を裏付けている
さらに学ぶには
- アーキテクチャと設計ドキュメント:
docs/overview/* - APIリファレンス:
docs/apis/core_api_en.md - コミュニティ: メーリングリスト
angel-tsc@lists.deeplearningfoundation.orgおよびウェブサイト https://angelml.ai/
結論 – Angelは、Java/Scalaで書かれた、大規模なMLおよびグラフワークロード向けの本格的でパラメータサーバー基盤のプラットフォームであり、Hadoop/YARNエコシステムと密接に統合されています。AI/MLの最先端分野における本物で、積極的にメンテナンスされているオープンソースプロジェクトです。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト