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
740
2019-7-19-data_ml_engineering
yudeayase
July 19, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
230
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
110
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
490
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
140
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
110
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
240
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
560
技術同人誌をMCP Serverにしてみた
74th
1
440
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
48
32k
WebViewの現在地 - SwiftUI時代のWebKit - / The Current State Of WebView
marcy731
0
100
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
640
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
320
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
940
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
How GitHub (no longer) Works
holman
314
140k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
230
RailsConf 2023
tenderlove
30
1.1k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
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 !