본문 바로가기

Programming

[Ray] 3-2 Ray Libraries: Ray Train (Key Concept)

728x90
반응형

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
HorovodTrainer
XGBoostTrainer
LightGBMTrainer
HuggingFaceTrainer(NLP)
RLTrainer
SKlearnTrainer (non-distributed)

Configuration

두 개의 주요 configuration 클래스가 있음

  • ScalingConfig
  • RunConfig : subconfiguration 포함 (FailureConfig, SyncCofig, CheckpointConfig)

Checkpoints

  • Trainer.fit()을 호출하면 Result 객체를 반환. Result 객체는 리포팅된 metrices와 저장된 checkpoint를 포함함
  • 목적
    • 현재 모델 상태에서 추가적인 학습 진행
    • Predictor / BatchPredictor 생성에 사용
    • Ray Server에 배포

Predictors

  • Predictor는 Trainer과 대응 관계에 있음. Trainer는 데이터셋을 이용해 모델을 학습하고, Predictor는 모델을 이용해 추론을 진행
728x90
반응형