본문 바로가기

부스트캠프 AI Tech 3기/이론 : U-stage

[Day17] AI 서비스 개발 특강 1. 서비스 향 AI 모델 개발하기

서비스향 AI 모델 vs 수업/연구 AI 모델 개발

  • 서비스향 AI 모델
    학습 데이터셋이 없는 경우도, test 데이터셋, 테스트 방법이 없을 수 있다.
    대신 서비스 요구사항이 있다.
  • 수업/연구 AI 모델
    정해진 학습 데이터셋, test 데이터셋, 테스트 방법이 주어진다.

학습 데이터셋 준비

  • 종류
  • 수량
  • 정답

를 질의응답을 통해서 구체화한 후에 기술모듈을 설계한다.

같은 데이터를 사용하는 모델이더라도 목적이 다르면 정답도 다르게 된다.

그래서 (데이터, 정답)을 한 쌍으로 생각해야 한다. 

 

테스트 데이터셋/방법

  • Offline 테스트
    개발 환경에서 성능 평가
  • Online 테스트
    실 서비스 적용을 할 때의 성능평가

offline 테스트와 online 테스트의 차이가 크면 좋지 않다.

제대로 정량평가를 setting했다면 그렇지 않을 것이다.

 

그래서 밑의 순서대로 테스트 한다.

  1. offline 정량평가
    완벽하지 않기 때문에 AI모델 후보 선택할 때 사용
  2. offline 정성평가
    후보 중 하나를 면밀하게 분석할 때 사용
  3. online 정량평가
    서비스를 돌면서 지표들을 자동으로 평가할
  4. online 정성평가
    VOC(Voice Of Customer)
    claim을 모아서 개선 포인트를 파악

모델 요구사항 도출

  • 처리 시간
    하나의 입력이 처리되어 출력까지 걸리는 시간
    online과 offline 테스트 시간이 다르다.
  • 목표 정확도
    해당 기술 모듈의 정량적인 정확도
  • 목표 qps
    QPS : Queries Per Second : 초당 처리 가능한 요청 수
    높을 수록 좋다.
    장비를 늘리거나, 처리 시간을 줄이거나, 모델 크기를 줄이면 qps를 높힐 수 있다.
  • serving 방식
    AI모델이 어떤 하드웨어에서 동작하느냐
    local or cloud , CPU or GPU, mobile or not
  • 장비 사양
    어떤 장비를 살 것인가
    예산과 QPS에 맞춰서 장비 사양을 정해야 한다.

서비스향 AI 모델 개발 기술팀의 조직 구성

AI 모델팀

  • Modeler : modeling하는 사람 : AI 모델을 개발하는 사람
    • AI 모델 구조 제안
    • 성능 분석, 디버깅
  • Data Curator : data 준비
    • 외주 업체 대응
    • 서비스 기획 팀과 communication
    • 정성평가/정량평가 수립/분석
  • IDE Developer : tool 개발
    • 데이터나 모델 관련 업무 중 반복적인 일을 효율적으로 하게 하는 tool 개발
    • 라벨링, 모델 분석, 모델 개발 자동화/툴 개발
    • 모델 뒷단의 파이프라인 개발
  • Model Quality maganer : 모델의 전체적인 품질 관리자

AI 모델 Serving팀

end device에 맞춰서 serving

  • Model Engineer
    • 환경, device에 맞게 코드 변환
    • 경량화
    • cuda programming : GPU 고속 처리