피드로 돌아가기
Spotify EngineeringAI/ML
원문 읽기
Inside the Archive: The Tech Behind Your 2025 Wrapped Highlights
Spotify가 휴리스틱 기반 필터링과 LLM 미세조정 파이프라인으로 3억 5000만 명의 사용자를 위해 14억 개 보고서를 사전 생성
AI 요약
Context
사용자의 연간 음악 청취 이력에서 의미 있는 순간들을 자동으로 식별하고 그에 대한 개인화된 내러티브를 생성해야 했다. 또한 14억 개의 보고서를 Wrapped 런칭 전에 사전 생성하면서 초당 수천 개 요청을 처리해야 하는 대규모 용량 계획 문제가 있었다.
Technical Solution
- 의미 있는 날 식별: 음악 청취량, 팟캐스트 청취량, 신규 아티스트 발견, 특정 아티스트/장르 주도 청취, 음악 향수도, 비정상 청취 패턴 등 우선순위 기반 휴리스틱 8가지를 설계하여 사용자당 최대 5일씩 선정
- 데이터 파이프라인: 분산 데이터 파이프라인으로 사용자별 의미 있는 날 계산 및 집계 후, 객체 스토리지에 저장 및 메시지 큐를 통해 비동기 처리
- 프롬프트 레이어 분리: 시스템 프롬프트로 창의성 계약(데이터 기반 스토리텔링, 톤/스타일, 안전성) 정의하고, 사용자 프롬프트에 상세 청취 로그, 요약 통계, Wrapped 전체 데이터, 생성된 이전 보고서 포함
- 모델 증류 및 DPO: 대형 기초 모델로 고품질 참조 출력 생성 후, 엄격히 검수된 "골드" 데이터셋으로 소형 프로덕션 모델 미세조정하고, A/B 테스트 기반 인간 평가로 Direct Preference Optimization 적용
- 배치 처리 아키텍처: 약 3억 5000만 명 사용자의 의미 있는 날 계산 완료 후, 초당 수천 개 요청을 처리하기 위해 모든 보고서를 단일 배치로 처리하되 사용자별 보고서는 순차 처리해 반복 회피
Impact
14억 개 보고서 사전 생성 완료. 미세조정된 프로덕션 모델이 원본 기초 모델과 선호도 패리티 달성.
Key Takeaway
초당 수천 개의 LLM 호출이 필요한 규모에서는 프롬프트 엔지니어링이 반복적 프로토타입-평가-피드백 루프로 운영되어야 하며, 실제 어려움은 용량 계획, 재생/복구, 비용 관리, 안전성 루프, 그리고 단일 고위험 런칭 순간에 모든 것이 원활히 작동하도록 준비하는 것이다.
실천 포인트
대규모 개인화된 텍스트 생성이 필요한 서비스(추천 메일, 보고서 생성, 피드 요약 등)에서는 프롬프트를 시스템 레벨(창의성, 톤, 안전성)과 사용자 레벨(구체 데이터, 통계, 컨텍스트)로 분리하고, 평가 지표(LLM-as-a-judge, 인간 검증, A/B 테스트)를 프롬프트 개발과 함께 진화시켜야 할루시네이션과 반복을 줄일 수 있다.