【re:Invent2017】Orchestrating Machine Learning Training for Netflix Recommendations

記事タイトルとURLをコピーする

こんにちは、re:Invent参加中の多田です。

今日は、Andy Jassy氏によるKeynoteが行われ会場は大盛り上がりでしたし、私もたくさんのアップデートに興奮しました!
さて、今回は同日に行われた「Orchestrating Machine Learning Training for Netflix Recommendations」に参加してきたのでその内容をレポートします。

セッション概要

本セッションは、以下のような内容になります。

At Netflix, we use machine learning (ML) algorithms extensively to recommend relevant titles to our 100+ million members based on their tastes. Everything on the member home page is an evidence-driven, A/B-tested experience that we roll out backed by ML models. These models are trained using Meson, our workflow orchestration system. Meson distinguishes itself from other workflow engines by handling more sophisticated execution graphs, such as loops and parameterized fan-outs. Meson can schedule Spark jobs, Docker containers, bash scripts, gists of Scala code, and more. Meson also provides a rich visual interface for monitoring active workflows and inspecting execution logs. It has a powerful Scala DSL for authoring workflows as well as the REST API. In this session, we focus on how Meson trains recommendation ML models in production, and how we have re-architected it to scale up for a growing need of broad ETL applications within Netflix. As a driver for this change, we have had to evolve the persistence layer for Meson. We talk about how we migrated from Cassandra to Amazon RDS backed by Amazon Aurora.

Netflix社の機械学習を用いたレコメンデーションの提供や自動化の仕組みやそのアーキテクチャの話に興味があり、参加してきました

スピーカーとして次の方が登壇されていました。

  • Eugen Cepoi - Senior Software Engineer, Netflix
  • Davis Shepherd - Senior Software Engineer, Netflix
  • Faisal Siddiqi - Engineering Manager, Personalization Infrastructure, Netflix

セッション内での気になったトピック

動画のレコメンデーションの仕組み

まず、Netflixの映像のレコメンデーションの仕組みについて話がありました。
仕組みとしては、大本のデータを取り込んだ機械学習パイプラインで処理を行いモデル化、その後動画のレコメンドを分析し、キャッシュにためてHPに表示しているとのことでした。
具体的にどんな仕組みを導入しているか...?が気になるところです。

Mesonについて

レコメンデーションの仕組みで一役買っているのがMesonというNetflix社の独自ツールです。
Mesonは機械学習のワークフローのオーケストレーションツールとスケジューリングのフレームワークになります。

そして、個々のタスクのワークフローの状態や、進行状況を確認できるUIを備えています。

機械学習パイプラインの処理について

Mesonの機械学習パイプラインの処理については、TensorflowをDockerで動かしたり、モデル生成にSparkを用いる等の処理をフロー化しており、2枚目の画像のようなワークフローのUIを実装されています。

Mesonや周辺の技術をまとめた一枚絵も紹介がありました。Mesonが様々なレイヤーで他システムと連携しています。

まとめ

Netflix社の機械学習の取り組み及びMaesonの中での処理の概要についてレポートしました。

今後、機械学習のシステムを考慮する際に参考にさせていただきたい内容でした。