Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2019-7-19-data_ml_engineering
Search
yudeayase
July 19, 2019
Programming
0
760
2019-7-19-data_ml_engineering
yudeayase
July 19, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
290
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
300
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
130
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
240
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
300
Implementation Patterns
denyspoltorak
0
290
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
Fluid Templating in TYPO3 14
s2b
0
130
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.2k
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
350
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
66
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Language of Interfaces
destraynor
162
26k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Thoughts on Productivity
jonyablonski
74
5k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
76
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Navigating Weather and Climate Data
rabernat
0
110
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
The browser strikes back
jonoalderson
0
380
Transcript
Google Cloud ML Engine に浸かってみる @yudeayase
真の題名
フルマネージドで 楽したい! @yudeayase
機械学習予測側のお話
予測サーバーの運用を 楽にしようと思いました
何を作っていたのか? - 機械学習を使った広告効果の予測用API - 予測用のパラメーターをインプットとして予測値を返す - なるべくわかりやすいインターフェース - リクエストが数字の羅列とかしんどいよね
Our System 作っていた機械学習API Flask on GKE 予測モデル on ML Engine
Clients サービスのバックエンド or フロントエンドなど…
Our System 作っていた機械学習API Flask on GKE 予測モデル on ML Engine
Clients サービスのバックエンド or フロントエンドなど… 前処理 & 予測値整形
Our System 作っていた機械学習API Flask on GKE 予測モデル on ML Engine
Clients サービスのバックエンド or フロントエンドなど… 予測を実際に行うAPI
What is ML Engine? モデルの学習からそれを用いた予測サーバーを1サービスで構築可能
What is ML Engine? - モデルの学習からデプロイまで可能 - デプロイしたモデルですぐにオンライン予測可能 - モデルが重い場合がバッチ予測もできる
ん?
What is ML Engine? - モデルの学習からデプロイまで可能 - デプロイしたモデルですぐにオンライン予測可能 - モデルが重い場合がバッチ予測もできる
None
フルマネージドサーバーレス環境
Our System 作っていた機械学習API Flask on GKE 予測モデル on ML Engine
Clients サービスのバックエンド or フロントエンドなど… こいつの面倒は みないといけない!
前処理という業〜カルマ〜 { “年齢”: 34, “性別”: 男, “媒体”: “Twitter”, “画像”: base64...
... } { “年齢”: [0, 0, 1, 0, 0, 0, 0], “性別”: [1, 0], “媒体”: [1, 0 ,0, 0], “画像”: [[255.0, 255.0, ...]] ... } モデルへ
前処理という業〜カルマ〜 モデルへ この変換をFlaskアプリケーションが担う { “年齢”: 34, “性別”: 男, “媒体”: “Twitter”,
“画像”: base64... ... } { “年齢”: [0, 0, 1, 0, 0, 0, 0], “性別”: [1, 0], “媒体”: [1, 0 ,0, 0], “画像”: [[255.0, 255.0, ...]] ... }
前処理という業〜カルマ〜 モデルへ この変換をFlaskアプリケーションが担う ほとんどこのために1アプリケーション構築している { “年齢”: 34, “性別”: 男, “媒体”:
“Twitter”, “画像”: base64... ... } { “年齢”: [0, 0, 1, 0, 0, 0, 0], “性別”: [1, 0], “媒体”: [1, 0 ,0, 0], “画像”: [[255.0, 255.0, ...]] ... }
Our System 作っていた機械学習API Flask on GKE 予測モデル on ML Engine
Clients サービスのバックエンド or フロントエンドなど… こいつの世話分、 損してない?
せっかくのマネージドサービスを 使い倒してなくない?
どうすればいいのか?
前処理を含めて「モデル」をつくる 前処理 予測モデル
前処理を含めて「モデル」をつくる 前処理 予測モデル
実際できるの?
カテゴリ値の”翻訳” { “年齢”: 34, “性別”: 男, “媒体”: “Twitter”, ... }
{ “年齢”: [0, 0, 1, 0, 0, 0, 0], “性別”: [1, 0], “媒体”: [1, 0 ,0, 0], ... } 人間の読めるものから、モデルの読めるものへの変換 One-hot or Multi-hot encoding
Feature columns
くわしくは https://www.tensorflow.org/guide/feature_columns
画像の”翻訳” { “画像”: base64... ... } { “画像”: [[255.0, 255.0,
...]] ... } JSONで画像情報の実態を送る場合base64でエンコードを送ることがある デコード & 数値化が必須
モデルのserving input
モデルのserving input 学習済みモデル serving input - 画像のデコード - 画像の数値化 -
正規化 固めてML Engineに乗せられるモデルを出力
All in one model 学習済みモデル 数値input エンコーディングinput 画像input
Our System フルマネージド機械学習API Flask on GKE 予測モデル on ML Engine
Clients サービスのバックエンド or フロントエンドなど…
Our System フルマネージド機械学習API 予測モデル on ML Engine Clients サービスのバックエンド or
フロントエンドなど…
世話をするモジュールが減った!
Happy!
本当にハッピーなのか? - モデルにくっつける演算はTensorFlowにベタベタ - ML Engineに依存ベタベタ - AWS SageMakerもある -
GCPに依存しまくってていいのかの判断 - TensorFlow2.0 - 朗報はKerasでもfeature columnsが使える - Serving inputは確実に変更が必要
Thank you !