TAD Parameter
experimental_plan.yaml 설명
-
AI Contents를 가지고 있는 데이터에 적용하려면 데이터에 대한 정보와 사용할 Contents 기능들을 experimental_plan.yaml 파일에 기입해야 합니다.
-
AI Contents를 solution 폴더에 설치하면 solution 폴더 아래에 contents 마다 기본으로 작성되어있는 experimental_plan.yaml 파일을 확인할 수 있습니다.
-
이 YAML 파일에
데이터 정보
를 입력하고 asset마다 제공하는user arugments
를 수정/추가하여 ALO를 실행하면, 원하는 세팅으로 데이터 분석 모델을 생성할 수 있습니다.
1. 파일 개요
experimental_plan.yaml
은 TAD의 실험 계획을 정의하는 설정 파일로, 데이터의 경로와 다양한 파이프라인 단계에서 사용할 파라미터들을 포함합니다. 이 파일을 통해 데이터 전처리, 모델 학습 및 배포 과정을 자동화할 수 있습니다.
2. 구조 설명
experimental_plan.yaml
은 다음과 같은 주요 섹션으로 구성됩니다:
- 외부 데이터 경로 설정 (
external_path
) - 사용자 파라미터 설정 (
user_parameters
)
3. 외부 데이터 경로 설정 (external_path)
데이터를 불러오거나 결과를 저장하는 경로를 지정합니다.
- load_train_data_path: 학습 데이터를 불러올 경로를 지정합니다.
- load_inference_data_path: 추론 데이터를 불러올 경로를 지정합니다.
- save_train_artifacts_path: 학습 결과를 저장할 경로를 지정합니 다.
- save_inference_artifacts_path: 추론 결과를 저장할 경로를 지정합니다.
- load_model_path: 기존 모델을 불러올 경로를 지정합니다.
external_path:
- load_train_data_path: ./solution/sample_data/train/
- load_inference_data_path: ./solution/sample_data/test/
- save_train_artifacts_path:
- save_inference_artifacts_path:
- load_model_path:
파라미터명 | DEFAULT | 설명 및 옵션 |
---|---|---|
load_train_data_path | ./sample_data/train/ | 학습 데이터를 불러올 경로를 지정합니다. (csv 파일 명 입력 X) 입력한 경로 하위에 있는 모든 csv를 가져와 concat 합니다. |
load_inference_data_path | ./sample_data/test/ | 추론 데이터를 불러올 경로를 지정합니다. (csv 파일 명 입력 X) 입력한 경로 하위에 있는 모든 csv를 가져와 concat 합니다. |
save_train_artifacts_path | - | 학습 결과를 저장할 경로를 지정합니다. |
save_inference_artifacts_path | - | 추론 결과를 저장할 경로를 지정합니다. |
load_model_path | - | 기존 모델을 불러올 경로를 지정합니다. |
입력한 경로 하위 폴더 안에 있는 파일도 모두 가져와 합칩니다.
합칠 파일의 모든 컬럼 명은 동일해야 합니다.
4. 사용자 파라미터 설정 (user_parameters)
Pipeline & Asset
user_parameters
는 각 파이프라인 단계에서 사용할 설정 파라미터들을 정의합니다. 각 파이프라인은 train_pipeline
과 inference_pipeline
으로 나뉘며, 각 파이프라인은 여러 개의 단계(Asset)로 구성됩니다.
각 Asset은 특정 데이터 처리 작업을 수행하며, 해당 작업을 제어하는 다양한 파라미터를 가집니다.
- Pipeline: 데이터 처리 흐름의 상위 개념으로, 여러 단계(Asset)로 구성됩니다.
- Asset: 파이프라인 내에서 개별 작업을 수행하는 단위입니다. 예를 들어, 데이터 전처리, 모델 학습 등이 있습니다.
- args: 각 Asset의 동작을 설정하는 파라미터입니다.
- ui_args: AI Conductor UI에서 사용자가 변경할 수 있는 파라미터를 정의합니다.
User arguments 설명
User arguments란?
User arguments는 각 asset 별 동작 설정을 위한 파라미터로 experimental_plan.yaml의 각 asset step의 args
밑에 기입해 사용합니다. AI Contents의 pipeline을 구성하는 asset마다 사용자가 다양한 기능을 데이터에 적용할 수 있도록 user arguments를 제공하고 있습니다. 사용자는 아래 가이드를 참고해서 user arguments를 변경, 추가하여 데이터에 맞는 모델링을 할 수 있습니다.
User arguments는 experimental_plan.yaml에 미리 작성되어있는 "필수 arguments"와 사용자가 가이드를 보고 추가하는 "Custom arguments"로 구분됩니다.
필수 arguments
- 필수 arguments는 experimental_plan.yaml에 바로 보여지는 기본 arguments 입니다. 대부분의 필수 arguments는 default 값이 내장되어 있습니다. default 값이 있는 arguments의 경우에는 유저가 별도로 값을 설정하지 않아도 기본 값으로 동작합니다.
- experimental_plan.yaml의 필수 arguments중 데이터 관련 arguments는 유저가 필수로 값을 설정해주어야 합니다. (ex. x_columns, y_column)
Custom arguments
- Custom arguments는 experimental_plan.yaml에 적혀있지 않지만, asset에서 제공하는 기능으로 사용자가 experimental_plan.yaml에 추가하여 사용할 수 있습니다. 각 asset 별 'args'에 추가하여 사용합니다.
TAD의 pipeline은 Input - Readiness - Preprocess - Modeling(train/inference) asset 순으로 구성되어 있으며 각 asset의 기능에 맞추어 user arguments가 다르게 구성되어 있습니다. experimental_plan.yaml에 기입되어 있는 필수 user arguments를 먼저 사용해보시고, user arguments를 추가하여 데이터에 딱 맞는 TAD 모델을 만들어보세요!
4.1. Train Pipeline
학습 파이프라인에 필요한 설정을 정의합니다.
4.1.1. Input Asset
학습 데이터의 입력 경로와 관련된 설정을 정의합니다.
- step: input
args:
- file_type: csv
encoding: utf-8
ui_args:
4.1.2. Readiness Asset
학습 데이터 컬럼에 대한 정의를 진행합니다.
- step: readiness
args:
- x_columns: [factor0, factor1, factor2, ..]
y_column: ''
groupkey_columns: ''
ui_args:
- x_columns:
- y_column:
4.1.3. Preprocess Asset
데이터 전처리 설정을 정의합니다.
- step: preprocess
args:
- handling_missing: fill_0
handling_scaling_x: standard
drop_duplicate_time: False
handling_downsampling_interval: 0
downsampling_method: median
difference_interval: 0
ui_args:
- handling_missing
- handling_scaling_x
4.1.3. Train Asset
모델 학습과 관련된 설정을 정의합니다.
- step: train
args:
- hpo_param: False
contamination: ''
models:
- knn
- dbscan
- ocsvm
- lof
- isf
visualization: False
ui_args:
- hpo_param
- contamination
- models
4.2. Inference Pipeline
추론 파이프라인에 필요한 설정을 정의합니다.
4.2.1. Input Asset
추론 데이터의 입력 경로와 관련된 설정을 정의합니다.
- step: input
args:
- none:
4.2.2. Readiness Asset
추론 데이터의 입력 경로와 관련된 설정을 정의합니다.
- step: readiness
args:
- none:
4.2.3. Preprocess Asset
추론 데이터 전처리 설정을 정의합니다.
- step: preprocess
args:
- none:
4.2.4. Inference Asset
모델을 사용하여 추론을 수행하는 설정을 정의합니다.
- step: inference
args:
- none:
5. User Arguments 상세 설명
Input Asset
file_type
Input data의 파일 확장자를 입력합니다. 현재 AI Solution 개발은 csv 파일만 가능합니다.
- Argument type: 필수
- 입력 type
- string
- 입력 가능한 값
- csv (default)
- 사용법
- file_type: csv
- ui_args: X
encoding
Input data의 encoding type을 입력합니다. 현재 AI Solution 개발은 utf-8 인코딩만 가능합니다.
- Argument type: 필수
- 입력 type
- string
- 입력 가능한 값
- utf-8 (default)
- 사용법
- encoding: utf-8
- ui_args: X
Readiness Asset
x_columns
이상 탐지시 활용하려는 데이터가 담긴 컬럼들을 입력합니다. 복수의 컬럼을 지원합니다.
- Argument type: 필수
- 입력 type
- list
- 입력 가능한 값
- 컬럼 명
- 사용법
- x_columns : [ x_col1, x_col2 ]
- ui_args: O
y_column
이상 탐지를 진행하려는 데이터 각각이 어느 라벨에 속하는지에 대한 정보가 담긴 컬럼들을 입력합니다. TAD는 기본적으로 라벨을 필요로 하지 않으므로 라벨을 이용하여 결과를 얻고 싶은 경우에만 입력합니다. Unique 값은 3개 미만이어야 합니다.
- Argument type: Custom
- 입력 type
- string
- 입력 가능한 값
- 컬럼 명
- 사용법
- y_column : y_col
- ui_args: X