2024년 패스트 캠퍼스 챌린지
패스트캠퍼스 환급챌린지 53일차 미션 (3월 24일) : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기
조이쓰
2024. 3. 24. 23:35
강의 내용 Review
📍배운내용📍
- 추천 시스템과 구성 컴포넌트
👉강의내용👈
로깅
- 실제 추천 뿐아니라 추천에 필요한 데이터를 쌓고 모델을 만들고 서빙하고 실험하기까지 전체적으로 추천시스템을 구성 컴포넌트
- 로깅: 추천시스템은 피드백 기반으로 모델이 학습되는 경우가 대다수, AB테스트를 위해 로깅 데이터를 모아야 함
- 데이터 수집이 제대로 잘되지 않으면 결과가 나쁨
- Client side 로깅: 실제 서비스가 제공되는 UX상에서 유저의 행동
- 사용자의 상호작용을 클라이언트 사이드에서 기록함, 추천 상품은 UX가 포함되어서 고객에게 보임, 추천 시스템은 API로 리스트만 제공하기 때문에 gap이 큼, 추천 시스템만 본다면 추천 프로덕트의 문제가 뭔지 파악하기 어려움, UX도 추천에 아주 중요한 결과, 더 정확한 정보를 로깅할수있음
- 유저가 스크롤을 안하거나 빠르게 넘겼을 경우도 있기 때문에 필수임
- 리스트와 위젯, 상품의 위치와 문구등이 UX에서 중요함
- Backend side로깅: 서버쪽 로깅, 서버에서 발생하는 이벤트나 동작 포함, 사용자의 요청과 응답시간을 저장함, 통계내용등, 피드백 데이터보다는 사용자의 요청, 레이턴시, 메트릭을 알기 위해 사용함
- Database 로깅: 추천 시스템의 데이터 베이스 로그, 즉 모델에 들어가는 피처값을 로깅함, 랭킹과 조회에 사용되는 피처가 어떤지 저장해서 다음 학습에 사용함, 피처의 통계치 변화를 파악하기 위해 사용됨, 피처의 분포가 달라진것을 감지해서 모델을 재학습 해야함
- 이벤트 기반 로깅 시스템: 이벤트 발생시 이벤트 라우터가 받아서 업데이터함, 리얼 타임 피처를 사용하면 필수적임(카프카, 메시지 큐)
Feature Transformer
- 다양한 데이터를 모으고 실제 추천 시스템이 사용가능하도록 변경시켜줘야함, 이때 ETL을 함
- Extract: 데이터추출, Transform: 필요한 형식으로 변환, Load: 목적지로 적재
- 데이터 로드해서 처리하고 다시 저장
- 처리는 배치 프로세싱과 리얼타임 프로세싱으로 나눌수있음
- 배치 프로세싱은 특정 기간동안의 데이터를 한번에 처리함, 필수적임, 정확성과 일관성 보장
- 리얼 타임 프로세싱은 추천 시스템에서 리얼 타임 데이터를 피처로 모델에 넣을때 필요함, 데이터가 도착하는 즉시 결과처리, 여러가지 이슈가 있음
- 서비용 데이터: 실제 모델의 추론에 사용되는 데이터, 현재 데이터만 있으면 됨 실제 빠르게 접근할수있는 DB(key-value)에 저장됨
- 데이터 학습용 데이터: 학습용 데이터, 현재 부터 과거 데이터도 모두 가지고 있어야함
- 자주 쓰이는 프레임워크: 하둡, 스파크(여러대 컴퓨터 묶어서 한번에 처리, 가장 많이 쓰임), 하이브(SQL을 써서 간단하게 처리하는데 좋음)
- 스파크 스트리밍: 스파크 스트리밍, 프링크, 스톰 등 : 대규모 실시간 데이터를 처리하기 위한 프레임워크
공부사진
53일차 후기
추천 시스템의 큰 데이터를 처리하기 위한 다양한 기법들에 대해 배웠다.
현업에 있지 않으니 잘 와닿지는 않는거 같다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.