Skip to main content

Overview

Metaflow는 Netflix에서 만든 ML 워크플로 생성 및 실행용 프레임워크입니다. 이 인테그레이션을 사용하면 Metaflow의 step 및 플로우에 데코레이터를 적용해 파라미터와 아티팩트를 W&B에 자동으로 로깅할 수 있으며, 맞춤형 로깅 코드를 작성하지 않고도 Metaflow로 구축한 워크플로 전반에서 Experiments를 추적하고 리니지를 확인할 수 있습니다:
  • step에 데코레이터를 적용하면 해당 step 내 특정 유형에 대한 로깅을 켜거나 끌 수 있습니다.
  • 플로우에 데코레이터를 적용하면 플로우의 모든 step에 대한 로깅을 켜거나 끌 수 있습니다.

퀵스타트

다음 섹션에서는 W&B에 인증하고, 필요한 라이브러리를 설치한 다음, Metaflow step과 플로우에 wandb_log 데코레이터를 추가하는 방법을 설명합니다.

가입하고 API 키 생성하기

API 키는 사용 중인 머신을 W&B에 인증하는 데 사용됩니다. 사용자 프로필에서 API 키를 생성할 수 있습니다.
더 간편하게 하려면 User Settings로 이동해 API 키를 생성하세요. API 키는 즉시 복사해 비밀번호 관리자와 같은 안전한 위치에 저장하세요.
W&B App에서 API 키를 찾으려면 다음과 같이 하세요.
  1. 오른쪽 상단에 있는 사용자 프로필 아이콘을 클릭합니다.
  2. User Settings를 선택한 다음 API Keys 섹션까지 스크롤합니다.

wandb 라이브러리 설치 및 로그인

로컬 환경에 wandb 라이브러리를 설치하고 로그인하려면 다음 단계를 따르세요.
wandb 버전 0.19.8 이하에서는 plum-dispatch 대신 fastcore 버전 1.8.0 이하(fastcore<1.8.0)를 설치하세요.
  1. WANDB_API_KEY 환경 변수에 API 키를 설정합니다. <>로 묶인 값은 사용자의 값으로 바꾸세요.
  2. wandb 라이브러리를 설치하고 로그인합니다.

플로우와 step 데코레이션하기

step을 데코레이션하면 해당 step 내의 특정 유형에 대한 로깅을 켜거나 끌 수 있습니다.이 예제에서는 인테그레이션이 start의 모든 데이터셋과 모델을 로깅합니다:

프로그래밍 방식으로 데이터에 접근하기

플로우와 step에 데코레이터를 적용하면 플로우가 실행될 때마다 Runs가 매개변수와 아티팩트를 W&B로 전송합니다. 캡처된 정보에는 세 가지 방법으로 접근할 수 있습니다. 로깅 중인 원래 Python 프로세스 내부에서 wandb 클라이언트 라이브러리를 사용하거나, web app UI를 사용하거나, Public API를 사용해 프로그래밍 방식으로 접근할 수 있습니다. Parameter는 W&B의 config에 저장되며 Overview tab에서 확인할 수 있습니다. datasets, models, othersW&B Artifacts에 저장되며 Artifacts tab에서 확인할 수 있습니다. 기본 Python 유형은 W&B의 summary dict에 저장되며 Overview tab에서 확인할 수 있습니다. 외부에서 API를 사용해 이 정보를 프로그래밍 방식으로 조회하는 방법에 대한 자세한 내용은 Public API 가이드를 참조하세요.

빠른 레퍼런스

wandb_log kwargs

자주 묻는 질문

다음 섹션에서는 로깅 동작, 지원되는 데이터 유형, 그리고 아티팩트 리니지에 관한 자주 묻는 질문에 답변합니다.

정확히 무엇을 로깅하나요

wandb_log는 인스턴스 변수만 로깅합니다. 로컬 변수는 절대 로깅되지 않습니다. 따라서 불필요한 데이터가 로깅되는 것을 방지할 수 있습니다.

어떤 데이터 유형이 로깅되나요

W&B는 다음 유형을 지원합니다:

로깅 동작 구성

Artifact 리니지 추적

step A의 출력이면서 동시에 step B의 입력인 artifact가 있으면, W&B가 리니지 DAG를 자동으로 생성합니다. 이 동작의 예시는 다음 Metaflow integration example notebook 및 해당 Artifacts page를 참조하세요.