ML 통합 가시성과 데이터 옵스를 활용해 고품질의 정형 데이터와 비정형 데이터 확보하기
이 글은 슈퍼브에이아이와 어라이즈에이아이가 협력하여 작성한 공동 포스트입니다.
1 - 들어가며
머신러닝(ML)이 다른 소프트웨어 엔지니어링 분야와 점점 더 유사해지면서 매끄러운 워크플로우와 신뢰할 수 있는 결과물을 보장하기 위한 프로세스와 툴이 필요해졌습니다. 특히 데이터 품질에 대한 관심은 지속적으로 높아져 왔습니다. 데이터 품질을 제대로 관리하지 않을 경우, 기술과 아키텍처, 그리고 조직적인 측면에서 병목 현상이 발생할 수 있기 때문이죠.
머신러닝은 코드와 데이터 모두를 다루기 때문에 최신 ML옵스(MLOps) 솔루션은 다양한 태스크를 통합해 코드와 데이터 양쪽을 다 처리해야 합니다. 데이터 변환 및 모델 개발에 사용되는 코드의 버전 관리, 수집된 데이터 및 모델 코드의 자동 테스트, 안정적이고 확장 가능한 환경에서의 프로덕션 모델 배포, 모델 성능 및 예측 결과 모니터링과 같은 것들이 다양한 태스크에 포함됩니다. 위대한 유산(the Great Expectations) 팀이 지적했듯이, 데이터 테스트와 데이터 문서화는 데이터 수집, 모델 개발, 모델 배포 이후 등 ML옵스 파이프라인의 여러 단계에 잘 들어맞습니다.
중요한 것은 데이터 품질은 종착지가 아니라 과정이라는 점을 인식하는 것입니다. 다시 말해, 데이터 품질은 장기간에 걸친 지속적인 투자가 필요하다는 뜻입니다. 아직 데이터 품질 문제에 경험이 많지 않은 ML팀의 경우, 데이터 품질 플라이휠(data quality flywheel)이라는 개념을 활용해 데이터에 대한 신뢰를 쌓고 자기 강화 사이클을 통한 데이터 품질 개선으로 그 첫발을 내딛을 수 있을 것입니다.
이 블로그에서는 데이터 품질의 주요 차원에 대해 자세히 살펴본 다음, 정형 데이터와 비정형 데이터를 위한 강력한 데이터 품질 솔루션의 기본 기능을 살펴봅니다. 이러한 아이디어는 주로 어라이즈에이아이와 슈퍼브에이아이에서 데이터 및 ML팀과 협업한 경험에서 비롯된 것입니다.
2 - 데이터 품질 차원(The Dimensions of Data Quality)
데이터 품질 차원은 데이터 품질을 범주화할 수 있는 그룹입니다. 이와 같은 차원들은 구체적이며 측정 가능한 데이터 품질 지표로 인스턴스화할 수 있습니다. 메타플레인(Metaplane)이 작성한 이 훌륭한 글에서는 10가지 데이터 품질 차원을 내재적 차원과 외재적 차원으로 나누어 자세히 설명하고 있습니다.
내재적 차원은 유즈 케이스와 독립되어 있으며, 구현이 쉽고, 원인과 더 관련이 깊습니다.
- 정확성: 데이터가 실제 세계를 정확하게 묘사하나요? 개체가 실제로 존재하며 데이터 모델에서 설명하는 속성을 가지고 있나요? 이벤트가 주장하는 시간에 해당 속성을 가지고 발생하나요?
- 완전성: 데이터가 실제 세계를 얼마나 완전하게 묘사하나요? 여기에는 최소한 두 가지 측면이 있습니다. 첫째는 데이터 모델이 얼마나 완전한지이고, 둘째는 구축한 데이터 모델 속 데이터가 얼마나 완전한지 입니다.
- 일관성: 데이터가 내부적으로 일관성이 있나요? 중복되는 데이터 값이 있다면 그 값은 동일한가요? 또는 값이 서로의 집합인 경우 그 값은 서로 일관성이 있습니까?
- 개인정보 보호 및 보안: 데이터가 의도된 개인정보 보호 수준에 따라 활용되고 있으며 원치 않는 액세스로부터 보호되고 있나요? 이는 데이터 유출이 빈번히 발생하는 오늘날과 같은 환경, 회사에 SOC 2와 같은 컴플라이언스 또는 HIPAA와 같은 규제가 존재하는 경우에 특히 중요합니다.
- 최신성: 데이터가 지금의 현실 세계를 묘사하나요? 이 차원은 데이터의 적시성과 밀접한 관련이 있지만, 작업 시점이 아닌 현재 시점을 기준으로 비교해야 합니다.
* 외적 차원은 유즈 케이스에 따라 달라지며, 구현하는 데에 여러 부서의 노력이 필요합니다. 또한 원인보다는 현상과 더 관련이 깊습니다. - 관련성: 사용 가능한 데이터가 당면한 태스크의 요구 사항을 충족하나요? 이해관계자가 유즈 케이스를 충족시키기 위해 가용 데이터보다 더 많은 데이터를 필요로 하고 있지는 않나요?
- 신뢰성: 이해관계자가 신뢰할 수 있고 공신력 있는 것으로 간주하는 데이터인가요? 데이터의 신뢰성에 영향을 미치는 몇 가지 요소로는 데이터의 검증 가능성, 데이터 계보에 대한 정보의 충분성, 데이터 품질 보증의 존재 유무, 편향이 최소화되었는지 여부 등이 있습니다.
- 적시성: 데이터가 최신 상태이며 의도한대로 유즈 케이스에 사용할 수 있나요? 적시성은 두 가지 요소로 구성됩니다. 첫째는 데이터가 최신 상태인지의 여부이며, 두번째는 이해관계자가 데이터를 사용하는 데 걸리는 지연 시간입니다.
- 사용성: 간편한 방식으로 데이터에 접근하고 이해할 수 있나요? 데이터를 올바르게 이해하기 쉬운지, 모호한 부분은 없는지의 여부가 사용성에 영향을 미치는 몇 가지 요소 중 일부입니다.
- 유효성: 데이터가 비즈니스 규칙이나 정의에 부합하나요?
내재적 및 외재적 데이터 품질 차원에 대해 알아보았는데요, 그렇다면 각 차원에 대해 가시적인 지표를 제공하는 솔루션을 어떻게 구축할 수 있을까요? 정형 및 비정형 데이터의 맥락에서 각각 검토해 보겠습니다.
3 - ML 통합 가시성으로 정형 데이터의 품질 문제 해결하기
ML 모델이 고품질 데이터에 의존하는 한편, 프로덕션 환경에서 데이터의 품질을 유지하는 것은 어려울 수 있습니다. 업스트림 데이터의 변화와 조직 성장에 따른 데이터 확산 속도의 증가는 모델의 전반적인 성능에 큰 변화를 가져올 수 있습니다. ML 통합 가시성 플랫폼의 데이터 품질 검사는 훈련 및 프로덕션을 통해 구조화된 데이터 파이프라인 내에서 모델의 최종 성능에 부정적인 영향을 미칠 수 있는 심각한 오류를 식별합니다.
즉, 데이터 품질 모니터링을 통해 팀은 기능이나 예측 또는 실제가 예상과 일치하지 않는 경우를 신속하게 파악할 수 있습니다. 팀은 데이터 품질을 모니터링을 통해 기능 데이터가 누락되지 않았는지 확인하고, 지정된 범위를 벗어나거나 허용 임계값을 초과한 데이터를 포착하고, 극단적인 모델 입력 또는 출력을 감지할 수 있습니다.
보다 구체적으로, 데이터 품질 모니터링은 범주형 데이터와 수치형 데이터라는 두 가지 주요 파이프라인으로 나눌 수 있습니다.
범주형 데이터 모니터링을 통해 ML팀은 다음 내용을 쉽게 식별할 수 있습니다.
- 고유성 변화: 카테고리 분포의 갑작스러운 변화
- 데이터 유형 불일치: 각 범주와 관련된 잘못된 값
- 데이터 누락: 누락된 데이터 스트림
수치형 데이터 모니터링을 통해 ML팀은 다음 내용을 쉽게 식별할 수 있습니다.
- 범위 이탈 문제: 범위를 벗어난 데이터 값
- 유형 불일치: 잘못된 데이터 유형
- 데이터 누락: 누락된 데이터 스트림
ML팀은 모델 성능을 지속적으로 관찰하기 위해 ML 통합 가시성 플랫폼의 인퍼런스 저장소를 활용하여 훈련용 데이터셋 또는 과거 프로덕션 데이터에서 참조할 데이터 이력을 확보하고 지능형 기준선과 임계값을 설정하여 경고 빈도의 균형을 맞추고, 프로덕션에서 고성능 모델을 보장하기 위해 ML팀에 권한을 부여할 수 있습니다.
4 - 데이터 운영으로 비정형 데이터의 품질 문제 해결하기
정형 데이터와 달리 텍스트, 음성, 이미지, 동영상과 같은 비정형 데이터는 컴퓨터가 직접 사용할 수 있는 데이터 모델이 없습니다. 딥러닝의 등장으로 컴퓨터 비전, 언어 처리 및 음성 인식을 사용하여 비정형 데이터에 인코딩된 지식을 해석하는 것이 수월해지면서, 의사 결정 과정에서 비정형 데이터가 점점 더 많이 활용되고 있습니다. 의사 결정은 일반적으로 비정형 데이터를 기반으로 이루어지는 한편, 비정형 데이터에 대한 데이터 품질 평가 방법은 아직 부족합니다.
섹션 2에 제시된 모든 차원은 정형 및 비정형 데이터와 관련이 있지만, 이 중 비정형 데이터 처리에 가장 연관성이 높은 세 가지 차원은 정확성, 관련성, 사용성입니다. 비정형 데이터 처리의 핵심은 입력 데이터, 실제 세계, 데이터 사용자, 태스크, 추출된 지식과 같은 요소입니다. 이러한 요소를 바탕으로 데이터 D의 품질은 이상적인 데이터셋의 3가지 요소에 비추어 판단할 수 있습니다. 이 요소는 각각 현실 세계를 표상하는 D1(정확성), 태스크에 최적화된 D2(연관성), 현재 데이터 사용자가 기대하는 D3(사용성)로 이루어져 있습니다.
- 정확도는 실제 데이터 세트 D1을 알 수 없는 경우가 많기 때문에 측정하기 어렵습니다. D1을 생성하려면 사람이 직접 라벨링을 해야 하는데, 이는 막대한 비용과 시간이 들고 때로는 불가능한 경우도 있습니다. 해결책은 규칙을 사용하여 데이터 포인트와 예상 패턴의 일반적인 적합성을 확인하거나 데이터 세트의 일부에 대해 수동으로 D1을 구축하여 세부 사항을 추상화하는 것입니다. 인간 전문가가 수동으로 정확한 라벨을 어노테이션한 표준 정답 데이터셋으로 D1을 표현할 수 있습니다.
- 관련성은 D와 D2 사이의 유사도로 평가할 수 있습니다. 일반적으로 D2와 D3는 유사한 경우가 많은데, 이는 사용자가 데이터를 활용해 태스크를 수행하고 싶어하기 때문입니다. 의사가 기계를 사용하여 뇌종양의 크기를 검색한다고 가정해 보겠습니다. 의사가 종양의 색깔에 대한 정보만 찾는다면 데이터 품질이 낮아질 것입니다.
- 사용성은 D와 D3 사이의 유사성 정도로 평가할 수 있습니다. 예를 들어 도로에서 자동차를 감지하는 데 사용되는 물체 감지기를 생각해 봅시다. 화창한 날에 학습한 것을 비 오는 밤에 적용하면 D와 D3가 유사하지 않아 데이터 품질이 낮습니다. 비정형 데이터를 해석하는 데는 다양한 데이터 사용자가 관여하는 경우가 많기 때문에 이 차원은 비정형 데이터에 매우 중요합니다.
비정형 데이터의 품질을 검증하는 최신 솔루션은 다음과 같은 광범위한 기능을 갖추고 있어야 합니다.
- 프로파일링: 사용자는 하나의 보기에서 데이터셋의 내용을 이해할 수 있습니다. 데이터셋에 대한 주요 메타데이터(크기, 개수, 소스, 최근성 등)에 대한 요약 통계를 확인할 수 있어야 합니다.
- 클리닝: 사용자는 중복값을 확인하고, 특이값을 제거하고, 구조적 오류를 수정하고, 누락된 값을 확인할 수 있습니다. 실현 가능한 경우, 사용자는 툴을 이용해 이러한 작업을 자동으로 신속하게 수행할 수 있을 것입니다.
- 라벨링: 사용자는 정답 데이터를 기반으로 쉽게 라벨을 생성할 수 있으며, 쉬운 라벨과 어려운 라벨을 구분하고, 라벨 일관성을 유지할 수 있으며, 라벨의 정확성을 검수할 수 있습니다. 사용자는 툴을 활용해 위와 같은 태스크들을 사람의 손을 빌려 수동으로 수행하거나 자동화된 라벨링을 통해 수행할 수 있어야 합니다.
- 직관적인 UI: 사용자는 내장된 기능을 활용해 데이터 품질 테스트와 모니터링의 모든 과정을 매끄럽게 진행할 수 있습니다. 따라서, 툴은 기술 전문가와 비전문가 모두가 상호 작용할 수 있는 사용자 친화적인 인터페이스를 갖춰야 합니다.
이 모든 것을 데이터 운영 플랫폼에 통합하여 ML 파이프라인 및 애플리케이션 개발에 엄격함, 재사용, 자동화를 제공할 수 있습니다. 데이터 옵스는 데이터 품질 관리 프로세스를 애드혹 방식에서 자동화 방식으로, 느림에서 민첩함으로, 고통스러운 작업에서 간편한 작업으로 전환할 수 있습니다.
5 - 마치며
이 블로그에서는 데이터 품질의 주요 차원에 대해 다뤄보았으며 활용 가능한 데이터 품질 솔루션으로서의 ML 통합 가시성 및 데이터 운영 플랫폼의 광범위한 기능에 대해 살펴보았습니다. 조직 차원에서 데이터 품질에 투자하면 향후 몇 년 간 ML 이니셔티브에 큰 도움이 될 수 있습니다.
귀사의 정형 및 비정형 데이터의 잠재력을 발휘할 수 있도록 높은 품질을 보장하는 방법이 궁금하신가요? 지금 바로 어라이즈에이아이의 ML 통합 가시성 플랫폼 평가판을 요청하거나 데모를 예약해 슈퍼브에이아이의 데이터옵스 제품을 살펴보세요!