AI 기반 플랫폼을 AWS에 통합하는 과정 회고

Simon Kim·2023년 12월 6일
0

0. Preview

올해 초부터 10월까지 회사에 구성되어 있는 AI기반 플랫폼을 AWS에 구성 및 구현하는 고도화 과정을 진행하였다. 블로그를 작성하는 12월 기준으로 약 10개월 정도 진행된 프로젝트(에이.. 그런 표현 쓰면 안된다.그냥 추가 개발이라고 하자...)였다.
회사에 구성되어 있는 AI기반 플랫폼은 초기 협력 업체에서 개발하여 운영을 하다가, 응답 데이터의 정확도가 낮아서 고객의 컴플레인이 많았던 상황이었다. 이 와중에 협력 업체의 유지보수 기간이 종료되고, 운영할 수 있는 내부 팀원이 없어 저~~멀리 한동안 묵혀뒀던 플랫폼이었으나, 응답 데이터의 정확도를 향상 시켜야 하는 미션이 생기면서 숙성 중인(?) 플랫폼의 아키택처 및 소스 코드를 꺼내게 되었다. 오늘은 해당 플랫폼을 어떻게 통합하게 되었는지 내 나름대로 정리해 보았다.

1. 아키텍처 및 소스 코드 분석

기 운영중인 AI기반 플랫폼 분석을 위해 협력 업체에서 제출한 산출물을 분석해 보았다. 어떤 특별한 아키텍처로 구성되어 있을거라 내심 기대하며 아키텍처를 살펴보니, 내가(아니 우리모두) 알고 있는 흔한 3-tire 아키텍처로 구성되어 있었다. AI니까 최소한 데이터 학습에 필요한 어떤 서버 또는 학습 서비스를 사용해야 하는데..이거는 어디로 사라졌는지 글로만 대략적으로 표현되어 있고 아키텍처 설계 도면에는 표현되어 있는 부분이 없었다. 마치 데이터 학습은 협력 업체에서 할테니 너희는 쓰기만 해 라는 느낌!!
(응?? 이러면 안되는데...)

초기 아키텍처

다행히, 인수인계 받은 소스 코드에는 데이터 학습에 필요한 기능들은 구현되어 있어, 관련 도메인을 잘 아시는 데이터 사이언티스트 분들과 함께 학습 동작 원리와 이에 필요한 추가적인 아키텍처를 설계할 수 있었다.

2. 설계

분석한 아키텍처 및 소스코드를 기반으로 10월까지 목표 달성을 위한 미션을 아래 3가지로 정하고, 구체적인 업무를 산정하였다.

1. 구성되어 있지 않은 데이터 학습 관련 아키텍처를 구성한다. 
2. 데이터 학습 -> 모델 배포 -> 모델 검증이 가능한 프로세스로 플랫폼을 구현한다.
3. 데이터의 정확도를 높이기 위한 raw 데이터를 추가로 확보하고, 모델 튜닝을 통해 정확도를 높인다.

이 중, 1번 미션을 달성하기 위해, 위의 이미지대로 구성되어 있는 아키텍처 개선을 위해 데이터 학습 관련 서버를 추가하고, 데이터 학습을 통해 산출된 모델을 관리할 수 있도록 파이프라인을 개선하였다.

개선 아키텍처

또한, 2번 미션을 달성하기 위해, 기 구성된 플랫폼에 해당 프로세스를 구현하기 위한 백엔드 기능 및 프론트 화면을 추가/변경하여 버튼 클릭만으로 프로세스의 진행현황 및 결과를 한번에 파악할 수 있도록 구현하였다.
(마치 2006 aws 처음 출시 되었을 때의 철학을 반영하는 것 같은??)

모델 배포 프로세스 컨셉

3. 개발

설계된 내용을 바탕으로 아키텍처 구성 및 코드 구현을 진행하였는데, 생각보다 이슈가 많았었다. 이 중, 가장 컸던 이슈는 아래 2가지 였다.

  1. 내가 AWS SDK 기반 구현 경험이 적어서 그런지, SDK 내 모듈 실행시 내가 생각하는 방식으로 동작하지 않아 오류 발생 시 원인파악이 힘들었다.

  2. 1번의 연계선상으로 통합 테스트 시 데이터 사이언티스트가 튜닝한 데이터 학습 기능을 사용하고, 생성된 모델을 배포 후 검증하면 현재 학습된 모델이 아닌 이전에 학습된 모델로 응답 결과가 나오는 경우가 있었다. 1번과 마찬가지로 명확한 원인을 파악할 수 없어, 결국 최초 설계된 프로세스를 갈아 엎어서 모델 배포 프로세스를 어플리케이션 단위 -> 플랫폼 서버 단위로 바꾼 후 모델 검증을 진행하였다.

    4. 결과 및 회고

    결구 일정에 맞춰 원하는 결과를 내부에서 도출하였고, 의사결정을 걸처 서비스 배포를 확정받게 되었다. 서비스 배포 후, 사용자 불편사항이 많이 개선되었다는 피드백을 받아 팀 내부적으로는 좋은 평가를 받은듯 하다. 무엇보다도 구성되어 있지 않았던 데이터 학습 관련 아키텍처를 구성하고, AI기반 학습 관련 데이터 사이언티스트 분들과 협업하면서 AI 기반 서비스나 플랫폼 구성 시 고려사항을 알 수 있게되어서 개인적으로는 많은 경험을 한 프로젝트(어허.. 플젝 아니라니까)라고 생각한다.

profile
다양한 주제를 심플하고 명확하게 정리해 보려는 연차만 많은 IT 잡부입니다. 사람들과의 소통을 사랑합니다.~^^

0개의 댓글

관련 채용 정보