ML Metadata and Discovery

“The real challenge wasn’t just building a consolidated UI — we needed to connect the different pieces of infrastructure our ML practitioners were using.”


핵심 개념

ML Metadata and Discovery는 조직 내 분산된 ML 자산(모델, 피처, 파이프라인, 실험, 데이터셋)의 메타데이터를 통합 수집·연결하여 발견·재사용·영향 분석을 가능하게 하는 인프라다. ML 도구가 사일로화되면 기본적인 질문(“이 모델을 어떤 A/B 테스트가 사용하는가?“)에 답하기 위해 여러 시스템을 탐색해야 한다.

Netflix Model Lifecycle Graph 아키텍처

핵심 추상화

  • Component: AIP URI로 고유 식별 (aip://<type>/<platform>/<resource>)
  • Entity: ML 자산 (모델, 피처, 파이프라인 등)
  • Domain: 관련 엔티티 유형의 추상 인터페이스 (예: Models 도메인)
  • Provider: 도메인의 구체적 구현체 (예: 모델 레지스트리)

처리 파이프라인

  1. 이벤트 인제스천: Kafka/SNS로 소스 시스템에서 thin 이벤트 수신
  2. 엔티티 강화: 소스 시스템 API를 호출하여 최신 상태 fetch (이벤트 순서 무관)
  3. 정규화: 플랫폼별 ID → AIP URI, 필드명 표준화
  4. 저장: Datomic(그래프 탐색) + Elasticsearch(전문 검색)
  5. 지식 강화: 백그라운드 잡이 다중 홉 추론으로 관계 발견·물리화

핵심 설계 결정

  • 이벤트는 변경 알림(notification of change): 변경 로그가 아님 — 항상 소스에서 최신 상태를 fetch하므로 순서·누락에 강건
  • Datomic의 불변 팩트 모델: 관계 추가 시 원래 엔티티 상태 보존
  • 점진적 강화: 실시간 인제스천을 블록하지 않고 비동기로 그래프 완성

활용 사례

  • 발견: “어떤 피처가 존재하는가? 어떤 데이터 소스를 사용할 수 있는가?”
  • 리니지: “이 모델을 생성하는 파이프라인은? 그 피처의 데이터 소스는?”
  • 영향 분석: “이 피처를 변경하면 어떤 모델이 영향받는가?”
  • 교차 활용: 한 도메인(Studio)의 임베딩을 다른 도메인(Ads, Personalization)에서 재사용

연관 개념


Source: Netflix Model Lifecycle Graph