컴퓨터 비전 프로젝트를 위한 DataOps 팀빌딩 하기 Part3

컴퓨터 비전 프로젝트를 위한 DataOps 팀빌딩 하기 Part3

*본 글은 Superb AI의 James Le가 작성한 ‘Part 3: Building a DataOps Team for Your Computer Vision Projects’의 번역본입니다.



들어가며

이 DataOps 시리즈의 파트1에서 저희는 DataOps와 데이터 분석의 개념을 소개하고 컴퓨터 비전을 위한 DataOps를 사용하는 경우를 보여드리고 엔터프라이즈용 컴퓨터 비전 시스템을 위한 6가지 DataOps 원칙들을 제시했습니다. 파트2에서는 (1) 컴퓨터 비전 팀이 처리해야 하는 세 가지 데이터 관련 과제를 조사했고, (2) 그러한 과제를 해결하기 위해 이상적인 DataOps 플랫폼의 구체적인 기능을 제안했으며, (3) 기업은 데이터와 관련한 중요한 임무에 대한 보상 시스템을 구축하기 위해 적절한 DataOps 팀을 구성해야 한다고 설명했습니다.

파트 3에서는 (1) 이상적인 DataOps 팀을 구성하는 핵심 페르소나와 (2) 귀중한 데이터 작업을 활용하는 데 필요한 조직 구조를 집중적으로 다룰 예정입니다. 먼저 컴퓨터 비전 프로젝트를 확장할 때 DataOps를 활용하는 방법에 대해 살펴보겠습니다.



1) DataOps 실행을 위한 가이드라인

  1. 팀 : 공동의 목표를 달성해나가기 위한 여러 부서 팀 간의 협업 과정에서 데이터에 대한 접근성을 안전하고 적절한 방식으로 관리할 사람들이 필요합니다.
  2. 도구 : 데이터 품질 보증, 데이터 변환, 데이터 라벨링, 자동화된 데이터 테스팅, 데이터 파이프라인 조정 등을 지원하는 도구가 있어야 합니다.
  3. 거버넌스(협치) : 거버넌스는 많은 부분에서의 적절한 균형을 가져올 수 있는데, 컨트롤, 접근성, 신뢰성 그리고 접근 권한 조정을 통한 데이터 사용 추이에 대한 추적가능성, 메타데이터 관리 그리고 데이터 버전관리 등이 그 예입니다.


정리하면, DataOps는 라이플사이클 전체에 걸쳐 데이터에 대한 민첩성(데이터가 비즈니스 속도에 맞춰 빠르게 흐를 수 있는지), 효율성 및 지속적인 평가가 가능하도록 합니다. DataOps의 목표는 프로덕션 환경이 되면 자동으로 사용 가능한 상태로 전환될 수 있는 오케스트레이션 툴이 포함된 데이터 파이프라인을 만드는 것인데, 이 때 개발 및 운영 환경 전반에 걸친 거버넌스 및 보안도 갖춰져야 합니다.‍


2) DataOps 팀의 목표


컴퓨터 비전 전공자가 알고리즘을 사용한 기술 작업을 수행하기 위해 실무자로 고용되는 경우가 많으며, 이는 수학 및 컴퓨터 과학에 대한 강력한 배경 지식이 필요함을 의미합니다. 그러나 이러한 역량과 고품질 데이터셋을 모으는 것 사이에 상관관계가 있지는 않습니다. Taivo Pungas의 글을 인용하건대, 고품질 데이터를 위해서는 다음과 같은 과정이 필요합니다.


  1. 라벨링을 위한 고품질 데이터 샘플을 선별합니다.
  2. 수천에서 수백만 개의 이미지를 직접 혹은 자동으로 라벨링합니다.
    라벨링 작업에서 검토 및 논의가 필요한 부분은 제품, 엔지니어링, 분석 혹은 아웃소싱 기관들(필요한 경우)과 논의합니다.
  3. 라벨링 정책 및 변경 사항은 문서화합니다.
  4. 사내에서 만든 인하우스 툴, 오픈소스 도구, SaaS 솔루션 및 아웃소싱 서비스를 조합하여 가장 효과적인 라벨링 워크플로우를 구축합니다.
  5. 데이터, 라벨링 소프트웨어 그리고 MLOps 툴을 아우르는 데이터 파이프라인 설계합니다.

모든 활동은 하나의 DataOps 기능을 위한 것으로 압축되는데, 그건 바로 좋은 데이터셋을 모으는 것입니다. 이상적으로는 모든 예측 작업에 대해 이 팀은 (1) 제품이 달성하려는 것을 포괄적이고 정확하게 반영하는 데이터셋을 제공하며 (2) 다운스트림을 위해 적재적소에서 데이터의 활용을 가능케 하는 데이터의 접근성을 보장하고 데이터를 최적의 상태로 유지관리합니다.

DataOps 팀을 구축할 때 ML/Data 책임자는 DataOps 팀의 구성과 상위 수준 구조를 파악해야 합니다. 이건 당연한 겁니다. 강력한 DataOps 팀을 보유하는 것은 더 이상 사치가 아니라 오늘날 머신러닝을 우선으로 하는 기업의 생존에 필수적이기 때문입니다.


3) 당신은 머신러닝 학습 데이터 관리 과정에서 어디쯤에 있나요?

DataOps 팀을 구축하기 전에 ‘머신러닝 학습 데이터 관리’ 과정에서 어느 부분에 속해 있는지를 파악해야 합니다. 이에 따라 팀 구조가 결정될 수 있기 때문입니다. 머신러닝 학습 데이터 관리라는 카테고리가 익숙하지 않다면  Astasia Myers가 쓴 ML Data Management — A Primer을 참고해보세요. 학습 데이터의 관리 과정을 상세히 보여주며, 데이터셋을 개선하여 머신러닝 모델을 개선하는 데 도움이 되는 도구에 대한 입문서입니다. 기본적으로 이러한 도구는 데이터 분석 세계에서 데이터 품질 모범 사례를 추출하여 머신러닝에 적용하는데, DataOps 팀이 고품질 학습용 데이터를 선별하고 잘못된 라벨을 감지하여 까다로운 엣지 케이스를 식별하는 데 도움을 줍니다.


데이터 니즈 5단계

머신러닝 학습용 데이터 관리 성숙도를 평가하려면 여기에 언급된 기본 사항을 정의해야 합니다 (매슬로우의 욕구 5단계설과 연계시켜 생각해 봅시다). 고품질 데이터셋을 모으려 한다면 그러한 목표를 가능하게 하는 근본적인 것들은 무엇일까요? 가장 먼저 충족되어야 하는 것부터 차례대로 나열해보겠습니다.

  1. 보안 : 데이터 작업을 하는 모든 회사의 첫 번째 요구 사항은 고객을 보호하는 것입니다. 보안이 최우선 되어야 합니다. 고객을 보호함으로써 자신을 보호하는 것이죠.
  2. 데이터 품질 : 진정한 지속가능한 성장과 속도는 더 빨리 가는 것 뿐 아니라 재난을 피하는 것에서 옵니다. 데이터 품질은 잘못된 결정을 하지 않도록 해주는, 위험 완화 측면에서의 투자입니다. 팀은 테스트 주도 개발에 의존하면서 개발 초기부터 데이터 품질을 테스트할 수 있습니다.
  3. 신뢰성 : 모든 좋은 솔루션은 신뢰할 수 있어야 하며 이것이 DataOps의 핵심입니다 : SLA(Service Level Agreement, 서비스 수준 협약서)를 정의하고, 고객의 니즈를 이해하고, 안정성 관점에서 당신이 얼마나 잘 수행하고 있는지를 측정할 수 있어야 하는 것이죠.
  4. 유저의 작업 사용성 : 데이터 및 머신닝 엔지니어링 과정에 여러 실무자가 참여하는 것은 고도로 협력이 필요하고 혁신적인 작업이라고 볼 수 있습니다. 질문을 하고 (해당 질문에 대한) 답변을 활용하여 조치를 취하거나 더 나은 질문을 하는 과정을 수반하죠. 이런 복잡한 협업작업을 할 때마다 도구 사용에 어려움을 겪으면 작업에 필연적으로 제약을 받을 수 있죠. 데이터 큐레이터가 정답으로 간주하는 라벨(ground-truth label)을 이해하거나 이미지를 시각화하는 데 어려움을 겪는다면, 그들은 가장 관련성이 높은 데이터 샘플을 큐레이팅할 수 없을 것입니다. 사용자 경험이 중요한 까닭입니다.
  5. 대상 범위: 우리가 이해하려고 하는 사건을 설명하는 정보가 있습니까? 데이터 니즈 5단계 중 하위 4가지 기본요소를 충족하지 않으면 사람들에게 데이터를 제공하는 의미가 없습니다. 여기에 더해서 마지막으로, 규모와 범위를 제어할 수 있어야 할 것입니다. 범위를 제한하고 대답할 가치가 가장 높은 질문을 대상으로 한 다음, 거기서부터 역으로 출발해보세요.


여러분의 조직이, 위에서 설명했던 "데이터 니즈 5단계"를 더 잘 충족할수록 머신러닝 데이터 관리 역량이 더 성숙해집니다.

4) DataOps 팀의 핵심 역할들

이상적인 DataOps 팀은 아래에 요약된 핵심 역할들로 구성되어야 한다고 생각합니다.

  1. 데이터 라벨링 관리자(DLM): 그들은 내부 및/또는 해외의 라벨링 팀과 협력하여 작업의 효율을 높일 수 있도록 도움을 줍니다. 그들은 라벨링 지침을 정의하고 라벨러의 작업을 검수하며 복잡하거나 모호한 시나리오를 처리하는 방법을 결정합니다.
  2. 데이터 엔지니어(DE): 머신러닝 프로젝트에서 활용할 수 있는 데이터셋의 설계, 구축 및 유지 관리를 담당합니다. 따라서 데이터 엔지니어는 머신러닝 엔지니어와 긴밀하게 협력합니다. 조직에 데이터 파이프라인 설정, 모델 버전 관리 및 모델 재학습을 위한 성숙화된 툴이 갖춰진 환경인 경우, 데이터 엔지니어가 머신러닝 엔지니어 역할까지 도맡아 할 수 있습니다.
  3. 데이터 큐레이터(DC): 머신러닝 데이터셋을 시각화하고 다루는 해당 데이터 도메인 전문가를 의미합니다. 그들은 민첩하게 일하며, 데이터 측면과 비즈니스 부서 사이의 경계를 넘나들며 격차를 좁히고 효율을 개선하는 역할을 합니다. 담당하는 업무는 데이터/모델 유형(예: 이미지 분류, 객체 감지, 시맨틱 세그멘테이션) 또는 서비스를 제공하는 고객/지역(예: 북미, APAC, EMEA)에 기반합니다. 데이터 큐레이터는 비즈니스 목표에 대한 지식과 머신러닝과 관련된 역량을 통해 머신러닝 시스템을 개선을 위한 데이터 큐레이션 우선순위 결정에 필요한 정보를 제공하기도 합니다.
  4. DataOps 책임자: DataOps 팀에 전략을 제시하며 리드합니다. 그들의 목표는 서로 다른 사람들이 필요한 데이터에 쉽게 접근할 수 있는 환경을 만들고 데이터에서 의미 있는 통찰력을 끌어낼 수 있는 비즈니스 기술을 구축하며 데이터 거버넌스를 보장하는 것입니다. 그들은 또한 DataOps 팀과 다른 ML/제품/엔지니어링 부서 사이의 다리 역할을 하며 비전을 제시하는 기술 리더 역할을 합니다.



5) DataOps 팀을 구성하는 방법

DataOps 팀에 이상적인 구조는 없습니다. 조직의 데이터 요구 사항이 빠르게 발전할 가능성이 있다는 점을 고려하면 DataOps 팀 구조도 그에 따라 적응해야 합니다. 이러한 이유로 저희는 주어진 구조를 규정하는 것이 아니라 가장 일반적인 모델과 다양한 비즈니스 유형에 대해 맞춤화할 수 있는 방법을 제시합니다.


1. 중앙 집중식 모델

중앙 집중식 모델에서 DataOps 팀은 모든 데이터에 접근할 수 있으며 전체 조직에 관여하며 다양한 프로젝트를 수행합니다. 이 팀 내의 모든 데이터 엔지니어, 큐레이터 및 라벨링 관리자는 DataOps 책임자에 의해 직접 관리됩니다. 이러한 구조를 통해 DataOps 팀은 머신러닝 유닛에 기반을 둔 이해 관계자들과 컨설턴트 유형의 관계를 구축하며 일할 수 있습니다.

이 유연한 모델은 성장하는 비즈니스의 지속적으로 진화하는 머신러닝의 요구 사항에 적응합니다. 머신러닝 데이터 관리 여정의 시작 단계에 있는 경우 이러한 중앙 집중식 모델을 권합니다. DataOps 팀의 초기 프로젝트는 비즈니스에 대한 가시성을 제공하여 조직의 모든 머신러닝 팀이 필요한 고품질 학습용 데이터를 갖도록 보장합니다.

DataOps 팀 구성 - 중앙 집중형 모델


장점

  1. DataOps 팀은 자체의 업무를 진행하면서 동시에 다양한 머신러닝 프로젝트에 직접 관여하기 때문에 조직내에서 진행하는 전체 머신러닝 프로젝트의 우선 순위를 지정할 수 있습니다.
  2. 중앙 집중식 모델을 채택한 팀은 인재 및 기술 개발의 기회가 풍부합니다. 데이터 라벨링 관리자, 데이터 엔지니어 및 데이터 큐레이터가 동료의 통찰력을 보고 배울 기회가 더 많을 수 있기 때문입니다.
  3. 중앙 집중식 모델에서 DataOps 책임자는 회사의 머신러닝 전략을 한 곳에 집중화하여 바라볼 수 있기에 데이터 인력을 그들의 역량에 가장 적합한 머신러닝 프로젝트에 할당할 수 있습니다.

단점

  1. DataOps 팀과 다른 머신러닝 팀과의 단절이 일어날 수도 있습니다. 데이터 엔지니어와 데이터 큐레이터는 다른 팀에서 일어나는 매일매일의 상황에 관여하지 않기에 비즈니스에 가장 관련성이 높은 데이터셋을 식별하기 어려울 수도 있습니다.
  2. DataOps 팀이 "서포트" 기능이 될 위험이 있습니다.
  3. 다른 머신러닝 유닛들은 데이터 요구 사항이 적절하게 해결되지 않았거나 플래닝 과정이 너무 느리다고 느낄 수 있습니다.

2. 분산 모델

분산 모델에서 각 머신러닝 팀은 "자체" DataOps 인력이 필요합니다. 데이터 라벨링 관리자와 데이터 큐레이터는 회사의 다른 머신러닝 팀의 데이터 담당자와 관여하지 않고, 특정 머신러닝 팀이 직면한 문제에 중점을 둡니다. 이 구조에서 데이터 큐레이터는 해당 머신러닝 팀의 책임자에게 직접 보고합니다.

DataOps 팀 구성- 분산 모델

장점

  1. ‍‍DataOps 직원으로 구성된 각각의 팀은 각각의 머신러닝 기능에 전념하고 우수한 도메인 지식을 가지고 있기 때문에 민첩하고 대응력이 뛰어납니다.
  2. 필요한 리소스가 각 팀에 있기 때문에 머신러닝 팀은 머신러닝 프로젝트를 수행하기 위한 리소스를 놓고 다툴 필요가 없습니다.


단점

  1. ‍‍DataOps 팀은 개별 머신러닝 팀과의 의사 소통 부족으로 인해 불필요한 문제를 푸느라 시간을 허비할 수도 있습니다.
  2. DataOps 팀은 중앙 집중식 모델에서와 같이 동료의 전문 지식을 활용할 수 없기 때문에 발생할 수 있는 사일로는 생산성 저하로 이어집니다.
  3. 이 모델을 채택하면 DataOps 팀원을 다양한 ML 프로젝트에 최적으로 배치하기가 더 어려워집니다.


결론


강력한 DataOps 팀은 회사가 현실 세계에서 컴퓨터 비전을 개발하고 배포하는 경우 구축해야 하는 핵심 기둥입니다. 모델이 데이터에서 얼마나 정확하고 의미있는 예측을 할 수 있을지는 궁극적으로 이 팀의 강점, 그리고 조직의 나머지 부분이 얼마나 잘 어우러지는지에 달려있습니다. DataOps 팀의 구성 및 구조에 대한 정형화된 솔루션을 찾기는 어렵습니다. 그렇기 때문에 여러분이 속해있는 조직의 머신러닝 데이터 관리 성숙도 수준을 실제로 이해하고 이를 반영해야, 머신러닝 목표에 적합하고 비즈니스 목표에 부합하는 DataOps 팀을 구축할 수 있습니다.

Superb AI에서는 최신 머신 러닝 스택에서 데이터 운영 팀 구성, 데이터 라벨링 및 큐레이션에 이르기까지 컴퓨터 비전 제품을 구축할 때 관련된 모든 프로세스에 대한 인사이트를 제공해 드리고 있습니다. 저희의 블로그는 학계와 산업계의 컴퓨터 비전 사이의 격차를 메우기 위한 기술적 측면과 그렇지 않은 부분 모두를 다룹니다. Superb AI는 데이터 중심 AI 개발 세계에서 최신 머신러닝 기술을 위한 학습용 데이터 관리 소프트웨어를 구축하고 있습니다. 엔터프라이즈 머신 러닝 데이터 플랫폼 Suite의 자동화 기술을 경험해보시고 싶으시다면 지금 바로 무료 데모 체험을 해보세요.