본문 바로가기

Programming

[Ray]1. 시작하며

728x90
반응형

https://docs.ray.io/en/latest/ray-overview/installation.html

 

Installing Ray — Ray 2.0.0

.rst .pdf to have style consistency -->

docs.ray.io

Ray란?

Ray는 AI와 Python 어플리케이션의 확장을 위한 통합 프레임워크이다. Ray는 핵심 분산 runtime과 ML 계산의 단순화를 위한 라이브러리 툴킷으로 구성되어 있다. 

Ray AIR

  • Datasets :  분산된 데이터 전처리
  • Train :  분산 학습
  • Tune :  확장 가능한 하이퍼파라미터 튜닝
  • Serve : 확장 및 프로그래밍 가능한 서빙
  • RLib : 확장 가능한 강화학습

Ray Core

  • Tasks :  클러스터에서 실행되는 상태 비저장 함수
  • Actors : 클러스터에서 생성된 상태 저장 작업자 프로세스
  • Objects : 클러스터 전체에서 접근할 수 있는 변경 불가능한 값
 

 

특징

  • 분산 / 병렬 애플리케이션을 쉽게 구축하기 위한 프레임워크
  • 기존의 코드를 거의 변경하지 않고 코드를 쉽게 분산 / 병렬화
  • python 병렬 처리에서 많이쓰는 multiprocessing은 기존 코드를 수정해야함. 또한 여러 클러스터로 분산처리하기에 초심자 입장에서 어려울 수 있음
  • Ray는 버클리 대학의 RISE연구실에서 만들어서 Apache Arrow를 사용해 데이터를 효율적으로 처리함

 

장점

  • 기존코드에서 약간의 수정으로 병렬 처리 가능
  • 클러스터 환경에서 구축 가능
  • dashboard : 성능, 로그 확인
  • 멀티프로세싱보다 빠른 성능
  • 머신러닝 / 딥러닝에서 활용하기에 좋음
  • 다양한 머신러닝 라이브러리 제공

 

 

설치

현재 리눅스, 맥OS만 지원하고 있다. 윈도우는 베타버젼이다.

## Ray와 지원되는 dashboard, cluster launcher 포함해서 설치
pip install -U "ray[default]"



## Ray 개별 라이브러리 설치
pip install -U "ray[air]" # Ray + Ray AI Runtime
pip install -U "ray[tune]" # Ray + Ray Tune
pip install -U "ray[rllib]" # Ray + Ray RLLib
pip install -U "ray[air]" # Ray + Ray Server

 

728x90
반응형

'Programming' 카테고리의 다른 글

[Ray] 2. Ray Core  (0) 2022.10.11
[자료구조] Heap  (0) 2022.10.07
Python functools 모듈의 내장함수[기본]  (0) 2022.08.06
파이썬 로그 핸들링  (0) 2022.08.01
파이썬 예외처리  (0) 2022.08.01