이 튜토리얼에서는 기존 W&B 프로젝트에서 sweep 작업을 만드는 방법을 설명합니다. 베이스라인 프로젝트를 만들고, 하이퍼파라미터 스윕을 설정하고, 트레이닝 작업을 병렬로 실행하는 에이전트를 시작하는 방법을 안내합니다.
이미지 분류를 수행하도록 PyTorch 합성곱 신경망을 트레이닝하기 위해 Fashion MNIST 데이터셋을 사용합니다. 필요한 코드와 데이터셋은 W&B examples 저장소 (PyTorch CNN Fashion)에 있습니다.
이 W&B 대시보드에서 결과를 살펴보세요.
먼저 예시 모델을 최소 한 번 트레이닝하여 베이스라인 프로젝트를 만드세요. 이 베이스라인은 이후 단계에서 스윕이 설정을 적용할 기준이 됩니다. W&B examples GitHub 저장소에서 PyTorch MNIST 데이터셋 예시 모델을 다운로드하세요. 다음으로 모델을 트레이닝하세요. 트레이닝 스크립트는 examples/pytorch/pytorch-cnn-fashion 디렉터리에 있습니다.
예시 모델을 다운로드하고 트레이닝하려면 다음을 수행하세요.
-
저장소를 클론합니다:
-
예시 디렉터리로 이동합니다:
-
트레이닝 스크립트를 수동으로 실행합니다:
-
선택 사항: W&B App 대시보드에서 예시를 살펴보세요. 예시 프로젝트 페이지 보기.
이 초기 run이 완료되면 W&B에 스윕이 이를 기반으로 구축할 수 있는 베이스라인 프로젝트가 생성됩니다.
베이스라인 프로젝트가 있으면 해당 Run들을 대상으로 스윕을 설정할 수 있습니다. 프로젝트 페이지에서 프로젝트 사이드바의 Sweep 탭을 열고 Create Sweep을 선택하세요.
자동 생성된 설정은 완료한 Runs를 기반으로 스윕할 값을 제안합니다. 시도할 하이퍼파라미터 범위를 지정하도록 설정을 편집하세요. 스윕을 시작하면 W&B의 호스팅된 스윕 서버에서 새 프로세스가 시작됩니다. 이 중앙 집중식 서비스는 에이전트(트레이닝 작업을 실행하는 머신)를 조정합니다.
스윕을 설정한 후에는 Runs를 실행할 하나 이상의 에이전트를 시작하세요. 스윕 작업을 더 빨리 완료하려면 서로 다른 머신에서 최대 20개의 에이전트를 병렬로 실행할 수 있습니다. 각 에이전트는 다음에 사용할 파라미터 집합을 출력합니다.
이제 에이전트 전반의 트레이닝 작업을 조정하고 결과를 W&B에 보고하는 스윕이 실행 중입니다. 다음 이미지는 예시 스윕 작업이 실행 중인 대시보드를 보여줍니다.
이전에 로깅한 Runs를 시작점으로 재사용하려면 기존 Runs를 사용해 새 스윕을 시작하세요:
- 프로젝트 테이블을 여세요.
- run을 선택하려면 해당 행의 체크박스를 클릭하세요.
- 드롭다운에서 새 스윕을 생성하는 옵션을 선택하세요.
이제 스윕이 서버에 설정되었습니다. 하나 이상의 에이전트를 실행해 Runs를 시작하세요.
새 스윕을 베이지안 스윕으로 시작하면 선택한 Runs도 가우시안 프로세스의 시드로 사용됩니다.