Angel-ML/angel

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

Angel – 분산 기계학습 및 그래프 계산 플랫폼

무엇인가 – Angel은 대규모 기계학습 모델 학습과 그래프 계산 작업을 위한 오픈소스 고성능 프레임워크입니다. 파라미터 서버 아키텍처를 따르며, 모델 파라미터는 전용 서버 노드에 분산 저장되고 워커는 기울기 또는 업데이트를 계산합니다. 시스템은 JavaScala로 구현되었으며, YARN(또는 로컬)에서 실행 가능하며 직접 사용하거나 Spark on Angel을 통해 사용할 수 있습니다.

주요 기능

  • 전통적인 ML 알고리즘 – 로지스틱 회귀, SVM, 선형/로버스트 회귀, 소프트맥스, 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 클러스터에서 시작 (자세한 리소스 구성 가이드 제공)

누가 사용할까

  • 일반 클러스터에서 수십억 개의 파라미터를 가진 모델을 학습해야 하는 데이터 과학 팀
  • 대규모 그래프 학습 또는 그래프 신경망(GNN)에 연구 중인 연구자
  • 이미 Hadoop/YARN을 사용 중이며, TensorFlow 스타일의 파라미터 서버 대신 네이티브 Java/Scala 기반 대안을 원하는 기업

시작 방법

  1. 리포지토리를 클론하고 Compilation Guide에 따라 JAR 파일을 빌드합니다.
  2. Quick-Start 튜토리얼(Spark-on-Angel 예제)을 실행하여 간단한 로지스틱 회귀 작업을 확인합니다.
  3. 문서에 있는 광범위한 알고리즘 목록에서 알고리즘을 선택하고 제공된 파라미터 설명 파일로 설정합니다.

프로젝트 건강 상태

  • 최신 릴리스: 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 분야의 진정한 활발한 오픈소스 프로젝트입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트