시스템 설정¶
exclusive_mode
¶
Exclusive level of access to node resources
액세스에는 세 가지 레벨이 있습니다.
safe: 이 레벨은 동일한 노드에서 다른 실험이 실행되고 있을 가능성을 가정합니다.
moderate: 이 레벨은 동일한 노드에서 실행되는 다른 실험 또는 태스크가 없다고 가정하지만, 물리적 코어 수만 사용합니다.
max: 이 레벨은 해당 노드에 실험 외에는 실행 중인 것이 전혀 없는 것으로 가정합니다.
기본 수준은 《safe》이고 동등한 config.toml 매개변수는 exclusive_mode
입니다. multinode 가 활성화된 경우 이 옵션은 여전히 적용될 때 worker_remote_processors=1이 아닌 한 아무 효과가 없습니다. 각각의 독점 모드를 선택한 다음 각 상세 설정을 사용하여 미세 조정할 수 있습니다. 독점 모드를 변경하면 모든 독점 모드 관련 옵션이 기본값으로 재설정되고 새 모드를 위한 특정 규칙이 다시 적용되어 독점 모드 규칙의 일부인 전문가 옵션의 미세 조정이 취소됩니다. 상위 실험에서 신규/계속/리핏/재학습된 실험을 선택하면 모든 모드 규칙이 다시 적용되지 않고 미세 조정이 보존됩니다. 모드 동작을 재설정하려면 〈안전’ 및 원하는 모드 간 전환이 가능합니다. 이 방법으로 새 하위 실험은 선택한 모드에 대한 기본 시스템 리소스를 사용합니다.
max_cores
¶
Number of Cores to Use
실험당 사용할 코어 수를 지정합니다. 0으로 지정한 경우 모든 가용 코어가 사용됩니다. 값이 낮을수록 메모리 사용량이 감소하지만, 실험 속도가 느려질 수 있습니다. 기본값은 0(전체)입니다. 환경 변수 OMP_NUM_THREADS 또는 OPENBLAS_NUM_THREADS 를 사용해 설정할 수도 있습니다(예: bash에서: ‘export OMP_NUM_THREADS=32’ 또는 ‘export OPENBLAS_NUM_THREADS=32’).
max_fit_cores
¶
Maximum Number of Cores to Use for Model Fit
모델의 fit 호출에 사용할 최대 코어 수를 지정합니다. 0을 지정한 경우, 모든 가용 코어가 사용됩니다. 기본값은 10입니다.
use_dask_cluster
¶
If full dask cluster is enabled, use full cluster
전체 다중 노드 분산 클러스터를 사용할지(True) 또는 단일 노드 dask를 사용할지(False) 지정합니다. 일부 경우 전체 클러스터를 사용하는 것이 비효율적일 수 있습니다. 예를 들어, 중간 크기 데이터에 대해 한 번에 하나의 DGX를 사용하는 경우. 여러 개의 DGX 노드가 더 효율적일 수 있습니다. 등가의 config.toml 매개변수는 use_dask_cluster
입니다.
max_predict_cores
¶
Maximum Number of Cores to Use for Model Predict
모델의 예측 호출에 사용할 최대 코어 수를 지정합니다. 0을 지정한 경우, 모든 가용 코어가 사용됩니다. 기본값은 0(전체)입니다.
max_predict_cores_in_dai
¶
Maximum Number of Cores to Use for Model Transform and Predict When Doing MLI, AutoDoc
Driverless AI MLI GUI와 Driverless AI R 및 Python client에서 작업을 수행할 때, 모델의 변환 및 예측 호출에 사용할 최대 코어 수를 지정합니다. 0을 지정한 경우, 모든 가용 코어가 사용됩니다. 기본값은 4입니다.
batch_cpu_tuning_max_workers
¶
Tuning Workers per Batch for CPU
튜닝 시 CPU 모드에서 사용되는 워커의 수를 지정합니다. 값을 0으로 지정하면 소켓 수를 사용하고, -1로 지정하면 1보다 크거나 같은 모든 물리적 코어를 사용합니다. 기본값은 0(소켓 수)입니다.
cpu_max_workers
¶
Number of Workers for CPU Training
학습 시 CPU 모드에서 사용되는 워커의 수를 지정합니다.
0: 소켓 수 사용(기본값)
-1: 1보다 크거나 같은 모든 물리적 코어 사용
num_gpus_per_experiment
¶
#GPUs/Experiment
실험당 사용할 GPU의 수를 지정합니다. 값을 -1(기본값)로 지정하면 모든 가용 GPU가 사용됩니다. 모델당 사용할 GPU의 수 이상이 되어야 합니다(또는 -1). 다중 노드 컨텍스트에서 dask를 사용할 경우 이는 노드별 값을 나타냅니다.
min_num_cores_per_gpu
¶
Num Cores/GPU
GPU당 CPU 코어의 수를 지정합니다. GPU당 충분한 코어 수를 제공하기 위해 이 설정은 사용되는 GPU 수를 제한합니다. 기본값은 2입니다.
num_gpus_per_model
¶
#GPUs/Model
모델당 사용할 GPU의 수를 지정합니다. 등가의 config.toml 매개변수는 num_gpus_per_model
이며 기본값은 1 입니다. 현재 1 이외의 num_gpus_per_model은 GPU 잠금을 비활성화하므로 단일 실험 및 단일 사용자에게만 권장합니다. 이 매개변수를 -1로 설정하면 모델당 모든 GPU가 사용됩니다. 모든 경우에, XGBoost 트리 및 선형 모델은 모델당 지정된 GPU 수를 사용하지만, LightGBM 및 Tensorflow는 1 GPU/모델 사용으로 되돌아가 다중 GPU에서 다중 모델을 실행합니다. FTRL은 GPU를 사용하지 않습니다. Rulefit은 LightGBM을 사용한 트리 획득에 관여하는 부분에 대해 GPU를 사용합니다. 다중 노드 컨텍스트에서 dask를 사용할 경우 이 매개변수는 노드별 값을 나타냅니다.
num_gpus_for_prediction
¶
Num. of GPUs for Isolated Prediction/Transform
fit
/ fit_transform
외부에서 실행할 때 모델의 predict
에 사용할 GPU 및 트랜스포머의 transform``에 사용할 GPU의 수를 지정합니다. ``predict
또는 transform
이 fit
/ fit_transform
와 동일한 프로세스에서 호출되는 경우, GPU 수가 일치합니다. 새로운 프로세스는 적용 가능한 모델 및 트랜스포머에 이 수를 사용합니다. Tensorflow_nlp_have_gpus_in_production
을 활성화하면 관련 TensorFlow NLP 트랜스포머에 대한 이 설정이 재정의됩니다. 등가의 config.toml 매개변수는 num_gpus_for_prediction
이며 기본값은 《0》 입니다.
Note: GPU를 사용하면, TensorFlow, PyTorch 모델 및 트랜스포머, RAPIDS는 항상 GPU 상에서 예측합니다. RAPIDS는 또한 GPU 상에서 Driverless AI Python Scoring 패키지도 사용해야 합니다. 다중 노드 컨텍스트에서 dask를 사용할 경우 이는 노드별 값을 나타냅니다.
gpu_id_start
¶
GPU Starting ID
시작할 gpu_id를 지정합니다. CUDA_VISIBLE_DEVICES=…를 사용해 GPU를 제어하는 경우(선호 방법), gpu_id=0이 제한된 장치 목록의 첫 번째 장치입니다. 예를 들어 CUDA_VISIBLE_DEVICES=’4,5’
인 경우 gpu_id_start=0
은 device #4를 나타냅니다.
상세 모드에서, 2개의 GPU 중 실험별로 다른 GPU를 사용하여 2개의 실험을 실행하려면 다음과 같습니다.
Experiment#1: num_gpus_per_model=1, num_gpus_per_experiment=1, gpu_id_start=0
Experiment#2: num_gpus_per_model=1, num_gpus_per_experiment=1, gpu_id_start=1
상세 모드에서, 8개의 GPU 중 실험별로 다른 GPU를 사용하여 2개의 실험을 실행하려면 다음과 같습니다.
Experiment#1: num_gpus_per_model=1, num_gpus_per_experiment=4, gpu_id_start=0
Experiment#2: num_gpus_per_model=1, num_gpus_per_experiment=4, gpu_id_start=4
4개의 GPU/모델 모두에서 실행하려면 다음과 같습니다.
Experiment#1: num_gpus_per_model=4, num_gpus_per_experiment=4, gpu_id_start=0
Experiment#2: num_gpus_per_model=4, num_gpus_per_experiment=4, gpu_id_start=4
num_gpus_per_model!=1인 경우, 글로벌 GPU 잠금이 비활성화됩니다. 이는 기본 알고리즘이 임의의 GPU ID를 지원하지 않고 순차 ID만 지원하기 때문입니다. 따라서 모든 사용자가 모든 실험에서 이 값이 겹치지 않도록 올바르게 설정해야 합니다.
자세한 정보는 다음 페이지에서 확인할 수 있습니다. https://github.com/NVIDIA/nvidia-docker/wiki/nvidia-docker#gpu-isolation gpu 선택은 래핑되지 않으므로 gpu_id_start + num_gpus_per_model이 표시된 GPU 수보다 작아야 합니다.
assumed_simultaneous_dt_forks_munging
¶
Assumed/Expected number of munging forks
데이터 테이블로 인해 시스템이 과부하되지 않도록 하기 위한 예상 최대 포크 수입니다. 이 값을 초과하여 사용하는 경우 시스템 속도가 저하되기 시작합니다. 기본값은 3입니다.
max_max_dt_threads_munging
¶
Maximum of threads for datatable for munging
먼징(munging)을 위해 데이터 테이블에 사용할 최대 스레드 수입니다.
max_dt_threads_munging
¶
Max Number of Threads to Use for datatable and OpenBLAS for Munging and Model Training
데이터 먼징 중에 데이터 테이블 및 OpenBLAS에 사용할 최대 스레드 수를 지정합니다(프로세스 단위로 적용).
0 = 모든 스레드 사용
-1 = 스레드 수를 자동으로 선택(기본값)
max_dt_threads_readwrite
¶
Max Number of Threads to Use for datatable Read and Write of Files
데이터 읽기 및 쓰기 중에 데이터 테이블에 사용할 최대 스레드 수를 지정합니다(프로세스 단위로 적용).
0 = 모든 스레드 사용
-1 = 스레드 수를 자동으로 선택(기본값)
max_dt_threads_stats_openblas
¶
Max Number of Threads to Use for datatable Stats and OpenBLAS
데이터 테이블 통계 및 OpenBLAS에 사용할 최대 스레드 수를 지정합니다(프로세스 단위로 적용).
0 = 모든 스레드 사용
-1 = 스레드 수를 자동으로 선택(기본값)
allow_reduce_features_when_failure
¶
Whether to reduce features when model fails (GPU OOM Protection)
대형 모델(빅 데이터 또는 많은 특성 기반)은 GPU에서 메모리가 부족할 수 있습니다. 이 옵션은 기본적으로 GPU 메모리 부족(OOM)으로 인한 모델 빌드 장애를 방지하는 데 유용합니다. 현재 일반 피팅 또는 Optuna 사용 시 모든 비 대스크(non-dask) XGBoost 모델에 적용할 수 있습니다(GLMModel, XGBoostGBMModel, XGBoostDartModel, XGBoostRFModel).
모델이 실패하지 않을 때까지 특성을 줄이면 됩니다. 예를 들어, XGBoost의 GPU 메모리 부족이 발생하는 경우, 이는 감지되며(skip_model_failures 설정과 무관), 특성 하위 집합에 대해 XGBoost를 사용해 특성 선택을 수행합니다. 데이터 세트는 모든 특성을 포함하는 더 많은 모델을 사용하여 2배로 점진적으로 감소합니다. 이 분할은 오류가 발생하지 않을 때까지 계속됩니다. 그런 다음 모든 하위 모델을 사용하여 포함할 특성을 결정하기 위해 절대적인 정보 획득으로 변수 중요도를 추정합니다. 마지막으로, OOM이 발생하지 않은 특성 수를 사용하여 가장 중요한 특성을 가진 단일 모델을 빌드합니다.
참고:
이 옵션은 기본적으로 ‘auto’ -> ‘on’으로 설정되어 있습니다. 즉, 조건이 충족되면 ‘on’으로 설정됩니다.
이 옵션이 켜져 있으면 재현성이 보장되지 않습니다. 따라서 사용자가 실험의 재현성을 활성화하면 ‘auto’가 자동으로 이 옵션을 ‘off’로 설정합니다. 동일한 실험 초기값에 대해 OOM 조건이 변경될 수 있기 때문입니다.
특성에 대해서만 감소가 이루어지고 특성 선택 단계의 행에 대해서는 이루어지지 않습니다.
reduce_repeats_when_failure 및 fraction_anchor_reduce_features_when_failure 도 참고하십시오.
reduce_repeats_when_failure
¶
Number of repeats for models used for feature selection during failure recovery
allow_reduce_features_when_failure 와 함께 이 설정은 특성 선택에 사용되는 하위 모델의 반복 횟수를 제어합니다. 단일 반복으로는 각 하위 모델이 특성의 단일 하위 집합만 고려하지만, 반복하게 되면 중요한 상호 작용을 찾을 수 있는 기회가 더 많은 특성을 셔플(shuffle)합니다. 반복할수록 accuracy가 높아질 수 있습니다. 이 옵션의 비용은 반복 횟수에 비례합니다. 기본값은 1 입니다.
fraction_anchor_reduce_features_when_failure
¶
Fraction of features treated as anchor for feature selection during failure recovery
allow_reduce_features_when_failure 와 함께 이 설정은 모든 하위 모델에 대해 고정된 앵커로 처리되는 특성의 일부를 제어합니다. 반복할 때마다 새 앵커를 얻습니다. 튜닝과 진화의 경우, 확률은 다른 개인의 이전 중요도(존재하는 경우)에 따라 달라지는 반면, 최종 모델은 앵커 특성에 대해 균일한 확률을 사용합니다. 기본값은 0.1 입니다.
xgboost_reduce_on_errors_list
¶
Errors From XGBoost That Trigger Reduction of Features
축소된 하위 모델에서 리핏을 트리거하기 위해 사용하는 XGBoost의 오류 문자열입니다. allow_reduce_features_when_failure를 참조하십시오.
lightgbm_reduce_on_errors_list
¶
Errors From LightGBM That Trigger Reduction of Features
축소된 하위 모델에서 리핏을 트리거하기 위해 사용하는 LightGBM의 오류 문자열입니다. allow_reduce_features_when_failure를 참조하십시오.
num_gpus_per_hyperopt_dask
¶
GPUs / HyperOptDask
모델 하이퍼옵트 학습 작업당 사용할 GPU 수를 지정합니다. 모든 GPU를 사용하려면 이를 -1로 설정하십시오. 예를 들어 -1로 설정하고 4개의 GPU를 사용할 수 있을 때 Dask 클러스터에서 단일 모델의 학습에 모두 사용할 수 있습니다. GPU가 비활성화되어 있거나 시스템에 GPU가 없는 경우 무시됩니다. 멀티 노드 컨텍스트에서 이는 노드당 값을 가리킵니다.
detailed_traces
¶
Enable Detailed Traces
실험을 실행할 때 Driverless AI 추적에서 세부 추적을 활성화할지 여부를 지정합니다. 이 설정은 기본적으로 비활성화되어 있습니다.
debug_log
¶
Enable Debug Log Level
활성화된 경우 로그 파일에 디버그 로그도 포함됩니다. 이 설정은 기본적으로 비활성화되어 있습니다.
log_system_info_per_experiment
¶
Enable Logging of System Information for Each Experiment
각 실험 로그의 시작 부분에 CPU, GPU, 디스크 공간 등 시스템 정보를 넣을지 여부를 지정합니다. 이 정보는 시스템 로그에 이미 포함되어 있습니다. 이 설정은 기본적으로 활성화되어 있습니다.