W&B를 설치하여 어떤 규모의 머신 러닝 실험이라도 추적, 시각화 및 관리하세요.
W&B에서 머신을 인증하려면 API key가 필요합니다.
API key를 생성하려면 Personal API key 또는 Service Account API key 탭을 선택해 세부 정보를 확인하세요.
Personal API key
Service account API key
사용자 ID가 소유한 개인 API key를 생성하려면:
- W&B에 로그인한 후, 사용자 프로필 아이콘을 클릭하고 User Settings를 클릭합니다.
- Create new API key를 클릭합니다.
- API key에 대한 설명용 이름을 입력합니다.
- Create를 클릭합니다.
- 표시된 API key를 즉시 복사하여 안전한 위치에 보관합니다.
서비스 계정에 속한 API key를 생성하려면:
- 팀 또는 조직 설정에서 Service Accounts 탭으로 이동합니다.
- 목록에서 해당 서비스 계정을 찾습니다.
- 작업 메뉴(
...)를 클릭한 다음 Create API key를 클릭합니다.
- API key 이름을 입력한 후 Create를 클릭합니다.
- 표시된 API key를 바로 복사해 안전한 위치에 보관합니다.
- Done을 클릭합니다.
서로 다른 환경이나 워크플로를 지원하기 위해 하나의 서비스 계정에 대해 여러 개의 API key를 생성할 수 있습니다.
전체 API key는 생성 시에만 한 번 표시됩니다. 대화상자를 닫으면 전체 API key를 다시 확인할 수 없습니다. 설정에서는 key ID(키의 앞부분)만 표시됩니다. 전체 API key를 분실한 경우 새 API key를 생성해야 합니다.
API key를 안전하게 저장하는 옵션은 API key를 안전하게 저장을 참조하세요.
-
WANDB_API_KEY 환경 변수를 설정합니다.
export WANDB_API_KEY=<your_api_key>
-
wandb 라이브러리를 설치하고 로그인합니다.
pip install wandb
wandb login
import wandb
wandb.login()
!pip install wandb
import wandb
wandb.login()
Python 스크립트 또는 노트북에서 wandb.init()을 사용해 W&B 실행 객체를 초기화합니다. config 매개변수에는 딕셔너리를 사용해 하이퍼파라미터 이름과 값을 지정합니다. with 블록 내부에서 메트릭과 기타 정보를 W&B에 로깅할 수 있습니다.
import wandb
wandb.login()
# 실행이 기록될 프로젝트
project = "my-awesome-project"
# 하이퍼파라미터 딕셔너리
config = {
'epochs' : 10,
'lr' : 0.01
}
with wandb.init(project=project, config=config) as run:
# 학습 코드 작성
# run.log()로 W&B에 값 기록
run.log({"accuracy": 0.9, "loss": 0.1})
다음 섹션에서 학습 실행을 시뮬레이션하고 정확도와 손실 값을 W&B에 로깅하는 전체 예제를 확인할 수 있습니다.
실행은 W&B의 핵심 구성 요소입니다. 실행을 사용해 지표를 추적하고, 로그를 남기고, 아티팩트를 추적하는 등 다양한 작업을 수행할 수 있습니다.
이 모의 학습 스크립트는 정확도와 손실 지표를 시뮬레이션하여 W&B에 로깅합니다. 다음 코드를 Python 스크립트나 노트북 셀에 복사해 붙여넣고 실행하세요:
import wandb
import random
wandb.login()
# 실행이 기록되는 프로젝트
project = "my-awesome-project"
# 하이퍼파라미터 딕셔너리
config = {
'epochs' : 10,
'lr' : 0.01
}
with wandb.init(project=project, config=config) as run:
offset = random.random() / 5
print(f"lr: {config['lr']}")
# 학습 실행 시뮬레이션
for epoch in range(2, config['epochs']):
acc = 1 - 2**-config['epochs'] - random.random() / config['epochs'] - offset
loss = 2**-config['epochs'] + random.random() / config['epochs'] + offset
print(f"epoch={config['epochs']}, accuracy={acc}, loss={loss}")
run.log({"accuracy": acc, "loss": loss})
기록된 정확도, 손실과 같은 메트릭과 이 값들이 각 학습 단계에서 어떻게 변화했는지 확인하려면 wandb.ai/home으로 이동하세요. 아래 이미지는 각 실행에서 추적된 손실과 정확도를 보여줍니다. 각 실행 객체는 자동으로 생성된 이름과 함께 Runs 열에 표시됩니다.
W&B 에코시스템의 더 많은 기능을 살펴보세요:
- PyTorch 같은 프레임워크, Hugging Face 같은 라이브러리, SageMaker 같은 서비스와 W&B를 결합하는 W&B 통합 튜토리얼을 읽어보세요.
- W&B Reports를 사용해 실행을 정리하고, 시각화를 자동화하며, 결과를 요약하고, 협업자들과 업데이트를 공유하세요.
- W&B 아티팩트를 생성해 머신러닝 파이프라인 전반에서 데이터셋, 모델, 종속성, 결과를 추적하세요.
- W&B Sweeps를 사용해 하이퍼파라미터 탐색을 자동화하고 모델을 최적화하세요.
- 중앙 대시보드에서 실행을 분석하고, 모델 예측을 시각화하며, 인사이트를 공유하세요.
- W&B AI Academy를 방문해 실습 중심 코스를 통해 LLM, MLOps, W&B Models에 대해 학습하세요.
- weave-docs.wandb.ai를 방문해 Weave를 사용하여 LLM 기반 애플리케이션을 추적하고, 실험하고, 평가하고, 배포하고, 개선하는 방법을 알아보세요.