Netflix 機器學習民主化:建構模型生命週期圖譜 (Democratizing Machine Learning at Netflix: Building the Model Lifecycle Graph)

原始來源與檔名:2026-05-19T093028+0800-Democratizing Machine Learning at Netflix Building the Model Lifecycle Graph.md


NAPKIN | 餐巾纸

餐巾紙公式

模型生命週期圖譜 = 異質中繼資料 (Kafka 事件) + 統一實體正規化 (AIP URIs) + 非同步關係補水 (Datomic + Elasticsearch)

一句話

Netflix 透過建立統一的 Metadata 服務 (MDS),將散落各處的特徵庫、工作流引擎、模型註冊表與 A/B 測試平台整合為一張互聯的「模型生命週期圖譜」,徹底解決了跨部門 ML 資產難以發現與追蹤影響的痛點。

餐巾紙草圖

[Pipeline] --(event)--> [MDS Ingestion] -> [Hydration (打API抓全貌)] -> [Normalization (AIP URI)]
                                                                                  |
[Model Reg] --(event)-->                                                          v
                                                                   [Datomic (Graph Cache)] 
[A/B Test]  --(event)-->                                                          | (非同步關聯推論)
                                                                                  v
                                                            [Elasticsearch (Search & Discovery UI)]

ROUND 1: SKELETON | 骨架掃描

章節骨架

  1. 挑戰 (碎片化景觀): ML 從單一領域擴張到全公司,但模型變成了黑盒,特徵商店、管線、模型註冊與實驗平台互不相通,導致無法發現與溯源。
  2. 核心抽象化 (Vocabulary): 定義 Component, Entity, Domain, Provider。所有資產皆透過 aip://<type>/<provider>/<id> (AIP URI) 統一尋址。
  3. 從事件到圖譜的 5 個階段:
    • Ingestion: 接收輕量級事件。
    • Enrichment (Hydration): 打 API 抓取最新完整狀態,保證無序事件也能最終一致。
    • Normalization: 將異質資料轉化為標準欄位與 AIP URI 參照。
    • Storage: Datomic (圖形關聯/快取) + Elasticsearch (全文檢索)。
    • Knowledge Enrichment: 背景作業推論跨系統關係。
  4. 探索案例: 展示如何透過圖譜查詢,將「模型」透過「Pipeline」一路追溯到「A/B 測試單元」。
  5. 未來挑戰: 工具激增的擴充性、特定領域的 UI 視覺化、資料品質監控,以及隱式關係的推論。

ROUND 2: DISSECTION | 血肉解剖

ROUND 3: SOUL | 靈魂提取


Netflix 機器學習民主化:建構模型生命週期圖譜 (Architectural Deep Dive)

前言/背景

Netflix 早期的機器學習幾乎全用於「個人化推薦」。如今,ML 已經滲透到製片 (Studio)、廣告 (Ads) 與支付防詐騙等各大領域。不同領域使用不同的技術棧,導致 ML 資產成為資訊孤島。為了解決跨團隊的模型復用、血緣追蹤與 A/B 測試影響分析,Netflix AI 平台團隊打造了 Metadata Service (MDS),構建出全局的「模型生命週期圖譜」。

章節詳細總結

挑戰:碎片化的 ML 景觀

製片團隊開發的「場景切割 Embedding」對廣告團隊 (Context matching) 或推薦團隊都有極大價值,但因為缺乏發現機制而難以跨部門共享。 最大的技術挑戰在於:特徵庫、工作流引擎、模型註冊表、實驗平台等來源系統互不相通,且 Schema 各異。工程師無法簡單回答:「如果我改了這個特徵,會弄壞哪個線上實驗?」

核心解法與 URI 定址 (Core Abstractions)

Netflix 建立了統一的詞彙庫。所有的 ML 資產 (Component) 都能透過全局唯一的 AIP URI 進行尋址,格式為 aip://<componentType>/<platformId>/<resourceId> (例如 aip://model/registry/ranking-v5)。這讓跨系統的引用有了標準語言。

資料處理的五大階段 (From Events to Graph)

MDS 從接收到建成圖譜分為五個精細的工程階段:

  1. 事件接收 (Ingestion):從 Kafka/SQS 接收極簡的狀態變更通知,生產端無需組裝龐大的 Payload。
  2. 實體補水 (Entity Enrichment / Hydration):這是一個關鍵設計。MDS 收到通知後,主動去呼叫來源系統的 API 獲取「最新全貌」。這解決了事件掉包或亂序的問題,保證資料最終一致。
  3. 正規化 (Normalization):將各系統獨有的 ID 轉譯為 AIP URI,統一欄位命名 (如把 owner_emails 轉為對使用者的 URI 引用)。
  4. 雙重儲存與索引 (Storage & Indexing)
    • Datomic:作為圖資料庫與快取,存儲不變的事實 (Facts) 與所有實體關聯 (Edges),適合多節點圖形遍歷。
    • Elasticsearch:將正規化後的資料即時建索引,提供給使用者介面 (AIP Portal) 進行毫秒級的全文模糊檢索。
  5. 知識擴充 (Knowledge Enrichment):非同步的背景作業。負責在 Datomic 中自動推理並建立跨系統的關聯。

關聯推論的威力:模型與 A/B 測試 (Example)

以「找尋某模型在哪個 A/B 測試中運行」為例:

總結與結論