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: