Open lsh3163 opened 3 years ago
버클리 대학의 RISE 연구실에서 출발하여 Anyscale에서 만듦. Apache Arrow를 사용해 데이터를 효율적으로 처리함. 프로세스 기반 분산처리, 병렬처리 로컬 환경, 클라우드의 쿠버네티스(AWS, GCP, Azure) 환경, 온프레미스 쿠버네티스 등 다양한 환경에서 사용할 수 있음
ray.init()
로 호출함Task
, Actor
, Object
의 collection.@ray.remote
라는 데코레이터로 정의하며 remote func이라고도 부름remote()
method로 호출하면 ObjectRef
를 반환ray.get(ObjectRef)
를 하여 Task 실행@ray.remote
로 감싼 func은 statelesscf) stateless vs stateful
@ray.remote
라는 데코레이터로 정의함remote()
method로 호출하면 Actor Class
를 반환ray.get(ObjectRef)
를 하여 Task 실행@ray.remote
로 감싼 Class instance는 statefulray.put()
을 통해 생성되는 값ray.put()
을 통해 메모리 사용을 줄일 수 있음#설치
pip install ray
#__1. ray 초기화
import ray
ray.init()
#__2. 병렬처리할 func 또는 class에 decorator 추가
import torch
@ray.remote
def create_matrix(size):
return torch.randn(size, size)
@ray.remote
def dot_product(x, y):
return torch.dot(x, y)
#__3. remote func(or class)를 remote() method로 호출
x_id = create_matrix.remote(10)
y_id = create_matrix.remote(10)
z_id = multiply_matrices.remote(x_id, y_id)
#__4. task 실행 (값 반환)
z = ray.get(z_id)
#__5. 프로세스 종료
ray.shutdown()
Hyperparameter tuning Strategy
하이퍼파라미터를 튜닝할 때 적용해 볼 방법을 정리
같은 모델에서 학습환경을 조절하는 방법으로 학습속도 향상과 성능 향상 효과를 볼 수 있음
!ref
-Bag of Tricks for Image Classification with Convolutional Neural Networks
1 Learning rate
batch size
를 키우면 그만큼 linear하게learning rate
를 키움learning rate = 0
로 시작해서 초기값까지 linear하게learning rate
를 키움learning rate scheduler
로cosine annealing
를 적용2 Normalization
batch norm
의𝛾
를 0으로 설정L2 norm
을 weight에만 적용 (bias 적용 X)3 Model Tweaks
4 Label Smoothing
0
을ε
으로 대체