テクニカルガイド

オンラインとオフラインの機能提供の偏り

トレーニング/サービングのスキューは、モデルがオフラインから学習した特徴が本番環境で実際に受け取る特徴と異なる場合に発生し、静かに精度を損ないます。

2分の読書最終更新日

概要

Catching and preventing this mismatch is one of the hardest, most important jobs in real-world machine learning.

ディープダイブ

モデルは大量の履歴データのバッチに対して「オフライン」でトレーニングされ、その後「オンライン」でリアルタイムに予測を提供します。これら 2 つのパスが特徴を異なる方法で計算すると、スキューが発生します。一般的な原因: 微妙に一致しない別のコード (Python バッチ ジョブと Java サービス)。時間漏洩。オフライン トレーニングで、予測時点ではまだ利用できなかった情報が誤って使用されてしまいます。 「過去 1 時間の注文」などの値がキャッシュされ、古くなってしまうオンライン機能が古くなります。モデルはオフライン評価では優れているように見えますが、表示される入力がトレーニングされたものと一致しなくなるため、ライブではパフォーマンスが低下します。スキューを検出するには、オンラインで提供される正確な特徴をログに記録し、その分布をトレーニング セットと比較する必要がありますが、同時に、両方のパスに対して単一の共有定義が優先されることを防ぎます。

技術的な洞察

防御の核となるのは、ポイントインタイムの正確性です。トレーニング データを構築するときは、各ラベルを、その瞬間に存在していた特徴値と結合する必要があります。将来のデータとは決して結合しないでください。そうしないと、モデルがオフラインで「不正」を起こし、オンラインで失敗します。フィーチャ ストアでは、タイムトラベル結合と共有変換レイヤーを使用してこれを強制するため、バッチ (オフライン) ストアと低遅延オンライン ストアの両方で同一の計算が実行されます。提供される機能をログに記録することで、チームはオンライン配信とオフライン配信を統計的に比較して、ドリフトを検出できます。

戦略的影響

費用と予算

アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。

より明確な判決

技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。

品質管理

より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。

オンラインとオフラインの機能提供の偏りの将来

フィーチャー ストアは、1 つのフィーチャー定義をバッチ ランタイムとストリーミング ランタイムの両方にコンパイルし、重複したコードを排除することでパリティをますます保証します。分布距離アラートを備えた自動スキュー監視が標準となり、「ログアンドリプレイ」システムにより、チームはモデルが見たものを正確に再構築できるようになります。リアルタイム ML とストリーミング ML が成長するにつれて、オンザフライの特徴計算と統合されたオンライン/オフライン ストレージ エンジンによってギャップが縮小する一方、LLM アプリケーションは取得と埋め込みの一貫性のために同様のチェックを採用します。

現実世界の実装

ライドシェアリングアプリは、トレーニングで新しい値が使用されている間にオンラインの「現在の交通量」機能が10分間キャッシュされたため、ETAモデルが低下していることをライブで発見しました。

不正行為チームは、オフラインの精度が漏洩によって水増しされていたことを発見しました。トレーニングは、予測していたトランザクション後にのみ存在する「チャージバック」フラグに加わりました。

ML プラットフォーム チームは、本番環境で提供されるすべての機能をログに記録し、その分布とトレーニング データを比較するジョブを毎晩実行して、スキューについて警告します。

レコメンデーション チームは、2 つの個別の機能スクリプトを、トレーニングとライブ API の両方に対応する単一の機能ストア定義に置き換えることで、スキューを排除します。

リスクとガードレール

1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。

インフラストラクチャとメンテナンスのコストは過小評価されがちです。

システムが複雑になるにつれて、セキュリティと可観測性のギャップが拡大する可能性があります。

実装ロードマップ

1

実装前にレイテンシ、品質、コストの目標を定義します。

2

現実的な負荷とデータ条件でのベンチマーク。

3

エラー、ドリフト、ユーザーへの影響を計測器で監視します。

4

スケーリングの前に、ロールバックとインシデント対応のパスを準備します。

探検を続けましょう

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Online and Offline Feature Serving Skew quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

クイズを開始する

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

次のガイド

MoE サービスのためのエキスパート並列処理

よくある質問

What is Online and Offline Feature Serving Skew?

トレーニング/サービングのスキューは、モデルがオフラインから学習した特徴が本番環境で実際に受け取る特徴と異なる場合に発生し、静かに精度を損ないます。この不一致を見つけて防ぐことは、現実世界の機械学習において最も困難かつ最も重要な仕事の 1 つです。

トレーニング/サービスのスキューとは何ですか?

スキューとは、モデルがオフラインで学習した特徴値と、ライブ予測を行うときに実際に受け取る値との間の不一致です。

トレーニング データを構築する際、「時点の正確さ」は何を保証しますか?

ポイントインタイムの正確性とは、各ラベルがその瞬間に存在していた特徴値とペアになっており、モデルが将来の情報を誤って使用するのを防ぐことを意味します。

モデルが実稼働に入った後、チームは通常どのようにしてスキューを検出するのでしょうか?

ライブで提供された正確な特徴を記録し、それらをトレーニング分布と統計的に比較すると、偏りを示すドリフトや不一致が明らかになります。

「過去 1 時間の注文」などのキャッシュされたオンライン機能がスキュー リスクになるのはなぜですか?

キャッシュされた値が提供時に古い場合、モデルはトレーニング中に受け取るものとは異なる入力を受け取り、スキューが発生します。

オンライン機能とオフライン機能の間の偏りを防ぐための最も堅牢な構造的方法は何ですか?

1 つの特徴定義を (多くの場合特徴ストア経由で) 共有すると、両方のパスに同一の計算が確実に供給され、スキューの原因となる不一致が排除されます。