increase-ai-training-dataset-quality

AI 학습용 데이터셋의 품질을 끌어올리는 5가지 관리 포인트

인공지능의 성능에 학습용 데이터의 품질이 미치는 영향은 어느 정도일까요?

여성 지원자를 차별했던 아마존의 AI 채용 시스템은 이미 유명한 사례가 되었습니다. 남성 비율이 높은 아마존의 직원 데이터를 학습에 사용했던 것이 문제의 원인이었습니다. 영국에서는 축구 중계 AI가 민머리심판의 머리를 공으로 인식하는 일도 있었는데요, 인공지능이 민머리와 축구공을 구분할 수 있을만큼 충분한 데이터를 학습하지 못한 결과입니다.  

데이터 구축 작업에는 많은 비용과 시간이 필요합니다. 공들여 작업한 데이터에 예상치 못한 품질 이슈가 발생한다면, 인공지능 성능의 문제가 됩니다. 문제를 좀 더 일찍 발견한다고 하더라도, 모델 개발에서의 비용이 기하급수적으로 증가하는 상황이 발생할 수 있습니다. 하지만 데이터 가공과 검수 단계에서의 관리 포인트를 챙기는 것만으로도, 이런 문제를 사전에 예방할 수 있습니다. 이에 데이터 품질 관리를 위해 짚고 넘어가야 할 5가지 관리 포인트를 소개합니다. 

1. 라벨링 스펙 확정 전 ‘샘플 프로젝트’ 진행하기

라벨링 스펙’을 잘 정하는 것은 데이터 품질 관리의 첫 걸음입니다. 라벨링 스펙이란 데이터의 어떤 오브젝트를 어떤 형태로 어떻게 가공할 것인지를 기술한 내용을 말합니다. 라벨링 스펙을 따로 정리해서 문서화하면, 이 문서를 기반으로 여러 명의 라벨러와 검수자가 작업할 때 참고할 가이드 문서 작성 등도 이뤄집니다. 

라벨링 스펙 문서에는 다음과 같은 내용이 포함됩니다. 

  • 프로젝트에 대한 설명
  • 데이터 타입 (이미지, 비디오 등)
  • 데이터 양
  • 데이터 당 예상되는 라벨링 단위의 수
  • 데이터 수집 여부
  • 어노테이션 타입 (폴리곤, 바운딩박스, 키포인트 등)
  • 오브젝트 클래스
  • 프로퍼티(오브젝트 클래스의 속성)
  • 엣지 케이스

라벨링 스펙이 한 번에 확정되면 좋겠지만, 스펙을 처음 구상할 때 미처 생각하지 못했던 엣지 케이스나 오브젝트 클래스를 프로젝트 중간에 발견하게 될 수 있습니다. 실제 프로젝트를 진행할 때 라벨링 스펙이 애매하거나 변경되면, 일관성 있는 데이터 작업이 수행되기 어렵고 수정작업에도 긴 시간이 소요됩니다. 잘못된 부분을 감지하고 수정하는 데 더 많은 인지능력과 시간이 요구되기 때문입니다. 

이를 방지하기 위해서는 ‘샘플 프로젝트’를 진행해보면 좋습니다. 전체 원본데이터의 3~5%를 가지고 스펙에 따라 라벨링을 하면, 1차 라벨링 스펙에서 놓쳤던 요소들을 발견하고 라벨링 스펙을 보다 구체적이고 상세하게 작성할 수 있을 것입니다. 또 샘플 데이터셋으로 모델 시범학습을 돌려보면 모델의 개선점이나 부족한 데이터들에 대한 인사이트를 얻을 수도 있습니다. 물론 샘플 프로젝트로 라벨링 스펙 변동 가능성을 완전히 없앨 수 있는 것은 아니나, 라벨링 스펙 변동으로 인한 혼란을 미연에 방지하고 최소화할 수 있는 방법 중 하나입니다. 

2. 프로젝트 속도와 완성도를 결정짓는 작업자 관리

작업자 관리와 데이터 품질 관리가 무슨 상관이 있겠냐고 할 수도 있겠지만, 실제 인공지능 학습용 데이터 구축은 매우 노동집약적인 작업입니다. 중간에 작업자가 바뀌거나 추가 투입되는 등 인력 변동 요소도 많습니다. 따라서 효율적인 작업자 관리를 위해 데이터마다 라벨링 및 검수 작업자를 정하고 기록하는 것이 좋습니다. 관리자의 측면에서는 특정 작업자의 생산성과 정확도를 파악하는 것도 가능합니다. 

최근에는 코로나 등의 영향으로, 라벨링 작업을 재택 근무로 진행하는 경우도 많습니다. 이 경우 작업자의 생산성 관리는 더욱 중요합니다. 작업자들의 생산성을 관리할 때는 진행률(%), 시간당 평균 작업량(m/h), 검수량, 예상 종료 일정 등의 지표들을 매일 관리하면 좋습니다. 단순히 기록하는 것 뿐 아니라, 작업자들이 어떤 환경에서 최대의 능률을 발휘할 수 있는지 테스트하고 개선할 수도 있습니다. 

데이터를 누가 라벨링/검수했는지 추적할 수 있어야 합니다.
작업자 별로 작업 현황을 상세하게 확인해야 합니다.

3. 작업 중에도 데이터 분포 꾸준히 확인하기

데이터 분포를 확인하는 가장 큰 이유는 라벨링 프로젝트의 모든 오브젝트가 고르게 라벨링되고 있는지를 확인하기 위함입니다. 가령, 마스크 착용 여부를 감지하는 인공지능을 만들 때 흰색 마스크는 10,000개, 검정 마스크는 100개만 라벨링되었다면 필연적으로 검정마스크의 인식률이 떨어질 수밖에 없습니다. 앞서 소개한 아마존의 성차별 AI 채용 시스템도 학습한 데이터의 성별 분포가 고르지 못했기 때문이었습니다. 이처럼 특정 데이터 집합의 과소/과대대표는 AI 편향을 일으키는 주요 원인이 되는데, 데이터가 학습에 투입되기 전 분포를 미리 확인할 수 있다면 이 문제를 예방할 수 있습니다. 

이를 위해서는 라벨링 프로젝트를 실시간으로 관리할 수 있는 시스템을 구축하는 것이 좋습니다. 여러 명이 동시에 진행하고 있는 데이터 작업 현황을 동기화하고 시각화하여 관리하면 AI 편향 문제를 미리 방지하고 대안을 준비할 수 있습니다. 

데이터의 분포를 실시간으로 확인할 수 있는 시스템을 도입하는 것이 좋습니다. 

4. 라벨링 오류에 대한 정성/정량적 관리 

라벨링 스펙을 꼼꼼히 준비해도 실제 라벨링 단계에서 예상치 못한 이슈들이 생길 수 있습니다. 가이드라인을 사람마다 다르게 해석할수도 있고, 오른손을 왼손으로 표기하거나 라벨링할 객체를 누락하는 등 휴먼 에러가 발생하기 마련입니다. 작은 오류라도 추후 AI 성능에 부정적 영향을 미치기 때문에, 작업 중에 라벨링 오류를 관리하고 최소화할 수 있는 방법을 마련하는 것이 좋습니다.  가령, 어떤 이미지에서 어떤 오류가 발생했는지 정성적으로 아키이빙하고 관리자가 이를 검토하는 절차를 의무화할 수 있습니다. 만약에 오류가 발생하는 부분에서 공통점이 보인다면, 가이드를 수정하거나 라벨러를 재교육 하는 등으로 라벨링 오류를 작업 중에도 개선해 나갈 수 있습니다.     

검수 과정에서 발견한 오류(이슈)를 기록해 두고, 패턴이 있는지를 찾아보면서 오류를 개선할 수 있습니다.

라벨링 오류율은 라벨링 프로젝트의 가장 기본적인 품질 평가 지표이기도 합니다. 보통 프로젝트의 오류율은 [오류 보고 수 / 전체 데이터 수]의 비율로 계산되는데, 프로젝트 진행 중에 이 오류율을 지속적으로 모니터링할 수 있는 시스템을 구축하면 좋습니다. 프로젝트 초반에는 오류율이 높게 보고될 수 있으나, 검수와 수정 작업을 거쳐 프로젝트 종료 시에는 궁극적으로 오류율을 0으로 만들어야 합니다. 

오류가 보고된 데이터만 모아서 관리하는 것이 좋습니다. 

5. 업데이트되는 데이터셋의 버전을 관리하자. 

대학시절 누구나 피피티 파일 또는 레포트 이름 뒤에 ‘최종’, ‘진짜 최종’, ‘최최최종’과 같이 제목을 바꾸면서 몇 번씩 수정해본 경험이 있을 것입니다. 비슷한 상황이 라벨링 프로젝트에서도 발생합니다. 

어느 정도 성숙한 머신러닝 팀이라면, 학습용 데이터셋을 주기적으로 업데이트하게 됩니다. 가이드라인이 중간에 수정되거나, 라벨링 오류가 발견되어 재작업하는 등의 여러 변수가 발생하기도 하고,  최적의 결과값을 찾기 위해 반복적으로 모델 학습을 수행하게 됩니다. 이 실험의 과정에서, 데이터셋의 버전을 관리하고 특정 모델을 학습시킬 때 어떤 데이터셋을 사용했는지 매칭 기록을 남겨둬야 합니다.

예를 들어 머신러닝 팀이 기존 모델 A와 새로운 모델 B의 성능을 비교한다고 가정합시다. 일주일 전에 작업한 데이터셋 v.1으로 모델 A의 학습을 마쳤는데, 그 사이에 데이터셋 v.1에 다른 데이터가 추가되거나 라벨링 조건이 변경됐다면 모델 A와 같은 데이터셋으로 새로운 모델 B를 학습시키고 성능비교를 하는 것은 불가능할 것입니다. 실제 머신러닝 학습 환경은 이 보다도 훨씬 복잡합니다. 

데이터 구축작업의 결과물인 데이터셋의 버전을 체계적으로 관리한다면, 지속적으로 업데이트되는 데이터셋과 모델의 버전 매칭 문제를 손쉽게 해결할 수 있습니다. 

마치며

인공지능 학습용 데이터셋 구축과정에서 데이터 관리에 실패하면 여러가지 문제점이 발생합니다. 원하던 인공지능 성능이 나오지 않을 수 있고, 편향된 AI 서비스가 나오기도 합니다. 

이러한 데이터 관리의 복잡성을 해결하기 위해 최근에는 머신러닝 개발과 운영 간의 유기적인 협업을 추구하는 MLOps 관점에서 문제를 해결하려는 시도가 많으며, 특히 관리 및 분석 기능을 지원하는 데이터 플랫폼을 채택하는 사례가 많아지고 있습니다. 

Superb AI Suite는 데이터 라벨링의 품질관리 뿐 아니라, 인공지능 개발 과정을 전체적으로 조망하며 라벨링 다음 단계까지 아우를 수 있는 데이터 플랫폼입니다. 한국정보통신기술협회(TTA)의 데이터 검사 사업자로도 선정되어, 한국에서 디지털 뉴딜 정책으로 구축된 인공지능 학습용 데이터셋 중 모든 이미지 데이터들이 Suite 내에서 관리될 예정입니다. 

라벨링 프로젝트를 효율적으로 관리할 수 있는 플랫폼을 탐색 중이라면, Suite를 사용해보세요. 슈퍼브에이아이는 라벨링 프로젝트에 대한 효과적인 관리방법론을 고민하고, 인공지능 학습용 데이터셋의 품질을 높이기 위해 끊임없이 Suite를 개선하고 있습니다. 

About Superb AI

Superb AI Suite는  머신러닝 데이터 파이프라인의 구축, 머신러닝 개발 방식의 혁신을 목표로 하는 데이터 플랫폼입니다. 머신러닝 데이터 관련 모든 작업을 All-in-one으로 할 수 있는 플랫폼인 Superb AI Suite를 통해 데이터 소스를 연동하고, 기존의 머신러닝 개발 작업과 통합시키고, 여러 역할을 가진 실무자와 조직이 원활하게 협업해 보세요. 머신러닝 엔지니어의, 머신러닝 엔지니어에 의한, 머신러닝 엔지니어를 위한 Superb AI의 미션은 모든 규모의 머신러닝 팀이 프로덕트 수준의 인공지능 개발에 박차를 가할 수 있도록 돕는 것입니다. 지금 바로 가입하세요. 

Superb AI가 준비하고 있는 머신러닝 오퍼레이션 자동화(ML Ops)의 미래를 함께하고 싶다면, Superb AI의 whitepaper series를 구독해보세요. 

Superb AI는 당신과 함께 하는 날을 기다리고 있겠습니다.

Share on facebook
Share on twitter
Share on linkedin
Share on email
Superb AI

Superb AI

Related Posts

우리 머신러닝 팀이 핵심 업무에 집중하지 못하는 이유

Insight

실무자 약 2천 여명이 참여한 서베이에서 핵심 업무에 집중하지 못하고 데이터 작업 중 특정 부분에 60%의 시간을 할애한다는 결과가 있었습니다. 이 글을 통해 머신러닝 팀의 리소스가 핵심 업무에 할당될 수 있도록 팀의 효율을 높이는 솔루션에 대한 설명을 드리고자 합니다.

Read More →

 © 2021 Superb AI, Inc. All Rights Reserved.