Weights & Biases
Weights & Biases (W&B)는 실험 추적, 하이퍼파라미터 스윕 실행, 모델 및 데이터 버전 관리를 위한 ML 플랫폼입니다. 기능과 YOLO 설정을 설명합니다.
Weights & Biases(W&B 또는 Python 패키지 이름을 딴 wandb)는 머신러닝 운영(MLOps)을 위한 개발자 플랫폼으로, 모델 학습 실행을 기록하고 시각화하며 비교합니다. PyTorch 또는 다른 학습 스크립트에 몇 줄을 추가하면 각 실행의 설정(예: 학습률 및 배치 크기), 메트릭, GPU 통계, 출력 파일이 호스팅 대시보드로 전송됩니다. 팀은 대시보드에서 실험을 비교하고 결과를 재현하며, 모델 생성에 사용된 데이터와 설정을 추적할 수 있습니다. W&B는 실험 추적뿐만 아니라 하이퍼파라미터 튜닝, 데이터 세트 및 모델 버전 관리, 모델 레지스트리, 그리고 Weave 제품을 통한 대규모 언어 모델(LLM) 애플리케이션의 추적 및 평가 기능도 제공합니다. GPU 클라우드 제공업체 CoreWeave는 2025년 5월 Weights & Biases 인수를 완료했으며, 현재 W&B 문서는 CoreWeave 문서 사이트에서 제공됩니다.
핵심 기능#
- 실험:
wandb.init()은 실행을 시작하고 설정을 저장하며,wandb.log()은 각 단계의 메트릭, 이미지, 표를 기록합니다. SDK는 GPU 사용률과 메모리 사용량 같은 시스템 메트릭도 샘플링해 데이터 로딩 병목을 파악할 수 있게 합니다. - 스윕: 그리드, 무작위 또는 베이지안 방법을 사용하는 자동 하이퍼파라미터 검색입니다. 에이전트가 여러 컴퓨터에서 병렬로 실험을 실행하며 성능이 낮은 실행은 선택적으로 조기 종료할 수 있습니다.
- 아티팩트: 버전이 관리되는 데이터 세트, 모델 체크포인트, 기타 파일과 함께 각 버전을 어떤 실행이 사용하거나 생성했는지 보여 주는 계보 그래프를 제공합니다.
- 레지스트리: 팀이 배포 단계로 승격할 수 있도록 승인된 모델 및 데이터 세트 버전을 선별해 관리하는 카탈로그입니다.
- 보고서: 실행 결과의 실시간 차트와 서면 분석을 결합한 공유 가능한 문서입니다.
- Weave: LLM 및 에이전트 애플리케이션의 추적, 평가, 비용 관리를 제공합니다.
스윕은 탐색 작업과 학습 작업을 분리합니다. 컨트롤러는 탐색 상태를 유지하고 설정을 제안하며, 여러 에이전트가 제안된 설정을 가져와 학습을 실행한 다음 목표 메트릭을 보고할 수 있습니다.
Ultralytics YOLO에서 W&B 사용하기#
Ultralytics YOLO에는 기본적으로 비활성화된 내장 W&B 연동 기능이 있습니다. Ultralytics 설정에서 기능을 활성화하면 모든 학습 실행의 전체 인수 목록, 에포크별 손실 및 학습률, 정밀도, 재현율, 평균 정밀도(mAP)와 같은 검증 지표, 저장된 그래프가 기록됩니다. 실행이 끝나면 best.pt를 모델 아티팩트로 업로드하고 대화형 정밀도-재현율 및 신뢰도 곡선도 함께 제공합니다. 이러한 best.pt 아티팩트는 나중에 Ultralytics Platform으로 가져와 예측, 내보내기 또는 배포에 사용할 수 있습니다.
import os
from ultralytics import YOLO, settings
# API 키 없이 로컬에 기록하고 나중에 "wandb sync"로 업로드하거나, "wandb login"을 실행한 후 이 줄을 제거합니다.
os.environ["WANDB_MODE"] = "offline"
# 내장 W&B 콜백을 활성화합니다("pip install wandb" 필요, Ultralytics 설정 파일에 저장됨).
settings.update({"wandb": True})
# project와 name은 각각 W&B 프로젝트 이름과 실행 이름이 됩니다.
model = YOLO("yolo26n.pt")
model.train(data="coco8.yaml", epochs=5, project="yolo26-experiments", name="baseline")project을 공유하고 name이 서로 다른 학습 실행은 하나의 W&B 프로젝트에서 나란히 표시됩니다. 따라서 모델 크기, 이미지 크기, 증강 설정이 다른 실행을 하나의 대시보드에서 비교할 수 있습니다.
W&B와 관련 용어 비교#
- 모델 가중치 및 편향: 플랫폼 이름은 신경망의 학습 가능한 매개변수를 가리킵니다. 가중치는 각 뉴런의 입력을 조정하고, 편향은 활성화 함수 전에 출력을 이동시키며, 역전파가 둘 다 업데이트합니다. 플랫폼은 학습 중 가중치와 편향의 분포 및 그래디언트를 기록할 수 있습니다.
- MLflow: 모델 추적, 패키징, 등록을 위한 오픈 소스 플랫폼으로, 팀에서 자체 호스팅하는 경우가 많습니다. W&B는 주로 관리형 서비스로 제공되며 기업을 위한 자체 호스팅 옵션도 있습니다.
- TensorBoard: PyTorch 및 TensorFlow의 학습 로그를 시각화하는 로컬 도구로, W&B에서 제공하는 호스팅 협업, 스윕, 레지스트리 기능은 없습니다.










