본문으로 건너뛰기

스윕 구성 옵션

스윕 구성은 중첩된 키-값 쌍으로 구성됩니다. 스윕 구성에서 최상위 키를 사용하여 스윕 검색의 특성을 정의하세요. 예를 들면, 검색할 파라미터(parameter 키), 파라미터 공간을 검색하는 방법론(method 키) 등을 정의할 수 있습니다.

다음 표는 최상위 스윕 구성 키와 간단한 설명을 나열합니다. 각 키에 대한 자세한 정보는 해당 섹션을 참조하세요.

최상위 키설명
program(필수) 실행할 트레이닝 스크립트.
entity이 스윕의 엔티티를 지정.
project이 스윕의 프로젝트를 지정.
description스윕의 텍스트 설명.
nameW&B UI에 표시되는 스윕의 이름.
method(필수) 검색 전략을 지정.
metric최적화할 메트릭을 지정(특정 검색 전략과 정지 기준에서만 사용).
parameters(필수) 검색할 파라미터 범위를 지정.
early_terminate조기 정지 기준을 지정.
command트레이닝 스크립트를 호출하고 인수를 전달하기 위한 코맨드 구조를 지정.
run_cap스윕에서 실행할 최대 run 수를 지정.

스윕 구성의 구조에 대한 자세한 정보는 스윕 구성을 참조하세요.

metric

metric 최상위 스윕 구성 키를 사용하여 이름, 목표, 최적화할 대상 메트릭을 지정하세요.

설명
name최적화할 메트릭의 이름.
goalminimize 또는 maximize 중 하나(기본값은 minimize).
target최적화하고 있는 메트릭의 목표 값. 목표 값을 지정하면 스윕은 해당 값을 달성하는 실행이 있을 때 또는 실행이 목표에 도달했을 때 새 실행을 생성하지 않습니다. 실행 중인 에이전트는 실행이 완료될 때까지 기다린 다음 에이전트가 새 실행을 생성하는 것을 중지합니다.

parameters

YAML 파일이나 파이썬 스크립트에서 parameters를 최상위 키로 지정하세요. parameters 키 내에 최적화하려는 하이퍼파라미터의 이름을 제공하세요. 흔히 사용되는 하이퍼파라미터에는 학습률, 배치 크기, 에포크, 옵티마이저 등이 포함됩니다. 스윕 구성에서 정의한 각 하이퍼파라미터에 대해 하나 이상의 검색 제약 조건을 지정하세요.

다음 표는 지원되는 하이퍼파라미터 검색 제약 조건을 보여줍니다. 하이퍼파라미터와 유스 케이스에 따라 아래의 검색 제약 조건 중 하나를 사용하여 스윕 에이전트가 어디에서(분포의 경우) 또는 무엇을(value, values 등) 검색하거나 사용할 지 알려주세요.

검색 제약 조건설명
values이 하이퍼파라미터에 대한 모든 유효한 값 지정. grid와 호환됨.
value이 하이퍼파라미터에 대한 단일 유효 값 지정. grid와 호환됨.
distribution확률 분포를 지정. 분포가 지정되지 않은 경우 기본 값에 대한 정보는 이 표 다음의 주석을 참조하세요.
probabilitiesrandom을 사용할 때 values의 각 요소를 선택할 확률을 지정.
min, max(int또는 float) 최대 및 최소 값. int인 경우 int_uniform 분포 하이퍼파라미터에 대해. float인 경우 uniform 분포 하이퍼파라미터에 대해.
mu(float) normal 또는 lognormal 분포 하이퍼파라미터에 대한 평균 파라미터.
sigma(float) normal 또는 lognormal 분포 하이퍼파라미터에 대한 표준 편차 파라미터.
q(float) 양자화된 하이퍼파라미터에 대한 양자화 단계 크기.
parameters루트 레벨 파라미터 안에 다른 파라미터를 중첩.
정보

W&B는 분포가 지정되지 않은 경우 다음 조건에 따라 다음 분포를 설정합니다:

  • values를 지정하면 categorical
  • maxmin을 정수로 지정하면 int_uniform
  • maxmin을 부동소수점으로 지정하면 uniform
  • value로 집합을 제공하면 constant

method

method 키로 하이퍼파라미터 검색 전략을 지정하세요. 선택할 수 있는 하이퍼파라미터 검색 전략에는 그리드, 랜덤, 베이지안 탐색이 있습니다.

그리드 검색

하이퍼파라미터 값의 모든 조합을 반복합니다. 그리드 검색은 각 반복에서 사용할 하이퍼파라미터 값 세트에 대해 정보가 없는 결정을 내립니다. 그리드 검색은 계산 비용이 많이 들 수 있습니다.

그리드 검색은 연속적인 검색 공간 내에서 검색하는 경우 영원히 실행됩니다.

랜덤 검색

분포에 기반한 하이퍼파라미터 값 세트를 각 반복마다 무작위로 선택합니다. 랜덤 검색은 커맨드라인에서 프로세스를 중지하거나, 파이썬 스크립트 내에서, 또는 W&B App UI에서 중지하지 않는 한 영원히 실행됩니다.

랜덤(method: random) 검색을 선택하는 경우 메트릭 키로 분포 공간을 지정하세요.

베이지안 탐색

랜덤그리드 검색과 달리, 베이지안 모델은 정보에 기반한 결정을 내립니다. 베이지안 최적화는 확률 모델을 사용하여 대리 함수에서 값을 테스트하는 반복적인 프로세스를 거쳐 목표 함수를 평가하기 전에 사용할 값들을 결정합니다. 베이지안 탐색은 연속적인 매개변수의 작은 수에 대해 잘 작동하지만, 크기가 커지면 잘 확장되지 않습니다. 베이지안 탐색에 대한 자세한 정보는 베이지안 최적화 기초 논문을 참조하세요.

베이지안 탐색은 커맨드라인에서 프로세스를 중지하거나, 파이썬 스크립트 내에서, 또는 W&B App UI에서 중지하지 않는 한 영원히 실행됩니다.

랜덤 및 베이지안 검색을 위한 분포 옵션

parameter 키 내에 하이퍼파라미터의 이름을 중첩하세요. 다음으로, distribution 키를 지정하고 값을 위한 분포를 지정하세요.

다음 표는 W&B가 지원하는 분포를 나열합니다.

distribution 키의 값설명
constant상수 분포. 사용할 상수 값(value)을 지정해야 합니다.
categorical범주형 분포. 이 하이퍼파라미터에 대한 모든 유효한 값(values)을 지정해야 합니다.
int_uniform정수에 대한 이산 균일 분포. maxmin을 정수로 지정해야 합니다.
uniform연속 균일 분포. maxmin을 부동소수점으로 지정해야 합니다.
q_uniform양자화된 균일 분포. X가 균일하게 분포되어 있을 때 round(X / q) * q를 반환합니다. q의 기본값은 1입니다.
log_uniform로그 균일 분포. exp(min)exp(max) 사이의 값 X를 반환하며, 자연 로그가 minmax 사이에서 균일하게 분포합니다.
log_uniform_values로그 균일 분포. minmax 사이의 값 X를 반환하며, log(X)log(min)log(max) 사이에서 균일하게 분포합니다.
q_log_uniform양자화된 로그 균일 분포. Xlog_uniform일 때 round(X / q) * q를 반환합니다. q의 기본값은 1입니다.
q_log_uniform_values양자화된 로그 균일 분포. Xlog_uniform_values일 때 round(X / q) * q를 반환합니다. q의 기본값은 1입니다.
inv_log_uniform역 로그 균일 분포. X를 반환하며, 여기서 log(1/X)minmax 사이에서 균일하게 분포합니다.
inv_log_uniform_values역 로그 균일 분포. X를 반환하며, 여기서 log(1/X)log(1/max)log(1/min) 사이에서 균일하게 분포합니다.
normal정규 분포. 반환 값은 평균 mu(기본값 0)와 표준 편차 sigma(기본값 1)로 정규 분포됩니다.
q_normal양자화된 정규 분포. Xnormal일 때 round(X / q) * q를 반환합니다. Q의 기본값은 1입니다.
log_normal로그 정규 분포. 자연 로그 log(X)가 평균 mu(기본값 0)와 표준 편차 sigma(기본값 1)로 정규 분포된 값 X를 반환합니다.
q_log_normal양자화된 로그 정규 분포. Xlog_normal일 때 round(X / q) * q를 반환합니다. q의 기본값은 1입니다.

early_terminate

조기 종료(early_terminate)를 사용하여 성능이 낮은 실행을 중지하세요. 조기 종료가 발생하면 W&B는 새로운 하이퍼파라미터 값 세트로 새 실행을 생성하기 전에 현재 실행을 중지합니다.

노트

early_terminate를 사용하는 경우 정지 알고리즘을 지정해야 합니다. 스윕 구성 내에서 early_terminate 내에 type 키를 중첩하세요.

정지 알고리즘

정보

W&B는 현재 Hyperband 정지 알고리즘을 지원합니다.

Hyperband 하이퍼파라미터 최적화는 프로그램이 중지되어야 하는지 또는 계속되어야 하는지를 하나 이상의 사전 설정된 반복 횟수, 즉 브래킷에서 평가합니다.

W&B 실행이 브래킷에 도달하면, 스윕은 해당 실행의 메트릭을 이전에 보고된 모든 메트릭 값과 비교합니다. 실행의 메트릭 값이 너무 높은 경우(목표가 최소화일 때) 또는 실행의 메트릭이 너무 낮은 경우(목표가 최대화일 때) 스윕은 실행을 종료합니다.

브래킷은 로그된 반복 횟수에 기반합니다. 브래킷의 수는 최적화하고 있는 메트릭을 로그하는 횟수와 일치합니다. 반복은 단계, 에포크 또는 그 사이의 것일 수 있습니다. 단계 카운터의 수치적 값은 브래킷 계산에 사용되지 않습니다.

정보

브래킷 일정을 생성하기 위해 min_iter 또는 max_iter를 지정하세요.

설명
min_iter첫 번째 브래킷을 위한 반복 횟수를 지정
max_iter반복의 최대 횟수를 지정.
s브래킷의 총 수를 지
Was this page helpful?👍👎