DataEngConf NYC’18 セッションサマリー #2

gree_tech
gree_techgree_tech
Copyright © GREE, Inc. All Rights Reserved.
グリー株式会社
開発本部 DataEngineeringGroup
松岡 紀行
DataEngConf NYC’18
セッションサマリー #2
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
【氏名・所属】
• 松岡 紀行 / Noriyuki Matsuoka
• 開発本部 データエンジニアリンググループ
エンジニアチーム
【略歴】
• 2016/04 グリー株式会社 入社
• 2016/06 データエンジニアリンググループ配属
• オンプレのHadoopやEMRベースのログ基盤を運用
• 2018/07 兼務で新規ゲームにクライアントエンジニアとし
て配属
自己紹介
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• セッション紹介#01
• Building a Modern Machine Learning Platform on
Kubernetes
• セッション紹介#02
• Artwork Personalization at Netflix
• その他のセッション
• まとめ
アジェンダ
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
セッション紹介#01
Building a Modern Machine Learning
Platform on Kubernetes
Saurabh Bajaj | Lyft
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• ライドシェアサービスを提供する
アメリカの企業
• Uberの競合
• タクシーのような専用車ではなく、
一般人が自家用車で乗車サービスを行う。
• 乗車料金は、都市や利用時間帯によって異なるが、
基本的にタクシーより安い。
企業紹介 - Lyft
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• 機械学習のプロセス
• Feature Engineering(特徴選択)
• Prototyping(モデルの開発)
• Model Training(モデルの学習)
• Run in Production(モデルのデプロイ)
• モデル開発には沢山の周辺タスクが発生
• データサイエンティストがモデル開発に集中できるように
機械学習基盤システムを構築したい
機械学習モデル開発の問題点
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
1. 特定の機械学習フレームワークに依存しない
• tensorflowなど
2. GPUも利用できるように
3. 特定のクラウドに依存しない
• NVIDIAのGPU Cloud、GoogleのCloud TPUや
ASICベースのモデルトレーニングシステム
• 機械学習界隈でのハードウェア・ソフトウェアエコシ
ステムは進化が早い
4. 使いやすく・かつ柔軟性を
• アカデミック出身の人にはインフラ管理に抵抗がある
人も多いので使いやすく。
• 一方で凝った使い方をしたい人には柔軟性を。
機械学習基盤システムに求める要件
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
Docker Container
• コンテナ技術での抽象化
• 特定のシステムに依存しなくなる
Kubernetes
• プラットフォームを構築するためのリッチなAPIを提供
• 複雑なワークフローを起動可能
• 容易にスケール可能
• クラウド非依存なAPI
• 一方でローレベルなAPIも多数含まれ複雑なため、
さらに抽象化して使いやすくしたい
Container / Kubernetes
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• KubernetesをラップしたGUIを作成・提供
• ソフトウェアをボタンで選択
• Jupyter Notebook
• Deeplearning + Tensorboard
• R-Studio
• ハードウェアをボタンで選択
• CPU
• GPU
• スペックの高低
Lyft の アプローチ
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• ウェブブラウザで動作する対話型Pythonエディター
• データを可視化して確認しながらプログラムを書けるため、
分析目的などに良く利用される
• Lyftではこれを機械学習のベース環境として提供
(補足)Jupyter Notebook
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• Kubernetesの最小構成単位
• 1つ以上のコンテナとリソースの組を抽象化したもの
Kubernetes – Pod
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• Podで利用可能な外部ストレージ管理の仕組み
• モデルの学習データのチェックポイントとして利用可能
• NFSも利用可能
Kubernetes – Persistent Volume
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• Podに対してアクセスポリシーを定義したもの
Kubernetes – Service
Pod#01
notebook-xxxxx
Pod #02
tensorboard-yy
Service#01
Cluster IP: xxx.xx.xx.xx
Service#02
Cluster IP: yyy.yy.yy.yy
Client
Port 8888
Port 6006
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• Serviceよりもさらに外側のルーターコンポーネント
• Serviceよりも多機能
Kubernetes – Ingress
Pod#01
Pod #02
Service#01
Service#02
Client Ingress
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• 問題: Imageのサイズが大きい
• Notebookのイメージサイズは平均して12-15GB
• NVIDIAのCUDAドライバーやMLフレームワークのバイナリ
• Notebookの作成のたびにダウンロードすると、
かなりの時間がかかってしまう
• 対応
• 各ノードでキャッシュウォーミングを行って対応
クラスタに関する問題#1
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• 問題: 新しいインスタンスの起動に時間がかかる
• Kubernetesには負荷に応じてクラスタを自動的に
拡張するAuto Scalerがある
• 一方で新しいインスタンスの起動には
AMIを使用しても5~10分くらいの時間がかかる
• 対応
• KubernetesのPreemption機能で対応
• Pod間に Priority (優先度)をつけておき、
新しい重要なPodがリソース不足で投入できない場合に
優先度の低いPodを追い出すこと
クラスタに関する問題#2
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• 問題: 大量のCredentialsの管理
• Podが外部と通信等を行うためにはCredentialsが必要
• 例:GITHUB_TOKEN
• 対応
• KubernetesのSecrets機能の利用
• KubernetesではSecretsを利用すれば
安全・簡単にCredentialsを管理可能
• Base64エンコーディングで難読化
• コンテナ内で環境変数として参照可能
• LyftではGUIからユーザが簡単に設定可能
クラスタに関する問題#3
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• MLモデルの実験には沢山の試行回数が必要
• Optimizerを入れ替える
• Parameterを入れ替える
• …
• LyftにおけるTrainingのやり方
• NotebookでModel classやtraining methodを書く
• モデルを含んだDockerファイルを作成してpush
• CUDAドライバーなど必要なものがあればそれらもimport
• GUIのTrainingページでモデルを選択&実行をクリック
Training
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• ハイパーパラメータのチューニングも時間がかかる
• 何度も値を調整しながら学習を繰り返す必要がある
• Katib
• ハイパーパラメータチューニングフレームワーク
• kubeflowプロジェクトの1つ
• Google VizierをOSSで実装したもの
• パラメータ空間を定義すれば、
あとは指定したアルゴリズム
(グリッドサーチなど)でチューニング
Tuning
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• Kubernetesは特に使ったことがないのですが、強力な機
能が揃っていることや、関連する便利なOSSが増えている
ことを考えると、少なくともML基盤では、あるいはそれ
以外でも非常に魅力的に感じました。
• 個人の意見ですがECSと比べてyamlやCLIでの管理が充
実していると感じたので使ってみたい
• Lyftほど大きな企業ならともかく、普通の企業であれば
kubeflowのエコシステムに乗っかったほうが良い?
• 全体的に無駄な時間の削減を強調していて、アメリカのAI
スペシャリストの給与相場を考えると、切実な問題なんだ
ろうなと思いました。
所感
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• カンファレンスサイト(概要のみ)
• https://www.dataengconf.com/speaker/building-a-
modern-machine-learning-platform-on-
kubernetes?hsLang=en-us
参考
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
セッション紹介#02
Artwork Personalization
at Netflix
Tony Jebara | Netflix
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• 映像ストリーミング配信等を行う
アメリカの企業
• 古くから機械学習を用いてレコメンド機能等に注力
企業紹介 - Netflix
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• Personalized Ranking
• Personalized Page Generation
• Personalized Promotion
• Personalized Image Selection
• Learning Collaborative Search
• Personalized Messaging
• Personalized Marketing
• Personalized Life Time Value
• Personalized Content Acquisition
Netflix が行っている機械学習
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
アートワークのパーソナライズ
(出典)https://medium.com/netflix-techblog/artwork-personalization-c589f074ad76 (2点とも)
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• 古典的な手法
Batch Machine Learning
(出典)https://medium.com/netflix-techblog/artwork-personalization-c589f074ad76 (2点とも)
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• Regret(後悔)を最小化するためには
Online Learningが適している
• Regret: 最初からユーザの好みが既知だった場合の結果
と実際の結果の差分
• Batch的にではなく逐次的にモデルを改善していく
• 関連する有名な問題: Multi-Armed Bandits
Online Learning
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• 以下を毎ターン繰り返す
• Learner は Action を選ぶ
• Environment は Action に従って Reward を返す
• Learner は 累積報酬を最大化するように
方針をアップデートする
• ポイント
• 情報の探索と活用をバランスよく行う必要がある
Bandits 問題
Learner
(Policy)
Environment
Action
Reward
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• 以下を毎ターン繰り返す
• Environment は Context を 渡す
• Learner は Context を考慮しながら Action を選ぶ
• Environment は Action に従って Reward を返す
• Learner は 累積報酬を最大化するように
方針をアップデートする
• Context: スロットの大きさ等の特徴ベクトル
• 教師あり学習と異なり、正解を教えてもらえる訳ではない
Contextual Bandits 問題
Learner
(Policy)
Environment
Action
Reward
Context
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• Context: ユーザの視聴履歴・国
• Action: 選択されたアートワーク
• Reward: ユーザがポジティブな反応をしたかどうか
• ポジティブ
• コンテンツを楽しんで視聴した
• ネガティブ
• コンテンツを視聴しなかった
• 途中で視聴をやめた
• 楽しめなかった
アートワークへの適用
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• Contextual Bandits 問題を解くためのアルゴリズム
• ε-greedy法
• LinUCB
• Thompson Sampling
• 例: ε-greedy法
• εの確率で「探索」
• 1-εの確率で「活用」
Contextual Bandits アルゴリズム
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
実際に適用した場合の例
(出典)https://medium.com/netflix-techblog/artwork-personalization-c589f074ad76
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• 本番で使用する前にオフラインで性能評価を行いたい
• Replay 手法
• 保存してある過去のアクションログを用いて
擬似的に評価
オフラインでのモデルの性能評価
(出典)https://medium.com/netflix-techblog/artwork-personalization-c589f074ad76
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• メリット
• 実データを使っており指標として信頼性がある
• 計算しやすい
• デメリット
• 沢山のデータが必要
• 過学習する可能性がある
オフラインでのモデルの性能評価
(出典)https://medium.com/netflix-techblog/artwork-personalization-c589f074ad76
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• APIの適用場所は幅広く、ピーク時は20M RPS を超える
• 手法1: Live Compute
• アクセスが有った際にモデルを適用(計算)
• 問題点
• SLA を満たすのが難しい
• 遅延を抑えるにはシンプルなアルゴリズムに制限される
• 手法2: Online Compute
• 事前にモデルを適用してキャッシュ
• 問題点
• 適用されるモデルは最新じゃない可能性がある
• 実際には使われないキャッシュも用意する必要がある
オンラインでのモデルの適用
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• 内容としてはほぼ機械学習の話でしたが、基調講演として
発表されていて、参加者も次々と質問するほど熱心に聞い
ていたのが印象的でした。
データに携わる上で、教養として機械学習に関する基本的
な知識は身につけておきたいと改めて思いました。
• 「アートワークをユーザによって変える」というアイデア
自体個人的には目からウロコでしたが、Netflixとしては将
来的に「ユーザがテレビの前にただ座っているだけで最適
なコンテンツが流れ最高な体験ができる」世界を目指して
いるらしく、視野を拡げるために視座を高く保つというの
は大事だと改めて感じました。
所感
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• カンファレンスサイト(概要のみ)
• https://www.dataengconf.com/speaker/artwork-
personalization-at-netflix?hsLang=en-us
• ブログ(画像引用元)
• https://medium.com/netflix-techblog/artwork-
personalization-c589f074ad76
参考
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
その他のセッション
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• 内容
• Prestoの紹介
• 他のSQL Engineと比べた際のPrestoの良さとして、特定の
Data sourceに依存しない、ということを強調していました
• Starburstが提供するPresto Enterpriseの紹介
• 所感
• 人は多く、Prestoの根強い人気を感じました
• Prestoを再評価する良いきっかけになりました
• 弊社ではEMRのPrestoを使っていて、Prestoが特定のData
sourceに依存しないという点はあまり意識したことはなかっ
たですが、時代の流れとしても特定のプラットフォーム・技術
非依存、という性質はより重視されてきていると思ったため
Presto: Fast SQL-on-Anything
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• 内容
• Facebookでデータ基盤を構築・運用した経験から得た
プライバシーやセキュリティに関するお話
• Multi-tenancyモデルでのセキュリティの問題
• GDPRの『忘れられる権利』の対応に苦労したお話
• 個人情報に関連するデータに対して Semantic Type を定義
• 個人情報を取り扱うテーブルは最低限に抑え、
残りのテーブルは過去の全てのデータに対して匿名化を施した
• IP -> masked IP、name -> null
• 所感
• 数少ないプライバシーやセキュリティの話で、リスク
削減と性能のトレードオフの難しさを再認識しました
Analyzing Data in the Cloud: Privacy and Security
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
まとめ
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
• 全体の話の傾向
• 全体としてMLやAIに関するセッションがかなり多かっ
た印象
• データ分析基盤においては処理パフォーマンスよりも、
ストリーミングやスケジューラに着目した話が多かっ
た印象
• Apache Kafka、Apache Airflowなど
• 所感
• 概観としては、AWS・GCPなどクラウドで簡単にデー
タ分析基盤が構築できるようになった今、それらを組
み合わせて如何に分析基盤を効率よく運用するか、ま
た、データにML等を適用して如何に事業的価値を出せ
るか、ということに注目が集まっていると感じました
まとめ
Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved.
ありがとうございました!
1 of 43

Recommended

ゲームバランス調整補助のための強化学習の効率化 by
ゲームバランス調整補助のための強化学習の効率化ゲームバランス調整補助のための強化学習の効率化
ゲームバランス調整補助のための強化学習の効率化gree_tech
1.9K views16 slides
行ってみよう、やってみよう! by
行ってみよう、やってみよう!行ってみよう、やってみよう!
行ってみよう、やってみよう!gree_tech
1.8K views20 slides
[デブサミ秋2015] 新卒入社エンジニアが 2年間fluentdを運用して学んだ事いろいろ by
[デブサミ秋2015] 新卒入社エンジニアが2年間fluentdを運用して学んだ事いろいろ[デブサミ秋2015] 新卒入社エンジニアが2年間fluentdを運用して学んだ事いろいろ
[デブサミ秋2015] 新卒入社エンジニアが 2年間fluentdを運用して学んだ事いろいろgree_tech
5.3K views14 slides
ターン制コマンドバトルにおける強化学習効率化 by
ターン制コマンドバトルにおける強化学習効率化ターン制コマンドバトルにおける強化学習効率化
ターン制コマンドバトルにおける強化学習効率化gree_tech
5.3K views23 slides
OSS強化学習向けゲーム環境の動向 by
OSS強化学習向けゲーム環境の動向OSS強化学習向けゲーム環境の動向
OSS強化学習向けゲーム環境の動向gree_tech
2.7K views54 slides
第一回☆GREE AI Programming ContestでTensorFlow by
第一回☆GREE AI Programming ContestでTensorFlow第一回☆GREE AI Programming ContestでTensorFlow
第一回☆GREE AI Programming ContestでTensorFlowgree_tech
1.2K views24 slides

More Related Content

What's hot

CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜 by
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜gree_tech
8.6K views72 slides
グリーにおけるSumo Logic活用事例 by
グリーにおけるSumo Logic活用事例グリーにおけるSumo Logic活用事例
グリーにおけるSumo Logic活用事例gree_tech
623 views18 slides
【デブサミ夏AL】グリーのboxの使い方 by
【デブサミ夏AL】グリーのboxの使い方【デブサミ夏AL】グリーのboxの使い方
【デブサミ夏AL】グリーのboxの使い方Developers Summit
2.4K views40 slides
RPKIやってみませんか? by
RPKIやってみませんか?RPKIやってみませんか?
RPKIやってみませんか?gree_tech
1.4K views28 slides
RPKI勉強会/RPKIユーザBoF by
RPKI勉強会/RPKIユーザBoFRPKI勉強会/RPKIユーザBoF
RPKI勉強会/RPKIユーザBoFgree_tech
2.5K views17 slides
QAエンジニアを通じて 弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜 by
QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
QAエンジニアを通じて 弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜gree_tech
7.5K views92 slides

What's hot(20)

CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜 by gree_tech
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
gree_tech8.6K views
グリーにおけるSumo Logic活用事例 by gree_tech
グリーにおけるSumo Logic活用事例グリーにおけるSumo Logic活用事例
グリーにおけるSumo Logic活用事例
gree_tech623 views
【デブサミ夏AL】グリーのboxの使い方 by Developers Summit
【デブサミ夏AL】グリーのboxの使い方【デブサミ夏AL】グリーのboxの使い方
【デブサミ夏AL】グリーのboxの使い方
Developers Summit2.4K views
RPKIやってみませんか? by gree_tech
RPKIやってみませんか?RPKIやってみませんか?
RPKIやってみませんか?
gree_tech1.4K views
RPKI勉強会/RPKIユーザBoF by gree_tech
RPKI勉強会/RPKIユーザBoFRPKI勉強会/RPKIユーザBoF
RPKI勉強会/RPKIユーザBoF
gree_tech2.5K views
QAエンジニアを通じて 弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜 by gree_tech
QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
QAエンジニアを通じて 弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
gree_tech7.5K views
[GREE Tech Talk #07] Unityカジュアルゲーム・ケーススタディ by gree_tech
[GREE Tech Talk #07] Unityカジュアルゲーム・ケーススタディ[GREE Tech Talk #07] Unityカジュアルゲーム・ケーススタディ
[GREE Tech Talk #07] Unityカジュアルゲーム・ケーススタディ
gree_tech13.4K views
Sumo Logic活用事例とその運用 by gree_tech
Sumo Logic活用事例とその運用Sumo Logic活用事例とその運用
Sumo Logic活用事例とその運用
gree_tech2.7K views
グリーにおけるAWS移行の必然性 by gree_tech
グリーにおけるAWS移行の必然性グリーにおけるAWS移行の必然性
グリーにおけるAWS移行の必然性
gree_tech833 views
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps by Google Cloud Platform - Japan
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例 by gree_tech
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
gree_tech39.6K views
KubernetesでPHPを動かした話 by gree_tech
KubernetesでPHPを動かした話KubernetesでPHPを動かした話
KubernetesでPHPを動かした話
gree_tech2.1K views
Cocos2d-xを用いた "LINE タワーライジング" の開発事例 by gree_tech
Cocos2d-xを用いた "LINE タワーライジング" の開発事例Cocos2d-xを用いた "LINE タワーライジング" の開発事例
Cocos2d-xを用いた "LINE タワーライジング" の開発事例
gree_tech8.3K views
Cedec2015_「消滅都市」運用の一年 by gree_tech
Cedec2015_「消滅都市」運用の一年Cedec2015_「消滅都市」運用の一年
Cedec2015_「消滅都市」運用の一年
gree_tech21.5K views
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話 by gree_tech
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
gree_tech4.8K views
[デブサミ2015] スクラムならうまくいく? 〜グリーのネイティブゲーム作りの歴史をひもとく、 そして未来へ〜 by gree_tech
[デブサミ2015] スクラムならうまくいく?〜グリーのネイティブゲーム作りの歴史をひもとく、そして未来へ〜[デブサミ2015] スクラムならうまくいく?〜グリーのネイティブゲーム作りの歴史をひもとく、そして未来へ〜
[デブサミ2015] スクラムならうまくいく? 〜グリーのネイティブゲーム作りの歴史をひもとく、 そして未来へ〜
gree_tech5.1K views
大規模ライブ配信の苦労ポイント by gree_tech
大規模ライブ配信の苦労ポイント大規模ライブ配信の苦労ポイント
大規模ライブ配信の苦労ポイント
gree_tech1.5K views
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介 by gree_tech
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
gree_tech601 views

Similar to DataEngConf NYC’18 セッションサマリー #2

AndApp開発における全て #denatechcon by
AndApp開発における全て #denatechconAndApp開発における全て #denatechcon
AndApp開発における全て #denatechconDeNA
2.7K views37 slides
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1] by
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]David Buck
186 views74 slides
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋 by
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋Ayumu Aizawa
1.6K views29 slides
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕) by
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)Developers Summit
24.9K views48 slides
Intalio japan special cloud workshop by
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshopDaisuke Sugai
725 views46 slides
エンジニアという職業について by
エンジニアという職業についてエンジニアという職業について
エンジニアという職業についてHisatoshi Kikumoto
2.5K views77 slides

Similar to DataEngConf NYC’18 セッションサマリー #2(20)

AndApp開発における全て #denatechcon by DeNA
AndApp開発における全て #denatechconAndApp開発における全て #denatechcon
AndApp開発における全て #denatechcon
DeNA2.7K views
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1] by David Buck
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
David Buck186 views
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋 by Ayumu Aizawa
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
Ayumu Aizawa1.6K views
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕) by Developers Summit
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)
Developers Summit24.9K views
Intalio japan special cloud workshop by Daisuke Sugai
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
Daisuke Sugai725 views
エンジニアという職業について by Hisatoshi Kikumoto
エンジニアという職業についてエンジニアという職業について
エンジニアという職業について
Hisatoshi Kikumoto2.5K views
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ by Tetsutaro Watanabe
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
Tetsutaro Watanabe3.2K views
AWS における Microservices Architecture と DevOps を推進する組織と人とツール by Amazon Web Services Japan
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
おすすめインフラ! for スタートアップ by Koichiro Sumi
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
Koichiro Sumi1.6K views
Mule Runtime のアーキテクチャコンセプト紹介 by MuleSoft Meetup Tokyo
Mule Runtime のアーキテクチャコンセプト紹介Mule Runtime のアーキテクチャコンセプト紹介
Mule Runtime のアーキテクチャコンセプト紹介
最近のWeb関連技術の動向あれこれ by dsuke Takaoka
最近のWeb関連技術の動向あれこれ最近のWeb関連技術の動向あれこれ
最近のWeb関連技術の動向あれこれ
dsuke Takaoka10K views
Jenkins+Gitによる検証済みマージ(30分版) by Kohsuke Kawaguchi
Jenkins+Gitによる検証済みマージ(30分版)Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
Dangerでpull requestレビューの指摘事項を減らす by Shunsuke Maeda
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
Shunsuke Maeda4.6K views
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス by ericsagnes
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティスeZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
ericsagnes511 views
devsami kansai 2012 #c2 by Yushi_Takagi
devsami kansai 2012 #c2devsami kansai 2012 #c2
devsami kansai 2012 #c2
Yushi_Takagi996 views

More from gree_tech

アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜 by
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜gree_tech
729 views36 slides
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介 by
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介gree_tech
229 views13 slides
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表 by
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表gree_tech
1K views18 slides
アプリ起動時間高速化 ~推測するな、計測せよ~ by
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~gree_tech
1.9K views84 slides
長寿なゲーム事業におけるアプリビルドの効率化 by
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化gree_tech
347 views116 slides
Cloud Spanner をより便利にする運用支援ツールの紹介 by
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介gree_tech
685 views31 slides

More from gree_tech(20)

アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜 by gree_tech
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
gree_tech729 views
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介 by gree_tech
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
gree_tech229 views
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表 by gree_tech
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
gree_tech1K views
アプリ起動時間高速化 ~推測するな、計測せよ~ by gree_tech
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
gree_tech1.9K views
長寿なゲーム事業におけるアプリビルドの効率化 by gree_tech
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
gree_tech347 views
Cloud Spanner をより便利にする運用支援ツールの紹介 by gree_tech
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
gree_tech685 views
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について by gree_tech
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてSINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
gree_tech626 views
海外展開と負荷試験 by gree_tech
海外展開と負荷試験海外展開と負荷試験
海外展開と負荷試験
gree_tech593 views
翻訳QAでのテスト自動化の取り組み by gree_tech
翻訳QAでのテスト自動化の取り組み翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み
gree_tech305 views
組み込み開発のテストとゲーム開発のテストの違い by gree_tech
組み込み開発のテストとゲーム開発のテストの違い組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い
gree_tech576 views
サーバーフレームワークに潜んでる脆弱性検知ツール紹介 by gree_tech
サーバーフレームワークに潜んでる脆弱性検知ツール紹介サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
gree_tech209 views
データエンジニアとアナリストチーム兼務になった件について by gree_tech
データエンジニアとアナリストチーム兼務になった件についてデータエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件について
gree_tech308 views
シェアドサービスとしてのデータテクノロジー by gree_tech
シェアドサービスとしてのデータテクノロジーシェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジー
gree_tech432 views
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて- by gree_tech
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
gree_tech1K views
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話 by gree_tech
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
gree_tech1.1K views
比較サイトの検索改善(SPA から SSR に変換) by gree_tech
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
gree_tech694 views
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行 by gree_tech
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
gree_tech2.9K views
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜 by gree_tech
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
gree_tech397 views
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮) by gree_tech
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
gree_tech752 views
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方- by gree_tech
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
gree_tech446 views

Recently uploaded

システム概要.pdf by
システム概要.pdfシステム概要.pdf
システム概要.pdfTaira Shimizu
44 views1 slide
ウォーターフォール開発で生 産性を測る指標 by
ウォーターフォール開発で生 産性を測る指標ウォーターフォール開発で生 産性を測る指標
ウォーターフォール開発で生 産性を測る指標Kouhei Aoyagi
55 views13 slides
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私修治 松浦
208 views36 slides
Najah Matsuo Self Introduction by
Najah Matsuo Self IntroductionNajah Matsuo Self Introduction
Najah Matsuo Self IntroductionNajahMatsuo
10 views29 slides
onewedge_companyguide1 by
onewedge_companyguide1onewedge_companyguide1
onewedge_companyguide1ONEWEDGE1
66 views22 slides
概要.pdf by
概要.pdf概要.pdf
概要.pdfTaira Shimizu
6 views1 slide

Recently uploaded(6)

ウォーターフォール開発で生 産性を測る指標 by Kouhei Aoyagi
ウォーターフォール開発で生 産性を測る指標ウォーターフォール開発で生 産性を測る指標
ウォーターフォール開発で生 産性を測る指標
Kouhei Aoyagi55 views
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by 修治 松浦
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
修治 松浦208 views
Najah Matsuo Self Introduction by NajahMatsuo
Najah Matsuo Self IntroductionNajah Matsuo Self Introduction
Najah Matsuo Self Introduction
NajahMatsuo10 views
onewedge_companyguide1 by ONEWEDGE1
onewedge_companyguide1onewedge_companyguide1
onewedge_companyguide1
ONEWEDGE166 views

DataEngConf NYC’18 セッションサマリー #2

  • 1. Copyright © GREE, Inc. All Rights Reserved. グリー株式会社 開発本部 DataEngineeringGroup 松岡 紀行 DataEngConf NYC’18 セッションサマリー #2
  • 2. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. 【氏名・所属】 • 松岡 紀行 / Noriyuki Matsuoka • 開発本部 データエンジニアリンググループ エンジニアチーム 【略歴】 • 2016/04 グリー株式会社 入社 • 2016/06 データエンジニアリンググループ配属 • オンプレのHadoopやEMRベースのログ基盤を運用 • 2018/07 兼務で新規ゲームにクライアントエンジニアとし て配属 自己紹介
  • 3. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • セッション紹介#01 • Building a Modern Machine Learning Platform on Kubernetes • セッション紹介#02 • Artwork Personalization at Netflix • その他のセッション • まとめ アジェンダ
  • 4. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. セッション紹介#01 Building a Modern Machine Learning Platform on Kubernetes Saurabh Bajaj | Lyft
  • 5. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • ライドシェアサービスを提供する アメリカの企業 • Uberの競合 • タクシーのような専用車ではなく、 一般人が自家用車で乗車サービスを行う。 • 乗車料金は、都市や利用時間帯によって異なるが、 基本的にタクシーより安い。 企業紹介 - Lyft
  • 6. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • 機械学習のプロセス • Feature Engineering(特徴選択) • Prototyping(モデルの開発) • Model Training(モデルの学習) • Run in Production(モデルのデプロイ) • モデル開発には沢山の周辺タスクが発生 • データサイエンティストがモデル開発に集中できるように 機械学習基盤システムを構築したい 機械学習モデル開発の問題点
  • 7. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. 1. 特定の機械学習フレームワークに依存しない • tensorflowなど 2. GPUも利用できるように 3. 特定のクラウドに依存しない • NVIDIAのGPU Cloud、GoogleのCloud TPUや ASICベースのモデルトレーニングシステム • 機械学習界隈でのハードウェア・ソフトウェアエコシ ステムは進化が早い 4. 使いやすく・かつ柔軟性を • アカデミック出身の人にはインフラ管理に抵抗がある 人も多いので使いやすく。 • 一方で凝った使い方をしたい人には柔軟性を。 機械学習基盤システムに求める要件
  • 8. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. Docker Container • コンテナ技術での抽象化 • 特定のシステムに依存しなくなる Kubernetes • プラットフォームを構築するためのリッチなAPIを提供 • 複雑なワークフローを起動可能 • 容易にスケール可能 • クラウド非依存なAPI • 一方でローレベルなAPIも多数含まれ複雑なため、 さらに抽象化して使いやすくしたい Container / Kubernetes
  • 9. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • KubernetesをラップしたGUIを作成・提供 • ソフトウェアをボタンで選択 • Jupyter Notebook • Deeplearning + Tensorboard • R-Studio • ハードウェアをボタンで選択 • CPU • GPU • スペックの高低 Lyft の アプローチ
  • 10. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • ウェブブラウザで動作する対話型Pythonエディター • データを可視化して確認しながらプログラムを書けるため、 分析目的などに良く利用される • Lyftではこれを機械学習のベース環境として提供 (補足)Jupyter Notebook
  • 11. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • Kubernetesの最小構成単位 • 1つ以上のコンテナとリソースの組を抽象化したもの Kubernetes – Pod
  • 12. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • Podで利用可能な外部ストレージ管理の仕組み • モデルの学習データのチェックポイントとして利用可能 • NFSも利用可能 Kubernetes – Persistent Volume
  • 13. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • Podに対してアクセスポリシーを定義したもの Kubernetes – Service Pod#01 notebook-xxxxx Pod #02 tensorboard-yy Service#01 Cluster IP: xxx.xx.xx.xx Service#02 Cluster IP: yyy.yy.yy.yy Client Port 8888 Port 6006
  • 14. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • Serviceよりもさらに外側のルーターコンポーネント • Serviceよりも多機能 Kubernetes – Ingress Pod#01 Pod #02 Service#01 Service#02 Client Ingress
  • 15. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • 問題: Imageのサイズが大きい • Notebookのイメージサイズは平均して12-15GB • NVIDIAのCUDAドライバーやMLフレームワークのバイナリ • Notebookの作成のたびにダウンロードすると、 かなりの時間がかかってしまう • 対応 • 各ノードでキャッシュウォーミングを行って対応 クラスタに関する問題#1
  • 16. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • 問題: 新しいインスタンスの起動に時間がかかる • Kubernetesには負荷に応じてクラスタを自動的に 拡張するAuto Scalerがある • 一方で新しいインスタンスの起動には AMIを使用しても5~10分くらいの時間がかかる • 対応 • KubernetesのPreemption機能で対応 • Pod間に Priority (優先度)をつけておき、 新しい重要なPodがリソース不足で投入できない場合に 優先度の低いPodを追い出すこと クラスタに関する問題#2
  • 17. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • 問題: 大量のCredentialsの管理 • Podが外部と通信等を行うためにはCredentialsが必要 • 例:GITHUB_TOKEN • 対応 • KubernetesのSecrets機能の利用 • KubernetesではSecretsを利用すれば 安全・簡単にCredentialsを管理可能 • Base64エンコーディングで難読化 • コンテナ内で環境変数として参照可能 • LyftではGUIからユーザが簡単に設定可能 クラスタに関する問題#3
  • 18. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • MLモデルの実験には沢山の試行回数が必要 • Optimizerを入れ替える • Parameterを入れ替える • … • LyftにおけるTrainingのやり方 • NotebookでModel classやtraining methodを書く • モデルを含んだDockerファイルを作成してpush • CUDAドライバーなど必要なものがあればそれらもimport • GUIのTrainingページでモデルを選択&実行をクリック Training
  • 19. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • ハイパーパラメータのチューニングも時間がかかる • 何度も値を調整しながら学習を繰り返す必要がある • Katib • ハイパーパラメータチューニングフレームワーク • kubeflowプロジェクトの1つ • Google VizierをOSSで実装したもの • パラメータ空間を定義すれば、 あとは指定したアルゴリズム (グリッドサーチなど)でチューニング Tuning
  • 20. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • Kubernetesは特に使ったことがないのですが、強力な機 能が揃っていることや、関連する便利なOSSが増えている ことを考えると、少なくともML基盤では、あるいはそれ 以外でも非常に魅力的に感じました。 • 個人の意見ですがECSと比べてyamlやCLIでの管理が充 実していると感じたので使ってみたい • Lyftほど大きな企業ならともかく、普通の企業であれば kubeflowのエコシステムに乗っかったほうが良い? • 全体的に無駄な時間の削減を強調していて、アメリカのAI スペシャリストの給与相場を考えると、切実な問題なんだ ろうなと思いました。 所感
  • 21. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • カンファレンスサイト(概要のみ) • https://www.dataengconf.com/speaker/building-a- modern-machine-learning-platform-on- kubernetes?hsLang=en-us 参考
  • 22. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. セッション紹介#02 Artwork Personalization at Netflix Tony Jebara | Netflix
  • 23. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • 映像ストリーミング配信等を行う アメリカの企業 • 古くから機械学習を用いてレコメンド機能等に注力 企業紹介 - Netflix
  • 24. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • Personalized Ranking • Personalized Page Generation • Personalized Promotion • Personalized Image Selection • Learning Collaborative Search • Personalized Messaging • Personalized Marketing • Personalized Life Time Value • Personalized Content Acquisition Netflix が行っている機械学習
  • 25. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. アートワークのパーソナライズ (出典)https://medium.com/netflix-techblog/artwork-personalization-c589f074ad76 (2点とも)
  • 26. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • 古典的な手法 Batch Machine Learning (出典)https://medium.com/netflix-techblog/artwork-personalization-c589f074ad76 (2点とも)
  • 27. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • Regret(後悔)を最小化するためには Online Learningが適している • Regret: 最初からユーザの好みが既知だった場合の結果 と実際の結果の差分 • Batch的にではなく逐次的にモデルを改善していく • 関連する有名な問題: Multi-Armed Bandits Online Learning
  • 28. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • 以下を毎ターン繰り返す • Learner は Action を選ぶ • Environment は Action に従って Reward を返す • Learner は 累積報酬を最大化するように 方針をアップデートする • ポイント • 情報の探索と活用をバランスよく行う必要がある Bandits 問題 Learner (Policy) Environment Action Reward
  • 29. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • 以下を毎ターン繰り返す • Environment は Context を 渡す • Learner は Context を考慮しながら Action を選ぶ • Environment は Action に従って Reward を返す • Learner は 累積報酬を最大化するように 方針をアップデートする • Context: スロットの大きさ等の特徴ベクトル • 教師あり学習と異なり、正解を教えてもらえる訳ではない Contextual Bandits 問題 Learner (Policy) Environment Action Reward Context
  • 30. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • Context: ユーザの視聴履歴・国 • Action: 選択されたアートワーク • Reward: ユーザがポジティブな反応をしたかどうか • ポジティブ • コンテンツを楽しんで視聴した • ネガティブ • コンテンツを視聴しなかった • 途中で視聴をやめた • 楽しめなかった アートワークへの適用
  • 31. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • Contextual Bandits 問題を解くためのアルゴリズム • ε-greedy法 • LinUCB • Thompson Sampling • 例: ε-greedy法 • εの確率で「探索」 • 1-εの確率で「活用」 Contextual Bandits アルゴリズム
  • 32. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. 実際に適用した場合の例 (出典)https://medium.com/netflix-techblog/artwork-personalization-c589f074ad76
  • 33. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • 本番で使用する前にオフラインで性能評価を行いたい • Replay 手法 • 保存してある過去のアクションログを用いて 擬似的に評価 オフラインでのモデルの性能評価 (出典)https://medium.com/netflix-techblog/artwork-personalization-c589f074ad76
  • 34. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • メリット • 実データを使っており指標として信頼性がある • 計算しやすい • デメリット • 沢山のデータが必要 • 過学習する可能性がある オフラインでのモデルの性能評価 (出典)https://medium.com/netflix-techblog/artwork-personalization-c589f074ad76
  • 35. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • APIの適用場所は幅広く、ピーク時は20M RPS を超える • 手法1: Live Compute • アクセスが有った際にモデルを適用(計算) • 問題点 • SLA を満たすのが難しい • 遅延を抑えるにはシンプルなアルゴリズムに制限される • 手法2: Online Compute • 事前にモデルを適用してキャッシュ • 問題点 • 適用されるモデルは最新じゃない可能性がある • 実際には使われないキャッシュも用意する必要がある オンラインでのモデルの適用
  • 36. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • 内容としてはほぼ機械学習の話でしたが、基調講演として 発表されていて、参加者も次々と質問するほど熱心に聞い ていたのが印象的でした。 データに携わる上で、教養として機械学習に関する基本的 な知識は身につけておきたいと改めて思いました。 • 「アートワークをユーザによって変える」というアイデア 自体個人的には目からウロコでしたが、Netflixとしては将 来的に「ユーザがテレビの前にただ座っているだけで最適 なコンテンツが流れ最高な体験ができる」世界を目指して いるらしく、視野を拡げるために視座を高く保つというの は大事だと改めて感じました。 所感
  • 37. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • カンファレンスサイト(概要のみ) • https://www.dataengconf.com/speaker/artwork- personalization-at-netflix?hsLang=en-us • ブログ(画像引用元) • https://medium.com/netflix-techblog/artwork- personalization-c589f074ad76 参考
  • 38. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. その他のセッション
  • 39. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • 内容 • Prestoの紹介 • 他のSQL Engineと比べた際のPrestoの良さとして、特定の Data sourceに依存しない、ということを強調していました • Starburstが提供するPresto Enterpriseの紹介 • 所感 • 人は多く、Prestoの根強い人気を感じました • Prestoを再評価する良いきっかけになりました • 弊社ではEMRのPrestoを使っていて、Prestoが特定のData sourceに依存しないという点はあまり意識したことはなかっ たですが、時代の流れとしても特定のプラットフォーム・技術 非依存、という性質はより重視されてきていると思ったため Presto: Fast SQL-on-Anything
  • 40. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • 内容 • Facebookでデータ基盤を構築・運用した経験から得た プライバシーやセキュリティに関するお話 • Multi-tenancyモデルでのセキュリティの問題 • GDPRの『忘れられる権利』の対応に苦労したお話 • 個人情報に関連するデータに対して Semantic Type を定義 • 個人情報を取り扱うテーブルは最低限に抑え、 残りのテーブルは過去の全てのデータに対して匿名化を施した • IP -> masked IP、name -> null • 所感 • 数少ないプライバシーやセキュリティの話で、リスク 削減と性能のトレードオフの難しさを再認識しました Analyzing Data in the Cloud: Privacy and Security
  • 41. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. まとめ
  • 42. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. • 全体の話の傾向 • 全体としてMLやAIに関するセッションがかなり多かっ た印象 • データ分析基盤においては処理パフォーマンスよりも、 ストリーミングやスケジューラに着目した話が多かっ た印象 • Apache Kafka、Apache Airflowなど • 所感 • 概観としては、AWS・GCPなどクラウドで簡単にデー タ分析基盤が構築できるようになった今、それらを組 み合わせて如何に分析基盤を効率よく運用するか、ま た、データにML等を適用して如何に事業的価値を出せ るか、ということに注目が集まっていると感じました まとめ
  • 43. Copyright © GREE, Inc. All Rights Reserved.Copyright © GREE, Inc. All Rights Reserved. ありがとうございました!

Editor's Notes

  1. 各コンテンツを表現するアートワークとして