본문 바로가기
일상/그냥

AWS 해커톤 캠프 2,3일차

by 박영귤 2024. 2. 5.

캠프가 끝난지 3일 지난 후 작성하는 후기이다. 1일차때 했던 실습 교육을 2일차 4시까지 이어서 하였다. Lambda와 서버리스 챗봇을 직접 만들어보는 시간을 가졌다. 실습교육이 끝난 이후에는 잠시 휴식한 후 6시에 팀빌딩 발표를 해주었다. 우리 팀은 1일차때 친해져서 "같은 팀 하고 싶어요"칸에 체크 표시해둔 찬솔이형과, 다윤, 수연이었다. 찬솔이형 말고 다른 두 명은 초면이라 초반에 치킨과 피자 먹으면서 친해지는 시간을 가졌다. 이때 이것저것 얘기하며 조금은 친해진 것 같다 ㅋㅋㅋ 해외에 나가서 살고싶다는 낭만 이야기도 하고 태어난 김에 세계일주 이야기도 하였다. 친해지는 시간에 팀명이랑 주제도 정해야 했다.


주제는 <여행지를 고민중인 사람을 위한 여행지 추천 기능> 서비스를 만드는 것이다. 사용자가 직관적인 질문에 대답을 한다. 예를 들어 바다 vs 산이나, 힐링 vs 액티비티 등의 질문 여러개에 대답을 하는 것이다. 그 대답을 이용해 사용자의 성향을 파악하고, 그것을 기반해서 여행지를 추천해주는 서비스이다. 시작이 너무 막막했다. 어떻게 추천 기능을 만들 수 있을지를 고민해보았다. 우선 여러 여행지를 리뷰한 블로그 게시글들을 크롤링해서 label을 준비한다.

 

첫 번째 방법은 ChatGPT에게 크롤링한 데이터를 context로 제공하고, 사용자의 대답을 입력하여 어느 여행지를 가야하는지 추천받는다. 이 방법은 문제점이 있었다. ChatGPT에게는 막대한 양의 context를 제공할 수 없을 뿐 아니라, 제공한다고 하더라도 ChatGPT는 만능이 아니라서 제대로 추천해준다는 보장도 없다.

 

두 번째는 OpenAI 모델을 fine-tuning해서 우리만의 여행지 추천하는 모델을 만드는 것이다. 하지만 이 방법은 어떻게 해야하는지 감이 전혀 잡히지 않아서 포기하였다.

 

세 번째로 여행지별로 얻은 리뷰에서 키워드를 뽑은 후 여행지의 특징으로 지정한다. 그 후 사용자의 대답들에서 얻은 여러 특징에서 가장 많이 겹치는 여행지를 추천해준다. 이 방법은 특별히 학습이 필요한 부분이 아니라 알고리즘만 적용하면 되는 부분이라서 쉽게 구현이 가능하지만, 조금 틀에 박힌 추천만 가능하다는 단점이 있다. 하지만 해커톤이기 때문에 우선 이 방법을 선택하기로 하였다.

 

사실 이 방법을 선택하기까지 굉장히 오랜 시간이 걸렸다. 첫 번째와 두 번째 방법을 실패하고, 멘토님께 질문을 여러번 드리면서 점진적으로 방법을 찾아갔다. 결국 세 번째 방법을 선택할 때는 새벽 4시정도가 되었다.


여기서부터는 구현 부분이었다. 방법도 다 정해졌고, 아키텍쳐도도 모두 완성했다. 프론트도 어느정도 완성되어있는 것 같았다. 내가 추천 메커니즘 구현 방법을 생각하는 동안 다른 팀원들이 많은 부분을 구현해주었다. 찬솔이형은 크롤링 후 키워드 뽑는 부분을 맡았고, 수연이는 프론트, 다윤이는 나와 함께 추천 메커니즘을 생각하며 이것저것 해보다가, 난이도가 높아서 ppt 부분을 맡았다. 각자 맡은 부분을 계속해서 진행하고 있었다. 나는  구현하면서 클라우드 서비스의 대단함을 느꼈다. 정말 클릭 몇번으로 서버가 생성되고, db와 연결되는 모습이 신기하였다. 간단한 사용법이 아니었다면 시간 내에 끝낼 수 있었을지도 잘 모르겠다. 실습시간에 배운 Cloud9, EC2, RDS를 사용해서 백앤드 부분을 구현하였다. 기능은 난이도가 높이 않아서 어렵지 않게 구현할 수 있었다.

 

구현을 진행하면서 진짜 엄청 먹었던 것이 기억에 남는다. 치킨도 먹고, 점심도시락이었던 유부초밥과 스팸 무스비도 먹었다. 또 제공되는 간식도 여러개 주워먹었다 ㅋㅋㅋ 심지어 9시 20분정도에 구현이 끝나서 바로 조식도 먹었다. ㅋㅋㅋㅋ 때깔 고운 귀신이 될 수 있을 것 같다. ㅎㅎ


결과물 완성 후 발표자료 제출하고 1시에 모든 팀 발표가 시작되었다. 속전속결로 진행되어 크게 언급할 점은 없었다. 여러 발표를 들으면서, 우리 조가 꽤나 선방했다는 것을 느꼈다. 반대로 많은 조들이 짧은 시간 내에 좋은 아이디어를 내고 구현도 완성해낸 모습이 인상적이었다. 능력있는 사람들은 어느 집단에 속해도 잘 융화되는 것 같다. 능력이 없으면 집단 속에서 따라가려고 노력하다가 지치기 마련이다. 나도 능력을 갖춘 사람이 되고 싶다. 충분한 능력을 갖춰서 이런 대회들에서 100% 나의 능력을 발휘하고 싶다. 누군가의 우상이 되고 싶다.

 

결국 우리 조는 7팀 중 4위로 중간 순위에 들었다. 아마 추천 기능의 메커니즘과 정확도 측면에서 문제가 있었을 뿐 아니라, 이 서비스의 목적이 너무 단순하다는 점이었을 것 같다. 결국 여행지 추천만 해주는 것이고, 사회 문제와 연관을 짓기에는 무언가 부족했다. 너무 앞만 보고 달려서 몰랐는데 결과를 보니 이런 피드백이 술술 나오는게 참 신기했다. ㅎㅎ

 

프로젝트 하는동안 나 뿐만 아니라 팀원들도 고생 너무 많이 했다. 지금까지 살면서 최고의 팀워크였던 것 같다고 해도 과언이 아니다. 모두의 의견을 비난 없이 수용해주는 배려하는 모습도 너무 인상깊었고, 각자 자기가 맡은 일을 꿋꿋하게 잘 수행해주었다. 문제를 해결해나가는 방법을 아는 팀원들이었기에 가능한 일이었던 것 같다. 모두가 포기보다는 도전적인 정신으로 나아갔다. 내가 제일 좋아하는 마인드를 가진 사람들이었던 것 같다! 다들 고생했어 ㅎㅎ

 

 

사진은 생각나면 올리는걸로...

'일상 > 그냥' 카테고리의 다른 글

[교환학생] 교환학생 체크리스트  (1) 2024.02.15
AWS 해커톤 캠프 1일차  (3) 2024.01.30
2024 상반기 계획  (2) 2024.01.09
무럭이 8월 말 근황  (3) 2023.08.24
폭풍성장중 무럭이  (9) 2023.07.05