/final-project-level3-recsys-05

[부스트캠프 AI Tech 3기 최종 프로젝트] 산타 백준 - 개인화 코딩 문제 추천 웹서비스

Primary LanguageJupyter Notebook

05 TEAM 알잘딱깔센

산타 백준 - 개인화 코딩 문제 추천 웹서비스

🏆️ 프로젝트 소개

코딩 테스트를 준비하는 사람들을 위한 실시간 백준 문제 추천 웹서비스

💻 활용 장비

  • Ubuntu 18.04.5 LTS
  • GPU Tesla V100-PCIE-32GB
  • Google Cloud Platform VM Instance (Ubuntu, 18.04 LTS)

🙋🏻‍♂️🙋🏻‍♀️ 팀 소개

전체 서비스

사용 데이터

사용 모델

모델 학습 파이프라인

  • 모델 별로 학습 파이프라인을 구축하여, Airflow와 MLflow를 사용해 주기적으로 모델을 학습 및 업데이트

모델 API 서버

  • 백엔드에서 user-id, feedback에 대한 데이터를 받음
  • 모델 학습에 필요한 데이터를 실시간으로 수집
  • 전처리를 거쳐서 각 모델 별로 후보 추천 리스트를 생성
  • 해당 후보 집단 내에서 유저의 전체 풀이 내역을 이용해 한번의 필터링을 거침
  • 각 모델에 따른 유저 피드백 정보를 MAB 알고리즘의 일종인 Thompson Sampling의 파라미터로 사용하여 개인화된 추천 결과를 생성

데이터 파이프 라인

  • Airlflow를 이용한 데이터 수집 및 병령활, Bigquery를 이용한 데이터 관리

웹 서비스

  • Spring을 이용하여 웹 구현, 유저 회원 관리 및 유저 피드백 수집

CI/CD

  • Jenkins를 이용한 CI/CD, Docker를 이용한 원격 배포, 빌드 결과를 Slack으로 알림

사용자 요청 흐름도