메인 콘텐츠로 건너뛰기
Colab에서 실행해 보기

모델 로깅하기

이 가이드는 W&B run에 모델을 로깅하고 활용하는 방법을 설명합니다.
다음 API는 실험 추적 워크플로우의 일부로 모델을 추적할 때 유용합니다. 이 페이지에 나열된 API를 사용하여 모델을 run에 로깅하고, 메트릭, 테이블, 미디어 및 기타 객체에 접근할 수 있습니다.다음과 같은 작업을 하고 싶다면 W&B Artifacts 사용을 권장합니다:
  • 모델 외에도 데이터셋, 프롬프트 등과 같이 직렬화된 다양한 데이터의 버전을 생성하고 추적하려는 경우
  • 모델 또는 W&B에서 추적되는 다른 객체의 lineage graphs를 탐색하려는 경우
  • 이러한 메서드로 생성된 모델 아티팩트와 상호작용하려는 경우(예: 속성 업데이트 — 메타데이터, 별칭, 설명 등)
W&B Artifacts 및 고급 버전 관리 사용 사례에 대한 자세한 내용은 Artifacts 문서를 참조하십시오.

run에 모델 로깅하기

log_model을 사용해서, 지정한 디렉터리 내의 콘텐츠를 포함하는 모델 아티팩트를 로깅합니다. log_model 메서드는 생성된 모델 아티팩트를 W&B run의 출력으로도 표시합니다. 모델을 W&B run의 입력 또는 출력으로 표시하면, 모델의 의존성과 연관 관계를 추적할 수 있습니다. W&B App UI에서 모델의 계보(lineage)를 확인할 수 있습니다. 자세한 내용은 Artifacts 챕터의 Explore and traverse artifact graphs 페이지를 참조하세요. path 매개변수에 모델 파일이 저장된 경로를 지정하세요. 이 경로는 로컬 파일, 디렉터리 또는 s3://bucket/path와 같은 외부 버킷에 대한 reference URI가 될 수 있습니다. 반드시 <>로 둘러싸인 값을 사용자 값으로 바꾸세요.
import wandb

# W&B run 초기화
with wandb.init(project="<your-project>", entity="<your-entity>") as run:

    # 모델 로깅
    run.log_model(path="<path-to-model>", name="<name>")
선택적으로 name 파라미터에 모델 아티팩트 이름을 지정할 수 있습니다. name을 지정하지 않으면, W&B는 입력 경로의 기본 이름(basename) 앞에 run ID를 붙여 이름으로 사용합니다.
여러분 또는 W&B가 모델에 할당한 name을 기록해 두세요. wandb.Run.use_model() 메서드를 사용해 모델 경로를 가져오려면 모델 이름이 필요합니다.
파라미터에 대한 자세한 내용은 API Reference의 log_model을 참고하세요.

로깅된 모델 다운로드 및 사용

use_model 함수를 사용하여 W&B run에 이전에 로깅된 모델 파일에 접근하고 다운로드할 수 있습니다. 가져오려는 모델 파일이 저장된 모델 아티팩트의 이름을 지정합니다. 지정한 이름은 이미 로깅된 모델 아티팩트의 이름과 일치해야 합니다. 처음에 log_model로 파일을 로깅할 때 name을 정의하지 않았다면, 기본 이름은 입력 경로의 베이스 이름 앞에 run ID를 붙인 값으로 지정됩니다. <>로 둘러싸인 값을 모두 자신의 값으로 바꾸었는지 확인하세요:
import wandb

# run 초기화
with wandb.init(project="<your-project>", entity="<your-entity>") as run:

    # 모델 접근 및 다운로드. 다운로드된 아티팩트 경로를 반환
    downloaded_model_path = run.use_model(name="<your-model-name>")
The use_model 함수는 다운로드된 모델 파일의 경로를 반환합니다. 나중에 이 모델을 다시 사용하려면 이 경로를 따로 기록해 두세요. 앞의 코드 스니펫에서는 반환된 경로가 downloaded_model_path라는 변수에 저장됩니다. 매개변수 및 반환 타입에 대한 자세한 내용은 API 레퍼런스의 use_model을 참고하세요.