Angel-ML/angel

A Flexible and Powerful Parameter Server for large-scale machine learning

Angel – 分散式機器學習與圖計算平台

是什麼 – Angel 是一個開源、高效率的框架,用於訓練大型機器學習模型與執行圖計算作業。它採用 參數伺服器 架構:模型參數被分片儲存在一組專用伺服器節點上,而工作節點負責計算梯度或更新。此系統以 JavaScala 建構,可在 YARN(或本機)執行,可直接使用,也可透過 Spark on Angel 使用。

核心功能

  • 傳統機器學習演算法 – 邏輯回歸、SVM、線性/穩健回歸、Softmax、K-均值、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 的公司,希望獲得原生 Java/Scala 的參數伺服器替代方案(如 TensorFlow 風格)

如何開始

  1. 克隆程式碼庫並依照 Compilation Guide 編譯產生 JAR 檔案。
  2. 執行 Quick-Start 教學(Spark-on-Angel 範例)以查看一個簡單的邏輯回歸作業。
  3. 從文件中豐富的演算法清單中選擇一個演算法,並透過提供的參數描述檔案進行設定。

專案健康狀態

  • 最新版本:3.2.0(Apache-2.0 許可證)
  • 腾訊與北京大學的活躍貢獻者;提供郵件列表與路線圖 Wiki
  • 多篇同行審查論文(如 PSGraph、DimBoost、LDA*)證明其研究背景

進一步了解

  • 架構與設計文件:docs/overview/*
  • API 參考:docs/apis/core_api_en.md
  • 社群:郵件列表 angel-tsc@lists.deeplearningfoundation.org 與網站 https://angelml.ai/

總結 – Angel 是一個生產級、基於參數伺服器的大規模機器學習與圖運算平台,以 Java/Scala 寫成,與 Hadoop/YARN 生態系統深度整合。它是一個真正活躍維護的開源專案,位於 AI/ML 領域的最前線。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案