본문 바로가기

728x90
반응형

Ray

[Ray] 3-2 Ray Libraries: Ray Train (Key Concept) Ray Train의 주요 콘셉트는 다음과 같음 1. Trainers는 분산 학습을 수행 2. Configuration 객체는 configure 학습에 사용됨 3. Checkpoints는 학습 결과를 반환함 4. Predictors는 추론, 배치 예측등에 사용됨 Trainers trainers는 분산된 학습 수행에 대해 응답함 output : Result (학습 결과로 나온 metric과 마지막에 저장된 Checkpoint 포함) 또한 확장된 데이터 수집과 전처리를 위해 데이터셋과 전처리기로 구성할 수도 있음 아래 표는 내장 trainers Deep Learning Trainers Tree-Based Trainers Other Trainers TorchTrainer TensorflowTrainer Horo.. 더보기
[Ray] 3-1. Ray Libraries : Ray Data (Key Concept) Datasets 데이터셋은 ray object references(레이 객체 참조) 블록으로 구성되어 있음 이 블록은 arrow 테이블이나 파이썬 리스트로 구성되어 있고 텐서, 타뷸러 데이터도 지원함 Tabular Dataset : arrow 블록으로 구성된 데이터셋 Simple Dataset : 파이썬 블록으로 구성된 데이터셋 Tensor Dataset : 하나 또는 그 이상의 tensor type 컬럼을 가진 Tabular Dataset 위의 그림과 같이 데이터셋은 Ray object reference로 구성되어 있기 때문에 ray tasks, actors, library들 간에 자유롭게 전달할 수 있음 → Ray Dataset의 특징! Reading Data 원격 저장소에서 데이터를 읽을때 ray .. 더보기
[Ray] 2-3. Ray Core: Objects 예제 Objects task와 actor는 object를 생성하고 계산하는데 이 object를 remote objects로 언급한다. 왜냐면 이것들은 ray 클러스터 어디에나 저장될 수 있기 때문이다. object refs를 사용해 remote objects를 참조한다. object ref는 필수적으로 포인터나 id를 가지고 있다. 이 id는 remote object의 값을 보지 않더라도 참조할 때 사용된다. object refs는 아래 두가지 방법으로 생성될 수 있다. 1. remote function 호출 2. put(docstring)을 사용한 반환 Fetch Object Data get 함수를 사용해서 object ref로부터의 remote object의 결과를 가져올 수 있다. 만약 현재 노드의 ob.. 더보기
[Ray] 2-2. Ray Core : Actors 예제 Actors Actors는 RAY API에서 함수가 클래스로 확장된 개념이다. 새로운 actor가 생성되면 새 worker가 생성되고, actor의 method는 특정 worker에 스케쥴링되어 접근 및 사용될 수 있다 import ray import time ray.shutdown() ray.init() @ray.remote class Counter(): def __init__(self): self.value = 0 def increment(self): self.value += 1 return self.value def get_counter(self): return self.value counter = Counter.remote() Specifying required resources @ray.remo.. 더보기
[Ray] 2-1. Ray Core: Tasks 예제 Tasks Ray는 별도의 파이썬 작업자에서 임의의 함수를 비동기적으로 실행할 수 있다. 그런 기능을 ray remote function이라고 하고 비동기식 호출을 ray tasks라고 한다. import ray import time ray.shutdown() ray.init() def normal_function(): return 1 # @ray.remote 데코레이터를 붙임으로써 ray remote function으로 정의할 수 있음 @ray.remote def my_function(): return 1 # 위의 remote function을 적용하기 위해 'remote' method 사용 # 이는 즉각 object ref(미래시점에)을 반환하고 task를 생성한다. obj_ref = my_funct.. 더보기
[Ray] 2. Ray Core Ray Core란? 분산 어플리케이션을 만들기 위해 제공된 핵심 요소들 (i.e., tasks, actors, objects) Key Concept Tasks Ray는 분산된 파이썬 작업들을 비동기로 실행할 수 있는 함수를 제공하는데, 이 비동기 함수를 'tasks'라고 부른다. Ray를 사용하면tasks가 CPUs, GPUs, 사용자 요구 측면에서 자원을 지정할 수 있다. 이 리소스 요청은 병렬 처리를 위해 clueter scheduler가 task를 분배할 때 사용된다. ( Actors 함수에서 클래스로 Ray API가 확장된 것이다. actor는 필수적으로 stateful(네트워크 연결 상태를 추적할 수 있는) 작업이나 서비스이다. 새로운 actor 객체가 생성되면, 새로운 작업이 생성되고, act.. 더보기
[Ray]1. 시작하며 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 : 클러스터에서 실행되는 상태 비저장 함수 .. 더보기

728x90
반응형