SlideShare une entreprise Scribd logo
1  sur  43
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.
ありがとうございました!

Contenu connexe

Tendances

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

Tendances (20)

CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
 
グリーにおけるSumo Logic活用事例
グリーにおけるSumo Logic活用事例グリーにおけるSumo Logic活用事例
グリーにおけるSumo Logic活用事例
 
【デブサミ夏AL】グリーのboxの使い方
【デブサミ夏AL】グリーのboxの使い方【デブサミ夏AL】グリーのboxの使い方
【デブサミ夏AL】グリーのboxの使い方
 
RPKIやってみませんか?
RPKIやってみませんか?RPKIやってみませんか?
RPKIやってみませんか?
 
RPKI勉強会/RPKIユーザBoF
RPKI勉強会/RPKIユーザBoFRPKI勉強会/RPKIユーザBoF
RPKI勉強会/RPKIユーザBoF
 
QAエンジニアを通じて 弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
QAエンジニアを通じて 弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
 
[GREE Tech Talk #07] Unityカジュアルゲーム・ケーススタディ
[GREE Tech Talk #07] Unityカジュアルゲーム・ケーススタディ[GREE Tech Talk #07] Unityカジュアルゲーム・ケーススタディ
[GREE Tech Talk #07] Unityカジュアルゲーム・ケーススタディ
 
Sumo Logic活用事例とその運用
Sumo Logic活用事例とその運用Sumo Logic活用事例とその運用
Sumo Logic活用事例とその運用
 
グリーにおけるAWS移行の必然性
グリーにおけるAWS移行の必然性グリーにおけるAWS移行の必然性
グリーにおけるAWS移行の必然性
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが 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を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
 
KubernetesでPHPを動かした話
KubernetesでPHPを動かした話KubernetesでPHPを動かした話
KubernetesでPHPを動かした話
 
Cocos2d-xを用いた "LINE タワーライジング" の開発事例
Cocos2d-xを用いた "LINE タワーライジング" の開発事例Cocos2d-xを用いた "LINE タワーライジング" の開発事例
Cocos2d-xを用いた "LINE タワーライジング" の開発事例
 
Cedec2015_「消滅都市」運用の一年
Cedec2015_「消滅都市」運用の一年Cedec2015_「消滅都市」運用の一年
Cedec2015_「消滅都市」運用の一年
 
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
 
[デブサミ2015] スクラムならうまくいく? 〜グリーのネイティブゲーム作りの歴史をひもとく、 そして未来へ〜
[デブサミ2015] スクラムならうまくいく?〜グリーのネイティブゲーム作りの歴史をひもとく、そして未来へ〜[デブサミ2015] スクラムならうまくいく?〜グリーのネイティブゲーム作りの歴史をひもとく、そして未来へ〜
[デブサミ2015] スクラムならうまくいく? 〜グリーのネイティブゲーム作りの歴史をひもとく、 そして未来へ〜
 
大規模ライブ配信の苦労ポイント
大規模ライブ配信の苦労ポイント大規模ライブ配信の苦労ポイント
大規模ライブ配信の苦労ポイント
 
決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
 
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
 
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
 

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

AndApp開発における全て #denatechcon
AndApp開発における全て #denatechconAndApp開発における全て #denatechcon
AndApp開発における全て #denatechconDeNA
 
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]
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]David Buck
 
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋Ayumu Aizawa
 
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)Developers Summit
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshopDaisuke Sugai
 
エンジニアという職業について
エンジニアという職業についてエンジニアという職業について
エンジニアという職業についてHisatoshi Kikumoto
 
Wg for ai_dev_ops_20180713
Wg for ai_dev_ops_20180713Wg for ai_dev_ops_20180713
Wg for ai_dev_ops_20180713Yutaka Terasawa
 
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 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめTetsutaro Watanabe
 
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAmazon Web Services Japan
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
Mule Runtime のアーキテクチャコンセプト紹介
Mule Runtime のアーキテクチャコンセプト紹介Mule Runtime のアーキテクチャコンセプト紹介
Mule Runtime のアーキテクチャコンセプト紹介MuleSoft Meetup Tokyo
 
最近のWeb関連技術の動向あれこれ
最近のWeb関連技術の動向あれこれ最近のWeb関連技術の動向あれこれ
最近のWeb関連技術の動向あれこれdsuke Takaoka
 
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)Kohsuke Kawaguchi
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすShunsuke Maeda
 
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティスeZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティスericsagnes
 
devsami kansai 2012 #c2
devsami kansai 2012 #c2devsami kansai 2012 #c2
devsami kansai 2012 #c2Yushi_Takagi
 
Dataworks Summit SJ QueryEngine - Hadoop Source Code Reading #23 #hadoopreading
Dataworks Summit SJ QueryEngine - Hadoop Source Code Reading #23 #hadoopreadingDataworks Summit SJ QueryEngine - Hadoop Source Code Reading #23 #hadoopreading
Dataworks Summit SJ QueryEngine - Hadoop Source Code Reading #23 #hadoopreadingYahoo!デベロッパーネットワーク
 
MuleアプリケーションのCI/CD
MuleアプリケーションのCI/CDMuleアプリケーションのCI/CD
MuleアプリケーションのCI/CDMuleSoft Meetup Tokyo
 

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

AndApp開発における全て #denatechcon
AndApp開発における全て #denatechconAndApp開発における全て #denatechcon
AndApp開発における全て #denatechcon
 
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]
Ahead-of-Time Compilation with JDK 9 [Java Day Tokyo 2017 D1-A1]
 
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
 
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)
【14-B-2】グリーを支えるデータ分析基盤の過去と現在(橋本泰一〔グリー〕)
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
エンジニアという職業について
エンジニアという職業についてエンジニアという職業について
エンジニアという職業について
 
Wg for ai_dev_ops_20180713
Wg for ai_dev_ops_20180713Wg for ai_dev_ops_20180713
Wg for ai_dev_ops_20180713
 
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 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
 
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
 
第六回Jenkins勉強会
第六回Jenkins勉強会第六回Jenkins勉強会
第六回Jenkins勉強会
 
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_cccSpring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
Mule Runtime のアーキテクチャコンセプト紹介
Mule Runtime のアーキテクチャコンセプト紹介Mule Runtime のアーキテクチャコンセプト紹介
Mule Runtime のアーキテクチャコンセプト紹介
 
最近のWeb関連技術の動向あれこれ
最近のWeb関連技術の動向あれこれ最近のWeb関連技術の動向あれこれ
最近のWeb関連技術の動向あれこれ
 
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
 
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティスeZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
 
devsami kansai 2012 #c2
devsami kansai 2012 #c2devsami kansai 2012 #c2
devsami kansai 2012 #c2
 
Dataworks Summit SJ QueryEngine - Hadoop Source Code Reading #23 #hadoopreading
Dataworks Summit SJ QueryEngine - Hadoop Source Code Reading #23 #hadoopreadingDataworks Summit SJ QueryEngine - Hadoop Source Code Reading #23 #hadoopreading
Dataworks Summit SJ QueryEngine - Hadoop Source Code Reading #23 #hadoopreading
 
MuleアプリケーションのCI/CD
MuleアプリケーションのCI/CDMuleアプリケーションのCI/CD
MuleアプリケーションのCI/CD
 

Plus de gree_tech

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

Plus de gree_tech (20)

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

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. ありがとうございました!

Notes de l'éditeur

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