Superb AI Suite와 Pachyderm Hub로 Data-centric AI 애플리케이션 만들기

Superb AI Suite와 Pachyderm Hub로 Data-centric AI 애플리케이션 만들기

시작하며

데이터는 새로운 소스 코드가 되었으며 이를 관리할 방법이 필요합니다.

데이터는 매우 중요하기 때문에 AI 분야의 선도적인 많은 실무자들은 데이터가 머신러닝 워크플로우의 중심이 되어야 한다고 주장하고 있습니다. 수년 동안 코드는 소프트웨어 개발의 중심이었습니다. 그리고 멋진 도구와 프로세스를 개발하여 더 민첩하고 효과적인 훌륭한 소프트웨어를 만들어왔습니다. 하지만 오늘날 업계에서는 머신러닝 소프트웨어의 급격한 증가로 인해 머신러닝 애플리케이션에 적합한 데이터를 선별하는 것 중요해졌습니다. 데이터셋을 개발하는 도구와 프로세스가 없으면 실제 비즈니스 가치를 만들어내는 모델을 만들 수 없기 때문입니다.


데이터셋을 위한 여러 제반작업들은 결코 사소하지 않습니다. 데이터를 어디서 취할지 결정하고, 라벨을 생성하고, 모델을 재학습시키는 이 모든 작업은 데이터 큐레이션 라이프사이클의 핵심 구성 요소입니다. 하지만 일반적으로 이런 작업들은 이슈가 생길 때마다 임시방편적으로 진행하게 됩니다. 이에 대한 우리의 노력이 걷잡을 수 없이 불어나지 않게 하려면 어떻게 해야할까요?

해답은 data-centric 접근에 있습니다. 그리고 그것을 해내기 위해서는 데이터의 개발이 가능한 환경을 세팅할 필요가 있습니다.

이번 글에서는 두가지 소프트웨어 : Superb AI의 Suite와 Pachyderm의 Hub를 결합하여 data-centric 운영작업을 개선해보는 작업을 소개해드리려합니다. 이 두 가지 소프트웨어를 함께 사용하면 여러분의 데이터 운영 워크플로우에 데이터 라벨링 및 데이터 버전관리 기능을 추가로 가져올 수 있습니다.

Superb AI Suite : 대규모 데이터를 라벨링하기


Superb AI는 머신러닝 팀이 고품질 학습용 데이터셋을 제공하는 데 걸리는 시간을 획기적으로 단축할 수 있는 혁신적인 방법을 도입했습니다. 대부분의 데이터 준비 작업을 라벨러에 의존하는 대신, 적은 시간과 비용으로 효율적인 파이프라인을 구현할 수 있는 Suite를 개발했습니다.


Superb AI의 ML-first 접근 라벨링은 위 그림과 같습니다.

  • 먼저 수집된 raw 데이터를 모두 Suite 플랫폼으로 불러온 후, 플랫폼 위에서 이미지 몇 장만 직접 라벨링합니다.
  • 그런 다음 Suite의 커스텀 오토 라벨링(Custom Auto Label)을 통해 한 시간도 채 걸리지 않고 모델을 학습시킬 수 있습니다. 여기에 우리 엔지니어의 소중한 리소스는 하나도 필요로 하지 않습니다.
  • 이렇게 자동적으로 학습한 모델에 나머지 데이터셋도 적용하면 Suite가 알아서 라벨링을 완료해줍니다.
  • 이 과정에서 Suite는 Superb AI의 고유 특허 기술인 불확실성 추정(Uncertainty Estimation)을 이용해 모델 예측과 더불어, 자동으로 라벨링된 데이터 중 추가 검수가 필요한 데이터가 무엇인지 알려줍니다.
  • 전체 데이터셋 중 추가 검수가 필요했던 라벨링에 대한 유효성 검사를 마치면 학습용 데이터를 제공할 준비가 완료됩니다.
  • 그런 다음, 머신러닝 팀은 모델 학습을 진행할 것이고, 곧 더 많은 양의 데이터를 요청할 것입니다.

모델의 성능이 낮은 경우 기존의 정답 데이터셋을 증강시킬 새 데이터셋이 필요합니다. 그런 다음, 사전 학습된(pre-trained) 모델에 이를 실행하고 Suite 플랫폼에 모델 예측값을 업로드합니다. 이 때 Suite는 모델이 예측 실패한(failure) 케이스를 찾아서 다시 라벨링할 수 있게 도와줍니다. 마지막으로, 이러한 엣지 케이스를 가지고 Suite 오토 라벨링을 학습시키면 여러분의 모델의 최종 성능을 향상시킬 수 있습니다.

이 주기는 계속해서 반복됩니다. 그리고 반복할수록 Suite는 여러분의 모델이 더 많은 엣지 케이스를 찾도록 도와 모델의 성능을 높일 것입니다.
Suite의 오토 라벨링에 대해 더 자세히 알고 싶으시다면 Auto-Label: Part 1. Suite의 오토라벨 기술 들여다보기 를 참고해주세요.


Suite의 핵심 기술 :

  • 초기 단계에서 적은 양의 정답 데이터를 빠르게 만들어 라벨링 프로세스를 시작합니다.
  • 여러분이 가지고 있는 그 어떤 특정 데이터셋에도 적용할 수 있는 커스텀 오토 라벨링 기술을 사용하여 라벨링 프로젝트를 신속하게 시작할 수 있습니다.
  • 특허 받은 불확실성 추정(Uncertainty Estimation)을 사용하여 사람의 검수가 필요한 까다로운 케이스를 자동으로 신속하게 식별함으로써 검수와 유효성 검사 프로세스를 간소화합니다.

Suite를 통한 놀라운 경험은 언제든 무료로 체험해볼 수 있습니다.


Pachyderm : 데이터의 버전관리 + 자동화


Pachyderm은 머신러닝을 위한 데이터 플랫폼을 만듭니다. 일종의 data-driven 애플리케이션을 위한 GitHub 라고 볼 수도 있습니다.

내부적으로 보면, Pachyderm은 아래의 두가지 요소를 결합함으로써 이런 기반을 만들고 있습니다.

  1. 데이터 버전관리
  2. 데이터 드리븐 파이프라인


git와 마찬가지로 Pachyderm의 데이터 버전 관리 기능을 사용하면 리포지토리(repositories) 및 커밋을 사용하여 데이터를 관리하고 데이터 작업을 반복할 수 있습니다. Pachyderm은 텍스트 파일과 정형 데이터에 국한하지 않고 모든 데이터(이미지, 오디오, 비디오, 텍스트)의 버저닝을 할 수 있습니다. Pachyderm의 버전관리 시스템은 모든 유형의 대규모 데이터셋으로 확장할 수 있도록 최적화되어 있어 일관성 있는 재현성을 제공하기에 Superb AI의 플랫폼 Suite에 이상적으로 연동됩니다.

Pachyderm의 파이프라인은 당신의 코드를 데이터 리포지토리에 연결할 수 있게 해줍니다. 새 데이터가 커밋될 때 파이프라인을 다시 실행하여 데이터 준비, 테스트, 모델 학습 등과 같은 머신러닝 라이프사이클의 많은 구성 요소를 자동화하는 데 사용할 수 있습니다. Pachyderm의 파이프라인과 버전 관리 기능을 함께 사용하면 머신러닝 워크플로우의 엔드 투 엔드(end-to-end) 흐름을 가시화해줍니다.

Pachyderm의 핵심 기술 :

  • ‍MLOps 툴체인을 자동화하거나 통합할 수 있습니다.
  • 다른 툴과의 연동을 지원하여 data-centric 개발을 가능하게 합니다
  • 검수 및 데이터 거버넌스 요구사항을 충족하면서도 신속하게 반복작업이 가능한 환경을 제공합니다.

Pachyderm Hub에서 위의 기술들을 체험해보실 수 있습니다.

Pachyderm : Superb AI의 데이터를 버전관리하는 저장소

이 연동작업에서 Pachyderm은 Superb AI 플랫폼에서 라벨링된 데이터를 버저닝 할 수 있는 자동화된 파이프라인을 제공합니다. 즉, Superb AI Suite를 통해 데이터를 수집하고 라벨링하여 신속한 라벨링 워크플로우를 구축한 후 Pachyderm의 플랫폼에서 버전관리와 나머지 머신러닝 라이프사이클을 자동화함으로써 두 소프트웨어의 장점만을 취할 수 있다는 것입니다.

파이프라인 자체적으로 Superb AI Suite의 데이터를 Pachyderm Hub로 끌어오며, 커밋을 통해 버전을 관리합니다. Superb AI의 API 키를 Pachyderm의 secret(민감 정보를 안전하게 저장할 수 있도록 하는 장치)에 저장함으로써, 이런 연동작업은 쉽고 안전하게 진행됩니다. 이 키를 사용하여 Superb AI에 있는 데이터를 Pachyderm의 데이터 리포지토리로 가져오는 파이프라인을 만듭니다.

저희는 스케줄에 따라(예: 2분마다) 자동으로 새 데이터를 가져오는 크론 파이프라인을 사용하여 이 작업을 자동화합니다. 출력 데이터셋은 데이터 레포지토리에 "sample_project" 로 커밋될 것입니다.


일단 Pachyderm플랫폼에 데이터를 넣으면 나머지 MLOps 파이프라인을 구축하여 모델을 테스트, 전처리 및 학습시킬 수 있습니다.


결론

실생활에서 작동하는 머신러닝 모델을 만들기 위해서는 data-centric 개발이 핵심입니다. Superb AI와 Pachyderm이 함께 데이터 준비 단계를 안전하고 신속하게 통합시킴으로써, 질 좋은 데이터를 지속적으로 모델에 공급하고 데이터 버그를 줄일 수 있습니다.

두 플랫폼의 연동 작업에 대한 전체 코드는 GitHub에서 확인하실 수 있습니다.

‍Superb AI와 Pachyderm은 모두 AI Infrastructure Alliance (모든 기업이 인공지능의 무한한 잠재력을 실현할 수 있도록 돕는다는 사명을 가진 선도적인 인공지능 스타트업들의 컨소시엄)에 속해 있으며 현재와 미래의 인공지능 애플리케이션 기반을 만들어가는 데 전념하고 있습니다.