KT AIVLE School 3기

[KT AIVLE School 3기] 7차 미니 프로젝트 후기

도돔 2023. 6. 1. 00:16

  총 3개의 스텝으로 이루어진 에이블 스쿨 커리큘럼의 STEP 2까지 마무리되었다! 6개월이라는 교육기간 중 벌써 3분의 2가 지나갔고, 마지막 빅 프로젝트만 남았다는 게 실감이 나지 않는 것 같다. 이제 에이블 스쿨 4기도 모집하고 있던데 5월은 웹이나 인프라, 클라우드 등 처음 배우는 내용이 많아서 더 정신없이 지나갔던 것 같다. 

 

5월도 끝이라니..!

 

  이게 마지막 미니 프로젝트 후기인 것도 믿기지가 않는다 (•́д•̀) 그래도 새로운 도전의 연속이었던 마지막 미니 프로젝트 후기를 적어나가 보겠다!

 

 


 

ChatGPT를 수어로 사용하는 웹서비스 데모 구현

 

  마지막 미니 프로젝트의 주제는 수어 이미지를 입력하면, 해당 이미지를 영어로 번역 후, ChapGPT에게 전달하여 응답을 받는 웹 서비스 구현이다. 이번에는 기존 프로젝트 진행 방식과는 많이 다르게 진행되었다! 

 

 

1단계 (1~2일차) : ML Pipeline 구축


  가장 먼저, 프로젝트 진행에 필요한 가상환경 구축을 하였다. 지금까지는 단순히 vscode, jupyter notebook, colab을 사용하여 AI 모델링을 진행하였다. 소규모의 프로젝트에서는 이런 개발 환경이 큰 문제가 없지만 서로 다른 팀 간의 협업이나 그를 넘어 회사와 회사 간의 협업이 이루어지게 된다면, 개발 환경을 통일하는 것이 굉장히 중요하게 될 것이다! 원활한 협업 환경 구축 및 개발 환경을 통일하기 위해 파이프라인, MLOps를 사용한다. 프로젝트와 관련된 파이프라인을 구축하기 위해, 1~2일차는 데이터 전처리 및 AI 관련 코드를 작성하였다. 수어 이미지 데이터를 전처리하고, 수어 이미지를 영어로 번역하는 머신러닝 모델을 완성했다! 

 

  코드 작성을 완료한 후에는, mlflow를 사용하여 모델 배포를 관리하는 실습을 진행하였다. mlflow라는 오픈 소스를 처음 접해보았기에, 갓기영 강사님의 설명을 들으며 수어 번역 모델을 배포하였다. mlflow를 사용하게 되면, 새롭게 학습시킨 모델을 hyperparameter까지 세세하게 다양한 버전으로 자동 저장할 수 있다! 또한 mlflow를 통해서 학습 정확도/loss와 같은 평가 지표를 그래프로 확인할 수도 있다! 성능 굿 ദ്ദി ˉ͈̀꒳ˉ͈́ )✧

 

 


2단계 (3~4일차) : 서버 세팅 / 클라우드 환경 구축


  두 번째 단계에서는 장고를 사용하여 AI 모델과 웹 환경을 구축하는 것이 주목적이었다. 그러기 위해 가장 먼저 장고를 사용하여 개발을 위한 가상환경을 구축하고, AWS를 사용하여 클라우드 환경을 구축하였다. 개인적으로 장고를 에이블 스쿨을 통해 처음 접해보았기 때문에, 장고 교육 과정 때는 시간 내에 무언가를 따라가는 것이 너무 힘들었는데, 실제로 나와 비슷한 상황이었던 에이블러가 많았던 것을 인지해서 일부러 환경 구축 과정을 넉넉하게 잡으신 것 같았다..!! 덕분에 시간 내에 잘 끝낼 수 있었다 ㅎㅎ AWS를 사용하여 클라우드 환경을 구축하였는데, AWS에 대해서 더 많이 다루어 보고 싶다는 개인적인 바람이 있다 ¢(・ω・`) 

 

  환경 구축을 완료한 이후는, 모델을 장고 환경에 연결하였다. 그냥 ChatGPT를 다이렉트로 사용할 수 있는 메뉴와, 수어 이미지 입력과 함께 사용할 수 있는 ChatGPT 메뉴를 연결하였다. 이번이 두 번째로 장고를 다루어보는 거라 그런 건지, 강사님들이 코드를 너무 깔끔하게 만들어 배포해서 그런 건지는 모르겠지만 생각보다 원활하게 되어갔다 우하하!

 

 

 


3단계 (5~7일차) : 웹서비스 데모 구현

 

  2단계를 마치고 나니, 웹서비스를 배포할 수 있었다. 하지만 당연히 기본 옵션으로 구성되어 있는 웹이기에, 가독성 좋게! 꾸미는 시간을 가졌다 ^~^ 프론트엔드 관련 개발을 처음 해보는 시간이어서, 두근두근 궁금했다~ 우선 팀원들과 역할 분담을 진행하고 웹 디자인 작업을 진행하였다. 웹의 디자인을 꾸미기 위해, 단순히 css와 html을 기초부터 사용하지는 않고, Bootstrap이라는 프레임워크를 사용하였다! 처음 사용해 보는 프레임워크기에, 이것저것 헤매면서 내가 맡은 분량을 해나갔다. 나는 우리가 사용할 페이지의 가장 메인 화면을 꾸미는 역할을 맡았다. 그래서 가장 먼저 어떤 식으로 디자인할 것인지 계획을 세우고, 그에 맞게 개발은 진행하였다.

 

이런 메인 화면을 만들고 싶었다...!!

 
  6일차에는 분당 교육장에서 대면으로 진행하였다! 하루종일 프론트엔드 작업을 계속했는데, 고맙게도 여러 팀원 분들이 내가 다 못하거나 헤매고 있던 부분들을 같이 도와주셔서 구현을 마칠 수 있었다. 

 

  마지막 7일차에는 AWS를 사용해서 배포를 하면서 미니 프로젝트를 마쳤다. 마지막 오후시간에는 다른 조들의 산출물을 같이 살펴보는 시간을 가졌다. 나는 훈련수기 공모전 시상식이 있어서 잠시 외출 처리를 했다가 돌아왔다. 메타버스를 사용한 시상식에 참석했더니 굉장히 재미있었다 :)

 

메타버스 시상식 현장에 당당히 이름 올린 나 (。•̀ᴗ-)✧


 

  마지막 미니 프로젝트를 마치니까 기분이 정말 이상하다..!! 이제 진짜 끝이 보이는데, 막상 마지막 미니 프로젝트를 끝마치니 아쉬운 것들이 많이 생각나는 것 같다. 프로젝트를 하거나 강의를 듣다 보면 저녁에 기진맥진해서 쉬면서 보낸 시간을 더 알차게 보낼 수 있었던 것 같기도 하고, 그때그때 배운 내용을 복습하고 정리하고 기록해 두면 좋았을 걸 싶기도 하다. 진짜 마지막으로 남은 빅 프로젝트 잘 마무리해보자!! 끝까지 파이팅 ᕦ(ò_óˇ)ᕤ

728x90
반응형