1
/
5

【TECH BLOG】Vertex Feature Storeの機械学習システムへの導入

こんにちは、データシステム部推薦基盤ブロックの寺崎(@f6wbl6)です。現在、推薦基盤ブロックではデータサイエンス部MLOpsブロックのメンバーと協力しながらMLOps基盤の構築を進めています。本記事ではMLOps基盤構築の一環として進めているVertex Feature Storeの機械学習システムへの導入に関する知見およびVertex Feature Storeを導入する上での制限や課題をご紹介します。

MLOps基盤に関する取り組みについては以下のテックブログでも取り上げていますので、こちらもご参照ください。

KubeflowによるMLOps基盤構築から得られた知見と課題 - ZOZO TECH BLOG
こんにちは。SRE部MLOpsチームの中山(@civitaspo)です。みなさんはGWをどのように過ごされたでしょうか。私は実家に子どもたちを預けて夫婦でゆっくりする時間にしました。こんなに気軽に実家を頼りにできるのも 全国在宅勤務制度 のおかげで、実家がある福岡に住めているからです。「この会社に入って良かったなぁ」としみじみとした気持ちでGW明けの絶望と対峙しております。 現在、MLOpsチームでは増加するML案件への対応をスケールさせるため、 Kubeflow を使ったMLOps基盤構築を進めています
https://techblog.zozo.com/entry/mlops-platform-kubeflow


AI Platform Pipelines (Kubeflow Pipelines)による機械学習パイプラインの構築と本番導入 - ZOZO TECH BLOG
ZOZOテクノロジーズ推薦基盤チームの寺崎(@f6wbl6 )です。ZOZOでは現在、米Yale大学の経営大学院マーケティング学科准教授である上武康亮氏と「顧客コミュニケーションの最適化」をテーマに共同研究を進めています。 ...
https://techblog.zozo.com/entry/aip-pipelines-impl


Kubeflow PipelinesからVertex Pipelinesへの移行による運用コスト削減 - ZOZO TECH BLOG
こんにちは、技術本部 データシステム部 MLOpsブロックの平田(@TrsNium )です。約2年半ぶりの執筆となる今回の記事では、MLOps向け基盤を「Kubeflow Pipelines」から「Vertex Pieplines」へ移行して運用コストを削減した取り組みを紹介します。 弊社ではML(Machine Learning)のモデル生成や特徴量生成にGKE(Google Kubernetes Engine)上でセルフホストしたKubeflow Pipelinesを使用していました。しかし、構築・運
https://techblog.zozo.com/entry/migrate-to-vertex-pipelines

推薦基盤ブロックが抱える機械学習システムの課題

Vertex Feature Storeを説明する前に、推薦基盤ブロックでの機械学習システム(以降、MLシステム)に関する課題について紹介します。

私たちのチームではこれまでに様々なMLモデルやシステムを開発し運用してきています。そもそもMLシステムを構築・運用していくことは、今後継続的にメンテナンスコストがかかることとトレードオフです。このことはMLOps領域に携わっているエンジニアなら何度も目にしたことがある例の図がそれを表しています。

引用:Hidden Technical Debt in Machine Learning Systems


私たちのチームでもその例に漏れず、開発・運用するモデルが増えるにつれて以下のような課題が浮き彫りとなっていました。

  1. 案件の度に様々なコードや特徴量を生成するクエリが流用・改変され、車輪の再発明がなされている
  2. モデルの入力として与えているデータが適切なものであることを保証できていない
  3. モデルの出力として得ている予測結果が適切なものであることを保証できていない

まず、様々な案件で似たようなコードや特徴量が量産されているという課題があります。特に、特徴量に関しては基本的にBigQueryのデータマートやリアルタイムデータ基盤からユーザー情報や商品情報を取得して生成するというのはどの案件でも共通しています。その結果、一度作ったクエリをマイナーアップデートしたものが各所に散らばっている・もしくはそれを認識できていない状態となる傾向があります。つまり、知らず知らずのうちに車輪の再発明をし、メンテナンスの及ばないものが増えていっていることを意味します。

2つ目と3つ目は運用しているMLモデルのモニタリングに関する課題です。MLシステムにおいて、「システムがエラーを起こしていない状態」の定義が困難であることは、MLシステムを運用したことのある方なら容易に想像がつくものと思います。特にMLモデルが正しい振る舞いをしていると保証するには、モデルに与えるデータ(特徴量)が適切であり、またモデルのアウトプットも想定していたものであることを検証する必要があります。

MLモデルの状態や入出力データが正常であるとする定義が非常に難しいということは言うまでもありませんが、まずはそれらを定常的に観測するための仕組みを設けないことには検証自体ができません。

機械学習システムの課題に対する取り組み

前述したもの以外にも様々な課題はありますが、現在は「MLシステム開発の高速化および標準化」を主軸としながら優先順位をつけてそれぞれの課題に取り組んでいます。具体的な取り組みについて以前別の記事で今後の展望として取り上げられているのでこちらもご一読ください。

Kubeflow PipelinesからVertex Pipelinesへの移行による運用コスト削減 - ZOZO TECH BLOG
こんにちは、技術本部 データシステム部 MLOpsブロックの平田(@TrsNium )です。約2年半ぶりの執筆となる今回の記事では、MLOps向け基盤を「Kubeflow Pipelines」から「Vertex Pieplines」へ移行して運用コストを削減した取り組みを紹介します。 弊社ではML(Machine Learning)のモデル生成や特徴量生成にGKE(Google Kubernetes Engine)上でセルフホストしたKubeflow Pipelinesを使用していました。しかし、構築・運
https://techblog.zozo.com/entry/migrate-to-vertex-pipelines


私たちのチームでは上記の「案件の度に様々なコードやクエリについて車輪の再発明がされている」という課題に対する取り組みの一環で、Vertex Feature Storeの導入を進めてきました。Vertex Feature Storeを導入することで、特徴量の再発明を防止して適切に再利用し、また特徴量が適切にモニタリングできる状態の実現を目指しました。

Feature Store

概要

Vertex Feature Storeの説明の前に、まずFeature Storeとはどのようなものなのかを簡単に説明します。

Feature Storeは機械学習システムで扱う特徴量を管理・提供するための基盤の総称であり、2017年にUberの以下のブログで紹介されたのが初出とされています。

Meet Michelangelo: Uber's Machine Learning Platform
Uber Engineering is committed to developing technologies that create seamless, impactful experiences for our customers. We are increasingly investing in artificial intelligence (AI) and machine learning (ML) to fulfill this vision. At Uber, our contributi
https://eng.uber.com/michelangelo-machine-learning-platform/


Feature Storeは機械学習で用いる特徴量を共有・再利用することを主な目的としたもので、現在までにOSS・マネージドサービス問わず様々な形でFeature Storeが公開されています。以下にFeature Storeの概念図を示します。


各構成要素の詳細については以下の記事が詳しいので、ぜひ参考にしてみてください。

Vertex Feature Storeの機械学習システムへの導入 - ZOZO TECH BLOG
こんにちは、データシステム部推薦基盤ブロックの寺崎(@f6wbl6)です。現在、推薦基盤ブロックではデータサイエンス部MLOpsブロックのメンバーと協力しながらMLOps基盤の構築を進めています。本記事ではMLOps基盤構築の一環として進めている Vertex Feature Store の機械学習システムへの導入に関する知見およびVertex Feature ...
https://techblog.zozo.com/entry/vertex-feature-store-impl#:~:text=%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82-,www.tecton.ai,-%E3%81%84%E3%81%8F%E3%81%A4%E3%81%8BFeature%20Store


いくつかFeature Storeを紹介すると、OSSとして公開されているものとしてはFeastHopsworksなどがあり、マネージドFeature StoreとしてはTectonや2020年のAWS re:Inventで発表されたAmazon SageMaker Feature Storeなどがあります。その他にもAirbnbのZiplineやFacebookのFBLearner、AppleのOvertonといった、各社で構築しているML基盤にもその要素の1つとしてFeature Storeが組み込まれているようです。

Feature Storeの選定

このように様々なFeature Storeが公開されている中で、私たちのチームでは2021年5月のGoogle I/Oで発表されたVertex AIのコンポーネントの1つであるVertex Feature Storeを使うことにしました。

選定にあたっての理由は大きく以下の2点です。

  1. MLOps基盤の関連資産をGCPに集約させている
  2. Feature Storeの技術検証を高速に実施するため、マネージドサービスが望ましい

1点目については大前提とも言えるのですが、GCPをベースとしてMLOps基盤を構築している以上、GCPの外部に依存関係を極力持ちたくないという意図です。

2点目はFeature Storeという、まだ発展途上の概念を導入する上での保険です。調査を進めていく中で有用そうであることはわかったものの、導入することで何がどこまで解決できるのか・できないのかの技術検証を高速に行いたいという意図からマネージドで手軽に使えるものを選んでいます。

Vertex Feature Store

Vertex Feature Storeは、GCPが提供しているFeature Storeのフルマネージドサービスです。2022年1月現在でどのような機能が提供されているかを以下の表にまとめます。

続きはこちら

株式会社ZOZOでは一緒に働く仲間を募集しています
同じタグの記事
今週のランキング
株式会社ZOZOからお誘い
この話題に共感したら、メンバーと話してみませんか?