의 오픈 소스 릴리스를 발표하게 되어 기쁩니다. 그래프스톰 0.1, 몇 달이 아닌 며칠 만에 복잡한 엔터프라이즈 규모 그래프에서 그래프 ML 솔루션을 구축, 교육 및 배포하는 로우 코드 엔터프라이즈 그래프 기계 학습(ML) 프레임워크입니다. GraphStorm을 사용하면 사기 탐지 시나리오, 권장 사항, 커뮤니티 탐지 및 검색/검색 문제를 포함하여 대부분의 실제 데이터에 내재되어 있는 수십억 개의 엔터티 간의 관계 또는 상호 작용 구조를 직접 고려하는 솔루션을 구축할 수 있습니다.
지금까지 수십억 개의 노드, 수천억 개의 에지 및 수십 개의 속성을 쉽게 포함하는 복잡한 엔터프라이즈 그래프를 위한 그래프 ML 솔루션을 구축, 교육 및 배포하는 것이 매우 어려웠습니다. Amazon.com 제품을 캡처하는 그래프를 생각해 보십시오. , 제품 속성, 고객 등. GraphStorm을 통해 우리는 Amazon이 대규모 그래프 ML 솔루션을 프로덕션으로 가져오기 위해 내부적으로 사용하는 도구를 출시합니다. GraphStorm은 그래프 ML 전문가가 아니어도 사용할 수 있으며 GitHub의 Apache v2.0 라이선스에 따라 사용할 수 있습니다. GraphStorm에 대해 자세히 알아보려면 GitHub 저장소.
이 게시물에서는 GraphStorm에 대한 소개, 그 아키텍처 및 사용 방법의 사용 사례를 제공합니다.
그래프스톰 소개
그래프 알고리즘과 그래프 ML은 트랜잭션 위험 예측, 고객 선호도 예측, 침입 감지, 공급망 최적화, 소셜 네트워크 분석 및 트래픽 예측과 같은 많은 중요한 비즈니스 문제에 대한 최첨단 솔루션으로 부상하고 있습니다. 예를 들어, 아마존 가드듀티기본 AWS 위협 탐지 서비스인 는 수십억 개의 에지가 있는 그래프를 사용하여 위협 인텔리전스의 적용 범위와 정확도를 개선합니다. 이를 통해 GuardDuty는 이전에 본 적이 없는 도메인을 알려진 악성 도메인과의 연관성을 기반으로 악성 또는 무해한 도메인으로 분류할 수 있습니다. GNN(그래프 신경망)을 사용하여 GuardDuty는 고객에게 경고하는 기능을 향상할 수 있습니다.
그러나 그래프 ML 솔루션을 개발, 출시 및 운영하는 데는 몇 개월이 걸리며 그래프 ML 전문 지식이 필요합니다. 첫 번째 단계로 그래프 ML 과학자는 DGL(Deep Graph Library)과 같은 프레임워크를 사용하여 주어진 사용 사례에 대한 그래프 ML 모델을 구축해야 합니다. 이러한 모델을 교육하는 것은 수십억 개의 노드, 수천억 개의 에지, 다양한 노드 및 에지 유형, 수백 개의 노드 및 에지 속성에 일상적으로 도달하는 엔터프라이즈 애플리케이션의 그래프의 크기와 복잡성으로 인해 어렵습니다. 엔터프라이즈 그래프에는 테라바이트의 메모리 스토리지가 필요할 수 있으므로 그래프 ML 과학자는 복잡한 교육 파이프라인을 구축해야 합니다. 마지막으로, 모델이 훈련된 후에는 추론을 위해 모델을 배포해야 합니다. 여기에는 훈련 파이프라인만큼 구축하기 어려운 추론 파이프라인이 필요합니다.
GraphStorm 0.1은 ML 실무자가 효과가 입증된 사전 정의된 그래프 ML 모델을 쉽게 선택하고, 수십억 개의 노드가 있는 그래프에서 분산 교육을 실행하고, 모델을 프로덕션에 배포할 수 있도록 하는 로우 코드 엔터프라이즈 그래프 ML 프레임워크입니다. GraphStorm은 이기종 그래프가 포함된 엔터프라이즈 애플리케이션을 위한 RGCN(Relational Graph Convolutional Networks), RGAT(Relational Graph Attention Networks) 및 HGT(Heterogeneous Graph Transformer)와 같은 내장형 그래프 ML 모델 모음을 제공합니다. ML 전문 지식을 그래프화하여 작업에 대한 다양한 모델 솔루션을 시도하고 올바른 솔루션을 신속하게 선택합니다. 수십억 규모의 엔터프라이즈 그래프로 확장되는 엔드 투 엔드 분산 교육 및 추론 파이프라인을 통해 쉽게 교육, 배포 및 추론을 실행할 수 있습니다. GraphStorm 또는 일반적으로 그래프 ML을 처음 사용하는 경우 사전 정의된 모델 및 파이프라인의 이점을 누릴 수 있습니다. 전문가라면 최상의 성능을 얻기 위해 훈련 파이프라인과 모델 아키텍처를 조정할 수 있는 모든 옵션이 있습니다. GraphStorm은 GNN 모델 개발에 널리 사용되는 프레임워크인 DGL을 기반으로 구축되었으며 Apache v2.0 라이선스에 따라 오픈 소스 코드로 사용할 수 있습니다.
Amazon AI/ML 연구의 선임 수석 과학자인 George Karypis는 "GraphStorm은 고객이 산업 애플리케이션에 대한 그래프 ML 방법을 실험하고 운영하여 그래프 ML 채택을 가속화할 수 있도록 설계되었습니다."라고 말합니다. “Amazon 내에서 출시된 이후 GraphStorm은 그래프 ML 기반 솔루션을 구축하는 노력을 최대 XNUMX배까지 줄였습니다.”
"GraphStorm을 통해 우리 팀은 288억 2만 개의 노드와 24억 개의 에지가 있는 그래프에서 자가 감독 방식으로 GNN 임베딩을 교육할 수 있습니다."라고 Amazon Measurement, Ad Tech 및 Data Science의 수석 응용 과학자인 Haining Yu는 말합니다. “사전 훈련된 GNN 임베딩은 최신 BERT 기반 기준선에 비해 쇼핑객 활동 예측 작업에서 XNUMX% 개선을 보여줍니다. 또한 다른 광고 애플리케이션의 벤치마크 성능을 능가합니다.”
Amazon Neptune 및 Amazon Timestream의 GM인 Brad Bebee는 “GraphStorm 이전에는 고객이 500억 개의 에지 그래프를 처리하기 위해 수직으로만 확장할 수 있었습니다. "GraphStorm을 사용하면 고객이 수백억 개의 에지가 있는 대규모 Amazon Neptune 그래프에서 GNN 모델 교육을 확장할 수 있습니다."
GraphStorm 기술 아키텍처
다음 그림은 GraphStorm의 기술 아키텍처를 보여줍니다.
GraphStorm은 PyTorch를 기반으로 구축되었으며 단일 GPU, 다중 GPU 및 다중 GPU 머신에서 실행할 수 있습니다. 세 개의 레이어로 구성됩니다(이전 그림에서 노란색 상자로 표시됨).
- 하단 레이어(Dist GraphEngine) – 맨 아래 계층은 분산 그래프, 분산 텐서, 분산 임베딩 및 분산 샘플러를 포함하여 분산 그래프 ML을 활성화하는 기본 구성 요소를 제공합니다. GraphStorm은 이러한 구성 요소를 효율적으로 구현하여 그래프 ML 교육을 XNUMX억 노드 그래프로 확장합니다.
- 중간 계층(GS 훈련/추론 파이프라인) – 중간 계층은 트레이너, 평가자 및 예측자를 제공하여 기본 제공 모델과 사용자 지정 모델 모두에 대한 모델 교육 및 추론을 단순화합니다. 기본적으로 이 레이어의 API를 이용하면 모델 학습을 어떻게 확장할지 고민하지 않고 모델 개발에 집중할 수 있습니다.
- 최상층(GS종합모형동물원) – 최상위 레이어는 다양한 그래프 유형에 대해 인기 있는 GNN 및 비 GNN 모델이 있는 모델 동물원입니다. 이 글을 쓰는 시점에서 이기종 그래프에는 RGCN, RGAT 및 HGT를, 텍스트 그래프에는 BERTGNN을 제공합니다. 앞으로 시간 그래프용 TGAT와 지식 그래프용 TransE 및 DistMult와 같은 시간 그래프 모델에 대한 지원을 추가할 예정입니다.
GraphStorm 사용 방법
GraphStorm을 설치한 후 애플리케이션용 GML 모델을 빌드하고 교육하는 데 XNUMX단계만 필요합니다.
먼저 데이터를 전처리(잠재적으로 사용자 지정 기능 엔지니어링 포함)하고 GraphStorm에 필요한 테이블 형식으로 변환합니다. 각 노드 유형에 대해 해당 유형의 모든 노드와 해당 기능을 나열하는 테이블을 정의하여 각 노드에 대한 고유 ID를 제공합니다. 각 에지 유형에 대해 각 행에 해당 유형의 에지에 대한 소스 및 대상 노드 ID가 포함된 테이블을 유사하게 정의합니다(자세한 내용은 다음을 참조하십시오. 나만의 데이터 자습서 사용). 또한 전체 그래프 구조를 설명하는 JSON 파일을 제공합니다.
둘째, 명령줄 인터페이스(CLI)를 통해 GraphStorm의 내장 기능을 사용합니다. construct_graph
효율적인 분산 교육 및 추론을 가능하게 하는 일부 GraphStorm 관련 데이터 처리를 위한 구성 요소입니다.
셋째, YAML 파일(예) 그리고 다시 CLI를 사용하여 XNUMX개의 내장 구성 요소 중 하나를 호출합니다(gs_node_classification
, gs_node_regression
, gs_edge_classification
, gs_edge_regression
, gs_link_prediction
) 모델을 훈련하기 위한 훈련 파이프라인으로. 이 단계는 학습된 모델 아티팩트를 생성합니다. 추론을 수행하려면 처음 두 단계를 반복하여 동일한 GraphStorm 구성 요소를 사용하여 추론 데이터를 그래프로 변환해야 합니다(construct_graph
) 이전과.
마지막으로, 임베딩 또는 예측 결과를 생성하기 위한 추론 파이프라인으로 모델 교육에 사용된 것과 동일한 XNUMX개의 기본 제공 구성 요소 중 하나를 호출할 수 있습니다.
전체 흐름은 다음 그림에도 나와 있습니다.
다음 섹션에서는 예제 사용 사례를 제공합니다.
원시 OAG 데이터에 대한 예측 수행
이 게시물에서는 GraphStorm이 대규모 원시 데이터 세트에서 그래프 ML 교육 및 추론을 얼마나 쉽게 활성화할 수 있는지 보여줍니다. 그만큼 오픈 아카데믹 그래프 (OAG)에는 500개의 엔터티(논문, 저자, 장소, 제휴 및 연구 분야)가 포함됩니다. 원시 데이터 세트는 XNUMXGB가 넘는 JSON 파일에 저장됩니다.
우리의 임무는 논문의 연구 분야를 예측하는 모델을 구축하는 것입니다. 연구 분야를 예측하기 위해 다중 레이블 분류 작업으로 공식화할 수 있지만 수십만 개의 필드가 있기 때문에 원-핫 인코딩을 사용하여 레이블을 저장하기 어렵습니다. 따라서 연구 노드 필드를 생성하고 이 문제를 링크 예측 작업으로 공식화하여 페이퍼 노드가 연결되어야 하는 연구 노드 필드를 예측해야 합니다.
이 데이터셋을 그래프 방식으로 모델링하기 위한 첫 번째 단계는 데이터셋을 처리하고 엔터티와 에지를 추출하는 것입니다. 다음 그림과 같이 JSON 파일에서 XNUMX가지 유형의 에지를 추출하여 그래프를 정의할 수 있습니다. GraphStorm에서 Jupyter 노트북을 사용할 수 있습니다. 예제 코드 데이터 세트를 처리하고 각 엔터티 유형에 대해 XNUMX개의 엔터티 테이블과 각 에지 유형에 대해 XNUMX개의 에지 테이블을 생성합니다. Jupyter 노트북은 또한 문서와 같은 텍스트 데이터가 있는 엔터티에 BERT 임베딩을 생성합니다.
엔티티와 엔티티 사이의 모서리를 정의한 후 다음을 생성할 수 있습니다. mag_bert.json
, 그래프 스키마를 정의하고 내장 그래프 구성 파이프라인을 호출합니다. construct_graph
GraphStorm에서 그래프를 빌드합니다(다음 코드 참조). GraphStorm 그래프 구성 파이프라인은 단일 시스템에서 실행되지만 노드와 에지 기능을 병렬로 처리하는 다중 처리를 지원합니다(--num_processes
) 외부 메모리에 엔터티 및 에지 피처를 저장할 수 있습니다(--ext-mem-workspace
) 대규모 데이터 세트로 확장합니다.
이렇게 큰 그래프를 처리하려면 그래프를 구성할 대용량 메모리 CPU 인스턴스가 필요합니다. 당신은 사용할 수 있습니다 아마존 엘라스틱 컴퓨트 클라우드 (Amazon EC2) r6id.32xlarge 인스턴스(128 vCPU 및 1TB RAM) 또는 r6a.48xlarge 인스턴스(192 vCPU 및 1.5TB RAM)로 OAG 그래프를 구성합니다.
그래프를 구성한 후 다음을 사용할 수 있습니다. gs_link_prediction
5.48개의 gXNUMXxlarge 인스턴스에서 링크 예측 모델을 교육합니다. 기본 제공 모델을 사용하는 경우 하나의 명령줄만 호출하여 분산 교육 작업을 시작합니다. 다음 코드를 참조하십시오.
모델 학습 후 모델 아티팩트는 폴더에 저장됩니다. /data/mag_lp_model
.
이제 링크 예측 추론을 실행하여 GNN 임베딩을 생성하고 모델 성능을 평가할 수 있습니다. GraphStorm은 모델 성능을 평가하기 위해 여러 기본 제공 평가 지표를 제공합니다. 예를 들어 링크 예측 문제의 경우 GraphStorm은 메트릭 MRR(Mean Reciprocal Rank)을 자동으로 출력합니다. MRR은 예측된 링크 중에서 실제 링크의 순위가 얼마나 높은지 평가하기 때문에 그래프 링크 예측 모델을 평가하는 데 유용한 메트릭입니다. 이것은 예측의 품질을 캡처하여 모델이 여기서 우리의 목표인 실제 연결의 우선 순위를 올바르게 지정하는지 확인합니다.
다음 코드와 같이 하나의 명령줄로 추론을 실행할 수 있습니다. 이 경우 모델은 구성된 그래프의 테스트 세트에서 MRR 0.31에 도달합니다.
추론 파이프라인은 링크 예측 모델에서 임베딩을 생성합니다. 주어진 논문에 대한 연구 분야를 찾는 문제를 해결하려면 임베딩에서 k-최근접 이웃 검색을 수행하기만 하면 됩니다.
결론
GraphStorm은 산업 그래프에서 그래프 ML 모델을 쉽게 구축, 훈련 및 배포할 수 있는 새로운 그래프 ML 프레임워크입니다. 확장성 및 유용성을 포함하여 그래프 ML의 몇 가지 주요 문제를 해결합니다. 원시 입력 데이터에서 모델 교육 및 모델 추론에 이르기까지 수십억 규모의 그래프를 처리하는 내장 구성 요소를 제공하며 여러 Amazon 팀이 다양한 애플리케이션에서 최첨단 그래프 ML 모델을 교육할 수 있도록 했습니다. 우리를 확인하십시오 GitHub 저장소
저자에 관하여
다정 AWS AI/ML 연구의 선임 응용 과학자로서 그래프 기계 학습 팀을 이끌고 그래프 기계 학습을 생산에 적용하기 위한 기술과 프레임워크를 개발합니다. Da는 Johns Hopkins University에서 컴퓨터 과학 박사 학위를 받았습니다.
플로리안 소페 그래프 기계 학습 그룹과 같은 고급 과학 팀을 지원하고 ML 기능으로 Amazon DataZone과 같은 제품을 개선하는 AWS AI/ML 연구의 수석 기술 제품 관리자입니다. AWS에 합류하기 전에 Florian은 Bosch에서 자동화된 운전을 위한 기술 제품 관리를 이끌고 McKinsey & Company에서 전략 컨설턴트였으며 제어 시스템/로봇 공학 과학자로 일했습니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- EVM 금융. 탈중앙화 금융을 위한 통합 인터페이스. 여기에서 액세스하십시오.
- 퀀텀미디어그룹. IR/PR 증폭. 여기에서 액세스하십시오.
- PlatoAiStream. Web3 데이터 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/machine-learning/fast-track-graph-ml-with-graphstorm-a-new-way-to-solve-problems-on-enterprise-scale-graphs/
- :있다
- :이다
- $UP
- 1
- 1 TB
- 100
- 16
- 31
- 500
- 7
- 8
- 9
- a
- 할 수 있는
- 소개
- 학술
- 가속
- 계정
- 활동
- 실제
- Ad
- 더하다
- 또한
- 구애
- 양자
- 광고
- 많은
- 제휴
- 후
- 다시
- AI / ML
- 경보
- 알고리즘
- All
- 수
- 수
- 또한
- 아마존
- Amazon EC2
- 아마존 해왕성
- 아마존 타임 스트림
- Amazon Web Services
- Amazon.com
- 중
- an
- 분석
- 및
- 알리다
- 기대하는
- 어떤
- 아파치
- API를
- 어플리케이션
- 어플리케이션
- 적용된
- 아키텍처
- 있군요
- AS
- 협회
- At
- 주의
- 속성
- 작성자
- 자동화
- 자동적으로
- 가능
- AWS
- 기반으로
- 기준
- 기본
- 원래
- BE
- 때문에
- 된
- 전에
- 기준
- 이익
- BEST
- 사이에
- 억원
- 수십억
- 두
- 바닥
- 박스
- 무두정
- 가져
- 빌드
- 내장
- 내장
- 사업
- 비자 면제 프로그램에 해당하는 국가의 시민권을 가지고 있지만
- by
- CAN
- 기능
- 캡처
- 캡처
- 케이스
- 쇠사슬
- 과제
- 도전
- 검사
- 분류
- 암호
- 수집
- COM
- 커뮤니티
- 회사
- 복잡한
- 복잡성
- 구성 요소
- 구성 요소들
- 계산
- 컴퓨터
- 컴퓨터 과학
- 연결하기
- 연결
- 구성
- 구축
- 건설 중의
- 구조
- 컨설턴트
- 이 포함되어 있습니다
- 제어
- 수
- 적용 범위
- 만들
- 관습
- 고객
- 고객
- da
- 데이터
- 데이터 처리
- 데이터 과학
- 데이터 세트
- 일
- 깊은
- 정의
- 정의
- 보여
- 배포
- 배포
- 설계
- 목적지
- Detection System
- 개발
- 개발
- 개발
- dgl
- 다른
- 어려운
- 직접
- 분산
- 분산 교육
- do
- 하지 않습니다
- 도메인
- 수십
- 운전
- 두
- 마다
- 용이하게
- 쉽게
- Edge
- 유효한
- 효율적인
- 노력
- 임베디드
- 임베딩
- 신흥
- 가능
- 사용 가능
- 수
- 끝으로 종료
- 엔지니어링
- 엔지니어
- 강화
- Enterprise
- 엔티티
- 실재
- 평가
- 평가
- 평가
- 조차
- 예
- 초과
- 흥분한
- 실험
- 전문가
- 전문적 지식
- 외부
- 추출물
- 특색
- 특징
- 들
- Fields
- 그림
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
- 파일
- 최종적으로
- 발견
- 먼저,
- 흐름
- 초점
- 수행원
- 럭셔리
- 체재
- 사
- 뼈대
- 프레임 워크
- 사기
- 사기 탐지
- 에
- 미래
- 일반
- 생성
- 생성
- 조지
- 얻을
- GitHub의
- 주어진
- GM
- GPU
- GPU
- 그래프
- 그래프
- 그룹
- 핸들
- 하드
- 있다
- he
- 도움
- 여기에서 지금 확인해 보세요.
- 높은
- 고도로
- 그의
- 보유
- 방법
- 얼마나 높은
- How To
- HTTP
- HTTPS
- 수백
- ID
- 식별자
- if
- 중대한
- 개선
- 개량
- 개선
- in
- 기타의
- 포함
- 산업
- 정보
- 본질적으로
- 입력
- 설치
- 예
- 를 받아야 하는 미국 여행자
- 인텔리전스
- 상호 작용
- 인터페이스
- 내부로
- 으로
- 개요
- IT
- 그
- 일
- 존스 홉킨스 대학
- 가입
- JPG
- JSON
- 다만
- 키
- 지식
- 알려진
- 레이블
- 넓은
- 대규모
- 시작
- 진수
- 층
- 레이어
- 리드
- 지도
- 배우다
- 배우기
- 도서관
- 특허
- 처럼
- 아마도
- 라인
- LINK
- 모래밭
- 기울기
- 작은
- 기계
- 기계 학습
- 기계
- 월
- 확인
- 제작
- 유튜브 영상을 만드는 것은
- 구축
- 매니저
- 태도
- .
- 두드러진
- 거대한
- 맥킨지
- 맥킨지 & 컴퍼니
- 평균
- 측량
- 메모리
- 방법
- 방법
- 메트릭
- 통계
- 중간
- 백만
- ML
- 모델
- 모델
- 개월
- 배우기
- 가장
- 여러
- 출신
- 필요
- Neptune
- 네트워크
- 네트워크
- 신경망
- 신제품
- 노드
- 노드
- 수첩
- 지금
- 목표
- of
- 제공
- on
- ONE
- 만
- 오픈 소스
- 오픈 소스 코드
- 운영
- 최적화
- 옵션
- or
- 기타
- 우리의
- 아웃
- 위에
- 전체
- 자신의
- 서
- 서류
- 평행
- 수행
- 성능
- 선택
- 관로
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 인기 문서
- 게시하다
- 잠재적으로
- 예측
- 예측
- 예측
- 예측
- 예측
- 환경 설정
- 이전에
- 교장
- 문제
- 문제
- 방법
- 처리
- 프로덕트
- 제품 관리
- 제품 관리자
- 생산
- 제품
- 증명 된
- 제공
- 제공
- 제공
- 놓다
- 파이 토치
- 품질
- 빨리
- 램
- 순위
- 살갗이 벗어 진
- 도달
- 도달하다
- 현실 세계
- 추천
- 감소
- 관계
- 공개
- 반복
- 필요
- 필수
- 필요
- 연구
- 결과
- 연락해주세요
- 위험
- 일상적으로
- 열
- 달리기
- 같은
- 라고
- 확장성
- 규모
- 시나리오
- 과학
- 과학자
- 과학자
- 검색
- 섹션
- 참조
- 연장자
- 서비스
- 서비스
- 세트
- 영상을
- 표시
- 표시
- 쇼
- 비슷하게
- 단순화
- 간단히
- 단일
- 크기
- 사회적
- 소셜 네트워크
- 솔루션
- 풀다
- 일부
- 출처
- 최첨단
- 단계
- 단계
- 저장
- 저장
- 저장
- 전략
- 구조
- 교육과정
- 이러한
- 공급
- 공급망
- SUPPORT
- 지원
- 지원
- 테이블
- 받아
- 소요
- 태스크
- 팀
- 팀
- 기술
- 테크니컬
- 기법
- 수십
- test
- 그
- XNUMXD덴탈의
- 미래
- 그래프
- 소스
- 그들의
- 그곳에.
- 따라서
- Bowman의
- 그들
- 생각
- 이
- 그래도?
- 수천
- 위협
- 세
- 시대
- 에
- 검색을
- 상단
- 교통
- Train
- 훈련 된
- 트레이닝
- 거래
- 변환
- 변압기
- 참된
- 시도
- 두
- 유형
- 유형
- 아래에
- 유일한
- 대학
- 유용성
- 사용
- 유스 케이스
- 익숙한
- 사용
- 사용
- 가치 있는
- 여러
- 장소
- 수직으로
- 를 통해
- 방문
- 였다
- 방법..
- we
- 웹
- 웹 서비스
- 잘
- 언제
- 어느
- 크게
- 의지
- 과
- 없이
- 일
- 쓰기
- 얌
- 자신의
- 너의
- 제퍼 넷
- 동물원