기계학습을 위한 데이터 전략

Jongmin Kim
XBrain
Published in
6 min readMay 14, 2021

MLOps 란 무엇일까?”의 글에서 모델 운영 프로세스는 1. 모델 개발 → 2. 통합 → 3. 테스트 → 서비스 운영 모니터링으로 설명하였습니다. 여기서 1. 모델 개발의 과정을 자세히 살펴보면, i) 데이터 샘플링 → ii) 특성 엔지니어링 → iii) 학습 → iv) 평가의 순으로 진행됩니다.

[그림1] MLOps 과정

여러분들이 데이터 과학자로서 모델을 운영해야 한다고 가정해봅시다. 가장 먼저 해야할 일은 데이터 샘플링인데요. 사실 그보다도 선행되어야 하는 것은 회사에 어떤 데이터가 있고, 내가 가져올 수 있는 데이터는 무엇이고, 접근하기 위한 권한은 내가 가지고 있는지, 없다면 누구에게 요청해야 하는지 파악하는 것입니다.

[그림2] McKinsey “Designing data governance that delivers value” 조사 내용

데이터를 파악하는 과정은 정말 중요합니다. 하지만 이 과정은 단순히 데이터를 확인하고 요청하고 가져오는 번거로운 작업의 연속입니다. 데이터 과학자들이 일하는 시간 중 약 30퍼센트 가량을 번거로운 작업에 시간을 소모합니다. 이는 작업자들의 비효율을 초래하며, 나아가 데이터에 기반한 의사결정이 지연되는 상황이 발생합니다.

어떤 방법을 통해 데이터를 더 효율적으로 다룰 수 있을까요?

데이터 거버넌스

기업의 경우 조직별로 DB가 산재돼 있는 경우가 있습니다. 각 조직 내부적으로는 데이터를 잘 활용하고 있을 수 있으나, 외부에서는 데이터를 접근하기 어려워지는 사일로(silo)화가 발생합니다. 사일로가 많아질수록 여러 데이터에 접근하거나 함께 연결하기가 어려워집니다. 이 경우 다른 사일로들에게서 가져온 데이터를 본인이 속한 조직의 사일로로 가져와 분석합니다. 이로 인해 데이터 중복과 데이터베이스 서버와 같은 인프라 운영의 부담과 비용은 가중됩니다.

이를 막기 위해 데이터의 보안, 접근 권한 등 데이터 보호 방식, 데이터들의 정확성, 가용성, 사용성이 정의되어야 합니다. 단순히 정의를 넘어서 데이터 프로세싱 인프라, 이슈가 발생했을 때 담당자, 데이터의 수명 등 모든 문서, 기술을 데이터 거버넌스라고 합니다. 데이터 거버넌스는 데이터 과학자가 데이터를 분석하고 기계학습 프로젝트를 진행하는데 중요한 기틀이 됩니다.

데이터 거버넌스가 제대로 정의되지 않았다면 마케팅, 세일즈와 같은 비 개발조직에서는 흩어진 데이터를 다운로드 받아 엑셀과 같은 도구를 활용해야 했습니다. 하지만 데이터 거버넌스가 잘 정의된다면 빠르고 정확하게 그들이 원하는 데이터 기반 의사결정을 할 수 있습니다.

데이터 레이크

데이터 거버넌스를 잘 정의하는 것으로 데이터 과학자의 효율을 상당히 해결할 수 있습니다. 여전히 데이터는 여러 곳에 흩어져 있습니다. 이로 인해 비효율이 발생한다면, 기업 내 모든 데이터를 담을 거대한 데이터 레이크를 만드는 것도 좋은 방법입니다. 데이터 레이크는 더 많고 다양한 형태의 데이터를 담을 수 있습니다. 그렇기 때문에 데이터 과학자는 더 높은 자유도와 데이터를 분석할 수 있습니다. 각 조직에서 잘 정의된 데이터가 아니라 자유도 높은 데이터를 다루어야 하기 때문에, 이를 다룰 수 있는 역량이 부족하다면 오히려 실효성이 떨어질 수 있습니다. 그렇기 때문에 데이터를 정확히 정의하지 못하여 유의미한 분석이 어렵다면 그저 데이터만 쌓인 쓰레기더미가 될 수 있습니다.

데이터 거버넌스를 어디까지 정의하든, 데이터 레이크를 도입하든 결과적으로 기업 내 사용자가 그들이 접근할 수 있는 명확한 범위의 데이터를 빠르게 접근할 수 있는 체계를 만드는 것이 가장 중요합니다. 이 체계가 있어야만 빠른 데이터 분석, 데이터 기반 의사결정, 나아가 MLOps를 시작할 수 있습니다.

데이터 품질

데이터 거버넌스를 잘 정의하면, 기업이 보유한 데이터를 정확하게 파악할 수 있습니다. 데이터를 잘 파악해두었다면, 분석 및 기계학습 도입을 수월하게 할 수 있게 됩니다. 드디어 기업은 MLOps을 도입할 차례가 되었습니다. 이제 데이터 과학자는 편안하게 데이터 분석, 모델 개발을 진행하면 됩니다!

하지만 “MLOps 란 무엇일까?”에서 설명 드렸듯 MLOps는 모델 개발, 운영, 모니터링의 과정은 한 번으로 끝나지 않습니다. “MLOps의 모니터링은 어떻게 해야할까요?”에서 기술한 것처럼 모델의 성능을 꾸준히 관찰해야 합니다. 모델 성능에 이상이 있다면 데이터의 변화를 측정하고 모델을 개선할 것인지, 특성을 다시 구성할지 파악해야 합니다.

데이터 품질의 기준은 산업별로, 기업 내 조직에 따라 천차만별입니다. 하지만 데이터 품질을 판단하는 기준이 명확하지 않는다면, 운영 시 발생할 이슈를 빠르게 대응하지 못합니다.

데이터를 수돗물로 비유해 보겠습니다. 운영 시 발생할 이슈는 수도꼭지를 틀었는데 더러운 물이 나오는 것입니다. 수도꼭지에서 나오는 물은 상수원에서부터 긴 파이프라인을 거쳤을 것입니다. 물이 거쳐가는 몇몇 지점에서 수질을 측정했다면, 어디서 수질에 문제가 생겼는지 판단할 수 있으며, 문제가 되는 지점에서 문제에 바로 직면할 수 있습니다.

마찬가지로 데이터에서 도출된 KPI, 운영 중인 모델의 학습 데이터셋에 대해,어떤 데이터를 조합하여 만들었는지, 이 데이터가 어떤 원천에서 왔는지 파악되어야 문제를 특정하고 해결할 수 있습니다.

데이터에 대한 중요성은 아무리 강조하여도 과하지 않습니다만, 현실적으로 기업은 당장 서비스를 안정적으로 운영하여 이익을 만드는 데 집중할 수 밖에 없습니다. 하지만 이미 시장을 대표하는 기업들은 새로운 사업 기회를 창출하고 주요한 의사결정을 내림에 있어 데이터에 대한 이해를 필수로 꼽고 있습니다. 당장은 서비스 운영만으로도 바쁠 수 있지만, 조금씩 데이터 거버넌스를 정의해 나가며, MLOps를 통해 빠르게 미래를 예측하여 올바른 의사결정을 해야 합니다.

XBrain은 고객들이 직면한 현실적인 문제를 해결하는 동안 그들이 더 큰 가치를 만들어낼 수 있도록 데이터 거버넌스, MLOps도입에 도움이 되고자 노력합니다.

--

--