
간편하게 사용하는 W&B 로깅
- 명령줄
- 레시피
실행 시 명령줄 인수를 재정의하세요:
W&B metric logger 사용
metric_logger 섹션을 수정해 레시피의 설정 파일에서 W&B 로깅을 활성화합니다. _component_를 torchtune.utils.metric_logging.WandBLogger 클래스로 변경합니다. 로깅 동작을 사용자 지정하려면 project 이름과 log_every_n_steps도 전달할 수 있습니다.
또한 wandb.init() 방법에 전달하듯이 다른 kwargs도 전달할 수 있습니다. 예를 들어 팀에서 작업하는 경우 entity 인수를 WandBLogger 클래스에 전달해 팀 이름을 지정할 수 있습니다.
- 레시피
- 명령줄
무엇이 로깅되나요?

로깅된 메트릭
| Metric | 설명 |
|---|---|
loss | 모델의 손실 |
lr | 학습률 |
tokens_per_second | 모델의 초당 토큰 수 |
grad_norm | 모델의 그라디언트 노름 |
global_step | 트레이닝 루프의 현재 step에 해당합니다. 그라디언트 누적이 반영되므로, 그라디언트는 누적되고 모델은 gradient_accumulation_steps마다 한 번씩 업데이트됩니다. |
global_step은 트레이닝 step 수와 동일하지 않습니다. 트레이닝 루프의 현재 step을 나타내며, 그라디언트 누적이 반영됩니다. 즉, 옵티마이저 step이 수행될 때마다 global_step이 1씩 증가합니다. 예를 들어 dataloader에 batch가 10개 있고 gradient accumulation steps가 2이며 3 에포크 동안 실행하면, 옵티마이저는 총 15번 step을 수행합니다. 이 경우 global_step은 1부터 15까지의 값을 가집니다.current_epoch를 전체 에포크 수 대비 백분율로 계산해 로깅하려면 다음과 같이 할 수 있습니다:
이 라이브러리는 매우 빠르게 발전하고 있으므로 현재 메트릭은 변경될 수 있습니다. 맞춤형 메트릭을 추가하려면 레시피를 수정하고 해당
self._metric_logger.* 함수를 호출해야 합니다.체크포인트 저장 및 불러오기
save_checkpoint 함수를 재정의하는 것입니다.
다음은 모델 체크포인트를 W&B Artifacts에 저장하도록 save_checkpoint 함수를 재정의하는 예시입니다.