はじめに
Cassandra Day Tokyo
今年、2023年6月1日に、Cassandra Dayが日本でも開催されます。
Cassandra Dayは、昨年、ベルリン、ロンドン、アムステルダム、ハノイ、ジャカルタ、ヒューストン、サンタクララ、シアトル、シンガポールでも開催されました。
今回の東京での開催に向けて、Apache Cassandraに関する記事を発表していきます。
Apache Cassandraについて
Apache Cassandraとは、一言でいうなら、オープンソースの分散データベース管理システムです。
他の分散データベース管理システム同様、複数の汎用サーバーを用いて、ひとつのデータベースを構築します(開発などの目的のため、一つのサーバーのみで構成することも可能です)。
ここでは、詳しい説明は割愛し、興味のある方へのご紹介の役割は、公式サイトやWikipediaに譲ります。
CassandraとAI
この記事のソース
本稿では元Google Quantum AIのAlan Ho氏の下記の記事「Cassandra をリアルタイムフィーチャー(特徴量)ストアとして使用するための実践者向けガイド(Practitioner’s guide for using Cassandra as a real-time feature store)」から、導入の情報をお伝えします。
この記事自体は、「リアルタイムフィーチャー(特徴量)ストアとして使用するためのベストプラクティスについて説明」しています。ここでは、How(ベストプラクティス)ではなく、なぜそれが重要かをお伝えしたいと思います。
リアルタイムAIとは何か?
リアルタイム AI では、現在発生しているイベントに基づいてモデルを推論またはトレーニングします。
従来、モデルのトレーニングとモデルに基づく推論 (予測) は、通常は夜間に、または 1 日を通じて定期的にバッチで行われてきました。
現在、最新の機械学習システムは、可能な限り正確な予測を提供するために、最新のデータを用いて推論を実行するようになってきています。
TikTok や Google のような少数の先進的な企業は、オンザフライでのモデルトレーニングを組み込むことで、リアルタイム パラダイムをさらに推し進めています。
このような変化を前にして、特徴量データ (ML モデルのトレーニングと推論の実行に使用されるデータ) の扱い(具体的には、永続化層としてのデータベース)についても、適応の必要が発生しています。
フィーチャー(特徴量)ストアとは何か?
フィーチャー(特徴量)ストアは、機械学習 (ML) に固有の次のような機能を持つデータシステムです。
- 生データを特徴量に変換するデータパイプラインを実行する
- 特徴量データを保存および管理する
- トレーニングと推論の目的のために特徴量データを一貫提供する
以下にフィーチャーストアのライフサイクルを示します。 (ブログ「What is a Feature Store」から引用)
また、以下はフィーチャーストアの主要コンポーネント (同上のブログから引用)
Cassandraとフィーチャー(特徴量)ストア
リアルタイム AI は、特にモデルの提供とモデルのトレーニングのための特徴量データの扱いに関して、永続層であるデータベースには、一定の(性能等)要件が課されます。
Cassandraは、こうした要件を満たすデータベースとして用いられています。
具体例としてのUberでの採用例
上記で紹介したブログ記事では、性能要件の数値にまで踏み込んで、ベストプラクティスが紹介されています。
この記事では、実際の採用例として、Uber社の例を紹介することで、現在のリアルタイムAIとフィーチャーストアをめぐる状況について、注目を喚起することで稿を終えたいと思います。
下記は、Uber社のエンジニアリングブログで紹介されているシステムの全体像です。
詳細については、ブログ本文に譲ります。
最後に
本稿では、CassandraとAIを取り巻く状況として、リアルタイムAI、フィーチャーストアというキーワードを紹介しました。
また、より具体的な内容を把握したい方向けに、いくつかの情報源へのリンクを提示しました。
この「導入編」を踏まえて、また別の機会に、より踏み込んだ内容の記事を発表できればと考えています。