본문으로 건너뛰기
버전: docs v25.02

VC Parameter

Updated 2024.05.17

experimental_plan.yaml 설명

내가 갖고 있는 데이터에 AI Contents를 적용하려면 데이터에 대한 정보와 사용할 Contents 기능들을 experimental_plan.yaml 파일에 기입해야 합니다. AI Contents를 solution 폴더에 설치하면 solution 폴더 아래에 contents 마다 기본으로 작성되어있는 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_pathsave_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)
load_inference_data_path./sample_data/test/추론 데이터가 위치한 폴더 경로를 입력합니다.(csv 파일 명 입력 X)

사용자 파라미터(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 값이 내장되어 있습니다. 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'에 추가하여 사용합니다.

VC의 pipeline은 Input - Readiness - Modeling(train/inference) - Output asset 순으로 구성되어 있으며 각 asset의 기능에 맞추어 user arguments가 다르게 구성되어 있습니다. experimental_plan.yaml에 기입되어 있는 필수 user arguments를 먼저 사용해보시고, user arguments를 추가하여 데이터에 딱 맞는 VC 모델을 만들어보세요!


User arguments 요약

아래는 VC의 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
  • VC experimental_plan.yaml에는 ui_args가 될 수 있는 user arguments의 ui_args_detail을 미리 전부 기입해 놓았습니다.      

사용자 설정 필수 여부

  • 아래 표의 '사용자 설정 필수 여부'는 AI Contents를 동작시키기 위해 사용자가 반드시 확인하고 변경해야 할 user arguments 입니다.
  • O: 일반적으로 과제, 데이터 관련 정보를 입력하는 arguments로 사용자가 모델링 전에 확인해야 합니다.
  • X: 사용자가 값을 변경하지 않으면 default 값으로 모델링이 진행됩니다.
Asset명Argument typeArgument 명Default설명사용자 설정 필수 여부ui_args
InputCustomfile_typecsvinput data의 파일 확장자를 입력합니다.XX
InputCustomencodingutf-8input data의 encoding type을 입력합니다.XX
ReadinessCustomy_columnlabelGround Truth파일에서 y 컬럼 명(분류 유형이 기입된 항목명)을 입력합니다.XX
ReadinessCustompath_columnimage_pathGround Truth파일에서 이미지 경로가 입력된 컬럼 명을 입력합니다. 운영 시 변경하지 마세요.XX
ReadinessCustomcheck_runtimeFalse실험 시 modeling 단계의 실행 시간을 확인하는 설정값입니다. 이를 True로 설정하는 경우 check_memory 설정값은 False로 설정해주세요.XX
ReadinessCustomcheck_memoryFalse실험 시 modeling 단계의 메모리를 확인하는 설정값입니다. 이를 True로 설정하는 경우 check_runtime 설정값은 False로 설정해주세요.XX
Train필수input_shape[28,28,1]입력 이미지의 사이즈입니다.OO
Train필수resize_shape[32,32,3]모델에서 학습하기 위한 이미지 사이즈를 입력합니다.OO
TrainCustommodel_typemobilenetv1학습 모델을 선택합니다.XO
TrainCustomrand_augmentationFalseRandAugment 적용 여부입니다.XO
TrainCustomexclude_aug_lst[]rand_augmentation을 사용하는 경우 적합하지 않은 변환을 제외할 수 있습니다.XO
TrainCustomepochs10학습 횟수를 입력합니다.XX
TrainCustombatch_size64학습 시 한 번에 살펴보는 데이터의 수를 설정합니다.XX
TrainCustomtrain_ratio0.8학습에 사용할 데이터 비율입니다.XX
TrainCustomnum_aug2RandAugment 사용 시 이미지 한 장당 num_aug번 만큼 임의로 변환을 수행합니다.XX
TrainCustomaug_magnitude10RandAugment 사용 시 augmentation 강도입니다.XX
inference필수do_xaiFalseXAI사용 여부입니다.OX
inferenceCustomxai_classautoXAI 분석을 원하는 유형을 작성합니다.XX
inferenceCustommask_threshold0.7XAI 결과 출력 시 민감도입니다.XX
inferenceCustomlayer_index2추론 시 분석하는 모델의 층 개수입니다.XX

User arguments 상세 설명

Input asset

file_type

Input data의 파일 확장자를 입력합니다. 현재 AI Solution 개발은 csv 파일만 가능합니다.

  • Argument type: Custom
  • 입력 type
    • string
  • 입력 가능한 값
    • csv (default)
  • 사용법
    • file_type: csv  
  • ui_args: O

encoding

Input data의 encoding type을 입력합니다. 현재 AI Solution 개발은 utf-8 인코딩만 가능합니다.

  • Argument type: Custom
  • 입력 type
    • string
  • 입력 가능한 값
    • utf-8 (default)
  • 사용법
    • encoding: utf-8
  • ui_args: O

Readiness asset

y_column

Ground Truth 파일에서 분류 유형이 기입된 컬럼 명 1개를 입력합니다. 사용자가 입력 데이터에 맞게 입력해야 합니다. 만약 항목명이 label이라면 입력하지 않아도 됩니다.

  • Argument type: Custom
  • 입력 type
    • string
  • 입력 가능한 값
    • label (default)
    • 컬럼 명
  • 사용법
    • y_column: image_label
  • ui_args: X

path_column

Ground Truth 파일에서 이미지 경로가 입력된 칼럼 명입니다. 운영 시 image_path로 칼럼 명을 지정해야합니다. 솔루션 개발을 위한 실험 시 변경할 수 있습니다.

  • Argument type: Custom
  • 입력 type
    • string
  • 입력 가능한 값
    • image_path (default)
    • 칼럼 명
  • 사용법
    • path_column: Path
  • ui_args: X

check_runtime

솔루션 개발 시 modeling에서 소요된 시간을 확인하고 싶을 때 True로 설정해주세요. check_memory가 False로 지정해야 정확한 실행시간을 확인할 수 있습니다.

  • Argument type: Custom
  • 입력 type
    • bool
  • 입력 가능한 값
    • True
    • False (dafault)
  • 사용법
    • check_runtime: True
  • ui_args: X

check_memory

솔루션 개발 시 modeling에서 소요된 메모리를 확인하고 싶을 때 True로 설정해주세요. check_runtime가 False로 지정해야 사용된 메모리를 확인할 수 있습니다.

  • Argument type: Custom
  • 입력 type
    • bool
  • 입력 가능한 값
    • True
    • False (default)
  • 사용법
    • check_memory: True
  • ui_args: X

Train asset

input_shape

입력 이미지의 사이즈입니다. 입력 이미지의 사이즈는 모두 동일해야합니다.

  • Argument type: 필수
  • 입력 type
    • list(int,int,int)
  • 입력 가능한 값
    • [28,28,1] (default)
    • [224,224,3]
  • 사용법
    • input_shape: [32,32,1]
  • ui_args: O

resize_shape

모델에서 학습하기 위한 이미지의 사이즈입니다. 학습 이미지 크기가 크면 리소스를 많이 소요하지만 분류를 위한 관심 영역이 작을 경우 크게 잡아주세요. input_shape과 비슷하거나 더 작아야 합니다.

  • Argument type: 필수
  • 입력 type
    • list(int,int,int)
  • 입력 가능한 값
    • [32,32,3] (default)  - [224,224,3]
  • 사용법
    • resize_shape: [32,32,1]
  • ui_args: O

model_type

학습 모델을 선택합니다. 고해상도 이미지가 아닌 경우 default인 mobilenetv1을, 고해상도 이미지인 경우 high_resolution을 선택해주세요.

  • Argument type: Custom
  • 입력 type
    • string
  • 입력 가능한 값
    • mobilenetv1 (default)
    • high_resolution
  • 사용법
    • model_type: high_resolution
  • ui_args: O

rand_augmentation

RandAugment 적용 여부입니다. 신규 이미지 데이터에 대한 대응력을 향상시키기 위해서는 True로 설정해주세요. RandAugment를 실행할 경우 데이터 증강이 되어 학습 리소스가 추가로 소요됩니다.

  • Argument type: Custom
  • 입력 type
    • boolean
  • 입력 가능한 값
    • True
    • False (default)
  • 사용법
    • rand_augmentation: True
  • ui_args: O

exclude_aug_lst

rand_augmentation을 사용하는 경우 적합하지 않은 변환을 제외할 수 있습니다. 만약 이미지 분류에 있어서 색이 중요한 경우 color와 같은 변환을 수행하게 되면 추론 성능이 하락하게 됩니다. 데이터와 적용하고자 하는 문제 상황을 고려하여 작성해주세요.

  • Argument type: Custom
  • 입력 type
    • list
  • 입력 가능한 값
    • [] (default)
    • solarizeadd
    • invert
    • cutout
    • autocontrast
    • equalize
    • rotate
    • solarize
    • color
    • posterize
    • contrast
    • brightness
    • sharpness
    • shearX
    • shearY
    • translateX
    • translateY
  • 사용법
    • exclude_aug_lst: [invert, color]
  • ui_args: O

epochs

학습 횟수를 입력합니다. 늘릴 수록 학습시간이 오래 소요됩니다. 너무 적을 경우 과소적합되어 모델이 학습되지 않습니다. 학습 과정에서 모델 내부적으로 분리한 validation 데이터를 참고하여 가장 성능이 좋은 모델만 저장하기 때문에 학습 데이터만 잘 맞추는 과적합 현상을 예방합니다.

  • Argument type: Custom
  • 입력 type
    • integer
  • 입력 가능한 값
    • 10 (default)
    • 1~1000
  • 사용법
    • epochs: 50
  • ui_args: X

batch_size

모델에 한 번에 노출되는 데이터 수 입니다. 늘릴 수록 메모리와 GPU메모리가 많이 소요되지만 성능이 향상됩니다.

  • Argument type: Custom
  • 입력 type
    • integer
  • 입력 가능한 값
    • 64 (default)
    • 2~256
  • 사용법
    • batch_size: 32
  • ui_args: X

train_ratio

학습 데이터 중 실제로 모델에 학습시키는 데이터 비율입니다. 비율대로 임의 샘플링이 진행되며 선택되지 않은 데이터는 검증 데이터로 사용합니다.

  • Argument type: Custom
  • 입력 type
    • float
  • 입력 가능한 값
    • 0.8 (default)
    • 0~1 사이 실수
  • 사용법
    • train_ratio: 0.7
  • ui_args: X

num_aug

RandAugment 사용 시 이미지 한 장당 num_aug번 만큼 임의로 변환을 수행합니다. 증가할 수록 이미지에 여러 번 변환이 이루어져 모델의 변형된 이미지에 대한 대응력이 좋아지지만 너무 증가시킬 경우 이미지가 왜곡되어 실제 운영에서 발생하지 않을 수준으로 왜곡되서 성능 향상에 도움이 되지 않습니다. 논문에서는 default값인 2를 추천하고 있습니다.

  • Argument type: Custom
  • 입력 type
    • integer
  • 입력 가능한 값
    • 2 (default)
    • 0~16의 정수
  • 사용법
    • num_aug: 3
  • ui_args: X

aug_magnitude

RandAugment 사용 시 augmentation 강도입니다. 증가할 수록 이미지에 강한 강도의 변환이 이루어집니다. rotation의 경우 더 많이 회전 각도가 늘어나고 shearX의 경우 X축의 비틀림이 심해집니다. 모델의 변형된 이미지에 대한 대응력이 좋아지지만 너무 증가시킬 경우 이미지가 왜곡되어 실제 운영에서 발생하지 않을 수준으로 왜곡되서 성능 향상에 도움이 되지 않습니다. 논문에서는 default값인 10를 추천하고 있습니다.

  • Argument type: Custom
  • 입력 type
    • integer
  • 입력 가능한 값
    • 10 (default)
    • 0~10의 정수
  • 사용법
    • aug_magnitude: 3
  • ui_args: X

Inference asset

do_xai

XAI를 통해 이미지의 어떤 영역을 참고하여 분류했는지 기능을 사용할지 여부를 설정할 수 있습니다. 만약 추론 속도가 중요하고 리소스가 부족한 경우 False로 지정해주세요.

  • Argument type: 필수
  • 입력 type
    • boolean
  • 입력 가능한 값
    • True
    • False (default)
  • 사용법
    • do_xai: True
  • ui_args: X

xai_class

XAI 분석을 원하는 유형을 선택할 수 있습니다. auto 설정 시 가장 확률이 높은 유형의 XAI 결과가 저장됩니다. 특정 유형 중에서 가장 높은 확률을 가진 유형의 XAI값이 궁금한 경우 XAI를 원하는 유형을 리스트로 작성해주세요.

  • Argument type: Custom
  • 입력 type
    • list
  • 입력 가능한 값
    • label name
    • auto(default)
  • 사용법
    • xai_class: [OK]
  • ui_args: X

mask_threshold

XAI 결과 출력 시 민감도입니다. 낮을 수록 더 넓은 영역이 표시됩니다.

  • Argument type: Custom
  • 입력 type
    • float
  • 입력 가능한 값
    • 0~1
    • 0.7(default)
  • 사용법
    • mask_threshold: 0.5
  • ui_args: X

layer_index

추론 시 분석하는 층 개수입니다. 많은 층을 분석할 수록 리소스가 많이 소요됩니다.

  • Argument type: Custom
  • 입력 type
    • int
  • 입력 가능한 값
    • 1~10
    • 2(default)
  • 사용법
    • layer_index: 3
  • ui_args: X

VC Version: 1.5.1