WandBLogger 메트릭 로거를 구성하며, torchtune이 기본적으로 추적하는 메트릭을 이해하고, 모델 체크포인트를 W&B Artifacts에 저장하는 방법을 보여줍니다.

W&B 로깅 활성화
W&B 로깅은 두 가지 방법으로 활성화할 수 있습니다: 명령줄에서 실행 시 인수를 재정의하거나, 레시피의 설정 파일을 편집하는 것입니다. 워크플로에 맞는 방법을 선택하세요.- 명령줄
- 레시피
실행 시 명령줄 인수를 재정의합니다:
W&B 메트릭 로거 사용하기
레시피의 설정 파일에서metric_logger 섹션을 수정하여 W&B 로깅을 활성화하세요. _component_을 torchtune.utils.metric_logging.WandBLogger 클래스로 변경하세요. project 이름과 log_every_n_steps를 전달하여 로깅 동작을 사용자 지정할 수도 있습니다.
wandb.init() 메서드에 전달하는 것처럼 다른 kwargs도 전달할 수 있습니다. 예를 들어, 팀에서 작업하는 경우 WandBLogger 클래스에 entity 인수를 전달하여 팀 이름을 지정할 수 있습니다.
- 레시피
- 명령줄
로깅된 데이터
W&B 로깅을 활성화하면 W&B 대시보드에서 로깅된 메트릭을 확인할 수 있습니다. 기본적으로 W&B는 설정 파일과 실행 시 재정의한 값의 모든 하이퍼파라미터를 로깅하므로 각 run의 설정이 메트릭과 함께 기록됩니다. W&B는 최종 적용된 설정을 캡처하여 Overview 탭에 표시합니다. 또한 설정을 YAML 형식으로 저장하며, Files 탭에서 확인할 수 있습니다.
로깅된 메트릭
각 레시피에는 자체 트레이닝 루프가 있습니다. 각 레시피에서 로깅하는 메트릭을 확인하세요. 기본적으로 다음 메트릭이 포함됩니다:global_step은 트레이닝 단계 수와 같지 않습니다. 트레이닝 루프의 현재 단계에 해당하며 그라디언트 누적을 반영합니다. 옵티마이저 단계가 실행될 때마다 global_step이 1씩 증가합니다. 예를 들어 데이터 로더에 배치가 10개 있고, 그라디언트 누적 단계 수가 2이며, 3에포크 동안 실행하면 옵티마이저 단계가 15번 실행되므로 global_step의 범위는 1~15입니다.current_epoch을 전체 에포크 수에 대한 백분율로 로깅할 수 있습니다:
로깅되는 메트릭은 torchtune 릴리스에 따라 달라질 수 있습니다. 커스텀 메트릭을 추가하려면 레시피를 수정하고 해당
self._metric_logger.* 함수를 호출하세요.체크포인트 저장 및 로드
체크포인트를 W&B Artifacts에 저장하면 각 run의 메트릭 및 설정과 함께 모델 가중치의 버전을 관리할 수 있어, 나중에 결과를 재현하고 모델 버전을 비교할 수 있습니다. torchtune 라이브러리는 여러 체크포인트 형식을 지원합니다. 사용하는 모델의 출처에 따라 알맞은 체크포인터 클래스로 전환해야 합니다. 모델 체크포인트를 W&B Artifacts에 저장하려면 해당 레시피의save_checkpoint 함수를 재정의하는 방법을 권장합니다.
다음 예시는 save_checkpoint 함수를 재정의하여 모델 체크포인트를 W&B Artifacts에 저장하는 방법을 보여줍니다.