顧客事例

株式会社ZOZOテクノロジーズ:Cloud TPU で膨大な商品データを機械学習、AI による高精度な画像検索を実現

ZOZO

今や、あらゆる業界で活用が模索されている AI 技術。それらの中でも、機械学習を駆使した画像検索サービスは、すでに多くの実績をあげ始めています。今回紹介する、ファッション通販サイト「ZOZOTOWN」の類似アイテム検索機能もその代表例の 1 つ。そこに Google Cloud Platform (GCP)がどのように活用されているのか、ZOZOグループのシステム開発を担う株式会社ZOZOテクノロジーズ執行役員CTO 今村雅幸さんに聞いてきました。

利用している Google Cloud Platform サービス:Cloud TPUBigQueryGoogle Kubernetes Engine など

Cloud TPU 導入で機械学習が加速し、より高精度なモデルへ

ファッション通販のオピニオン リーダーとして知られる ZOZOTOWN。単に取り扱い商品点数やユーザー数が大きいと言うだけでなく、ファッション コーディネート アプリ「WEAR」や、ボディースーツを着用し計測することで自分にぴったりなサイズの服が購入できる「ZOZOSUIT」など、これまでも多くの先進的な取り組みを行ってきました。そんな同社が、 2019 年 8 月にリリースしたのが、閲覧中の商品に似ている商品を AI が探し出してきてくれるという機能です。しかし、同社に登録されている商品点数は 2019 年 11 月の時点で約 73 万点、しかも毎日 3,200 点以上の新商品が追加されていきます。この膨大な商品の大海原の中から正しく似た商品をピックアップできるサービスを構築するのは簡単なことではありませんでした。

「画像検索機能のように、データを取ってきて、モデルを作って、ユーザーにサービスを提供するものでは、途中に学習というプロセスが存在します。今回のケースでは我々の保持する膨大な画像データを学習させる必要があり、最新の GPU を使っても非常に時間がかかることが分かっていました。そんな中、当時、Google Cloud から発表されたばかりの Cloud TPU を試したところ、想像以上に高速で、何十時間という単位で時間が節約できることが分かったのです。それまで我々は、ほとんどのサービスをオンプレミス上で構築していたのですが、Cloud TPU のような機能があるのであれば、GCP を中心にサービスを開発していった方が良いだろうと考えました。」(今村さん)

zozo1

なお、ここで言う「膨大なデータ」とは、これまで ZOZOTOWN で取り扱ってきた 100 万点以上にも及ぶ商品画像データのこと。幸い、同社では商品画像を原則として全て撮り下ろしていたため、高解像度で余計なものの映り込んでいない、学習向きのデータが揃っていたそうです。しかし、Cloud TPU 導入前の環境では一度の学習に 5 日間以上かかっており、効率的なトライ&エラーが阻害されていました。Cloud TPU 導入後はこれが 20 時間前後にまで短縮できたため、PDCA を回せるサイクルが増え、たくさんの選択肢の中から、より適切な商品をレコメンドできるようになりました。

また、この画像検索機能には API 基盤として Google Kubernetes Engine(GKE)を使用。このことも、サービスの開発をスムーズにしたと今村さんは言います。

「今ではさまざまなプラットフォームに Kubernetes を扱うマネージド サービスが存在しますが、GKE はそれらと比べて明らかにマネージドされている範囲が広いです。どんなサービスもプロトタイプを作るところから始まりますが、特にこういった AI 系のプロジェクトでは、それを Web エンジニアではない人間が担当していることが多い。今回の僕らのケースもそうで、いわゆる ML エンジニアが開発しているのですが、彼らでも簡単に Web アプリケーションや、それを動かすためのプラットフォームを作れるのは大きな魅力と言えるでしょう。自分たちで管理しなければならない部分が圧倒的に少ないので、本質的な部分に専念できると好評です。」(今村さん)

GCP 導入で、ZOZO のシステム開発の概念が変わりつつある?

2019 年 8 月にスマホ向けアプリから利用できるようになった画像検索機能(商品画像左上の画像検索アイコンをタップすることで動作)、すでにかなり高い精度で商品を表示できており、ユーザーからの評価も上々のようですが、今村さんは、今後さらに機能を強化していきたいと言います。

「画像検索機能では、日々、登録された新商品を学習させて、画像検索のインデックスを更新していく必要があります。現在はそれを 1 日何回かのバッチ処理というかたちでやっています。BigQuery に入っている商品データベースから、その日に追加されたものを抽出して、画像を集めてきて学習させ、できあがった新しいモデルにアップデートするというかたちです。ただ、ZOZO の商品は 1 日の中でもどんどん追加されていきますし、何より在庫が変動しますよね。品切れしてしまうことはもちろん、再入荷ということもあります。理想としては在庫のある商品だけを表示できるようにしたいわけです。そこで次は、商品の登録や在庫の更新をトリガーとして、イベント駆動でモデルを更新していく方式を検討しています。」(今村さん)

なお同社では、画像検索機能の構築と並行して、自社データ基盤を BigQuery に全面移行。2018 年 4 月の段階では他社製のデータ ウェアハウスを使っていたのですが、求める使い勝手、パフォーマンスが得られなかったため、約 1 年かけて BigQuery への切り換えを敢行しました。

「BigQuery の良いところは何も考えずにクエリーを投げても、ちゃんと返ってくるところ。インデックスのメンテナンスなど、ありがちなデータ ウェアハウスの“お守り”に時間を取られずに済むんです。また、この数年で UDF (ユーザー定義関数)や BigQuery ML(機械学習モデルの作成)など、いろいろな機能が追加されて、だいたいのことなら BigQuery 上で完結するようになりました。これまでは複雑なロジックを扱おうとするとデータを取ってきて、手元のバッチで計算して……みたいなことをしなければならなかったのですが、全部 BigQuery 上でできるんです。これは現場のユーザーにもとても喜ばれていますよ。個人的にはオンリーワンでナンバーワンのサービスだと思っています。」(今村さん)

zozo 2

今となっては ZOZO の業務に欠かせないものとなった GCP。この“出会い”によって、ZOZO のエンジニアの意識にも大きな変化がありました。

「ZOZOテクノロジーズには、自前主義というか、何でも自分たちで作るという文化がありました。ところが、今回、GCP のような本当の意味でのマネージド サービスを利用した結果、クラウドを使うのであれば、任せられる部分は任せてしまった方が良いのではないかという空気ができてきました。これは大きな意識の変化だと考えています。現在、我々のシステム環境はまだ 99% がオンプレミスで動いており、まさに今、クラウドへリプレースしていこうというプロジェクトの真っ最中です。最終目的としては全てをクラウド化していく予定なのですが、その中の、データを活用する部分のマイクロサービスや分析基盤は GCP でやりたいなと思っています。」(今村さん)


zozo logo
zozo 3

執行役員CTO 今村 雅幸 氏

株式会社ZOZOテクノロジーズ

ファッション通販サイト「ZOZOTOWN」を運営するZOZOグループの機能会社。グループ内のエンジニア・デザイナーが所属し、ZOZOグループのサービス運用・技術開発を一手に担う。事業所は青山のほか、ZOZO本社のある幕張オフィス、福岡オフィスの 3 拠点。従業員数は 328 名(2019 年 12 月時点)。


株式会社ZOZOテクノロジーズの導入事例 PDF はこちらをご覧ください。

その他の導入事例はこちらをご覧ください。