VC Features
기능 개요
VC의 pipeline
AI Contents의 pipeline은 기능 단위인 asset의 조합으로 이루어져 있습니다. VC은 총 4가지 asset의 조합으로 pipeline이 구성되어 있습니다.
Train pipeline
Input - Readiness - Train
Inference pipeline
Input - Readiness - Inference - Output
각 단계는 asset으로 구분됩니다.
input asset
Vision Classification는 학습할 때 Ground Truth 데이터라고 하는 이미지의 경로와 정답 라벨로 이루어진 tabular 형태의 데이터로 동작합니다. 따라서 input asset에서는 Ground Truth 데이터를 읽고 다음 asset으로 전달하는 역할을 수행합니다. 만약 inference 단계에서 이미지에 대한 정보가 담긴 파일이 없다면 이미지의 경로만 가지고 이를 생성하여 추론에 활용하기 위해 다음 asset으로 전달합니다. 위 도표에서 보듯 학습 파이프라인인 경우 train으로, 추론 파이프라인인 경우 inference asset으로 전달됩니다.
readiness asset
Gound Truth 데이터의 데이터 품질을 검사합니다.이미지 경로 항목이나 정답지 항목에 결측치가 있는 경우 warning을 띄우고 결측값을 제외하여 학습이 진행됩니다.
modeling(train) asset
Vision Classification에서 train asset은 많은 역할을 수행합니다. 우선 input에서 전달받은 Ground Truth 데이터를 읽고 데이터 내 존재하는 이미지 경로를 가지고 메모리에 이미지를 올리고 이를 tensorflow.Data.dataset object로 감싸줍니다. 이 object를 활용하면 tensorflow 기반의 효율적인 연산이 가능합니다. 그리고 실험계획서에 미리 작성한 모델명과 모델 파라미터에 맞게 모델을 생성하고 학습을 진행합니다. 학습이 완료되고 나면 성능과 학습 과정에서의 추론 결과를 저장합니다.
modeling(inference) asset
inference asset에서는 input asset에서 전달받은 inference 데이터의 경로를 기반으로 이미지를 읽고, 이전 학습 단계에서 저장한 최고의 모델을 불러와서 라벨을 추론하고 이를 저장합니다. 만약 운영이 아닌 실험을 하고 있는 단계이고 정답 라벨이 파일에 있다면 성능을 저장합니다. 운영을 위한 파일은 inference_summary.yaml도 저장합니다. 추론 시간은 SEH 기준 약 1초입니다.
output asset
각 과제마다 필요한 정보가 다를 수 있습니다. 현재는 inference 데이터가 단일 이미지에 대해 추론한 경우 result에는 추론 라벨, score는 모델의 확실성(1-shanon entropy)이 저장되고, 여러 이미지에 대한 추론을 한 경우 result에는 전체 유형 별 개수를, score에는 모델의 확실성에 대한 평균이 저장됩니다. result에 저장할 수 있는 글자 수 제한이 있기 때문에 현재는 32글자까지 저장됩니다.