Upstage

View Original

서비스 향 AI 모델 개발하기 EP.2 AI 모델 개발을 위한 학습 데이터셋 준비

2022/03/04

⏱ 15mins 
See this content in the original post

EP.2 들어가며

안녕하세요. 서비스 향 AI 모델 개발하기 EP. 1을 통해 AI 모델 개발 환경이 다를 때, 어떤 조건들이 변하는지 알아보았습니다. 연구 환경에선 학습 데이터셋, 테스트 데이터셋 등이 주어지는 통제된 환경인 반면, 실제 현장에선 고객사의 서비스 요구사항만 존재하고, 학습 데이터셋과 테스트 데이터셋는 없을 수 있다는 점을 확인했습니다. 이런 차이가 실제 현장에서 AI 모델링을 더욱 어렵게 하는 주요한 요인이 되죠.

EP.2 에선 AI 모델 개발을 위해 반드시 필요한 💡’학습 데이터셋'를 준비하는 법을 알아보겠습니다. 연구 환경처럼 주어진 학습 데이터셋이 없다면, 어떤 경로와 힌트를 통해 데이터를 확보할 수 있을까요? 그 답은 고객사의 서비스 요구사항입니다. 그럼 서비스 요구사항이 어떻게 학습 데이터셋을 구축하는 힌트가 되고, 학습 데이터셋은 어떤 과정을 통해 제작되는지 알아보겠습니다.

서비스 요구사항으로부터 학습 데이터셋 구축

서비스 향 AI 모델 개발의 첫 단계는 ‘학습 데이터셋 준비'입니다.

더 정확히는 학습 데이터셋의 ✔️종류, ✔️수량, ✔️정답을 정의하는 일입니다. 이 세 가지를 정의하기 위해 한 가지 단서가 주어집니다. 그것은 바로 고객사의 서비스 요구사항입니다.

[그림1] 서비스 요구사항을 토대로 학습 데이터셋 준비

AI 기술팀은 서비스 요구사항으로부터 AI 모델이 도입될 서비스를 파악해야 합니다. AI 기술팀은 고객사의 요구사항, 제약 사항 등을 고려해 서비스 기획팀과 AI 모델에 대한 요구사항을 구체화합니다. 그 요구사항 중 가장 우선으로 구체화해야 하는 요소들은 ‘학습 데이터셋'에 관한 것입니다. 학습 데이터셋은 여러 단계의 구축 과정을 포함하게 되는데, 앞으로 하나씩 설명하겠습니다. 그럼 학습 데이터셋의✔️종류와 ✔️수량을 정의하는 법을 먼저 살펴보겠습니다.

학습 데이터셋의 종류과 수량

1. 학습 데이터셋의 종류 구체화

고객사의 요구사항이 “사진을 찍어 수식을 인식하는 기술 개발"이라고 해보겠습니다. 서비스 기획팀은 이와 같은 요구사항을 AI 기술팀에 전달하게 됩니다. 그 후 두 팀은 해당 서비스 요구사항으로부터 어떤 학습 데이터셋을 모아야 할지 논의하게 됩니다. 이 과정을 좀 더 알기 쉽게 아래와 같은 질의 예시를 들어보겠습니다.

[그림2] AI기술팀과 서비스 기획팀 커뮤니케이션

서비스 기획팀과 AI 기술팀의 커뮤니케이션을 통해 구체화한 요구사항을 아래와 같을 것입니다.

초중고 수학 수준의 수식이 손글씨로 쓰여 있거나 종이 위 인쇄되어 있을 때, 학생들 대신하여 AI 가 컴퓨터에 수식 값을 입력해주는 서비스 개발이 필요합니다.”

2. 학습 데이터셋의 종류와 수량 구체화

위의 질의 과정을 통해 ‘학생 대신 AI로 수식 입력이 가능한 서비스 개발’이란 구체적인 목표가 설정되었습니다.

이 목표 달성을 위해 AI 기술팀은 수집해야 할 데이터의 ✔️종류와 ✔️수량을 결정해야겠죠? AI 기술팀은 아래 [그림 3]과 같은 1차 가이드라인을 토대로 적절한 데이터를 수집하면 됩니다.

✔️ 종류 : 수준(초중고) X 소스(프린트, 손글씨)

✔️ 수량 : 각 n 장

[그림3] 학습 데이터셋 구축 가이드라인

📍 가이드라인을 설정할 때, 고려해야 할 상황은 무엇이 있을까요?

👉  데이터의 ‘종류'를 명확히 정의할 필요가 있습니다. 위의 가이드라인 예시처럼 수준, 소스 등의 종류를 어떻게 나눌 것인가 고려합니다. 이후, 각 데이터셋별로 수집해야 할 데이터의 ‘수량’은 모델의 크기, 예산, 작업 기간 등을 종합적으로 고려하여 결정해야 합니다. 이 밖에도, AI 수식 검출 모델을 만든다는 가정 하에 다양한 ‘종류'들이 고려될 수 있겠죠. 노이즈 없는 깨끗한 이미지, 그림자, 수식 회전, 수식이 잘린 경우 등 다양한 상황을 가정해보면, 실서비스에 적용 시 더 좋은 결과물을 전달할 수 있을 것입니다. 이런 종류 분류에 따라, 수량도 결정하면 됩니다.

📍데이터 수집 과정에서의 변수는 없나요?

👉 데이터 수집 과정에서 기존에 가이드라인 설정할 때는 미처 예상치 못한 변수들이 종종 발생합니다. 예를 들어, 하나의 이미지 내 다중 수식이 있는 경우도 있을 수 있겠죠. 이런 경우, AI 기술팀과 서비스 기획팀은 함께 논의하여 데이터셋 수집 기준을 수정해야 합니다.

이미지 획득의 효율성 및 시나리오 측면에서 하나의 이미지에서 여러 수식 추출을 허용하는 것이, 하나의 이미지에서 한 수식만 허용하는 것보다 효율적일 수 있기 때문이죠. 물론 하나의 이미지 내 여러 수식을 동시에 잡기 위해선 ‘수식 영역'을 검출하는 기술 모델의 추가 개발이 필요해집니다. 따라서 서비스 체험 관점, 데이터 제작의 총 리소스, 추가 기술 모듈 개발 등의 다양한 요소를 고려한 데이터 수집 범위 설정이 필수적입니다.

[그림4] 데이터 수집 과정의 변수 (다수 수식이 동시에 찍히는 경우)

학습 데이터셋의 정답과 기술 묘듈 설계

1. 기술 모듈 설계하기

학습 데이터셋의 종류, 수량을 결정했다면 ✔️기술 모듈 설계 단계에 도입합니다. 기술 모듈 설계는 모듈별 필요한 학습 데이터셋의 ✔️정답을 정확히 정의하는 데 유용하고 중요한 단서가 됩니다.

수식 인식의 예로 돌아와 보겠습니다. 단일 수식을 처리하는 시나리오라면, 하나의 수식에 해당하는 이미지만 기술 모듈에 입력될 것입니다. 별도의 수식 영역 검출 없이, 수식 이미지의 내용을 그대로 정답(Latex String)으로 출력해주면 됩니다. 그러면 [그림 5]와 같은 입출력 형태의 기술 묘둘이 설계되면 되는 것이죠.

[그림5] 단일 수식 인식 시나리오의 학습 데이터셋 정답의 입출력 과정

그렇다면, 다중 수식을 처리하는 시나리오의 경우에는 어떨까요? 전체 이미지 안에 있는 여러 수식 영역들의 위치가 모두 ‘수식 영역 검출'되는 기술 모듈이 추가로 개발되어야 합니다.

2. 학습 데이터셋의 정답

학습 데이터셋에서 ✔️정답은 각 기술 묘듈의 출력물입니다. [그림 5]의 ‘수식 영역 검출' 기술 묘듈에서 학습 데이터셋의 ‘정답'은 수식 영역들의 위치입니다. 수식 영역의 위칫값들은 ‘수식 영역'을 어떻게 정의하냐에 따라 달라질 수 있습니다. 예를 들어, 직사각형 모양으로 수식을 표시한다면 좌상단 점과 우하단 점 2개의 위칫값을 통해 수식 영역의 위치를 표시할 수 있습니다. 이것이 바로 수식 영역 검출 기술 모듈의 ‘정답’이 됩니다.

[그림 6]의 (1) 직사각형 : 점 2개를 참고해주세요.

또 다른 예를 들어보면, 점이 아닌 픽셀 단위로 영역 정보를 표현할 수도 있겠죠. 수식 영역에 해당하는 부분을 1의 값으로, 해당하지 않는 부분을 0의 값으로 표시하겠습니다. 이때 수식 영역 검출 모듈은 일종의 Segmentation 테스크를 수행하게 되고, Image Segmentation의 결과물이 ‘정답'이 됩니다.

[그림 6]의 (4) 픽셀 단위 영역을 참고해주세요.

그 밖에도 (1) (2) (3) (4).. 그리고 무수히 많은 다양한 정의 방식을 찾을 수 있습니다. 이런 ‘정답' 정의는 각 AI 모델별로 최상의 결과물 도출을 위한 최적의 방안을 고려하여 결정해야 합니다.

[그림 6] 다중 수식 인식 시나리오의 학습 데이터셋 정답의 입출력 과정

3. 학습 데이터셋 구축과 AI 모델 구조 설계의 연관성

지금까지 열심히 달려온 학습 데이터셋 구축 과정은 ‘AI 모델 구조의 설계 영역'과 맞물리게 됩니다. 그 이유는 AI 모델 설계 검증을 위해선 일정 수준의 학습 데이터셋이 필요하기 때문입니다. 데이터를 학습시킨 모델을 검증해봐야 고객사의 서비스 요구사항과 제한 사항에 맞춰 고안한 모델 설계가 이뤄지는지 파악할 수 있죠.

따라서 현업에선 ‘학습 데이터셋 수집’과 ‘AI 모델 설계’과 맞물려 진행됩니다. 학습 데이터셋, 모델 설계가 독립적으로 진행되기보단, 유관 부서(서비스 기획팀, 모델러, 학습 데이터 담당자 등)들 간의 논의와 협력을 통해 진행됩니다.

[그림 7] 학습 데이터셋 구축과 AI 모델 설계의 연관성

학습 데이터셋 제작

서비스 기획자와 AI 모델 개발자가 어떤 학습 데이터셋의 ✔️종류, ✔️수량, ✔️정답을 결정했습니다. 그러면 학습 데이터셋 준비 담당자가 그간의 논의를 토대로 본격적으로 학습 데이터 제작 준비에 착수합니다. 학습 데이터는 누구 제작하는지 궁금하신가요. 데이터를 자체 인력을 통해 직접 제작하는 경우도 있습니다. 그러나 최근 기업 대다수는 외주 업체에 이 과정을 맡깁니다.

이때 학습 데이터셋의 종류, 수량, 정답에 관한 정보를 담은 어노테이션 가이드라인(Annotation Guideline)을 준비해야 합니다. 구체적이고 명확한 가이드라인을 주어야 외주 업체에서 가이드라인을 토대로 데이터 제작에 도입할 수 있습니다.

외주 업체를 결정할 때, 데이터 제작에 필요한 작업 기간과 단가를 함께 고려합니다. 이런 것들이 학습 데이터셋의 종류, 수량, 정답을 어느 정도 수준까지 정의할지 결정하는 데 영향을 미칩니다. 예를 들면, 수식 영역을 직사각형으로 하면 두 개의 점에 대한 정답 도출 작업일 수 있지만, 임의의 사각형이라면 네 개의 점에 대한 작업을 수행해야 하겠죠. 그러면 제작 기간과 단가도 늘어날 수밖에 없습니다.

[그림 8] 학습 데이터셋 준비 담당자의 커뮤니케이션 과정

EP.2 나가며

지금까지 서비스 향 AI 모델 개발을 위한 학습 데이터셋을 준비하고, 제작하는 과정을 살펴보았습니다. 고객사의 서비스 요구사항으로부터 학습 데이터셋의 종류, 수량, 정답을 각 정의하고, 이를 토대로 학습 데이터 구축에 들어가는 것이었죠. 이번 에피소드가 AI 모델 개발 과정에 대한 이해를 높이는 데 도움이 되셨길 바랍니다.

[그림 9] 학습 데이터셋 준비 과정 한눈에 보기

다음 EP.3 에서는 고객사의 서비스 요구사항으로부터 AI 모델을 평가하는 테스트 방법과 테스트 데이터셋을 정의하는 방법, 그리고 AI 모델의 요구사항은 어떻게 도출하는지에 관한 내용을 찾아오겠습니다. 감사합니다.


에피소드 구성

📌 EP.1 AI 모델 개발 환경에서 오는 차이

📌 EP.2 AI 모델 개발을 위한 학습 데이터셋 준비

📌 EP.3 테스트 데이터셋과 테스트 방법, 그리고 모델 요구사항 도출

📌 EP.4 AI 모델 개발을 위한 효율적인 AI 팀 구성법