GCR Parameter
experimental_plan.yaml 설명
내가 갖고 있는 데이터에 AI contents를 적용하려면 데이터에 대한 정보와 사용할 content 기능들을 experimental_plan.yaml 파일에 기입해야 합니다. AI contents를 solution 폴더에 설치하면 solution 폴더 아래에 content 마다 기본으로 작성되어있는 experimental_plan.yaml 파일을 확인할 수 있습니다. 이 YAML 파일에 '데이터 정보'를 입력하고 asset마다 제공하는 'user arugments'를 수정/추가하여 ALO 를 실행하면, 원하는 세팅으로 데이터 분석 모델을 생성할 수 있습니다.
experimental_plan.yaml 구조
experimental_plan.yaml에는 ALO를 구동하는데 필요한 다양한 setting값이 작성되어 있습니다. 이 setting값 중 '데이터 경로'와 'user arguments'부분을 수정하면 AI contents를 바로 사용할 수 있습니다.
데이터 경로 입력 (external_path
)
external_path
의 parameter는 불러올 파일의 경로나 저장할 파일의 경로를 지정할 때 사용합니다.save_train_artifacts_path
와save_inference_artifacts_path
는 입력하지 않으면 default 경로인train_artifacts
,inference_artifacts
폴더에 모델링 산출물이 저장됩니다.
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:
파라미터명 | DEFAULT | 설명 및 옵션 |
---|---|---|
load_train_data_path | ./sample_data/train/ | 학습 데이터가 위치한 폴더 경로를 입력합니다. (csv 파일 명 입력 X) 입력한 경로 하위에 있는 모든 csv를 가져와 concat 합니다. |
load_inference_data_path | ./sample_data/test/ | 추론 데이터가 위치한 폴더 경로를 입력합니다. (csv 파일 명 입력 X) 입력한 경로 하위에 있는 모든 csv를 가져와 concat 합니다. |
*입력한 경로 하위 폴더 안에 있는 파일도 모두 가져와 합칩니다. | ||
*합칠 파일의 모든 컬럼 명은 동일해야 합니다. |
사용자 파라미터 (user_parameters
)
user_parameters
아래step
은 asset 명을 의미합니다. 아래step: input
은 input asset단계임을 의미합니다.args
는 input asset (step: input
)의 user arguments를 의미합니다. user arguments는 각 asset마다 제공하는 데이터 분석 관련 설정 파라미터입니다. 이에 대한 설명은 아래에 User arguments 설명을 확인해주세요.
user_parameters:
- train_pipeline:
- step: input
args:
- file_type
...
ui_args:
...
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 값이 YAML 파일에 세팅 되어있습니다.
- experimental_plan.yaml의 필수 arguments중 데이터 관련 arguments는 유저가 필수로 값을 설정해주어야 합니다. (ex. x_columns, y_column)
Custom arguments
- Custom arguments는 experimental_plan.yaml에 적혀있지 않지만, asset에서 제공하는 기능으로 사용자가 experimental_plan.yaml에 추가하여 사용할 수 있습니다. YAML 파일의 각 asset 별
args
에 추가하여 사용합니다.
GCR의 pipeline은 Input - Readiness - Graph - Modeling (train/inference) - Output asset 순으로 구성되어 있으며 각 asset의 기능에 맞추어 user arguments가 다르게 구성되어 있습니다. experimental_plan.yaml에 기입되어 있는 필수 arguments 세팅으로 먼저 모델링을 진행해보시고, user arguments를 추가하여 데이터에 딱 맞는 GCR 모델을 만들어보세요!
User arguments 요약
아래는 GCR의 user arguments 요약입니다. 'Argument 명'을 누르면 해당 arguments의 상세 설명으로 이동할 수 있습니다.
Default
- 'Default' 항목은 해당 user argument의 기본 값 입니다.
- 기본 값이 없는 경우 '-' 로 표기하였습니다.
- 기본 값이 비워 두는 것인 경우 ' '로 표기하였습니다.
- Default에 로직이 있는 경우에는 '설명 참 고'로 표기하였습니다. 'Argument 명'을 눌러 상세 설명을 확인해 주세요.
ui_args
- 아래 표의 'ui_args'는 AI conductor의 UI에서 argument 값을 변경할 수 있는
ui_args
기능 지원 여부를 나타냅니다. - O: experimental_plan.yaml의
ui_args
밑에 해당 argument 명을 기입하면 AI Conductor UI에서 arguments 값을 변경할 수 있습니다. - X:
ui_args
기능을 지원하지 않습니다. ui_args
에 대한 자세한 설명은 다음 가이드를 확인해 주세요. Write UI Parameter
사용자 설정 필수 여부
- 아래 표의 '사용자 설정 필수 여부'는 AI Contents를 동작시키기 위해 사용자가 반드시 확인하고 변경해야 할 user arguments 입니다.
- O: 일반적으로 과제, 데이터 관련 정보를 입력하는 arguments로 사용자가 모델링 전에 확인해야 합니다.
- X: 사용자가 값을 변경하지 않으면 default 값으로 모델링이 진행됩니다.
Asset명 | Argument type | Argument 명 | Default | 설명 | 사용자 설정 필수 여부 | ui_args |
---|---|---|---|---|---|---|
Input | 필수 | file_type | csv | input data의 파일 확장자를 입력합니다. | X | O |
Input | 필수 | encoding | utf-8 | input data의 encoding type을 입력합니다. | X | O |
Readiness | 필수 | x_columns | ' ' | 학습 대상 x 컬럼 명을 입력합니다. 비워 두면 y_column 외 모든 컬럼들을 사용합니다. | X | O |
Readiness | 필수 | drop_columns | ' ' | x 컬럼에서 제외할 컬럼 명을 입력합니다. | X | O |
Readiness | 필수 | y_column | - | y 컬럼 명을 입력합니다. | O | O |
Graph | 필수 | dimension | 32 | graph embeddings 차원 수를 입력합니다. | X | O |
Graph | 필수 | num_epochs | 10 | graph embeddings 알고리즘의 학습 횟수를 입력합니다. | X | O |
Graph | 필수 | num_partitions | 1 | 입력 데이터를 몇 개로 나누어 embedding할 지를 입력합니다. | X | O |
Graph | 필수 | use_gpu | False | GPU가 가용한 환경에서 graph embedding 시 GPU 사용 여부를 입력합니다. | X | X |
Graph | Custom | workers | 1 | graph embedding 시 병렬 수행할 process 수를 입력합니다. | X | X |
Graph | Custom | custom_connection_lhs | ' ' | 도메인 지식에 의거해 연결할 두 x 컬럼들 중 좌측 컬럼들을 입력합니다. | X | X |
Graph | Custom | custom_connection_rhs | ' ' | 도메인 지식에 의거해 연결할 두 x 컬럼들 중 우측 컬럼들을 입력합니다. | X | X |
Graph | Custom | comparator | dot | graph embedding 시 두 embeddings의 유사도를 비교할 함수를 입력합니다. | X | X |
Graph | Custom | loss_fn | softmax | graph embedding 시의 학습 목적함수를 입력합니다. | X | X |
Graph | Custom | lr | 0.01 | graph embedding 시의 학습율을 입력합니다. | X | X |
Graph | Custom | batch_size | 1000 | graph embedding 시의 batch size를 입력합니다. | X | X |
Train | 필수 | task | classification | 추론의 종류를 결정합니다. | X | O |
Train | 필수 | eval_metric | f1_score | HPO 시 best 모델을 선택하기 위한 평가 metric을 결정합니다. | X | O |
Train | 필수 | num_hpo | 20 | HPO 시 trial의 횟수를 입력합니다. | X | O |
Inference | 필수 | global_xai | False | 추론 시 global XAI 수행 여부를 결정합니다. | X | O |
Inference | 필수 | local_xai | False | 추론 시 local XAI 수행 여부를 결정합니다. | X | O |
User arguments 상세 설명
Input asset
file_type
Input data의 파일 확장자를 입력합니다. 현재 AI Solution 개발은 csv 파일만 가능합니다.
- Argument type: 필수
- 입력 type
- string
- 입력 가능한 값
- csv (default)
- 사용법
- file_type: csv
- ui_args: O
encoding
Input data의 encoding type을 입력합니다. 현재 AI Solution 개발은 utf-8 인코딩만 가능합니다.
- Argument type: 필수
- 입력 type
- string
- 입력 가능한 값
- utf-8 (default)
- 사용법
- encoding: utf-8
- ui_args: O
Readiness asset
x_columns
Dataframe에 있는 학습 대상 x 컬럼 명을 list 형태로 입력합니다. 비워 두면 y_column을 제외한 모든 컬럼들 을 x 컬럼으로 사용합니다.
- Argument type: 필수
- 입력 type
- list
- 입력 가능한 값
- ** 비워 둠 (default)** 또는 컬럼 명 list
- 사용법
- x_columns: [col1, col2]
- ui_args: O
drop_columns
X 컬럼들 가운데 제외할 컬럼 명을 list 형태로 입력합니다. 비워 두면 제외할 컬럼이 없음을 의미합니다.
- Argument type: 필수
- 입력 type
- list
- 입력 가능한 값
- ** 비워 둠 (default)** 또는 컬럼 명 list
- 사용법
- drop_columns: [col1, col2]
- ui_args: O
y_column
Dataframe에 있는 y 컬럼 (label 컬럼) 명 1개를 입력합니다. 사용자가 입력 데이터에 맞게 반드시 입력해야 합니다.
- Argument type: 필수
- 입력 type
- string
- 입력 가능한 값
- 컬럼 명
- 사용법
- y_column: target
- ui_args: O