Sweep 구성은 중첩된 키-값 쌍으로 이루어집니다. Sweep 구성의 최상위 키를 사용해 검색할 파라미터(Documentation Index
Fetch the complete documentation index at: https://translations.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
parameter 키), 파라미터 공간을 탐색하는 방법론(method 키) 등 Sweep 검색의 특성을 정의합니다.
아래 표에는 최상위 Sweep 구성 키와 간단한 설명이 나와 있습니다. 각 키에 대한 자세한 내용은 해당 섹션을 참조하세요.
| Top-level keys | Description |
|---|---|
program | (필수) 실행할 학습 스크립트 |
entity | 이 Sweep의 엔터티 |
project | 이 Sweep의 프로젝트 |
description | Sweep에 대한 텍스트 설명 |
name | W&B UI에 표시되는 Sweep 이름 |
method | (필수) 검색 전략 |
metric | 최적화할 메트릭(특정 검색 전략 및 조기 중단 기준에서만 사용됨) |
parameters | (필수) 검색할 파라미터의 범위 |
early_terminate | 조기 중단 기준 |
command | 학습 스크립트를 호출하고 인자를 전달하기 위한 명령 구조 |
run_cap | 이 Sweep에서 허용되는 최대 실행 수 |
metric
metric 최상위 sweep 구성 키를 사용하여 최적화할 지표의 이름, 목표, 그리고 대상 metric을 지정합니다.
| Key | Description |
|---|---|
name | 최적화할 지표의 이름. |
goal | minimize 또는 maximize 중 하나 (기본값은 minimize). |
target | 최적화 대상 지표의 목표 값. 실행이 지정한 목표 값에 도달하면 sweep은 새로운 실행을 생성하지 않습니다. 실행이 진행 중인 활성 에이전트는(해당 실행이 목표에 도달했을 때) 그 실행이 완료될 때까지 기다린 다음, 새로운 실행 생성을 중단합니다. |
parameters
parameters를 지정합니다. parameters 키 아래에 최적화하려는 하이퍼파라미터의 이름을 제공합니다. 일반적인 하이퍼파라미터에는 학습률(learning rate), 배치 크기(batch size), 에폭(epochs), 옵티마이저(optimizers) 등이 있습니다. 스윕 설정에서 정의하는 각 하이퍼파라미터에 대해 하나 이상의 탐색 제약 조건을 지정합니다.
다음 표는 지원되는 하이퍼파라미터 탐색 제약 조건을 보여줍니다. 하이퍼파라미터 종류와 사용 사례에 따라, 아래 탐색 제약 조건 중 하나를 사용해 스윕 에이전트에 어디(분포의 경우) 또는 무엇을(value, values 등) 탐색할지 또는 사용할지를 지정합니다.
| Search constraint | Description |
|---|---|
values | 이 하이퍼파라미터에 대해 유효한 모든 값을 지정합니다. grid와 호환됩니다. |
value | 이 하이퍼파라미터에 대해 유효한 단일 값을 지정합니다. grid와 호환됩니다. |
distribution | 확률 distribution을 지정합니다. 기본값에 대한 정보는 이 표 아래의 참고 사항을 참조하십시오. |
probabilities | random을 사용할 때 values의 각 요소가 선택될 확률을 지정합니다. |
min, max | (int 또는 float) 최소 및 최대 값입니다. int인 경우 int_uniform 분포 하이퍼파라미터에 사용됩니다. float인 경우 uniform 분포 하이퍼파라미터에 사용됩니다. |
mu | (float) normal 또는 lognormal 분포 하이퍼파라미터의 평균 파라미터입니다. |
sigma | (float) normal 또는 lognormal 분포 하이퍼파라미터의 표준 편차 파라미터입니다. |
q | (float) 양자화된 하이퍼파라미터의 양자화 스텝 크기입니다. |
parameters | 루트 수준 파라미터 내부에 다른 파라미터들을 중첩합니다. |
distribution을 지정하지 않은 경우, W&B는 아래 조건에 따라 다음 분포를 설정합니다:
values를 지정하면categoricalmax와min을 정수로 지정하면int_uniformmax와min을 실수로 지정하면uniform- 단일 값을
value에 지정하면constant
method
method 키를 사용해 하이퍼파라미터 검색 전략을 지정합니다. 사용할 수 있는 하이퍼파라미터 검색 전략은 grid, random, Bayesian search의 세 가지입니다.
그리드 서치
랜덤 검색
method: random을 사용하는 랜덤 검색을 선택하는 경우 metric 키를 사용해 분포 공간을 지정합니다.
베이지안 탐색
랜덤 및 베이지안 검색을 위한 분포 옵션
parameter 키 안에 하이퍼파라미터 이름을 중첩해 넣습니다. 그런 다음 distribution 키를 지정하고 값에 사용할 분포를 정의합니다.
다음 표는 W&B가 지원하는 분포를 나열합니다.
Value for distribution key | Description |
|---|---|
constant | 상수 분포. 사용할 상수 값(value)을 지정해야 합니다. |
categorical | 범주형 분포. 이 하이퍼파라미터에 대한 모든 유효한 값(values)을 지정해야 합니다. |
int_uniform | 정수에 대한 이산 균일 분포. max와 min을 정수로 지정해야 합니다. |
uniform | 연속 균일 분포. max와 min을 부동소수점 값으로 지정해야 합니다. |
q_uniform | 양자화된 균일 분포. X가 균일 분포일 때 round(X / q) * q를 반환합니다. q의 기본값은 1입니다. |
log_uniform | 로그-균일 분포. 자연로그가 min과 max 사이에서 균일하게 분포되도록 exp(min)과 exp(max) 사이의 값 X를 반환합니다. |
log_uniform_values | 로그-균일 분포. log(min)과 log(max) 사이에서 균일하게 분포되도록 min과 max 사이의 값 X를 반환합니다. 이때 log(X)가 균일하게 분포됩니다. |
q_log_uniform | 양자화된 로그-균일 분포. X가 log_uniform일 때 round(X / q) * q를 반환합니다. q의 기본값은 1입니다. |
q_log_uniform_values | 양자화된 로그-균일 분포. X가 log_uniform_values일 때 round(X / q) * q를 반환합니다. q의 기본값은 1입니다. |
inv_log_uniform | 역 로그-균일 분포. log(1/X)가 min과 max 사이에서 균일하게 분포되도록 X를 반환합니다. |
inv_log_uniform_values | 역 로그-균일 분포. log(1/X)가 log(1/max)와 log(1/min) 사이에서 균일하게 분포되도록 X를 반환합니다. |
normal | 정규 분포. 반환 값은 평균 mu(기본값 0), 표준편차 sigma(기본값 1)를 갖는 정규 분포를 따릅니다. |
q_normal | 양자화된 정규 분포. X가 normal일 때 round(X / q) * q를 반환합니다. q의 기본값은 1입니다. |
log_normal | 로그 정규 분포. 자연로그 log(X)가 평균 mu(기본값 0), 표준편차 sigma(기본값 1)를 갖는 정규 분포를 따르도록 하는 값 X를 반환합니다. |
q_log_normal | 양자화된 로그 정규 분포. X가 log_normal일 때 round(X / q) * q를 반환합니다. q의 기본값은 1입니다. |
early_terminate
early_terminate)를 사용합니다. 조기 종료가 발생하면 W&B는 새로운 하이퍼파라미터 값 세트로 새로운 실행을 생성하기 전에 현재 실행을 중단합니다.
early_terminate를 사용하는 경우 중단 알고리즘을 지정해야 합니다. 스윕 구성에서 early_terminate 내에 type 키를 중첩해 설정하십시오.중단 알고리즘
W&B는 현재 Hyperband 중단 알고리즘을 지원합니다.
브래킷 스케줄을 생성하려면
min_iter 또는 max_iter 중 하나를 지정하십시오.| Key | Description |
|---|---|
min_iter | 첫 번째 브래킷에 해당하는 반복(iteration)을 지정합니다 |
max_iter | 반복(iteration)의 최대 횟수를 지정합니다. |
s | 브래킷의 총 개수를 지정합니다 (max_iter에 필요). |
eta | 브래킷 배수 스케줄을 지정합니다 (기본값: 3). |
strict | 실행을 더 적극적으로 가지치기(prune)하여, 원래 Hyperband 논문을 더 엄격하게 따르는 ‘strict’ 모드를 활성화합니다. 기본값은 false입니다. |
Hyperband는 몇 분마다 한 번씩 어떤 실행을 종료할지 확인합니다. 실행이나 반복이 짧은 경우, 종료된 실행의 타임스탬프는 지정한 브래킷과 다를 수 있습니다.
command
command 키 안에서 중첩 값을 사용해 형식과 내용을 수정할 수 있습니다. 파일 이름과 같은 고정된 구성 요소는 그대로 직접 포함할 수 있습니다.
Unix 시스템에서
/usr/bin/env는 환경에 따라 OS가 올바른 Python 인터프리터를 선택하도록 보장합니다.| Command macro | Description |
|---|---|
${env} | Unix 시스템에서는 /usr/bin/env를 사용하고, Windows에서는 생략됩니다. |
${interpreter} | python으로 확장됩니다. |
${program} | sweep 설정의 program 키에 지정된 학습 스크립트 파일 이름입니다. |
${args} | --param1=value1 --param2=value2 형식의 하이퍼파라미터와 그 값입니다. |
${args_no_boolean_flags} | --param1=value1 형식의 하이퍼파라미터와 그 값이되, 불리언 파라미터는 True일 때 --boolean_flag_param 형식으로, False일 때는 생략됩니다. |
${args_no_hyphens} | param1=value1 param2=value2 형식의 하이퍼파라미터와 그 값입니다. |
${args_json} | JSON으로 인코딩된 하이퍼파라미터와 그 값입니다. |
${args_json_file} | JSON으로 인코딩된 하이퍼파라미터와 그 값을 포함하는 파일의 경로입니다. |
${envvar} | 환경 변수를 전달하는 방법입니다. ${envvar:MYENVVAR} __ 는 MYENVVAR 환경 변수의 값으로 확장됩니다. __ |