pile·
AI / ML·마켓컬리마켓컬리 Hello World·

함께 구매하면 좋은 상품이에요! - 장바구니 추천 개발기 1부

장바구니 바텀시트에 노출할 "함께 구매할 보완재" 추천 모델 개발기다. 왜 보완재인지의 가설 수립부터 BERT4Rec 선정, NPMI로 보완재 관계 정제, 셔플링 후처리, A/B 테스트 검증까지 다룬다.

핵심 포인트
  • 결제 직전(Stage 2) 유저에겐 대체재보다 보완재 추천의 지불 용의(WTP)가 높다는 행동경제학 연구를 근거로 보완재 추천을 가설로 잡았다.
  • 장바구니 전체를 고려하고 실시간·확장이 가능한 조건을 만족하는 sequential recommendation 모델 BERT4Rec(Transformer 인코더 + Cloze/MLM 학습)을 선정했다.
  • 주문서를 그대로 학습하면 아무 상품에나 E사 우유가 추천되는 편향이 생겨, NPMI로 카테고리쌍의 상호 정보량을 정량화해 의미 있는 보완재 관계만 학습에 반영했다.
  • 상위 score에 특정 카테고리가 몰리는 편중은 Spotify 셔플링 알고리즘 후처리로 완화했고, A/B 테스트에서 장바구니 전환·담은 개수·금액이 약 100% 상승했다.
상세 정리
  • 도입 맥락: 장바구니와 결제 페이지 사이 바텀시트에 함께 살 상품을 제안해 마지막 단계의 탐색·구매 경험을 높이려 했다.
  • 컨셉 가설: 구매 의사결정을 Stage1(탐색)/Stage2(결정)로 나누면 바텀시트 유저는 Stage2에 가깝고, 이 단계엔 보완재가 WTP를 더 높인다는 연구·타 커머스 사례로 보완재 추천 가설을 세웠다.
  • 모델 요구: 장바구니 전체 고려, 실시간 추천, 추가 피쳐 반영 용이라는 조건을 두고 검증된 sequential 모델 BERT4Rec을 선정했다.
  • BERT4Rec 원리: Transformer 인코더로 Cloze Test(MLM)를 수행한다 — 입력에 랜덤 마스킹 후 주변 토큰으로 빈칸을 맞히며, 마스킹 위치 히든 벡터와 정답의 크로스 엔트로피로 학습한다.
  • 전처리 문제: 주문서를 보완재로 단순 가정해 학습하니 어떤 입력에도 E사 우유가 추천됐다 — 실제로 우유가 모든 상품과 자주 함께 구매되는 패턴을 모델이 그대로 반영한 것이다.
  • NPMI 정제: 정보이론의 NPMI로 카테고리쌍 상호 정보량을 -1~1로 계산했다 — 결합 확률이 크고 주변 확률이 낮을수록 높아, 서로만 자주 사는 유의미한 보완재쌍을 발굴한다. 주문 데이터를 보완재 카테고리쌍으로 분리해 학습해 추천 품질을 개선했다.
  • 학습·지표: GPU로 학습하고 HR@5·MRR@5를 오프라인 지표로 썼다(바텀시트 기본 노출 4개 고려). huggingface Trainer의 검증 지표 산출 시 preprocess_logits_for_metrics로 상위 K개만 남겨 GPU OOM을 피했다.
  • 정성 평가: gradio 데모로 사내 공유해 기획자 피드백을 받아 후처리 로직을 개선했다.
  • 후처리(편중): 상위 score에 특정 카테고리가 몰리는 문제를 Spotify 셔플링(같은 특성 개체 간 랜덤 간격) 알고리즘으로 완화하고, Shannon entropy·Gini 계수로 다양성 개선을 측정해 Kruskal-Wallis 검정으로 유의성을 확인했다(p<.05).
  • 검증·향후: 유저 8% 대상 1주 A/B에서 대조군(비개인화) 대비 전환·개수·금액이 약 100% 상승(유의). 아직 개인화·맥락(시간) 미반영, 매 학습 시 사전을 새로 만드는 비효율이 과제로 남았다.
왜 읽나커머스 추천에서 보완재 추천 모델을 설계·정제·검증하려는 ML 엔지니어·데이터 사이언티스트에게 BERT4Rec·NPMI·셔플링 후처리·A/B까지의 전 과정을 보여주는 개발기.
마켓컬리
마켓컬리 Hello World 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. AI / ML·LY CorporationLY Corporation·

    Grafana에서 자연어로 장애 원인을 분석하기: LLM 에이전트 기반 SRELens 개발기

    LY Corporation Home SRE 팀이 장애 분석 시 메트릭·로그·트레이스가 각각 다른 화면에 흩어져 있는 문제를 해결하기 위해 Grafana 플러그인 SRELens를 개발했다. SRELens는 LLM 에이전트가 자연어 질의를 받아 실제 관측성 데이터를 조회하고, 근거와 함께 장애 원인 후보를 정리해 주는 도구다. LGTM-P 스택(Loki·Grafana·Tempo·Mimir·Pyroscope)과 FlavaMCP 게이트웨이를 통합해 단일 채팅 인터페이스에서 멀티시그널 분석이 가능하다.

    #llm-app#mcp#observability+2