
- P95応答16.9ms、P50読み8.44msを達成
- 年間約12万ドルの運用コスト削減
- ホット/コールド2層構成で低遅延とコスト両立
背景と課題
Jumioは本人確認サービスを提供する企業で、不正検知のために機械学習モデルをリアルタイムで運用している。従来はチームごとにオフライン特徴量ストアを持ち、特徴量定義が不統一だった。また、オフラインで学習した特徴量を本番コードへ手動で実装するため、手間やバグのリスクが生じていた。
さらに、不正検知では100ミリ秒未満の応答が求められるが、遅延が課題だった。特定のイベントは数週間遅れて到着することもあり、遅延イベントへの対応も必要だった。これらの問題を解決するため、中央集約型のリアルタイム特徴量ストアを構築した。
アーキテクチャの概要
採用されたのはストリーミングファーストの構成だ。イベントはAmazon Kinesis Data Streamsに入り、Apache Flinkが処理して特徴量を抽出し、Amazon SageMaker Feature Storeに書き込む。ホットデータはAmazon ElastiCache for Valkeyによるインメモリストアで高速に読み出し、コールドデータは標準ストアに保持する。
並行して、オフライン用のパイプラインも構築された。Firehose経由でS3に届いたデータは、Amazon EMRで処理され、Apache Icebergテーブルに格納される。これにより、モデルの再学習や分析用のバックフィルも可能になる。デプロイは自動化され、チーム間の連携もスムーズになった。
性能と成果
実際の性能指標では、読み込みレイテンシのP50が8.44ミリ秒、書き込みレイテンシのP50が18.6ミリ秒、95パーセンタイルの応答時間は16.9ミリ秒を記録した。不正検知のSLAである100ミリ秒未満を余裕で満たしている。
また、従来の分散した特徴量ストアと比べて、約12万ドルの年間運用コスト削減を達成した。特徴量の一元管理により、モデル開発の迅速化や精度向上にも寄与している。
設計上のポイント
このアーキテクチャの選択にあたっては、データベースやフレームワークのトレードオフを評価している。Amazon SageMaker Feature Storeはマネージドサービスであるため運用負荷が低いが、ストレージ最適化をしないとコストが高くなる可能性がある。Apache Flinkは複雑なイベント処理に強いが、学習曲線が高く運用複雑度も増す。
監視面では、Flinkアプリケーションの遅延やKPU使用率、Feature StoreのPUT/GETリクエスト数などを追跡している。また、データの鮮度や配信成功率も監視し、潜在的な劣化を防ぐ。基盤となる原則は、ストリーミングファースト、一元化された特徴量定義、層別ストレージ、監視、そしてクロスファンクショナルなコラボレーションだ。
| 項目 | 従来の構成 | 現在の構成 |
|---|---|---|
| 特徴量管理 | チームごとに分散 | 一元管理・再利用可能 |
| デプロイ | 手動で数週間 | 自動化・統一 |
| レイテンシ | 上流モデルへのアクセスが限定 | P95 16.9ms |
| 年間コスト | 非効率で高コスト | 約12万ドル削減 |
The feature store is a core component of Jumio’s continued innovation in AI-powered identity verification.
特徴量ストアは、AIを活用した本人確認におけるJumioの継続的なイノベーションの中核要素である。
今後の見通し
このアーキテクチャは不正検知だけでなく、レコメンデーションなど低レイテンシが求められるML用途にも応用できるとみられる。Jumioは今後、特徴量ストアをさらに拡張し、より多くのモデルや地域に展開する可能性がある。次の判断には、コスト詳細やスケーラビリティの限界が公表されるかが鍵となるだろう。
日本の開発者・IT企業にとっての意味
日本のIT企業にとって、この事例はリアルタイムMLのための実践的なアーキテクチャを示している。特に、不正検知やレコメンデーションといった低レイテンシが求められる分野で、マネージドサービスを組み合わせて短期間で構築できる点は参考になる。また、特徴量の一元管理とデプロイ自動化によって、チーム間のサイロ化を防ぎ、モデル開発のスピードを上げられる。コスト削減効果も具体的に示されており、AWS上でのシステム設計を見直すきっかけになるだろう。
気になる点
- 導入にはどのくらいのコストがかかるのか?
- 記事では運用コストを約12万ドル削減できたと報告されているが、初期導入コストや詳細な費用体系は示されていない。ワークロードにより異なるため、AWSの料金計算ツールで見積もる必要がある。
- 既存のバッチ処理環境から移行できるのか?
- このアーキテクチャはストリーミングファーストだが、オフライン用のバッチパスも並行して持つ。既存のバッチ処理は、FirehoseとEMR経由でIcebergテーブルに統合できるため、段階的な移行が可能とみられる。
- 100ms未満のレイテンシはどのように実現したのか?
- ホットデータをElastiCache for Valkeyのインメモリストアに保持し、SageMaker Feature Storeの標準ストアと使い分けることで低遅延を実現している。実際のP95は16.9msとSLAを大幅に下回る。
用語解説
- Amazon SageMaker Feature Store
- ML特徴量を保存・管理するマネージドサービス。オンライン/オフラインストアを提供する。
- Apache Flink
- ストリーム処理のためのオープンソースフレームワーク。高スループットな処理が可能。
- Amazon Kinesis Data Streams
- リアルタイムデータストリーミングサービス。データを収集・処理する。
- Amazon ElastiCache for Valkey
- インメモリキャッシュサービス。Valkey対応で低レイテンシな読み出しを実現。
出典
How Jumio built a real-time feature store on AWS
https://aws.amazon.com/blogs/machine-learning/how-jumio-built-a-real-time-feature-store-on-aws
AI導入も顧問も、お任せください
何から手をつけるか、どこまでAIに任せるか。自社の業務に合わせて整理し、導入から運用まで伴走します。相談だけでも構いません。
AI導入について相談する