부스트캠프 NLP 3주차 특강: 서비스향 AI모델 개발하기
AI를 공부하다보면 실제 현업에서는 어떤 프로세스를 거쳐 인공지능 모델이 개발되고 서비스
까지 나아갈 수 있을까?에 대한 고민을 한 적이 있을겁니다. 이번 포스트는 업스테이지 CTO 이활석님께서 강연하신 서비스향 AI모델 개발하기를 바탕으로 포스트를 정리하였습니다.
1. 학습 데이터셋 준비
1) 현업에서는 데이터가 주어지지 않는 경우가 많다
학교에서 경험한 AI 모델 개발은 보통 주어진 데이터를 preprocessing하고 EDA를 통해 얻은 insight에 근거해 모델을 개발하게 됩니다. 하지만 현업에서는 데이터가 주어지지 않는 경우가 많습니다.
2) 데이터를 어떤 점에 초점을 맞추고 만들 것인가
데이터를 만들기 위해서는 우선 서비스 요구사항
을 확인해야 합니다. 예시는 강의에서 제공된 자료를 통해 살펴보겠습니다.
위의 그림과 같이 서비스 기획팀과 끊임없는 대화를 통해 어떤 점을 고려하여 서비스를 제공할 지 방향성을 잡아야 이에 기반해 데이터를 구성할 수 있습니다. 또한 이러한 과정과 모델을 개발하는 과정은 순서가 명확하게 나뉘는 것이 아니라, 반복적인 과정을 통해 계속 상호 보완 해야 합니다.
3) 외주업체와의 소통
데이터를 수집, 생성할 때 어떤 점에 초점을 맞출지 정해졌다면, 그리고 이러한 과정을 외주업체에게 위탁하려는 경우 다음 사항을 생각해볼 수 있습니다.
- 작업 가이드 작성
- 작업 단가 논의
- 작업 수량 논의
- QnA 대응
2. 모델 개발
모델에 test해볼 수 있는 최소한의 데이터셋이 확보되었다면 그에 맞게 모델을 개발하면 됩니다. 모델을 개발할 때에도 고려해야할 사항들이 있습니다.
- 처리 시간
- 예) 이미지 입력/촬영 후 수식 정보가 출력될 때 까지의 시간
- 목표 정확도
- 사용자 만족도, 사용자로부터 수정 피드백이 올 확률
- 목표 qps(queries per second)
- 초당 처리 요청 수 (장비를 늘리거나 처리 시간, 모델 크기를 줄이는 방식으로)
- Serving 방식
- 기술 모듈이 Mobile, Local, Cloud 등 어디서 동작하기 원하는지
- 장비 사양
3. 현업에서의 역할 분담
보통 인공지능을 공부할 때는 데이터는 이미 주어져 있기 때문에, 대부분의 시간을 모델 개발에 사용하게 됩니다. 하지만 현업에서는 이 밖에도 맡아야 할 일들이 많습니다.
1) 데이터 준비/분석, 모델 개발, 툴 개발
2) 모델 최적화
3) 모델 서빙
이렇게 인공지능 모델을 개발해 서비스화하기 까지에는 세세한 과정이 있기에 여러 분야들을 조금씩 배우며 자신이 좋아하거나 잘하는 분야에 조금 더 집중하면 좋을 것 같습니다.
4. 참조
Upstage CTO 이활석님의 ‘서비스향 AI모델 개발하기’ 특강