메인 콘텐츠로 건너뛰기
Hugging Face Accelerate는 동일한 PyTorch 코드를 어떤 분산 설정에서든 실행할 수 있게 해 주는 라이브러리로, 대규모 모델 트레이닝과 Inference를 간소화합니다. Accelerate에는 W&B Tracker가 포함되어 있으며, 아래에서 사용 방법을 설명합니다. Hugging Face의 Accelerate Trackers에서 더 자세한 내용을 확인할 수도 있습니다.

Accelerate로 로깅 시작하기

Accelerate와 W&B를 시작하려면 아래 의사 코드를 따르면 됩니다:
좀 더 자세히 설명하면, 다음이 필요합니다:
  1. Accelerator 클래스를 초기화할 때 log_with="wandb"를 전달합니다
  2. init_trackers를 호출하고 다음을 전달합니다:
  • project_name을 통해 프로젝트 이름
  • wandb.init()에 전달하려는 모든 매개변수를 init_kwargs의 중첩 dict를 통해 전달
  • wandb run에 기록하려는 기타 모든 실험 설정 정보를 config를 통해 전달
  1. Weights & Biases에 기록하려면 wandb.Run.log() 방법을 사용합니다. step 인수는 선택 사항입니다
  2. 트레이닝이 끝나면 .end_training()을 호출합니다

W&B tracker에 액세스하기

W&B tracker에 액세스하려면 Accelerator.get_tracker() 방법을 사용하세요. tracker의 .name 속성에 해당하는 문자열을 전달하면 main 프로세스에서 해당 tracker를 반환합니다.
이후에는 wandb의 run 객체를 평소와 같이 사용할 수 있습니다:
Accelerate에 내장된 tracker는 올바른 프로세스에서 자동으로 실행되므로, tracker가 메인 프로세스에서만 실행되도록 되어 있다면 별도 처리 없이도 자동으로 그렇게 동작합니다.Accelerate의 래핑을 완전히 제거하려면 다음과 같이 같은 결과를 얻을 수 있습니다.

Accelerate 아티클

아래 Accelerate 아티클도 확인해 보세요.