Skip to main content
이 튜토리얼에서는 스윕을 정의, 초기화, 실행하여 하이퍼파라미터 검색을 자동화하고 최고 성능 모델을 만드는 설정을 찾는 방법을 설명합니다. W&B에 run을 로깅하는 데 이미 익숙하고, 이제 대규모로 하이퍼파라미터를 튜닝하려는 사용자를 대상으로 합니다. 이 튜토리얼은 다음 네 단계로 구성됩니다.
  1. 트레이닝 코드 설정
  2. 스윕 설정으로 검색 공간 정의
  3. 스윕 초기화
  4. 스윕 에이전트 시작
먼저 다음 코드를 복사하여 Jupyter Notebook 또는 Python 스크립트에 붙여넣으세요. 이어지는 섹션에서 이 예제의 각 부분을 자세히 설명합니다.

트레이닝 코드 설정

스윕 에이전트는 시도할 하이퍼파라미터 값 조합마다 트레이닝 함수를 호출합니다. 따라서 먼저 이 값을 받아 메트릭을 W&B에 보고하는 함수를 작성해야 합니다. wandb.Run.config에서 하이퍼파라미터 값을 가져와 모델을 트레이닝하고 메트릭을 반환하는 트레이닝 함수를 정의하세요. 필요한 경우 run의 출력을 저장할 프로젝트 이름을 지정할 수 있습니다(wandb.init()의 project 매개변수). 프로젝트를 지정하지 않으면 W&B는 run을 “Uncategorized” 프로젝트에 저장합니다.
스윕과 run은 같은 프로젝트에 있어야 합니다. 따라서 W&B를 초기화할 때 지정하는 프로젝트 이름은 스윕을 초기화할 때 지정하는 프로젝트 이름과 같아야 합니다.

스윕 설정으로 검색 공간 정의하기

트레이닝 함수가 준비되었다면, 다음으로 어떤 하이퍼파라미터를 변경하고 어떤 방식으로 검색할지 W&B에 알려주어야 합니다. 스윕할 하이퍼파라미터를 딕셔너리로 지정하세요. 설정 옵션은 스윕 설정 정의하기를 참조하세요. 다음 예시는 랜덤 검색('method':'random')을 사용하는 스윕 설정입니다. 스윕은 설정에 나열된 값 중에서 x 및 y 매개변수의 값 조합을 무작위로 선택합니다. metric 키에 지정된 메트릭에 "goal": "minimize"가 연결되어 있으면 W&B는 해당 메트릭을 최소화합니다. 이 예시에서 W&B는 메트릭 score("name": "score")가 최소가 되도록 최적화합니다.

스윕 초기화

스윕을 초기화하면 검색 공간이 W&B에 등록되고, 에이전트가 하이퍼파라미터 조합을 요청할 때 사용하는 식별자가 반환됩니다. W&B는 Sweep Controller를 사용하여 하나 이상의 머신에 걸쳐 클라우드(standard) 또는 로컬(local)에서 스윕을 관리합니다. Sweep Controller에 대한 자세한 내용은 로컬에서 검색 및 중지 알고리즘 실행을 참조하세요. 스윕을 초기화하면 스윕 식별 번호가 반환됩니다.
자세한 내용은 스윕을 초기화를 참조하세요.

스윕 시작하기

스윕을 등록했으면 에이전트를 시작하여 run을 실행하고 검색 공간을 탐색하세요. 스윕을 시작하려면 wandb.agent() API를 호출하세요.
에이전트가 시작되면 W&B에 하이퍼파라미터 조합을 요청하고, 각 조합으로 트레이닝 함수를 호출한 뒤, 그 결과로 얻은 메트릭을 프로젝트에 로깅합니다.
멀티프로세싱Python 표준 라이브러리의 multiprocessing 패키지나 PyTorch의 pytorch.multiprocessing 패키지를 사용하는 경우, wandb.agent() 및 wandb.sweep() 호출을 if __name__ == '__main__':로 감싸야 합니다. 예를 들면 다음과 같습니다.
이 관례를 따르면 스크립트를 직접 실행할 때만 코드가 실행되고, 워커 프로세스에서 모듈로 임포트될 때는 실행되지 않습니다.멀티프로세싱에 대한 자세한 내용은 Python 표준 라이브러리 multiprocessing 또는 PyTorch multiprocessing을 참조하세요. if __name__ == '__main__': 관례에 대한 자세한 내용은 Real Python의 __main__ 가이드를 참조하세요.

선택: 결과 시각화

스윕이 실행되면 W&B App에서 다양한 하이퍼파라미터 조합이 메트릭에 어떤 영향을 주는지 살펴볼 수 있습니다. 프로젝트를 열면 W&B App 대시보드에서 실시간 결과를 확인할 수 있습니다. 몇 번의 클릭만으로 병렬 좌표 플롯, 매개변수 중요도 분석, 기타 차트 유형 등의 대화형 차트를 만들 수 있습니다.
Sweeps 대시보드 예시
자세한 내용은 스윕 결과 시각화를 참조하세요. 대시보드 예시는 샘플 Sweeps 프로젝트에서 확인하세요.

선택 사항: 에이전트 중지하기

터미널에서 Ctrl+C를 눌러 현재 run을 중지하세요. 한 번 더 누르면 에이전트가 종료됩니다.
마지막 수정일 2026년 9월 30일