Angel-ML/angel

Гибкий и мощный параметр-сервер для крупномасштабного машинного обучения

Прочее⭐ 6 791Javaпоследний релиз: Release-3.3.0
Открыть на GitHub ↗

Что это за инструмент

Angel — это высокопроизводительная распределенная платформа для машинного обучения и графовых вычислений, основанная на архитектуре Parameter Server. Разработана Tencent и Пекинским университетом для работы с большими данными и моделями высокой размерности.

Зачем нужен

Инструмент решает задачу эффективного обучения сложных моделей на огромных объемах данных, разделяя параметры модели между узлами Parameter Server. Он полезен для индустрии благодаря высокой доступности и стабильности, а также для академической среды за счет инновационных подходов к синхронизации. Платформа позволяет запускать вычисления как нативно, так и через интеграцию со Spark (Spark on Angel).

Что можно реализовать

  • Обучение традиционных моделей машинного обучения (LR, SVM, GBDT, KMeans) на распределенных кластерах.
  • Построение рекомендательных систем с использованием глубоких архитектур (DeepFM, DCN, XDeepFM, DeepAndWide) через Spark on Angel.
  • Графовые вычисления: анализ социальных сетей, поиск сообществ (Louvain, KCore), вычисление PageRank и распространения меток (LPA).
  • Обучение графовых нейронных сетей (GCN, GraphSage, LINE) для работы со структурированными данными.
  • Масштабирование задач машинного обучения на инфраструктуре YARN с использованием абстракции PS Service.

Ключевые возможности

  • Архитектура Parameter Server, оптимизированная для моделей с высокой размерностью и большими данными.
  • Гибридная поддержка: нативные алгоритмы на Java/Scala и интеграция со Spark через Spark on Angel.
  • Широкий набор встроенных алгоритмов: от классической ML (LR, SVM) до глубокого обучения (DeepFM) и графовых алгоритмов (PageRank, Louvain).
  • Разработан совместно с Пекинским университетом, сочетая промышленную надежность и академические инновации.
  • Открытая лицензия Apache 2.0 и активное сообщество с поддержкой Pull Requests.

👤 Кому подойдёт: Data Scientists, ML-инженеры, разработчики распределенных систем, работающие с большими данными (Big Data) и сложными моделями в корпоративной среде.

Релизы

Release-3.3.0minor
🕐 11 мес назад · релиз на GitHub ↗

Релиз Angel 3.3.0: новые алгоритмы графов (HNSW, KClique, PageRankPro), обновление Spark/Scala и исправления.

  • Added: Добавлены алгоритмы: поиск ближайших соседей HNSW, обнаружение сообществ KClique, перебор BruteForce и улучшенный PageRankPro с поддержкой весов узлов.
  • Added: Обновлены базовые версии: Spark до 3.3.1 и Scala до 2.12.15.
  • Added: Добавлена поддержка инкрементального обучения для EGES и новые функции для работы с графами (byte neighbors, aliasTable, MultiGraphNode).
  • Fixed: Исправлена работа демо DeepWalk и изменено правило маршрутизации для хэш-разделения.