Angel-ML/angel
A Flexible and Powerful Parameter Server for large-scale machine learning
Angel – 分散式機器學習與圖計算平台
是什麼 – Angel 是一個開源、高效率的框架,用於訓練大型機器學習模型與執行圖計算作業。它採用 參數伺服器 架構:模型參數被分片儲存在一組專用伺服器節點上,而工作節點負責計算梯度或更新。此系統以 Java 與 Scala 建構,可在 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 風格)
如何開始
- 克隆程式碼庫並依照 Compilation Guide 編譯產生 JAR 檔案。
- 執行 Quick-Start 教學(Spark-on-Angel 範例)以查看一個簡單的邏輯回歸作業。
- 從文件中豐富的演算法清單中選擇一個演算法,並透過提供的參數描述檔案進行設定。
專案健康狀態
- 最新版本: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 領域的最前線。
相關
- 專案
- 專案
- 專案
- 專案
- 專案