2024년 패스트 캠퍼스 챌린지

패스트캠퍼스 환급챌린지 54일차 미션 (3월 25일) : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기

조이쓰 2024. 3. 25. 19:41

강의 내용 Review


📍배운내용📍

  • 추천 시스템 구성 컴포넌트 

👉강의내용👈

Retrival

  • retrival을 위한 전용DB구축은 ANN 때문에 필요함, 투타워 아키텍쳐가 있을때 임베딩을 생성하게 되고 쿼리랑 유사한 것을 빠르게 찾는 것 
  • SCaNN: 대규모 벡터 유사도 검색을 효율적으로 수행, 내적, 코사인, 유클리디안 거리 씀 
  • FAISS:클러스터링또한 제공하고 램크기에 맞지 않아도 제공함, 매개 변수 조정 필요함, 퀀타이제이션(벡터의 크기를 줄이는 것)
  • ANN라이브러리는 문서가 적고, DBMS의 기능은 없음, 검색 엔진 기능이 없음 
  • 벡터를 넣고 나오게 하는 것만 가능함
  • 검색 엔진과 벡터 데이터 베이스(새로나옴, 실제 벡터를 처리하기 위함)
  • 검색엔진 DB는 검색전용으로 사용되는noSQL DB, 인덱스를 사용해서 검색함, 다양한 형태의 데이터 처리가능, 랭킹 등을 제공함 
  • Full-text search : 문서에서 단어 검색, 랭킹 알고리즘 제공, DLS 
  • 검색과 추천이 동일한 인프라를 가져갈수있음 
  • ANN만 있을경우 소팅이 안됨, DB를 구축해서 쿼리를 날릴수 있으면 좋음 
  • Faceting: 유저의 추천, 검색활동을 하는데 도움을 줌, 추천 된 것안에 어떤 것이 있는지 돌려주는 기능
  • ElasticSearch : 대표적인 검색엔지 DB, Lucene 은 검색엔진, ANN가능
  • Vespa: 야후에서 개발한 검색엔진, 추천, 개인화, 타겟팅을 했음, 벡터 검색, 필터링, 머신러닝 모델 인퍼런스 등
  • 멀티 스테이지 리트라이벌 랭킹 지원 
  • ANN벤치마크 사이트에서 성능을 확인할수있음

Feature Store

  • 목적 : 모델에 이용할 피처에 빠르게 접근하거나 오프라인과 온라인에서 동일한 프로세싱 유지 
  • Training-serving Skew : 학습과 서빙시에 다른 데이터 처리 파이프라인을 가지고 다른 데이터처리를 해서 모델이 피처가 달라지는 경우
  • 이것을 줄이기 위해 라이브러리 공유, 라이브러리를 빼서 같이 사용함
  • 빠른 속도와 복잡한 쿼리 없이  원하는 피처들을 가져와야함 
  • 피처 레지스트리: 피처를 저장해놓는 것

모델추론 서버 

  • ML모델을 지속적으로 추론할수있는 서버 
  • 인퍼런스는 CPU로 하는 것이 더 빠름
  • 모델추론을 돕는 기능 
  • BentoML: 인퍼런스시에 배포, 스케일링 해서AI 어플리케이션을 만드는것을 도움
  • grpc기능 제공: 구글에서 만든 remote procedure call 
  • 레스트API는 HTTP위에서 성능이 느림, 하지만  tcp/ip를 사용해빠르고 프로토콜 버퍼를 사용해서 시리얼 라이즈 된 정보를 받음, 보안이나 인증 때문에 고객 직접 맞다아 있지는 않음, 서비스간 호출에 많이 사용함 
  • 레스트 API wrapper가 가장 쉽게 사용가능 
  • ANN을 위해서는 ANN라이브러리나 검색엔진에 포함된 기능도 사용가능함, 검색 엔진에 있는 ANN을 쓰는것이 효율적임 

공부사진 


 

 

54일차 후기


하나의 시스템을 구축하기 위한 다양한 기술들이 많다. 

 

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://bit.ly/48sS29N