Skip to main content
Kubeflow Pipelines (kfp) is 도커 컨테이너를 기반으로 이식 가능하고 확장 가능한 머신 러닝(ML) 워크플로를 빌드하고 배포하는 플랫폼입니다. 이 가이드에서는 파이프라인 컴포넌트의 파라미터와 아티팩트가 W&B에서 자동으로 추적되도록 W&B를 Kubeflow Pipelines와 통합하는 방법을 보여줍니다. 마지막에는 각 컴포넌트의 본문을 수정하지 않고도 kfp Python 함수형 컴포넌트에 데코레이터를 적용해 입력, 출력, 아티팩트를 W&B에 로깅할 수 있습니다. 이 기능은 wandb==0.12.11부터 지원되며 kfp<2.0.0이 필요합니다.

가입하고 API 키 만들기

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

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

로컬 환경에 wandb 라이브러리를 설치하고 로그인하려면 다음 단계를 따르세요.
  1. WANDB_API_KEY 환경 변수를 API 키로 설정합니다. <>로 묶인 값은 자신의 값으로 바꾸세요.
  2. wandb 라이브러리를 설치하고 로그인합니다.

컴포넌트에 데코레이터 적용하기

wandb 라이브러리가 설치되어 있으면 이제 개별 파이프라인 컴포넌트에서 W&B tracking을 활성화할 수 있습니다. @wandb_log 데코레이터를 추가하고 평소처럼 컴포넌트를 만드세요. 그러면 파이프라인을 실행할 때마다 입력 및 출력 파라미터와 아티팩트가 자동으로 W&B에 로깅됩니다.

컨테이너에 환경 변수 전달하기

각 파이프라인 컴포넌트는 자체 컨테이너에서 실행되므로, 로컬 머신에서 사용 가능한 W&B 인증 정보는 컴포넌트에 자동으로 전달되지 않습니다. 각 컴포넌트가 W&B에 인증할 수 있도록 컨테이너에 환경 변수를 명시적으로 전달해야 할 수 있습니다. 양방향 연결을 사용하려면 WANDB_KUBEFLOW_URL 환경 변수도 Kubeflow Pipelines 인스턴스의 기본 URL로 설정해야 합니다. 예를 들면 https://kubeflow.mysite.com입니다.

프로그래밍 방식으로 데이터에 액세스하기

파이프라인 run이 W&B에 로깅되기 시작하면, 추적된 데이터를 검토하거나 여러 방법으로 가져올 수 있습니다. 다음 섹션에서는 Kubeflow Pipelines UI, W&B 웹 앱, 그리고 W&B Public API에서 Runs에 액세스하는 방법을 설명합니다.

Kubeflow Pipelines UI

W&B로 로깅된 Kubeflow Pipelines UI의 Run을 아무거나 클릭한 다음:
  • Input/OutputML Metadata 탭에서 입력과 출력에 대한 세부 정보를 확인하세요.
  • Visualizations 탭에서 W&B 웹 앱을 확인하세요.
Kubeflow UI의 W&B

W&B 웹 앱 UI

웹 앱 UI에는 Kubeflow Pipelines의 Visualizations 탭과 같은 내용이 있지만, 더 넓은 화면에서 볼 수 있습니다. 자세한 내용은 W&B 웹 앱 문서를 참조하세요.
run 상세 정보
파이프라인 DAG

Public API

프로그래밍 방식으로 액세스하려면 Public API를 참조하세요.

Kubeflow Pipelines에서 W&B로의 개념 매핑

다음 표는 Kubeflow Pipelines의 개념을 W&B에 대응시킨 것입니다.

세밀한 로깅

@wandb_log 데코레이터는 입력과 출력을 자동으로 처리하지만, 각 에포크의 트레이닝 메트릭과 같은 중간 값은 캡처하지 않습니다. 로깅을 더 세밀하게 제어하려면 컴포넌트 곳곳에 wandb.log()wandb.log_artifact() Call을 추가할 수 있습니다.

명시적인 wandb.log_artifact() Call 사용

다음 예제에서는 모델을 트레이닝합니다. @wandb_log 데코레이터는 관련 입력과 출력을 자동으로 추적합니다. 트레이닝 과정을 로깅하려면 다음과 같이 해당 로깅을 명시적으로 추가할 수 있습니다:

암시적인 wandb 인테그레이션 사용

W&B에서 지원하는 프레임워크 인테그레이션을 사용 중인 경우, 콜백을 직접 전달할 수도 있습니다: