Netflixにおける機械学習の民主化:モデルライフサイクル... ノート

Netflixにおける機械学習の民主化:モデルライフサイクルグラフの構築

Netflixは、パーソナライゼーション、スタジオ制作、決済、広告など、さまざまなビジネスドメインで機械学習を活用しています。MLの導入が進むにつれて、モデルとデータがサイロ化され、コラボレーションと発見が妨げられる断片化された状況という課題が生じました。MLの実践者は、モデルの系統、特徴源、および異なるシステム間での影響を理解するのに苦労しました。この断片化により、既存の特徴、データソース、パイプラインの依存関係、および変更の影響に関する質問に簡単に答えることができませんでした。根本的な困難は、メタデータを生成する異種なMLインフラストラクチャコンポーネントを接続することにありました。パイプラインオーケストレーターから実験プラットフォーム、特徴ストアまで、数十のシステムがさまざまな形式でデータを生成していました。これを解決するには、異種なメタデータを収集し、統一されたモデルに変換し、探索のための接続されたグラフを構築する必要がありました。その解決策は、NetflixでMLエンティティを相互接続するモデルライフサイクルグラフを構築するメタデータサービス(MDS)です。MDSはMLメタデータをリアルタイムで取り込み、特定のモデルを使用する実験を特定したり、特定の特徴を共有するモデルを特定したりするような、クロスドメインクエリを可能にします。ビジョンは、すべてのMLアセットを会社全体で発見可能、理解可能、再利用可能にすることです。MDSは、一意のAIP URIを持つコンポーネント、プロパティを持つML固有のアセットであるエンティティ、データ形状を定義するエンティティタイプ、関連するエンティティタイプをグループ化するドメイン、およびソースシステムからのドメインの具体的な実装であるプロバイダーというコア抽象化に基づいて動作します。このURIベースのアドレス指定により、任意のサービスが任意のMLアセットを普遍的に参照できます。グラフの構築プロセスにはいくつかの段階があります。まず、MDSはKafkaおよびAWS SNS/SQSを介してソースシステムと統合し、変更を示す薄いイベントを消費します。専用のイベントハンドラーが、パイプラインオーケストレーション、モデルレジストリ、特徴ストア、実験プラットフォーム、IDプラットフォームなどのシステムからのイベントを処理します。次に、MDSはハイドレーション契約を実装し、イベントを検証し、ソースシステムAPIを呼び出して完全な状態を取得し、それを正規化されたエンティティに変換します。「変更通知」パターンは、イベント順序の問題に対する堅牢性を確保しますが、ソースシステムに読み込み負荷をかけます。第三に、生のイベントは、標準化されたフィールドを持つ統一されたエンティティモデルに変換され、下流のコンシューマーに一貫したインターフェースを作成します。正規化されたエンティティは、フィールド名、形式を標準化し、プラットフォーム固有のIDをグローバルAIP URIに変換します。最後に、正規化されたエンティティは、キャッシュと関係ストレージのためにDatomicに永続化され、同時にElasticsearchにインデックス付けされます。不変の事実モデルを持つDatomicは、複雑なグラフトラバーサルとエンティティ関係をサポートし、非効率的なN+1クエリパターンなしで複数のドメインにわたるクエリを可能にします。
CdXz5zHNQW_EXeyjNVmx8.png