서비스 향 AI 모델 개발하기 EP.4 AI 모델 개발을 위한 효율적인 AI 팀 구성법

2022/03/04

⏱ 10mins 
  • 이활석 (업스테이지 CTO)

    (전) 네이버 클로바 Visual AI/OCR Head, (현) 업스테이지의 CTO & AI 리서치 엔지니어

    제이미 (콘텐츠 마케터)

  • 최고의 AI 회사의 고객지향적 AI 모델 개발 방법과 구체적인 수행 과제들이 궁금하신 분

  • EP.4를 통해 서비스 향 AI 모델의 성공적인 개발을 위해 가장 효율적인 팀 구성과 각 구성원의 역할은 무엇인지 확인해 보세요.

  • ✔️ 효율적인 조직 구성 : AI 모델 팀
    1. 모델러

    2. 데이터 큐레이터

    3. IDE 개발자

    4. 모델 퀄리티 매니저

    ✔️ 효율적인 조직 구성 : AI 모델 서빙 팀

    1. 모델 엔지니어

    2 .앱 개발자/BE 엔지니어

 
서비스 향 AI 모델 개발하기 EP.4 AI 모델 개발을 위한 효율적인 AI 팀 구성법

EP.4 시작하며

안녕하세요. 드디어 총 4편의 걸친 <서비스 향 AI 모델 개발하기>의 마지막 에피소드까지 오셨습니다. 이번 마지막 에피소드에서는 앞서 소개한 하나의 AI 모델 개발을 하기 위한 수많은 개별 테스크를 담당하는 인력은 어떻게 구성되어 있는지 알아보고자 합니다. 💡성공적인 AI 모델 개발을 위해 효율적인 시너지를 낼 수 있는 팀 구성은 무엇인지, 그리고 테스크 분담은 어떻게 이뤄지는지까지 자세히 살펴보겠습니다.

효율적인 조직 구성 : AI 모델 팀

AI 모델팀은 앞선 3편의 내용에서 많이 언급된 팀인 만큼 익숙하실 듯합니다. AI 모델팀의 주요 역할은 서비스 기획팀으로부터 고객사의 서비스 요구사항과 제약 사항 등을 전달받아 이에 부합하는 AI 모델을 개발하는 일입니다. 그렇다면, AI 모델 팀을 구성하는 인력에는 누가 있을까요?

AI 모델팀을 크게 총 4개의 직무(모델러, 데이터 큐레이터, IDE 개발자, 모델 퀄리티 매니저)로 나누어 설명해보겠습니다. 회사마다 팀마다 구성 방법에 차이가 있으니 참고 부탁드립니다.

[그림 1] AI 모델 개발에 필요한 AI 모델 팀 구성

1. 모델러 (Modeler)

모델러는 서비스 요구사항에 충족하는 AI 모델 개발을 담당합니다. 이들은 고객사의 서비스 요구사항에 부합하는 AI 모델 구조를 제안, 개발하게 됩니다. 따라서 데이터 및 모델을 분석하며, 모델 성능을 최적화시키는 다양한 방법에 관한 고민을 끊임없이 하는 구성원이라고 볼 수 있습니다.

2. 데이터 큐레이터 (Data Curator)

데이터 큐레이터는 팀 내 다양한 업무를 담당합니다. 주로 세 가지의 업무를 한다고 생각하시면 됩니다.

✔️첫 번째 : 모델 학습 및 평가에 필요한 데이터셋 준비.

학습 데이터셋 준비는 앞서 설명했듯이 매우 많은 시간과 자원이 드는 만큼, 신중히 결정해야 할 사안이 많은 단계입니다. (EP.2 참고) 그만큼 이 업무를 수행하기 위해서는 커뮤니케이션 능력과 상당한 노하우를 필요로 하기 때문에 데이터 큐레이터와 같은 별도의 데이터셋 준비 인력이 있는 편이 팀의 효율과 성과를 위해 좋습니다. 데이터 큐레이터는 서비스 기획팀, 모델러와 함께 소통하며 데이터셋의 종류, 수량, 정답을 정의해가며 그에 맞는 데이터셋을 확보하는 역할을 합니다.

✔️두 번째 : 데이터 어노테이션 가이드라인(Data Annotation Guideline) 제작

학습 데이터셋을 정의한 후, 많은 기업이 외주 업체에 통해 데이터 제작을 의뢰한다고 설명해드렸습니다.(EP.2 참고) 그럴 경우, 데이터 큐레이터는 데이터를 어떻게 제작할지 가이드라인을 제작하고 외주 업체와 진행 상황 소통, Q&A 대응 등을 담당하게 됩니다.

✔️세 번째 : 모델 및 서비스 평가 기획 및 실행

데이터 큐레이터는 AI 모델 개발 과정에서 데이터를 가장 많이 들여다본 사람일 것입니다. 서비스 기획팀과 지속적인 소통을 담당하였기에 서비스에 대한 전반적인 이해도도 단연 가장 높은 사람 중 한 명입니다. 따라서, 그들은 AI 모델 후보군 중 서비스 출시 버전을 선택할 오프라인 테스트(정량+정성)의 기획과 실행 업무를 담당합니다. 오프라인 테스트뿐만 아니라 AI 모델의 서비스 출시 후에도 모델 성능에 대한 피드백을 지속해서 트래킹하는 업무도 담당할 수 있습니다. 이런 온,오 프라인 테스트 결과를 토대로 AI 모델과 학습 및 평가 데이터셋에 관한 개선책을 구성원들과 함께 도출하고 반영합니다.(EP.3 참고)

3. IDE 개발자 (Integrated Development Environment Developer)

IDE 개발자라는 용어가 낯설 수 있지만, 이를 간단히 드리면 모델 개발과 데이터 제작할 때 필요한 다양한 툴을 개발하는 사람입니다. 개발 과정에선 반복 업무들이 무수히 많이 발생하고 이런 업무를 빠르고 편리하게 처리하고 관리하는 것이 매우 중요합니다. IDE 개발자가 만드는 툴들을 활용하여 팀 내 퍼포먼스와 효율 증대를 가져올 수 있습니다. 그럼 이들은 어떤 툴들을 개발하는 걸까요?

✔️어노테이션 툴(Annotation Tool)

모델 성능을 개선하는 방법 중 하는 모델 출력물에 대한 정의를 바꾸는 것입니다. 모델 출력물의 정의가 바뀌었다면 그에 맞춰 어노테이션이 달라져야 합니다. 따라서 어노테이션 툴의 변경도 불가피하고, 이런 상황에 효율적으로 대응하기 위한 자체 어노테이션 툴 개발이 필요합니다.

✔️모델 및 데이터 분석 툴

모델 성능은 모델 구조와 학습 데이터, 그리고 학습 방법론에 따라 결정됩니다. 따라서 모델 성능 개선을 위해선 데이터 분석 툴이 필요하게 되죠. 더 나은 데이터를 인압하기 위해 다층적인 데이터 분석이 필요하기 때문입니다.

또한, 모델에 학습된 웨이트, 학습 과정에서 남게 된 로그, 데이터 샘플별 반응 등을 분석하는 일은 모델 성능을 향상할 방법의 하나입니다. 그래서 이런 반복적인 분석 작업을 도와줄 관련 툴을 개발하는 것도 효율성 증대에 큰 기여를 할 것입니다. 만약 여러 모델을 동시에 사용한다고 가정하면 콘솔 창, 주피터 노트북만으로 상세 분석과 디버깅 작업이 힘들어질 수 있습니다. 별도의 분석 툴 개발하고, 이를 적절히 활용하여 효율적인 모델 분석과 디버깅 작업을 하는 것이 바람직합니다.

✔️모델 개발 자동화 파이프라인

모델 간 연결 작업, 모델 배포 전 사전 준비 작업 등 모델 개발 업무 외적으로도 여러 백엔드 작업이 필요합니다. 이런 작업은 대체로 반복적인 특징을 가지고 있어서 관련 파이프라인의 자동화를 통해 모델 실험~서비스 적용까지의 시간을 단축할 수 있습니다.

4. 모델 퀄리티 매니저 (Model Quality Manager)

AI 모델팀이 수행하는 업무들의 목적은 무엇일까요? 고객사의 요구사항에 부합하는 좋은 성능의 AI 모델을 개발하는 일입니다. 이런 목적을 달성하기 위해서는 언제나 이 프로젝트를 관리해 줄 사람이 필요합니다. 그 사람이 ‘모델 퀄리티 매니저'입니다. 조직 내의 여러 업무 진행 상황을 파악, 조율하고 최종 목적지인 ‘성공적인 AI 모델 개발’까지 성공적인 항해를 위해 방향키를 잡아줄 담당자 역할을 합니다.

[그림 2] AI 모델 팀의 조직도와 업무

효율적인 조직 구성 : AI 모델 서빙 팀

고객사의 서비스 요구사항 중 AI 모델 개발뿐 아니라 모델 서빙까지 의뢰가 들어오는 경우가 더러 있습니다. 이때 AI 모델 서빙 팀은 AI 모델 팀이 제작한 모델을 받아 서빙 장치에 맞춰 별도의 작업을 수행하게 됩니다. 이런 역할을 담당하는 두 직무(모델 엔지니어, 앱 개발자)를 알아보겠습니다.

1. 모델 엔지니어 (Model Engineer)

모델 엔지니어는 AI 모델이 서빙되는 장치에 따라 모델 최적화를 실행합니다.

구동 환경이 모바일인 AI 서비스의 경우라면 PyTorch로 작업 된 모델을 TensorFlow, 그 후 TFLite로 재변환하는 일련의 작업이 필요할 것입니다. 만일 모델이 TFLite 변환이 불가한 오퍼레이션을 사용한다면 모델 구조의 변경, 재학습, 또는 해당 오퍼레이션의 Custom Layer 구현을 수행하기도 합니다. 그 밖에도 Distillation, Quantization 등의 모델 경량화, GPU 고속 처리를 위한 CUDA 프로그래밍 작업도 할 수 있습니다.

2. 앱 개발자 (Application Developer) 및 BE 엔지니어 (BE Engineer)

개발 단계에서 서빙 목표 장치에 맞춰 최적화 모델이 나오면, 실제 모델이 서빙되기 위해 별도의 엔지니어링 작업이 필요합니다. 모바일 서비스의 경우, 안드로이드 - IOS 등의 모바일 디바이스 환경에 따라 요구되는 작업이 달라질 것입니다. 반면 API 서빙의 경우, CPU 서빙 - GPU 서빙, Public Cloud - Private Cloud 등의 여러 조건과 서빙 환경에 따른 백엔드 작업이 동반됩니다. 이를 담당하는 것이 앱 개발자 혹은 BE 엔지니어입니다.

[그림 3] AI 모델 서빙팀 조직도와 업무

EP.4 나가며

지금까지 <서비스 향 AI 모델 개발>의 마지막 에피소드인 효율적인 AI 팀 구성법을 살펴보았습니다. 하나의 AI 모델을 개발하기 위해서는 위와 같은 많은 구성원의 노력이 들어가고 있습니다. 업스테이지의 모델 개발팀도 최고의 AI 기술력과 뛰어난 커뮤니케이션 능력으로 멋진 AI 모델(AI Pack)을 만들어 가고 있답니다 😊

총 네 편의 걸쳐 서비스 향 AI 모델 개발 방법을 소개해드렸는데 도움이 되셨나요? 앞으로 더 유익하고 재밌는 테크 지식으로 찾아뵙겠습니다. 지금까지 읽어주셔서 감사합니다.


  • 업스테이지는 AI로 세상을 더욱 이롭게 만들어가는 글로벌 AI 기업입니다. 업스테이지는 세계 최고의 AI 기술과 노하우를 토대로 고객들의 비즈니스 성공을 위한 AI Pack(AI 솔루션)을 제공합니다. AI Pack은 OCR Pack, 추천 시스템 팩(Recommender System Pack)을 주축으로 다양한 비즈니스 문제 해결은 물론 고객사의 AI 혁신을 지원합니다. 업스테이지는 AI 기술로 고객들을 세계 무대에 올려드립니다.

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

 
Previous
Previous

AI 회사에서 소프트웨어 엔지니어는 무슨 일을 하나요?

Next
Next

서비스 향 AI 모델 개발하기 EP.3 테스트 데이터셋과 테스트 방법, 그리고 모델 요구사항 도출