Ray 개요
Ray 개요 (Overview)
분산 시스템 전문가가 아니어도 병렬·분산 컴퓨팅을 쉽게 쓸 수 있게 해 주는 프레임워크가 바로 Ray예요. AI와 파이썬 애플리케이션을 확장하기 위한 오픈소스 통합 프레임워크로, 병렬 처리를 위한 컴퓨팅 레이어를 제공해요. 여러 컴포넌트로 개별 분산 워크플로와 end-to-end 머신러닝 워크플로를 실행하는 복잡도를 크게 줄여 줘요.
출처: Ray Overview
Ray가 제공하는 것
- 확장 가능한 라이브러리: 데이터 전처리, 분산 학습, 하이퍼파라미터 튜닝, 강화학습, 모델 서빙 같은 일반적인 머신러닝 작업용.
- 파이썬적 분산 컴퓨팅 프리미티브: 파이썬 애플리케이션을 병렬화·확장하기 위한 프리미티브.
- 통합·유틸리티: Kubernetes, AWS, GCP, Azure 같은 기존 도구·인프라와 Ray 클러스터를 통합·배포하는 통합과 유틸리티.
누가 어떤 이점을 얻나
데이터 사이언티스트·ML 실무자에게는 인프라 전문성 없이 작업을 확장할 수 있게 해 줘요.
- 여러 노드·GPU에 걸쳐 ML 워크로드를 쉽게 병렬화·분산.
- 네이티브·확장 가능한 통합으로 ML 생태계 활용.
ML 플랫폼 빌더·ML 엔지니어에게는:
- 확장 가능하고 견고한 ML 플랫폼을 만들 수 있는 컴퓨팅 추상화 제공.
- ML 생태계 온보딩·통합을 단순화하는 통합 ML API 제공.
- 같은 파이썬 코드가 노트북에서 대형 클러스터까지 매끄럽게 확장되게 해 개발·프로덕션의 마찰 감소.
분산 시스템 엔지니어에게는 Ray가 핵심 프로세스를 자동 처리해요.
- 오케스트레이션: 분산 시스템의 다양한 컴포넌트 관리.
- 스케줄링: 태스크가 언제·어디서 실행될지 조정.
- 장애 허용: 불가피한 실패 지점에도 태스크가 완료되도록 보장.
- 오토스케일링: 동적 수요에 맞춰 할당된 리소스 양 조절.
Ray로 할 수 있는 일
사람들과 조직·기업이 Ray로 자신의 AI 애플리케이션을 만들 때 쓰는 일반적인 ML 워크로드예요.
- CPU·GPU에서의 배치 추론
- 모델 서빙
- 대규모 모델 분산 학습
- 병렬 하이퍼파라미터 튜닝 실험
- 강화학습
- ML 플랫폼
Ray 프레임워크
Ray의 통합 컴퓨팅 프레임워크는 세 개의 레이어로 구성돼요.
- Ray AI Libraries – ML 애플리케이션을 위한 확장 가능·통일된 툴킷을 제공하는 오픈소스 파이썬 도메인 특화 라이브러리 세트.
- Ray Core – 파이썬 애플리케이션을 확장하고 ML 워크로드를 가속하는 범용 분산 컴퓨팅 라이브러리.
- Ray Clusters – 공통 Ray 헤드(head) 노드에 연결된 워커 노드들의 집합. 고정 크기거나 수요에 따라 오토스케일업·다운할 수 있어요.
더 알아보기
- What's Ray Core? — Ray Core 개념 워크스루
- Tasks — 원격 함수로 병렬 처리
- Actors — 상태를 가진 워커
- Objects — 분산 객체 스토어
- Installing Ray — 설치 방법