Slide 1

Slide 1 text

Proprietary Vertex AI Feature Store に 機械学習エンジニアが涙した 理由

Slide 2

Slide 2 text

Proprietary Google Cloud Next Tokyo ’23 杉山 阿聖 Citadel AI Software Engineer

Slide 3

Slide 3 text

Proprietary Google Cloud Next Tokyo ’23 目次 01 Feature Store とは 02 Vertex AI Feature Store 概要 03 Vertex AI Feature Store 詳細 04 所感

Slide 4

Slide 4 text

Proprietary Google Cloud Next Tokyo ’23 01 Feature Store とは

Slide 5

Slide 5 text

Proprietary Google Cloud Next Tokyo ’23 ● 機械学習パイプラインの導入はかなり 一般的に ● モデルレジストリもそんなに特別なもの ではない ● Feature Store が残っている MLOps: 機械学習における継続的 デリバリーと自動化のパイプライン MLOps: 機械学習における継続的デリバリーと自動化のパイプライン https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning?hl=ja

Slide 6

Slide 6 text

Proprietary Google Cloud Next Tokyo ’23 Feature Store の例 (LINE DEVELOPER DAY 2020) How Does LINE Implement Cross-Service Data Utilization? https://speakerdeck.com/line_devday2020/how-does-line-implement-cross-service-data-utilization

Slide 7

Slide 7 text

Proprietary Google Cloud Next Tokyo ’23 1 2 3 Feature Store の要件 特徴量の共有 ● データの集計におけるバグ は気が付きにくい ● 同一の指標に対して、異な るチームで異なる定義を採 用してしまうことも リアルタイム性 ● 訓練は大容量のデータを用 いるバッチ処理で、 BigQuery が向く ● API などで推論結果を提供 すると、BigQuery は向かな い タイムトラベル ● 動画リコメンドモデルは「機 械学習の訓練時点での総 再生数」ではなく「ユーザー が動画を見た際の総再生 数」が必要 ● 機械学習固有の課題

Slide 8

Slide 8 text

Proprietary Google Cloud Next Tokyo ’23 ● 要件をすべて充足するのは困難 ○ とくに、タイムトラベル ○ Apache Kafka や Apache Spark な どでストリーム処理基盤の構築が必 要 ● Feature Store の要件の一部をサポー トしたものを自分たちで実装するのが 一般的 Feature Store のこれまで Introduction - Feast https://docs.feast.dev/

Slide 9

Slide 9 text

Proprietary Google Cloud Next Tokyo ’23 02 Vertex AI Feature Store 概要

Slide 10

Slide 10 text

Proprietary Google Cloud Next Tokyo ’23 ● サービスとしてはこれまでも存在 ● 大きくリニューアルされた Vertex AI Feature Store (Preview) Google Cloud コンソール上での表記 ドキュメント (英語) での表記

Slide 11

Slide 11 text

Proprietary Google Cloud Next Tokyo ’23 ● BigQuery の Table や View を扱える ようになっている ● BigTable は出てこない (Legacy では 必要なケースがあった) Vertex AI Feature Store (Preview) の アーキテクチャ Predictive and generative AI projects with Vertex AI Feature Platform (Google Cloud Next’23)

Slide 12

Slide 12 text

Proprietary Google Cloud Next Tokyo ’23 1 2 3 Vertex AI Feature Store と Feature Store の要件 特徴量の共有 ● BigQuery でデータマネジメ ントすれば良い ● 権限管理も用意 リアルタイム性 ● 詳細は不明 ● BigTable が関連していそう ではあるものの、インスタン スはプロジェクト内にできあ がらない ● チュートリアルで確認したと ころ本当に早い タイムトラベル ● BigQuery がタイムトラベル に対応しているのでそちらで 実現

Slide 13

Slide 13 text

Proprietary Google Cloud Next Tokyo ’23 BigQuery のデータのキャッシュをサー バーレスに作りやすくなったのは偉業 ● AI Platform Pipelines (GKE のクラス ターを作成) が Vertex Pipelines (Kubernetes なし) になったくらいの進 化を期待させる アーキテクチャに関する所感 重要な要件を BigQuery で実現している のもとても良い ● 複雑なインフラのセットアップは必要な い ● データマネジメントは BigQuery の機能 を流用できる ● タイムトラベルも BigQuery の機能で良 い ● スケーラビリティも確保できる

Slide 14

Slide 14 text

Proprietary Google Cloud Next Tokyo ’23 03 Vertex AI Feature Store 詳細

Slide 15

Slide 15 text

Proprietary Google Cloud Next Tokyo ’23 ● Github で公開されているチュートリア ルに従うのが最良 ● ドキュメントは SDK を使う方法を知る ためにはあまり役に立たない ● Online feature serving and vector retrieval of BigQuery data with Vertex AI Feature Store を紹介 Vertex AI Feature Store (Preview) を試す方法 About Vertex AI Feature Store https://cloud.google.com/vertex-ai/docs/featurestore/latest/overview

Slide 16

Slide 16 text

Proprietary Google Cloud Next Tokyo ’23 ● サンプルデータが用意されている ● to_dataframe() はありがたい BigQuery のデータセットを作成

Slide 17

Slide 17 text

Proprietary Google Cloud Next Tokyo ’23 ● BigTable を使っている? ○ オートスケールの設定もしている ○ どのような設定が可能なのかはいま いち不明 ● BigTable のインスタンスはプロジェクト にはできない Feature Online Store の作成

Slide 18

Slide 18 text

Proprietary Google Cloud Next Tokyo ’23 ● Vertex AI Feature Store はベクトルの近傍探索に 対応している ● embedding_column とい う引数で埋め込みベクトル の近傍探索をセットアップ Feature View Instance の作成

Slide 19

Slide 19 text

Proprietary Google Cloud Next Tokyo ’23 Feature View Instance と BigQuery を同期 ● データの同期処理にはかなり時間がか かった ● テーブルのサイズが原因ではなさそう (2MB のテーブルで試した) ● 近傍探索のセットアップが影響した可 能性はあるものの、詳細は不明

Slide 20

Slide 20 text

Proprietary Google Cloud Next Tokyo ’23 特徴量の取得 ● リアルタイムに結果が返ってくる ● 近傍探索している (?) ● 結果は protocol buffer で得られるの で、モデルの入力にするにはひと手間 かかる

Slide 21

Slide 21 text

Proprietary Google Cloud Next Tokyo ’23 実際に掛かった金額 ● 検証環境を作ってから数日間放置 ● 3,500 円 / day 程度かかっていた (Preview なので課金はされない) ● 安い金額ではないので、費用を抑える ような設定ができないかは要検証

Slide 22

Slide 22 text

Proprietary Google Cloud Next Tokyo ’23 結果まとめ 良かった点 ● 本当に BigQuery のテーブルがオンラ インで提供される ● BigTable は出てこない、同期する速度 は設定で変更できる ● セットアップには時間がかかるけれど データが返ってくる速度は早い イマイチな点 ● 結果は protocol buffer で、癖はある ● ドキュメントは拡充していく段階で、充 実しているとは言い難い ● 想像以上に複雑なプロダクトであり、挙 動は要検証 ● 費用を抑えるための設定は不明

Slide 23

Slide 23 text

Proprietary Google Cloud Next Tokyo ’23 04 所感

Slide 24

Slide 24 text

Proprietary Google Cloud Next Tokyo ’23 ● 右側のアーキテクチャの大半が BigQuery で実現することになる ○ Vertex Pipelines で BigQuery にク エリを投げて前処理・訓練・評価 ○ できたモデルを Online prediction で API 化 ○ Vertex AI Feature Store からデータ を取得して推論 ● BigQuery を中心としたデータ分析基 盤と機械学習基盤の新しい姿が見える Vertex AI Feature Store (Preview) が機械学習基盤に与える衝撃 (1/2) MLOps: 機械学習における継続的デリバリーと自動化のパイプライン https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning?hl=ja

Slide 25

Slide 25 text

Proprietary Google Cloud Next Tokyo ’23 ● 表形式データに限らず、BigQuery にと りあえず前処理済みのデータを突っ込 めば良い ○ 画像検索を容易に実現可能 ○ LLM などで作成した embedding を BigQuery に突っ込む仕組みさえ 作ってしまえば即座に RAG を作成 できる ● もう自分で Feature Store を作らなくて 良くなりそう Vertex AI Feature Store (Preview) が機械学習基盤に与える衝撃 (2/2) MLOps: 機械学習における継続的デリバリーと自動化のパイプライン https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning?hl=ja

Slide 26

Slide 26 text

Proprietary Google Cloud Next Tokyo ’23 ● クラウドサービスを使えば必要なコン ポーネントは揃う ● モデルやデータの品質・評価の重要性 が増していくと思われる ● 表形式データの品質・評価は考えやす いものの、画像・自然言語は定量化し にくい MLOps の今後 (1/2) MLOps: 機械学習における継続的デリバリーと自動化のパイプライン https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning?hl=ja

Slide 27

Slide 27 text

Proprietary Google Cloud Next Tokyo ’23 MLOps の今後 (2/2) ● LLM の活用は確実に考えなければい けない ● LLM の運用は継続的な学習を前提と する既存の MLOps とは大きく異なる (基本的にトレーニングしない) ● LLM の品質・評価の取り組みが必要 ● LangCheck というライブラリを公開して いるので試していただきたい LangCheck https://github.com/citadel-ai/langcheck

Slide 28

Slide 28 text

Thank you Proprietary