본문 바로가기

전체 글182

MAB 알고리즘 [1/2] - A/B 테스트의 한계, MAB 알고리즘과 Thompson Sampling 이해하기 "메인 페이지의 추천 영역, 어떤 상품을 보여줄까? A/B 테스트만으로는 부족하다?" A/B 테스트는 디지털 서비스에서 가장 널리 사용되는 실험 방법입니다. 하지만 테스트 기간이 길고, 기회비용이 발생하며, 실시간 최적화가 어렵다는 한계가 있죠. 이런 문제를 해결하기 위해 MAB(Multi-Armed Bandit) 알고리즘이 등장했습니다. 이 글에서는 A/B 테스트의 한계점부터 MAB 알고리즘, 특히 Thompson Sampling의 동작 원리까지 상세히 알아보겠습니다. 목차1. A/B 테스트의 이해   - A/B 테스트란 무엇인가   - 구현 방식   - 실제 적용 시 마주치는 어려움들 2. MAB(Multi-Armed Bandit)의 이해   - MAB의 개념과 배경   - 핵심 개념: 탐색과 활용 .. 2024. 10. 26.
글쓰기 습관 만들기 - 글또 10기 마지막과 또 다른 시작 안녕하세요! 저는 현재 패션 커머스에서 추천 시스템과 데이터 서비스 플랫폼에 필요한 기능을 개발을 하고 있습니다. 어느덧 글또와 함께한 지 7, 8, 9기를 거쳐 마지막 10기를 시작하게 됐네요. 이번 글로 지난 여정을 돌아보고, 앞으로의 6개월을 어떻게 보낼지 함께 이야기해볼까 합니다. 글또와 함께한 여정글또를 처음 시작했을 때, 저는 백엔드 개발자로의 직무 전환을 준비하고 있었어요. 그때는 정말 막막했죠. 하지만 글또 멤버들과의 커피챗, 이력서 피드백, 그리고 따뜻한 소통 덕분에 많은 도움을 받았습니다. 그 결과, 어느새 저도 회사에서 일하는 개발자가 되어있더라고요. 정말 감사한 일이죠. 7기때는 취준생으로 시작해 8기에는 새 회사에 적응하느라 정신없었고, 9기에는 업무에 푹 빠져 지냈어요. 이 과정.. 2024. 10. 13.
머신러닝 시스템 설계 - 유튜브 동영상 검색 시스템 이번 글에서는 머신러닝을 활용한 유튜브 동영상 검색 시스템을 설계합니다. 머신러닝 모델 개발/평가보다는 서빙 아키텍처에 대하여 주로 이야기합니다. 해당 내용은 '가상 면접 사례로 배우는 머신러닝 시스템 설계 기초' 4장 유튜브 동영상 검색을 참고하였고 개인 경험을 추가하였습니다. 목차 0. 유튜브 동영상 검색 시스템이란? 1. 요구사항 구체화 2. 머신러닝 작업으로 문제 구조화 2.1. 머신러닝 목표 정의 2.2. 시스템의 입력 및 출력 2.3. 적합한 머신러닝 유형 선택 2.3.1. 텍스트 검색 2.3.2. 시각 검색 3. 데이터 준비 3.1. 데이터 엔지니어링 3.2. 피처 엔지니어링 4. 모델 개발 5. 서빙 5.1. 예측 파이프라인 5.2. 동영상 인덱싱 파이프라인 5.3. 텍스트 인덱싱 파이프.. 2024. 4. 14.
머신러닝 시스템 설계 - 이미지 검색 시스템 (feats. 핀터레스트) 이번 글에서는 머신러닝을 활용한 이미지 검색 서비스가 무엇인지 알아보고, 간단한 시스템을 설계를 합니다. 최종 시스템 설계는 글의 6. 서빙 부분을 참고해 주세요. 해당 내용은 '가상 면접 사례로 배우는 머신러닝 시스템 설계 기초' 2장 시각 검색 시스템을 참고하여 작성되었고 개인 경험을 추가하였습니다. 목차 0. 이미지 검색 시스템이란? 1. 요구사항 구체화 2. 머신러닝 작업으로 문제 구조화 3. 데이터 준비 3.1. 데이터 엔지니어링 3.2. 피처 엔지니어링 4. 모델 개발 4.1. 모델 선택 4.2. 모델 훈련 5. 평가 5.1. 오프라인 지표 5.2. 온라인 지표 6. 서빙 6.1. 예측 파이프라인 6.2. 인덱스 파이프라인 6.3. 최근접 이웃 알고리즘의 성능 7. 추가 논의 주제 마치며/Re.. 2024. 3. 31.
프로메테우스, 데이터독과 유사한 모니터링/알람 시스템 설계 1. 초기 설계안 이번 글에서는 모니터링/알람 시스템이 무엇인지 알아보고, 직접 시스템 설계를 한다는 가정하에 요구사항을 구체화하고 초기 설계안에 대해 설명하고자 합니다. 해당 내용은 가상 면접 사례로 배우는 대규모 시스템 설계 기초 2의 5장 지표 모니터링 및 경보시스템 참고하여 작성되었습니다. 목차 1. 서론 1.1. 지표 모니터링 및 경보 시스템의 중요성 1.2. 대규모 시스템에서의 역할 및 가치 1.3. 대표적인 지표 모니터링/알람 시스템 2. 설계에 앞서 아키텍처 이해와 문제 범위 정하기 2.1. 요구사항 구체화 2.2. 요구사항 정리 3. 5가지 컴포넌트 / 데이터와 데이터베이스 선택 / 개략적인 설계안 3.1. 5가지 컴포넌트 3.2. 데이터 모델 3.3. 데이터 접근 패턴 3.4. 데이터 저장소 시스템 3... 2024. 3. 16.
주니어 백엔드 개발자가 서비스/서버 운영하며 배운 몇 가지 이번 글에서는 서비스를 운영하며 겪었던 몇 가지 경험을 공유하려 합니다. 해당 글은 개인적인 경험과 책 을 참고하여 작성했습니다. 자기소개 문제는 피할 수 없다: 서비스 운영의 현실 Case 1. 타임아웃(timeout) Case 2. 빠른 실패 Case 3. 서킷 브레이커 (circuit breaker) Case 4. 데이터 정리하기 Case 5. 로드밸런싱과 스케일 아웃 Case 6. 서비스 재시작하기 Case 7. 인프라 자동화 도구를 조심하자 (조속기를 활용하자) 마치며: 처음 운영했던 때처럼 자기소개 안녕하세요. 저는 특정 도메인 커머스 플랫폼에서 회사에서 추천 서비스, AB 테스트, 어드민 관리 등을 담당하는 개발자입니다. 업무 특징상 앱 실행 초기 팝업부터 메인 페이지 추천, 상품 상세 페.. 2024. 3. 2.