pile·
AI / ML·pinterest-engPinterest Engineering·

Pinterest 사용자 시퀀스 데이터 플랫폼 재설계 — 학습/서빙 통합

Pinterest 가 ML 모델 학습·서빙에 쓰는 사용자 시퀀스 데이터(최근 N개 행동) 플랫폼을 비용·속도·사용성 면에서 다시 설계한 사례를 다룬다. 학습·분석·온라인 추론 세 곳에서 쓰이며 ML 데이터 스택에서 가장 비싸고 깨지기 쉬운 부분이던 것을, 설정-코드·공유 엔진·Lambda 아키텍처·칼럼형 저장으로 풀었다.

핵심 포인트
  • 사용자 시퀀스는 학습·분석·추론 세 곳에서 쓰여 신선도와 완전성, 배치-실시간 드리프트, 스키마 일관성이 충돌했다.
  • 이벤트 필터·보강 신호 매핑을 Python 설정-코드로 정의해 새 신호를 설정 변경만으로 추가하게 했다.
  • 공유 실행 엔진+플러그인 구조로 배치·실시간 코드 중복과 드리프트를 줄였다.
  • Lambda 아키텍처로 스트림은 현재, 배치는 과거 수정·백필을 맡게 분리했다.
  • 칼럼형·시간 분할 저장으로 필요한 칼럼만 읽어 압축률·대역폭·쿼리 효율을 높였다.
상세 정리
  • 문제: 사용자의 최근 N개 행동을 보강 신호와 함께 학습·서빙용 형식으로 제공해야 하는데, 학습·오프라인 분석·온라인 추론 세 곳 요구가 달라 시퀀스가 ML 스택에서 가장 비싸고 깨지기 쉬운 부분이었다.
  • 충돌 축: 신선도 vs 완전성, 배치 vs 실시간 경로의 데이터 드리프트, 스키마 일관성 유지가 동시에 걸렸다.
  • 설정-코드: 이벤트 필터링·보강 신호 매핑·데이터 소스를 Python 설정 스키마로 정의해, 새 신호 추가 시 설정 변경과 최소 코드만 들게 했다.
  • 공유 엔진: 프레임워크가 데이터소스 연결·동시성·재시도·역압을, Executor 가 필터링·특성화 비즈니스 로직을 맡아 배치·실시간 코드 중복과 드리프트를 줄였다.
  • Lambda 아키텍처: 스트리밍 경로가 근실시간 시퀀스를 유지하고 배치 경로가 역사 데이터 수정·백필을 맡아, 스트림은 현재·배치는 과거 수정으로 병합한다.
  • 저장소: 큰 보강 이벤트 블롭 대신 칼럼별 분리+시간 파티션으로 바꿔, 필드 일부만 필요해도 전체를 로드하던 비효율을 없애고 압축률·대역폭·쿼리를 개선했다.
  • 서빙 API: 신호·특성명으로 시퀀스를 요청하면 필요한 칼럼만 페치하고 요청 시점 보강과 "최근 N개" 자르기를 적용한다.
  • 마이그레이션: 신규 파이프라인을 병렬로 돌려 섀도우 시퀀스를 만들고, 이벤트 레벨 필드 비교와 시퀀스 레벨 전체 비교 2계층 검증에 A/B 실험을 병행한 뒤 단계적으로 전환했다.
  • 검증 이유: 온라인 시스템은 100% 일치가 불가능해 "대략적 동등성"을 증명하는 방식을 택했다.
  • 결과: 저장·전송 효율화로 인프라 비용이 줄고, 새 보강 신호 온보딩 시간이 단축됐으며, 주요 추천 표면의 참여 지표가 개선됐다.
왜 읽나대규모 추천·ML 학습용 사용자 시퀀스/피처 파이프라인을 설계하는 데이터 엔지니어에게, 설정-코드·Lambda·칼럼형 저장 결정과 섀도우 검증 마이그레이션 레퍼런스.
pinterest-eng
Pinterest Engineering 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. AI / ML·인프랩 (인프런)인프런 (인프랩)·

    학습 에이전트 — AI 두뇌 구축하기

    인프런이 강의 학습 에이전트를 구축하며 겪은 기술 스택 선정, 컨텍스트·도구 설계, LLM-as-a-Judge 품질 개선, 비용 최적화 전략을 다룬다. LLM SSE 스트리밍 처리를 위해 Spring MVC + Virtual Thread + Spring AI를 선택하고, 명시적 프롬프트 캐싱으로 입력 토큰을 90% 절감하는 과정까지 실전 경험이 담겨 있다.

    #ai-agent#llm#llm-as-a-judge+2
  2. AI / ML·네이버 D2네이버 D2·

    AI 에이전트 회사 차리기: 설립부터 어디서든 동기화까지

    네이버 ENGINEERING DAY 2026 발표. Claude Code를 매일 쓰지만 매번 초기화되는 문제를 해결하기 위해 NaverMadCat이라는 다중 AI 에이전트 조직 프레임워크를 구축한 경험을 다룬다. 비서실장 역할의 에이전트가 10개 부서 에이전트를 조율하며, 어느 환경에서 접속해도 동일한 컨텍스트로 동작하도록 동기화 메커니즘을 구현했다.

    #claude-code#multi-agent#ai-agent+2
  3. AI / ML·vercel-blogVercel Blog·

    AI Gateway에서 실시간 음성 에이전트 구축하기

    Vercel AI Gateway가 음성·오디오 기능을 정식 지원한다. 실시간 대화 음성(Realtime Voice), 텍스트→음성(TTS), 음성→텍스트(STT) 세 가지를 기존 텍스트/이미지 모델과 동일한 라우팅·인증·모니터링 체계 위에서 사용할 수 있다. OpenAI gpt-realtime-2·Whisper와 xAI Grok 오디오 모델을 지원하며, AI SDK 7 베타로 제공된다.

    #llm-app#ai-sdk#realtime-voice+2