Data-Centric AI와 Real-World

2023/04/12   |  4 mins
 
  • 박찬준 (AI Research Engineer)

  • AI 시스템에서 데이터의 중요성이 궁금하신 분

    현업에서 Data-Centric AI를 적용하고자 하시는 분
    좋은 데이터를 만들고 싶으신 분

  • AI 시스템에서 데이터의 중요성을 강조하는 “Data-Centric AI”에 대해 알고 계시나요? 데이터를 실제로 다루고 있는 현업, Real-World에서는 이를 어떻게 비즈니스에 적용하고 있는지와 좋은 데이터를 만들기 위해 필요한 요소들에 관해 짚어봅니다.

  • ✔️ Data-Centric AI란?

    ✔️ Real-World에서 Data-Centric AI를 적용하는 방법

    ✔️ Real-World에서 Data를 제작하는 방법

    ✔️ 데이터의 양과 질

    ✔️ 좋은 데이터란?

    ✔️ 마무리 (그렇다면 업스테이지는?)

💡 연료가 있어야 자동차가 움직이고, 재료가 있어야 음식을 만들 수 있습니다. 이와 마찬가지로 인공지능 시스템도 연료와 재료가 필요합니다. 그 역할을 하는 것이 바로 데이터입니다. 본 기고글에서는 “데이터”를 실제로 다루고 있는 현업, Real-World에서 어떠한 일이 벌어지고 있는지 소개하고자 합니다.





Data-Centric AI란?


인공지능은 우리의 일상 어디에나 존재합니다. 우리는 매일 포털 사이트를 통해 검색을 하며 원하는 정보를 얻고, 언어의 장벽을 느낄 때에는 번역기를 사용합니다. 또한 유튜브 추천 시스템이 나의 관심사에 딱 맞는 콘텐츠를 지속적으로 보여주어 시간가는 줄 모르고 영상을 시청하는 경험을 하고 있으며, 다양한 작업의 보조 도구로 ChatGPT를 활용하기도 합니다. 이렇게 우리는 일상 속에서 다양한 AI 시스템을 마주하고 활용하며 살고 있습니다!

이러한 우리의 일상 속 인공지능 시스템은 어떠한 요소로 구성되어 있을까요? 극단적으로 모든 인공지능 시스템은 크게 Data와 Code로 나누어져 있습니다. 1단계로 어떠한 인공지능 시스템을 개발할지 기획 및 설계를 진행하고 (Setup), 2단계로 목적에 맞는 Data 즉 연료를 준비하며, 3단계로 모델을 학습 시키기 위한 코드를 작성 후 GPU 하드웨어를 활용해 개발자가 원하는 인공지능 시스템을 학습합니다. 마지막 4단계에서는 사용자 혹은 고객이 직접 해당 모델을 사용할 수 있도록 시스템에 대한 배포(Serving)를 진행하는 방식입니다.

이렇게 배포만 하고 인공지능 시스템의 라이프 사이클은 종료되는 것일까요? 아닙니다! 인간도 성장하기 위해서는 영양소를 골고루 섭취해야 하듯이 인공지능 시스템도 지속적으로 고도화 하는 작업을 진행해야 합니다. 그렇다면 인공지능 시스템의 고도화를 위해서는 어떤 접근이 필요할까요?

결국 2대 요소인 Code 또는 Data를 고도화시키는 것이 필요합니다. 이 중 Code, 즉 모델링을 통해 성능을 개선하는 것이 아닌, Data의 품질을 향상하고, Data의 Quality Control을 통해 모델의 성능을 향상하는 것이 바로 Data-Centric AI입니다. 즉 Data-Centric AI란 코드, 즉 모델만 고치지 말고 데이터를 고치자! 라는 것입니다.

ChatGPT에게 Data-Centric AI란 무엇인지 질문해보았습니다.

Data-Centric AI에 대한 질문에 ChatGPT가 답변한 내용

Data-Centric AI에 대한 질문에 ChatGPT가 답변한 내용


답변을 살펴보면 Data-Centric AI는 데이터를 중심으로 한 AI 시스템을 의미하며, 데이터를 변환하여 성능을 올리는 점을 강조하고 있음을 알 수 있습니다. Data-Centric AI는 아래와 같이 두 가지로 정리해볼 수 있습니다.


  • 성능 향상을 위해 Data 관점에서 고민하는 연구 방법론 (Hold the Code / Algorithms fixed)

    • e.g. Data Management (새로운 Data 수집), Data Augmentation (데이터 증강), Data Filtering (데이터 필터링), Synthetic Data (합성 데이터). Label Consistency (라벨링 방법 체계화), Data Consistency, Data Tool (라벨링 Tool), Data Measurement, Evaluation, Curriculum learning, Active Learning 등


  • Model Modification 없이 어떻게 모델의 성능을 향상 시킬 수 있을까?에 대한 연구 방법론

    • Should we find another model?

    • AI algorithms that understand data and use that information to improve models.



Real-World에서 Data-Centric AI를 적용하는 방법

data-flywheel

Data-flywheel

실제 현업의 Real-World에서 기업은 Data-Centric AI를 어떻게 적용하고 있을까요? 다양한 방법들이 있지만, 가장 대표적인 프로세스가 바로 “Data-flywheel” 입니다. B2B 기업이든, B2C 기업이든 AI 기반 서비스를 하다보면 log가 쌓일텐데요. 많은 기업에서는 이렇게 쌓이는 데이터를 더 나은 서비스를 제공하기 위해 활용합니다.


유튜브 추천 모델이 우리의 니즈를 알아서 잘 반영해주는 것 역시 로그 데이터를 통해 이를 모델에 반영하여 사용자의 만족도를 높인 것이죠. 우리가 포털 사이트에 검색하는 검색어와 검색 여정 등 플랫폼 상에서 이뤄지는 행동은 데이터가 될 수 있고 또 실제로 쌓이고 있습니다. 이처럼 기업에서 서비스를 운영하다보면 쌓이게 되는 데이터를 모델의 학습데이터로 가공하여 모델에게 지속적으로 추가학습을 진행하면서, 자연스레 모델의 인식 성능을 높이는 것이 바로 Data-flywheel 입니다.


즉 데이터를 기반으로 모델과 상호작용을 하면서 여러 iteration을 돌며, 모델과 데이터 둘 다 퀄리티가 높아지도록 하는 형태인데요. 이것이 바로 Data-Centric AI를 Real-world에 적용했을 때 가장 대표적인 형태입니다.



Real-World에서 Data를 제작하는 방법

그렇다면 Data-flywheel이 Real-World에서 Data-Centric AI의 전부일까요? 아닙니다! Real-World에서는 데이터를 직접 제작하기도 합니다. 하지만 기존의 AI 연구는 대부분 모델 연구에만 집중하고 있었다보니 데이터 개발 라이프 사이클에 대해 구체적으로 체계화된 과정이 수립되어 있지 않았습니다. 그러다보니 데이터를 누가 어떻게 만들고, 어떤 데이터가 좋은 데이터인지, 좋은 데이터는 어떻게 만드는지에 대해 상대적으로 관심이 적었는데요. 이러한 프로세스에 대해 필요성을 느끼고 업스테이지에서는 데이터팀을 중심으로 설계해나가고 있는 중 입니다.

Real-World에서 Data를 제작하는 과정

Real-World에서 Data를 제작하는 과정

데이터 제작 프로세스의 A to Z에 대한 연구를 진행하며 어떻게 하면 좋은 데이터를 만들 수 있을지 고민하고, 그에 대한 파이프라인 연구를 진행하고 있는요. 좋은 데이터를 만들기 위해 DMOPs (Data Management Operation and Recipes)라는 이름으로 다양한 연구를 지속하고 논문도 출간하고 있습니다. (해당 내용은 이어지는 2편에서 다뤄질 예정입니다.)

이러한 역량은 인공지능 모델링 역량, 서빙 역량과 완전히 다른 역량을 요구합니다. 즉 이러한 일을 잘 할 수 있는 사람들을 모아서 팀빌딩을 하는 것이 기업 입장에서 굉장히 큰 경쟁력이 될 것 입니다.

Training Data를 만들기 위한 파이프라인 구조 (출처: https://arxiv.org/pdf/2303.10158.pdf)


이외에도 데이터를 개발하며 Collection, Labeling, Preparation, Reduction, Augmentation 단계 등에서 다양한 Data-Centric AI의 하위 분야들이 기여하고 있습니다.


데이터의 양과 질

그렇다면 데이터를 제작할 때 양과 질 중에 어떤 부분을 더 비중있게 고려해야 할까요? 제가 Real-world에서 데이터를 다루며 느꼈던 점은 바로 데이터의 질을 좀 더 비중있게 다루어야 한다는 점입니다.

기존 학계에서의 Data-centric AI 연구들을 살펴보면, 새로운 Data Augmentation 방법론을 제안한다던지, 합성 데이터를 만들어서 데이터의 크기를 증강시켜 모델의 성능을 향상 시킨다던지 등 데이터의 양적인 부분에 Focus를 두고있는 경우가 많은데요. 그러나 실제 현업에서 서비스를 해보면서 제가 느낀점은, 이러한 부분에 대한 고려도 중요하지만, 데이터의 질, 즉 “레이블 일관성”이 중요하다는 것입니다.

이를 위해 레이블 일관성을 위해서 실제 어노테이터분들에게 데이터별 특성에 따라 어떻게 주석을 할 것인지에 대한 general한 rule을 설계해드림으로써 어노테이터 개개인의 주관적 판단이 데이터에 bias로 작용하지 않도록 가이드라인을 제시해야 합니다. 그 다음 이러한 레이블 일관성을 어떻게 평가할 것인지에 대한 data measurement에 대한 부분, 또 이 평가를 통해 가이드라인을 어떻게 개선할지에 대한 고민이 실무에서 두드러짐을 확인할 수 있었습니다.

이러한 관점에서, 제가 생각하는 바람직한 Data-flywheel은 모델의 성능이 좋지 않으면 추가적으로 데이터의 양을 늘리는 등의 일방향적 개선 방식이 아닌, 모델의 결과에 따라 데이터 생성 과정의 가이드라인과 프로세스 등도 점진적으로 개선되는 데이터-모델 양방향 선순환 구조가 중요하다고 생각합니다. 즉 모델의 성능이 안좋을 때, 단순히 데이터를 더 늘리는 양적인 팽창이 아니라, 질적인 팽창을 해야함을 시사하는 것이죠. 결국 서비스를 하면서 오류가 발생하는 데이터를 더 많이 수집하고, 그러한 데이터의 모호한 레이블을 일관성 있게 수정하는 프로세스가 모델에게 진정 impact 있는 성능 향상을 가지고 오게 됩니다.

양방향 Data-flywheel:  데이터의 양을 늘리는 등의 일방향적 개선 방식이 아닌, 모델의 결과에 따라 데이터 생성 과정의 가이드라인과 프로세스 등도 점진적으로 개선되는 데이터-모델 양방향 선순환 구조

양방향 Data-flywheel: 데이터의 양을 늘리는 등의 일방향적 개선 방식이 아닌, 모델의 결과에 따라 데이터 생성 과정의 가이드라인과 프로세스 등도 점진적으로 개선되는 데이터-모델 양방향 선순환 구조

따라서 고품질의 데이터를 만들기 위해 어노테이션 툴(Data Tool)을 설계하는 것 또한 굉장히 중요합니다. 툴에서 작업자들이 편하게 작업하고, 레이블 일관성이 잘 유지되는지 파악하는 장치가 구현 되어야 할 것입니다. 업스테이지에서도 이러한 데이터 툴을 “Labeling Space”라는 이름으로 개발을 완료하였고, 현재 사내 데이터 파이프라인에 적용하여 고품질의 데이터를 제작하는데 일조하고 있습니다. 이 툴이 데이터 제작의 시간과 비용을 대폭 줄여줄 수 있는, 더불어 좋은 데이터를 생산할 수 있게 해주는 키플레이어로 작동하기 때문이죠.

Upstage Document AI

좋은 데이터란?

우리는 여기까지 좋은 데이터를 만들기 위해 필요한 요소들을 살펴 보았습니다.

그렇다면 좋은 데이터란 대체 무엇일까요? 학계에서는 모델의 성능을 객관적으로 명확히 측정할 수 있는 밴치마크 데이터, Public하게 available한 고품질의 학습 데이터 등이 Good Data로 간주될 것입니다. 그러나 real-world에서 이러한 조건들외에도, 좋은 데이터의 척도가 다양하게 정의될 수 있습니다.

<Real-World에서 쓰이는 좋은 데이터의 척도>

  • meta data가 얼마나 informative한지

  • 데이터의 양이 충분하고, 그 비용은 적절한지?

  • 작업자에게 정당한 보상을 하되, 불필요한 비용이 지불되지 않는 데이터인지

  • Versioning 체계가 잘 이루어졌는지

  • 데이터 저장 폴더 구조가 직관적이고 깔끔한지

  • 불필요한 데이터가 포함되어 있지 않는지?

  • 데이터 요구사항 지시서에 명시된 요구사항을 충족하는지?

  • 데이터의 편중, 편향, 오염 및 윤리적인 이슈는 없는지?

  • 데이터 라벨링은 타당하게 이루어졌고, 일관성이 존재하는지?

  • 소유권과 저작권, 지적재산권, 기밀성, 개인정보는 적절하게 고려되고 있는지?

위와 같은 다양한 요소들을 좋은 데이터의 척도로 볼 수 있습니다. 이는 너무나 당연한 이야기일 수 있으나, 좋은 데이터를 완성시키는 필수 불가결한 요소입니다. 학계에서 good data로 고려하는 사항은 아니지만 real-world에서는 이러한 요소도 고려해야합니다. 즉 Academia에서 말하는 Good Data와 기업에서 생각하는 Good Data에는 차이가 존재합니다.

최근 academia에서 다뤄지고 있는 데이터 연구들을 살펴보면, 모델을 위한 데이터라기보다는, 데이터를 위한 데이터를 만들고 있는 것 같다는 생각이 듭니다. 학계에서의 Data-centric 한 연구들을 살펴보면, 모델과의 호응성을 보기보다는 데이터의 내재적 특성만을 고려하여 필터링을 진행하는 연구가 많은 거 같습니다. 즉 어떠한 데이터를 필터링한다고 했을 떄 그 정제의 기준을 자세히 살펴보면, 모델의 출력 결과를 고려하는 것이 아니라, 데이터의 내재적인 특성에 집중하여 필터링을 진행하고 있는 것입니다. 그러나 좋은 데이터를 왜 만드려고 하는가?에 대한 질문을 던져보았을 때, 좋은 데이터는 사실 좋은 모델을 만들기 위해서 입니다. 즉, 좋은 데이터와 나쁜 데이터를 나누는 기준은 모델의 성능 관점을 고려했을 때 굉장히 유효하다고 생각합니다.

앞서 AI 시스템은 Code와 Data로 나누어진다고 말씀드렸는데요. 단기간에 성능을 폭발적으로 향상시킬 수 있는 부분이 Data인 것은 명확하나, Code를 간과하면 안된다고 생각합니다. 따라서 Code가 이정표가 된 Data-centric한 연구가 필요할 것이고, 이 말인즉슨 Model based Data Centric AI가 이루어져야 합니다.

진정한 Good Data는 모델러들과 여러 iteration을 돌면서 모델의 결과를 바탕으로 지속적인 클렌징을 거쳐 모델의 성능 향상에 기여하는 데이터라고 생각합니다. 모델을 통해 에러를 발견하고, 사람을 통해 클리닝을 진행하는 human in the loop cycle이 중요한 것이죠. 지속적인 사이클을 통해 error free할 뿐 만 아니라, 모델의 결과와 합이 잘 맞는 유기성 있는 데이터가 중요합니다. 다시 말하면, Data-centric AI에 대한 Revisiting이 필요하다고 볼 수 있습니다. 진정한 Data Centric AI를 실현하기 위해서는 데이터를 중요하게 다루는것뿐만 아니라 앞서 언급한 요소들과 조화를 이룰 수 있도록 해아 합니다.

결국 좋은 데이터를 위해 가장 중요한 것 네 가지를 정리해보자면 다음과 같이 정리할 수 있습니다.

1) DMOps와 같은 체계적인 프로세스

2) 레이블 일관성을 고려하여, 어노테이터의 주관이 들어가지 않도록 적절히 설정된 가이드라인과

3) 데이터를 쉽고 효율적으로 제작할 수 있는 Tool

4) Model의 결과를 방향성으로 지속적인 클렌징 과정을 거친 데이터

이처럼 클렌징 과정을 통해 데이터 품질과 가이드라인, 그리고 모델의 성능도 함께 개선되는 양방향 선순환 구조를 바탕으로 만들어진 데이터가 좋은 데이터라 정의할 수 있다고 생각합니다. 그리고 그 가치는 시장에서 모델을 통해 평가를 받게 될 것입니다. 결국 AI 기업일지라도 데이터 전문, 모델 전문을 넘어서서 모델과 데이터 모두를 잘하는 기업이 앞으로 살아남게 될 것이라 생각합니다.


마무리 (그렇다면 업스테이지는?)

모델과 데이터 모두를 잘하는 기업이 바로 업스테이지입니다. 제가 지금까지 말씀드린 Real-world에서 Data-centric AI 기법들을 No-Code, Low-Code 형태의 All in one 패키지로 출시한 것이 업스테이지에서 개발한 “Upstage AI Pack” 입니다. Upstage AI Pack은 Real-world에서 Data centric AI의 개념을 잘 녹여낸 AI 플랫폼의 대표적인 사례라고 생각하시면 되겠습니다. Data-flywheel의 선순환 구조를, 여러분의 마우스 클릭 한 번에 다 담아내었습니다. AI를 잘 모르시는 분들도 마우스 클릭만으로 AI 시스템을 쉽고 효율적으로 제작할 수 있는 노코드-로우코드 AI 솔루션입니다.

이러한 AI Pack에 구현되어 있는 real-world를 고려한 다양한 요소들이 반영되면, Good Data를 넘어 Great Data를 만들 수 있다고 생각합니다. 업스테이지의 AI Pack이 많은 기업의 Great Data를 만들어내는데 도움을 드릴 수 있게 되길 바랍니다. 다음 2편에서는 실제 데이터를 구축하는 DMOps(Data Management Operation and Recipes)에 관한 이야기가 이어집니다.

 
 
 
  • 2020년 10월 설립한 업스테이지는 이미지에서 원하는 정보를 추출해 이용할 수 있는 OCR기술을 비롯, 고객 정보와 제품 및 서비스 특징을 고려한 추천 기술, 의미기반 검색을 가능케하는 자연어처리 검색기술 등 최신 AI 기술을 다양한 업종에 맞춤형으로 손쉽게 적용할 수 있는 노코드-로코드 솔루션 ‘Upstage AI Pack’을 출시, 고객사들의 AI 혁신을 돕고 있다. Upstage AI Pack을 이용하면 데이터 가공, AI 모델링, 지표 관리를 쉽게 활용할 수 있을 뿐 아니라 지속적인 업데이트를 지원, 상시 최신화 된 AI 기술을 편리하게 사용할 수 있다. 더불어, AI 비즈니스 경험을 녹여낸 실습 위주의 교육과 탄탄한 AI 기초 교육을 통해 AI 비즈니스에 즉각 투입될 수 있는 차별화된 전문 인재를 육성하는 교육콘텐츠 사업에도 적극 나서고 있다.

    업스테이지는 구글, 애플, 아마존, 엔비디아, 메타, 네이버 등 글로벌 빅테크 출신의 멤버를 중심으로 NeurlPS를 비롯, ICLR, CVPR, ECCV, WWW, CHI, WSDM 등 세계적 권위의 AI 학회에 다수의 우수 논문을 발표하고, 온라인 AI 경진대회 캐글(Kaggle)에서 국내 기업 중 유일하게 두 자릿수 금메달을 획득하는 등 독보적인 AI 기술 리더십을 다지고 있다. 업스테이지 김성훈 대표는 홍콩과학기술대학교 교수로 재직하면서 소프트웨어공학과 머신러닝을 융합한 버그 예측, 소스코드 자동생성 등의 연구로 최고의 논문상인 ACM Sigsoft Distinguished Paper Award 4회 수상, International Conference on Software Maintenance에서 10년 동안 가장 영향력 있는 논문상을 받은 세계적인 AI 구루로 꼽히며, 총 700만뷰 이상을 기록한 ‘모두를 위한 딥러닝’ 강사로도 널리 알려져 있다. 또한, 업스테이지의 공동창업자로는 네이버 Visual AI / OCR 을 리드하며 세계적인 성과를 냈던 이활석 CTO와 세계 최고의 번역기 파파고의 모델팀을 리드했던 박은정 CSO가 참여하고 있다.

    업스테이지 홈페이지 바로가기

 
Previous
Previous

‘챗GPT 아버지’, 샘 알트만의 GPT-4와 AGI에 대한 대담

Next
Next

똑똑한 AskUp(아숙업) 활용법 Vol. 2 - 교육/학습편