컴퓨터 비전 프로젝트를 위한 데이터옵스 팀 꾸리기

컴퓨터 비전 프로젝트를 위한 데이터옵스 팀 꾸리기

들어가며

컴퓨터 비전 프로젝트는 대개 (1) 프로덕션으로 전환하지 못하거나 (2) 컴퓨터 비전 사이언티스트와 엔지니어가 사소한 작업에 시간을 너무 많이 소비하거나 (3) 거버넌스 리스크의 증가 때문에 실패하게 됩니다. 이와 같은 문제를 해결하기 위해서는 데이터옵스(DataOps) 도구 및 프로세스의 활용을 통해, 프로덕션급으로 라벨링된 훈련 데이터를 얻는 등의 기초 활동에 투자하는 것이 필수입니다.

파트 1에서는 (1) 데이터 분석을 위한 데이터옵스의 개념 (2) 컴퓨터 비전을 위한 데이터옵스 사용 사례 논증 (3) 엔터프라이즈 컴퓨터 비전 시스템을 위한 데이터옵스의 6가지 원칙에 대해 소개했습니다. 파트 2에서는 (1) 컴퓨터 비전팀이 해결해야 하는 세 가지 데이터 관련 과제 (2) 과제를 해결하기 위한 이상적인 데이터옵스 플랫폼의 구체적인 기능 (3) 기업이 적절한 데이터옵스 팀을 구성해 이들의 필수 데이터 작업에 대한 적정한 인센티브를 제공해야 하는 필요성에 대해 소개했습니다.

파트 3에서는 (1) 이상적인 데이터옵스 팀에 필요한 주요 페르소나 (2) 가치 있는 데이터 작업을 활용하는 데 필요한 조직 구조에 대해 다뤄보겠습니다. 먼저 컴퓨터 비전 프로젝트를 확장할 때 데이터옵스를 활용하는 방법을 살펴보겠습니다.

데이터옵스 구현을 위한 가이드라인

데이터옵스는 적절한 경우 간결하고 반복적인 방식을 채택해 협업 프로세스의 개선과 데이터셋 전달 가속화에 초점을 맞춘 문화의 전환을 말합니다. 이를 통해 데이터 수집부터 전달까지 데이터 파이프라인 운영을 확장할 수 있습니다. 아래에서 볼 수 있듯이, 컴퓨터 비전을 위한 일반적인 데이터옵스 파이프라인은 데이터 수집, 어노테이션, 디버깅, 증강, 변환, 큐레이션의 여섯 단계로 구성됩니다. 이에 따라 기업은 데이터옵스 구현을 위해 다음과 같은 사항에 집중해야 합니다.

  • 인력: 다양한 기능을 가진 팀 간의 협업을 통해 관리되는 데이터 접근성의 형태로 동일한 아웃컴을 위해 노력
  • 도구: 데이터 품질 보증, 데이터 변환, 데이터 라벨링, 자동화된 데이터 테스트, 데이터 파이프라인 오케스트레이션 등을 지원
  • 거버넌스: 액세스 제어, 메타데이터 관리, 데이터 버전 관리를 통해 데이터 사용 행위를 제어하고 접근성, 추적성 간의 적절한 균형 유지

간단히 말해, 데이터옵스는 라이프 사이클 전반에 걸쳐 관리되는 데이터의 어질리티(agility), 효율성 및 지속적인 평가를 제공합니다. 데이터옵스의 목표는 프로덕션 환경 내에서 자동으로 프로비저닝할 수 있는 오케스트레이션 도구로 데이터 파이프라인을 생성하는 동시에 개발하고, 프로덕션 환경 전반에서 거버넌스 및 보안을 보장하는 것입니다.

데이터옵스팀의 목표

학계 출신의 컴퓨터비전 실무자들은 대체로 알고리즘을 활용한 기술적 업무가 많기 때문에 수학 및 컴퓨터 사이언스의 특출난 실력이 요구됩니다. 하지만 이러한 기술만으로는 좋은 데이터셋을 구성하는 데에 한계가 있습니다. 타이보 펑가스(Taivo Pungas)가 제안한 목록에 따르면 좋은 데이터셋을 구성하는 요소는 다음과 같습니다.

  • 라벨링을 위한 고품질 데이터 샘플 큐레이션하기
  • 수천에서 수백만 개의 이미지를 대상으로 수동 또는 자동 라벨링하기
  • 제품, 엔지니어링, 분석 및 기타 부서와 협업을 통한 불확실한 케이스 판단하기
  • 라벨링 정책 및 변경 사항 문서화하기
  • 사내 및 오픈 소스 도구, SaaS 솔루션 및 아웃소싱 서비스를 조합하여 가장 효과적인 라벨링 워크플로우를 구축하기
  • 데이터 소스, 라벨링 도구, ML옵스(MLOps) 도구 간 이동을 위한 데이터 파이프라인 설계

모든 활동은 좋은 데이터셋 수집이라는 하나의 미션 아래 데이터옵스의 하나의 기능으로 모을 수 있습니다. 이상적으로, 이 팀은 모든 예측 태스크에 대해 (1) 제품의 달성 목표를 포괄적이고 정확하게 반영하는 데이터 집합을 제공하고, (2) 다운스트림 목적에 맞게 접근성과 최신성을 유지합니다.

데이터옵스 팀을 구축할 때, 머신러닝 및 데이터 책임자는 데이터옵스 팀의 팀 구성과 리더진의 구성을 파악하고 있어야 합니다. 강력한 데이터옵스 팀을 갖추는 것은 더 이상 사치가 아니라 오늘날 머신러닝을 우선시하는 모든 기업의 생존을 위한 필수 요소입니다.

머신러닝 데이터 관리 여정에서 현재의 위치는?

데이터옵스 팀을 구성하기 전에, 현재 “머신러닝 데이터 관리 여정”의 어느 단계에 있는지 파악해야 합니다. 왜냐하면 현재의 상황이 팀 구조에 직접적인 영향을 미치기 때문입니다. 머신러닝 데이터 관리라는 분야에 익숙하지 않은 분들을 위해, 아스타시아 마이어스(Astasia Myers)는 데이터셋 개선을 통해 머신러닝 모델의 성능을 향상시킬 수 있는 도구들에 대해 탄탄한 가이드를 제공합니다. 기본적으로 이러한 도구는 데이터 분석의 세계에서 최고 퀄리티의 데이터 사례들을 추출해 머신러닝에 적용합니다. 이와 같은 도구들은 데이터옵스 팀이 좋은 훈련 데이터셋을 큐레이션하고 잘못된 라벨을 감지하고 까다로운 엣지 케이스를 식별하는 것을 돕습니다.

머신러닝 데이터 관리가 어느 정도 단계에 이르렀는지 평가하기 위해서는 앞서 언급한 기초 사항을 정의해야 합니다. 매슬로우의 욕구위계이론(Maslow's hierarchy of needs)가 여기에 큰 영향을 미칩니다. 훌륭한 훈련 데이터셋의 구축이라는 목표를 달성하게 하는 기초적인 요소에는 어떤 것들이 있을까요?

데이터를 다루는 모든 기업의 첫 번째 요소은 고객 보호입니다. 보안을 최우선 순위로 삼아야 합니다. 고객을 보호하는 것이 곧 자신을 보호하는 것입니다.

두 번째 요소는 데이터 품질입니다. 진정한 의미의 지속적인 성장과 속도는 더 빠르게 나아가는 것만큼이나 사고를 피하는 데서 비롯됩니다. 데이터 품질에 투자하는 것은 잘못된 의사결정으로부터 자신을 보호해 리스크를 완화하는 의미를 가집니다. 팀은 테스트 기반 개발을 통해 시작부터 데이터 품질을 확인할 수 있습니다.

세 번째 요소는 신뢰성입니다. 좋은 솔루션은 신뢰할 수 있어야 하며, 바로 이 부분이 데이터옵스의 핵심입니다. 서비스 레벨 계약(Service Level Agreement, SLA)을 정의하고, 사용자의 니즈를 이해하고, 신뢰성 관점에서 얼마나 잘 수행하는지 측정하는 것이 필수적입니다.

네 번째 요소는 사용성입니다. 데이터 및 머신러닝 엔지니어링은 창의적인 작업입니다. 질문을 던지고 그 질문에 대한 답을 사용하여 조치를 취하거나 더 나은 질문을 하는 작업이죠. 창의성을 발휘해야 하는 순간마다 도구와 씨름해야 한다면 창의성이 제한될 수밖에 없습니다. 데이터 큐레이터가 정답 라벨을 이해하지 못하거나 이미지 시각화에 어려움을 겪으면 가장 관련성이 높은 데이터 샘플을 큐레이션할 수 없습니다. 사용자 경험이 매우 중요한 요소가 되는 이유입니다.

마지막 요소는 적용 범위입니다. 이해하고자 하는 이벤트를 설명하는 정보를 가지고 있나요? 처음 네 가지 요소를 해결하지 못하면 사람들에게 데이터를 제공해도 소용이 없습니다. 또한 규모와 관점의 통제도 필요합니다. 관점을 좁혀 답해야 하는 가장 가치 있는 질문을 정해 거기서부터 역으로  작업하세요.

조직이 이 '데이터의 욕구 위계'를 더 많이 충족할수록 데이터 관리 역량이 더 성숙해질 수 있습니다.


데이터운영 팀의 주요 역할들


이상적인 데이터옵스 팀은 아래에 설명된 핵심 기능으로 구성되어야 합니다.
데이터 라벨링 매니저(Data Labeling Manager, DLM): 데이터 라벨링의 처리량을 늘리기 위해 사내외의 라벨링 팀과 협력하는 경우가 많습니다. 이들은 라벨링 지침을 정의하고, 라벨러의 작업을 점검하고, 복잡하거나 모호한 시나리오를 처리하는 방법을 결정합니다.

데이터 엔지니어(Data Engineer, DE): 데이터 엔지니어는 머신러닝 프로젝트에서 활용할 수 있는 데이터셋을 설계, 구축하고 유지 관리하는 업무를 담당합니다. 따라서 데이터 엔지니어는 ML 엔지니어와 긴밀하게 협력합니다. 특히 조직에 데이터 파이프라인 구축, 모델 버전 관리, 모델 재훈련 오케스트레이션을 위한 기존 도구가 존재하는 경우, 데이터 엔지니어가 머신러닝의 역할을 할 수도 있습니다.

데이터 큐레이터(Data Curator, DC): 데이터 큐레이터는 각 데이터 영역의 전문가로, 머신러닝 데이터셋을 시각화하고 조작합니다. 데이터 큐레이터는 기민한 동시에 데이터 부서와 사업 부서의 경계를 넘나들며 격차를 메우고 효율성을 개선하는 데 도움을 줍니다. 이들은 담당하는 데이터 및 모델 유형(이미지 분류, 객체 감지, 시맨틱 세그멘테이션 등) 또는 고객 및 지역(예: 북미, APAC, EMEA)에 따라 배정될 수 있습니다. 이들은 사업 목표와 머신러닝 기능에 대한 지식을 바탕으로 머신러닝 시스템을 개선하기 위해 데이터 큐레이션의 우선순위를 정하는 최선의 방법에 대한 정보를 제공합니다.

데이터옵스 책임자: 데이터옵스 팀을 전략적으로 감독합니다. 이들의 목표는 서로 다른 이해 당사자가 필요한 데이터에 손쉽게 접근할 수 있는 환경을 조성하고, 데이터에서 의미 있는 인사이트를 도출할 수 있는 비즈니스 기술을 구축하며, 데이터 거버넌스를 보장하는 것입니다. 또한 데이터옵스 팀과 타 머신러닝/제품/엔지니어링 부서 간의 가교 역할을 하며 비전을 제시하고 기술 리더의 역할을 합니다.


어떻게 데이터옵스 팀을 구성해야 할까?

데이터옵스 팀을 구성하는 데에 이상적인 구조란 없습니다. 데이터에 대한 조직의 니즈가 빠르게 진화할 가능성이 높다는 점을 고려하면, 데이터옵스 팀 구조도 그에 맞게 조정되어야 합니다. 그렇기 때문에 특정 구조를 규정하기보다는 가장 일반적인 모델과 이를 다양한 유형의 비즈니스에 어떻게 적용할 수 있는지를 제시해보겠습니다.

중앙 집중식 모델

중앙 집중식 모델에서는 데이터옵스 팀이 모든 데이터에 접근할 수 있으며 다양한 프로젝트를 통해 전체 조직에 서비스를 제공합니다. 팀 내의 모든 데이터 엔지니어, 큐레이터, 라벨링 매니저는 데이터옵스 책임자 직속으로 관리됩니다. 이러한 구조에서는 데이터옵스 팀은 머신러닝 이해관계자들과 머신러닝 유닛으로 묶여 컨설턴트와 비슷한 관계로 협업하게 됩니다.

유연성이라는 특징을 가진 중앙 집중식 모델은 비즈니스의 성장에 따라 계속 진화하는 머신러닝 니즈에 맞게 조정할 수 있습니다. 머신러닝 데이터 관리 여정의 초기 단계에 있는 경우에는 이 구조를 권장합니다. 데이터옵스 팀의 초기 프로젝트는 비즈니스에 대한 가시성을 확보하여 조직내 모든 머신러닝 팀이 필요한 고품질 훈련 데이터를 확보할 수 있게 만들 것입니다.

장점

  • 데이터옵스 팀은 자체 아젠다를 진행하면서 다양한 머신러닝 프로젝트를 지원할 수 있습니다. 이와 같이 조직 내의 머신러닝 프로젝트의 우선순위를 결정할 수 있습니다.
  • 중앙 집중식 구조의 팀에 재능과 기술을 발전시킬 수 있는 기회가 더 많습니다. 데이터 라벨링 매니저, 데이터 엔지니어, 데이터 큐레이터는 동료의 인사이트를 활용할 수 있습니다.
  • 데이터옵스 책임자는 회사의 머신러닝 전략을 중앙에서 파악할 수 있으며, 데이터 인력을 각자의 역량에 가장 적합한 머신러닝 프로젝트에 할당할 수 있습니다.


단점

  • 데이터옵스 팀과 다른 머신러닝 팀 간에 단절이 발생할 가능성이 높습니다. 데이터 엔지니어와 데이터 큐레이터는 다른 팀의 일상적인 업무에 깊이 관여하지 않기 때문에 관련성이 가장 높은 데이터셋을 식별하기가 어렵습니다.
  • 데이터옵스 팀이 '지원' 부서로 전락할 위험이 있습니다.
  • 다른 머신러닝 유닛은 데이터 니즈가 제대로 충족되지 않거나 않거나 계획 단계가 너무 오래 걸린다고 생각할 수 있습니다.‍

분산형 모델

분산형 모델에서는 각 머신러닝 팀마다 팀 내에 '자체' 데이터옵스 인력을 가집니다. 데이터 라벨링 매니저와 데이터 큐레이터는 조직 내 다른 머신러닝 팀의 데이터 담당자와는 거의 상호 작용하지 않고 자신이 속한 머신러닝 팀에서 직면한 문제에 집중합니다. 이러한 구조에서 데이터 큐레이터는 각 머신러닝 유닛의 책임자에게 직접 보고하게 됩니다.

장점

  • 데이터옵스 인력으로 구성된 임베디드 팀은 각자의 머신러닝 기능에만 집중하고 해당 영역에 대한 지식이 풍부하기 때문에 기민하고 신속하게 대응할 수 있습니다.
  • 머신러닝 팀은 리소스가 팀 내에 있으므로 머신러닝 프로젝트를 구축하기 위한 리소스 확보 때문에 싸울 필요가 없습니다.

단점

  • 서로 다른 머신러닝 팀 간의 소통 부족으로 인해 데이터옵스 인력이 중복된 문제를 해결하게 됩니다.
  • 사일로는 중앙 집중식 모델처럼 동료의 전문 지식을 활용할 수 없기 때문에 생산성 저하로 이어집니다.
  • 이 모델에서는 서로 다른 머신러닝 프로젝트에 데이터 운영 인력을 최적으로 배치하기가 더 어려워집니다.

결론

강력한 데이터옵스 팀은 기업이 현실 세계에서 컴퓨터 비전을 개발하고 배포하기 위해 구축해야 하는 핵심 요소입니다. 모델이 데이터를 기반으로 어느정도의 예측력을 발휘할 수 있을지는 궁극적으로 데이터옵스 팀의 역량과 나머지 조직과 얼마나 잘 공생하느냐에 달려있습니다.

데이터옵스 팀의 구성과 구조에 대해 딱 정해진 지침은 없습니다. 그렇기 때문에 조직의 머신러닝 데이터 관리 성숙도를 이해해야 머신러닝 목표와 사업 목표에 부합하는 데이터옵스 팀을 구성할 수 있습니다.

슈퍼브에이아이에서는 최신 머신러닝 스택부터 데이터옵스 팀 구성, 데이터 라벨링 및 큐레이션에 이르기까지 컴퓨터 비전 프로덕트 구축에 관련한 모든 프로세스에 대한 정보를 제공합니다. 블로그에서는 컴퓨터 비전을 다루는 학계와 업계 간의 격차를 해소하기 위한 기술적 측면과 비기술적 측면을 다룹니다.

슈퍼브에이아이는 데이터 중심의 AI 개발 환경에서 최신 머신러닝 스택을 위한 훈련 데이터 관리 프로덕트를 개발하고 있습니다. 슈퍼브에이아이의 제품은 자동화되고 직관적이며 엔터프라이즈에 적합하게 설계되었습니다.

더 자세히 알아보고 싶으신가요? 데모를 보고싶으시다면 언제든지 문의해주세요.