초당 15만 건, 30ms 내 추론, 만 개 model과 40만 feature를 다루는 카카오 광고 추천에서, legacy의 파편화된 pipeline과 training-serving skew를 해결한 Feature Store 'Yggdrasil'을 소개한다. 학습과 실시간 추론이 동일한 feature 정의·변환을 재사용하도록 만든 MLOps architecture다.
핵심 포인트- legacy는 학습 data마다 별도 pipeline·담당자를 둬 feature 정책 변경을 여러 code에 반복 반영해야 했고, offline 학습과 online serving이 다른 시점·logic 값을 써 불일치(skew)가 발생
- 원천 data가 여러 학습기·추론기로 뻗는 모습을 세계수에 빗대 Yggdrasil로 명명, batch entity feature는 key-value store·event history와 point-in-time 학습은 time-series store에 두고 feature maker가 raw data를 표준 변환
- feature의 type·owner·source·version과 dataset 논리 단위를 metadata DB에 저장해 검색·lineage 제공, data scientist가 UI·API에서 JSON path·변환 규칙·sampling·주기를 선언하면 manager가 batch plan 실행
- 공통 feature를 지표·학습·추론 layer가 함께 쓰며 실험 속도 개선, aggregation feature용 SingleStore·Druid 연결과 기존 pipeline 단계적 편입으로 petabyte 규모까지 확장
왜 읽나대규모 실시간 추천에서 training-serving skew와 pipeline 파편화에 시달리는 ML 엔지니어에게, self-service Feature Store로 일관성과 실험 속도를 동시에 잡는 설계를 보여준다.