[Japan Tech summit 2017] MAI 005
-
Upload
microsoft-tech-summit-2017 -
Category
Travel
-
view
131 -
download
6
Transcript of [Japan Tech summit 2017] MAI 005
Microsoft Tech Summit 2017
~ DBAのAIことはじめ ~
© 2017 日本電気株式会社 All rights reserved.
© 2017 日本電気株式会社 All rights reserved.
© 2017 日本電気株式会社 All rights reserved.
何かもっと良いものあれば差し替え
出典)https://deepmind.com/blog/alphago-zero-learning-scratch/
© 2017 日本電気株式会社 All rights reserved.
出典)https://www.microsoft.com/
© 2017 日本電気株式会社 All rights reserved.
出典)https://www.apple.com/
© 2017 日本電気株式会社 All rights reserved.
お手伝いしましょうか?
出典)https://www.google.com/
© 2017 日本電気株式会社 All rights reserved.
人相 名前は? あなたは何者? 好きな食べ物は?
コルタナと申します。仕事はあなたのお役に立つことです。
ドーナツです。言ってみただけですけど。
私の名前はシリです。もうご存知かとおもっていました。
私がだれかなんて、どうでもいいことですよ。
私の好みなんて、気にしないでください。
私はGoogleアシスタントです。
アシスタントです。私は様々な食べ物が好きです。
Microsoft
Apple
© 2017 日本電気株式会社 All rights reserved.
© 2017 日本電気株式会社 All rights reserved.出典)https://i.ytimg.com/vi/-YRB0eFxeQA/maxresdefault.jpg
© 2017 日本電気株式会社 All rights reserved.
①今更何ができるの?もう遅いよ。
②DBA仕事に関係ないしさ。
③今回もブームで終わるでしょ。
© 2017 日本電気株式会社 All rights reserved.
①今更何ができるの?もう遅いよ。
© 2017 日本電気株式会社 All rights reserved.出典)https://www.gartner.co.jp/press/html/pr20170823-01.html
© 2017 日本電気株式会社 All rights reserved.
0
20
40
60
80
100
120
140
160
180
200
0
10
20
30
40
50
60
70
2012/10/28 2013/10/28 2014/10/28 2015/10/28 2016/10/28 2017/10/28
「AI Deep Learning」Trend Search
「NVIDIA Corp」Stock Price
出典)https://trends.google.com/trends/explore?date=today%205-y&q=AI%20Deep%20Learning
出典)https://stooq.com/q/d/?s=nvda.us&c=0&d1=20121027&d2=20171027&i=w
© 2017 日本電気株式会社 All rights reserved.
0
5
10
15
20
25
30
2010年
NEC
2011年
Xerox
2012年
University
of Toronto
2013年
Clarifai
2014年
2015年
Microsoft
2016年
MPS
人間
画像識別誤り率(%)
人間の識別能力を超過
本番システムで実用可能
出典)Large Scale Visual Recognition Challenge (ILSVRC)
コンピューター画像識別世界競技会ベストレコード推移
© 2017 日本電気株式会社 All rights reserved.
②DBA仕事に関係ないしさ。
© 2017 日本電気株式会社 All rights reserved.
tf
in
MobileAPP
IoT
SoR
Social
DesktopAPP
WebBrowser
Data Source ConsumerPublishAI Predict
ETL
DWH/DM
Report
API
BI
Data Prep
ModelingEvaluation
AI Train
GPU
© 2017 日本電気株式会社 All rights reserved.
tf
in
MobileAPP
IoT
SoR
Social
DesktopAPP
WebBrowser
Data Source ConsumerPublishAI Predict
ETL
DWH/DM
Report
API
BI
Data Prep
ModelingEvaluation
AI Train
GPU
© 2017 日本電気株式会社 All rights reserved.
tf
in
MobileAPP
IoT
SoR
Social
DesktopAPP
WebBrowser
Data Source ConsumerPublishAI Predict
ETL
DWH/DM
Report
API
BI
Data Prep
ModelingEvaluation
AI Train
GPU
SQL ServerIntegrationServices
SQL ServerAnalysisServices
SQL ServerReportingServices
SQL ServerR Server
Power BIReport Server
© 2017 日本電気株式会社 All rights reserved.
tf
in
MobileAPP
IoT
SoR
Social
DesktopAPP
WebBrowser
Data Source ConsumerPublishAI Predict
ETL
DWH/DM
Report
API
BI
Data Prep
ModelingEvaluation
AI Train
GPU
SQL ServerIntegrationServices
SQL ServerAnalysisServices
SQL ServerReportingServices
SQL ServerR Server
Power BIReport Server
SQL Serverの門外
© 2017 日本電気株式会社 All rights reserved.
アプリケーション
+
インテリジェンス
データベース
アプリケーション
インテリジェンス
+
データベース
SQL Server 2017 の コンセプト のひとつ
『 データがあるところにインテリジェンスを』
© 2017 日本電気株式会社 All rights reserved.
tf
in
MobileAPP
IoT
SoR
Social
DesktopAPP
WebBrowser
Data Source ConsumerPublishAI Predict
ETL
DWH/DM
Report
API
BI
Data Prep
ModelingEvaluation
AI Train
GPU
SQL ServerIntegrationServices
SQL ServerAnalysisServices
SQL ServerReportingServices
SQL ServerR Server
Power BIReport Server
ML Services によりSQL Server がAIをサポート
SQL ServerMachine Learning
Services
NEW
© 2017 日本電気株式会社 All rights reserved.
SQL Server サーバー
Python/R ランタイム
APP
Machine Learning Services
Database Services
プロシージャA
GPU
プロシージャCプロシージャB
Python/R記述Predict処理
RAPID機械学習Chainer CNTK
Python/R記述Train処理
Python/R記述その他処理
TensorFlow その他FW
© 2017 日本電気株式会社 All rights reserved.
tf
in
MobileAPP
IoT
SoR
Social
DesktopAPP
WebBrowser
Data Source ConsumerPublishAI Predict
ETL
DWH/DM
Report
API
BI
Data Prep
ModelingEvaluation
AI Train
GPU
SQL ServerIntegrationServices
SQL ServerAnalysisServices
SQL ServerReportingServices
SQL ServerR Server
Power BIReport Server
SQL ServerMachine Learning
Services
© 2017 日本電気株式会社 All rights reserved.
tf
in
AI for X
Data Source Consumer本番システムで利用可能なAI実行基盤
AI for YAI for Z
ETL
DWH/DM
ReportAPI
BIMobileAPP
IoT
SoR
Social
DesktopAPP
WebBrowser
SQL Server ワンボックスAI プラットフォーム
© 2017 日本電気株式会社 All rights reserved.
© 2017 日本電気株式会社 All rights reserved.
▌システムモデル
▌Y県自治体のお悩み事毒キノコの誤食による食中毒の被害があとを絶たない。なんとか減らせないものか…。
Deep Learning on SQL Server による画像判定
Predict
Train
Internet
ETL
BingImageSearch
API
スマホ
食用キノコ画像
毒キノコ画像
学習モデル(AI)
要判定キノコ画像
キノコ狩り
判定結果 可視化
© 2017 日本電気株式会社 All rights reserved.
▌Y県自治体のお悩み事毒キノコの誤食による食中毒の被害があとを絶たない。なんとか減らせないものか…。
Deep Learning on SQL Server による画像判定
▌登場人物
Data Scientist :AIを開発。
SQL Server DBA:AIをSQL Serverにデプロイ。
Developer :AIをアプリに組込み、結果を可視化。
© 2017 日本電気株式会社 All rights reserved.
Internet
ETL
BingImageSearch
API
スマホ
食用キノコ画像
毒キノコ画像
学習モデル(AI)
要判定キノコ画像
判定結果
事前環境
SQL Serveron IaaS w/GPU
VS Codeon IaaS w/GPU
キノコ狩り
© 2017 日本電気株式会社 All rights reserved.
PredictTrain
ETL
デモ① Data Scientist「私が慣れ親しんだ環境でAIを開発します。」
可視化
Internet
BingImageSearch
API
食用キノコ画像
毒キノコ画像
学習モデル(AI)
要判定キノコ画像
判定結果キノコ狩り
スマホ
© 2017 日本電気株式会社 All rights reserved.
PredictTrain
ETL
Predict
Train
デモ② DBA「AIを『コピペ』のプロシージャ化 で SQL Server にデプロイします」
Internet
BingImageSearch
API
食用キノコ画像
毒キノコ画像
学習モデル(AI)
要判定キノコ画像
判定結果キノコ狩り
スマホ
© 2017 日本電気株式会社 All rights reserved.
PredictTrain
ETL
Predict
Train
デモ③ Developer「SQL文1行でAIを実行し、結果を可視化します」
可視化
Internet
BingImageSearch
API
食用キノコ画像
毒キノコ画像
学習モデル(AI)
要判定キノコ画像
判定結果キノコ狩り
可視化
スマホ
© 2017 日本電気株式会社 All rights reserved.
tf
in
Data Source Consumer本番システムで利用可能なAI実行基盤
MobileAPP
IoT
SoR
Social
DesktopAPP
WebBrowser
システム構成要素が少なく信頼性が高い
入口と出口が標準化されたI/Fで接続可能
AIがSQL Serverのリッチな機能に相乗可能
1
2
3
AI for XAI for Y
AI for Z
Report
API
BI
ETL
DWH/DM
© 2017 日本電気株式会社 All rights reserved.
③今回もブームで終わるでしょ。
200人の日本人の身体データ
誤って100人分の性別情報を削除
身体データから,その方の性別を推定する以外にオプションがありません。
90個の身体特徴があるので,頑張れば性別判定できそう。
© 2017 日本電気株式会社 All rights reserved.
1st Step:ルール・ドリブンアプローチ
(自分のアタマで考える)
現在の時刻:午後6時 (残り12時間)
身体データに入っている90個の身体特徴を見ながら,
性別を予測するプログラムをゼロから書こう。
「身長」と「体重」の2つの特徴を使えば,おそらく個人の性別を判定できるだろう。
「身長」と「体重」だけでは性別判定できなさそう。
他の身体特徴も使う必要がありそうだ。
© 2017 日本電気株式会社 All rights reserved.
2nd Step:インサイト・ドリブンアプローチ
(データに教えてもらう)
現在の時刻:午前0時 (残り6時間)
残り時間は6時間。性別判定プログラムを6時間で書き上げるのは難しそうだ。
プログラム開発の生産性をアップする,何か別の良いソリューションはないかな?
データ削除を免れた100人の身体データから,日本人の性別と身体特徴の関係を調べたら?
あなたが知らない,男女判別に有用な身体特徴を見つけられるかもしれませんよ。
性別情報が残った100人の身体データから,
日本人の性別判定する予測モデルを作ろう。
性別情報を削除してしまった残り100人の性別は,
この予測モデルを使ってレストアしよう。
200人
100人 100人
最初は,「身長」と「体重」だけで日本人の性別判定できるか試してみよう。
追加の身体特徴を使うかどうかは,この予測結果を見てから判断しよう。
「身長」と「体重」だけで72%,日本人の性別を判定できそうだな。
予測精度を100%に近づけたいから,
追加の身体特徴を使おう。何を使うべきか?
混同行列予測
女性 男性
正解女性 15 6
男性 8 21
100人の日本人の身
体データは,2つのクラスタに分割できそうだ。
各クラスタの代表点
(重心)を見ると,女性は「体脂肪」が性別判定に効きそうだ。
身体特徴 重要度
身体寸法体脂肪
0.43
関節可動域肘関節.伸展
0.21
体力測定長座体前屈
0.16
身体寸法腹囲
0.09
身体特徴 重要度
被験者情報身長
0.86
身体寸法頚椎高
0.85
体力測定握力
0.66
被験者情報体重
0.49
次は「身長」「体重」に「体脂肪」を加えて,日本人の性別を予測できるか試してみよう。
追加の身体情報を使うかどうかは,この予測結果を見てから判断しよう。
「身長」と「体重」に「体脂肪」を加えると,
日本人の性別を84%判定できそうだな。
予測精度を100%に近づけたいけど,
午前6時までにモデリングが終わるか不安だ。
混同行列予測
女性 男性
正解女性 19 2
男性 6 23
© 2017 日本電気株式会社 All rights reserved.
3rd Step:データ・ドリブンアプローチ
(AIに教えてもらう)
現在の時刻:午前2時 (残り4時間)
残り4時間。予測モデルを4時間で仕上げできるか不透明だ。
プログラム開発の生産性を更に加速する,何か別の良いソリューションはないかな?
データ削除を免れた100人の身体データに含まれる
90個すべての身体特徴を使ったらどう?
ディープラーニングを使えば,性別判定に効く身体特徴を勝手に探してくれますよ。
性別情報が残った100人の身体データから,
日本人の性別判定する予測モデルを作ろう。
性別情報を削除してしまった残り100人の性別は,
この予測モデルを使ってレストアしよう。
200人
100人 100人
最初に,90個すべての身体特徴を使って日本人の性別判定できるかざっと試してみよう。
これでダメだったら,身体特徴から性別を当てるのは難しいとあきらめがつきそうだ。
90個すべての身体特徴を使うと,
日本人の性別を96%予測できそうだな。
間違えた日本人 2名は,プログラムで個別にケアすれば,
なんとかなりそうだ!!
混同行列予測
女性 男性
正解女性 26 1
男性 1 22
© 2017 日本電気株式会社 All rights reserved.
© 2017 日本電気株式会社 All rights reserved.
①今更何ができるの?もう遅いよ。
②DBA仕事に関係ないしさ。
③今回もブームで終わるでしょ。
→ システム化はこれから!
→ SQL Server がAIをサポート!
→ 使うべき実用的テクノロジー!
© 2017 日本電気株式会社 All rights reserved.
“Data is the New Oil”
出典)https://www.photo-ac.com/
© 2017 日本電気株式会社 All rights reserved.出典)https://www.photo-ac.com/
© 2017 日本電気株式会社 All rights reserved.
▌シナリオあるスキーレンタル事業者のレンタルデータ(月日、曜日、祝日、天気、降雪量など)をもとに将来のレンタル数の予測を行います。
▌ポイントシンプルなサンプルです。
まずはPythonの開発環境でモデルトレーニング(scikit-learn×線形回帰アルゴリズム)とスコアリングを実装し、これとまったく同じ処理をSQL Server にデプロイする方法を学びIn Database Analyticsを実践します。
https://goo.gl/QDnxp1
© 2017 日本電気株式会社 All rights reserved.
▌シナリオニューヨークのタクシー事業者の乗車データ(時刻、距離、ピックアップ場所など)をもとに特定の乗車においてチップが得られるかどうかを予測を行います。
▌ポイントIn Database Analytics の開発ライフサイクルを体感するようにチュートリアルが構成されています。
同じシナリオのサンプルコードをPython、Rの両言語で用意しています。
scikit-learnとRevoScaleそれぞれでロジスティック回帰モデルをトレーニングします。
モデルの
デプロイ
モデルの
オペレー
ション
探索と
可視化
特徴抽
出
トレー
ニングテスト
ETL
https://goo.gl/Lq8GVt
© 2017 日本電気株式会社 All rights reserved.
▌シナリオローンデータをモデル化し、貸付金利を上昇させた場合の貸倒償却度合の変化についてWhat-If分析を行います。
▌ポイントIn Database Analyticsの真価を体感できるようにチュートリアルが構成されています。
PowerBIによる可視化を含んだサンプルです。
RevoScaleRでディシジョンフォレストモデルをトレーニングします。
In-memory TableColumn StorePower BI
Predict(parallel)
VisualizeTrain Rloan Data
Import
https://goo.gl/zb8Rwb
© 2017 日本電気株式会社 All rights reserved.
https://goo.gl/QDnxp1
https://goo.gl/Lq8GVt
https://goo.gl/zb8Rwb
© 2017 日本電気株式会社 All rights reserved.
ご清聴いただきありがとうございました
© 2017 日本電気株式会社 All rights reserved.
© 2017 日本電気株式会社 All rights reserved.
© 2017 日本電気株式会社 All rights reserved.
CREATE PROCEDURE ユーザ定義プロシージャASBEGINEXEC sp_execute_external_script@language = N'Python',@script =N'#Python code#'
END
SQL Server 2017
Machine Learning Services
Python Runtime
APP
結果返却
Python/Rコード実行
T-SQL
Java
C/C++
C#/VB.NET
PHP
Node.js
Python
Ruby
②
③
①
EXEC ユーザ定義プロシージャ
sp_execute_external_script の呼び出し
EXEC sp_execute_external_script@language = N'Python',@script =N'#Python code#'
もしくは
Server
© 2017 日本電気株式会社 All rights reserved.
Sqlsrvr.exe Launchpad.exe
Pythonlauncher.dll/Rlauncher.dll
Python.exe/RTerm.exe
Python35.dll/R.dll
PyLink.dll/RxLink.dll
BxlServer.exe
SqlSatellite.dll
Database EngineServices
LaunchpadServices
Machine Learning Services
Python/R Process BxlServer Process
Named Pipe
①
②
③ ④
Named Pipe
⑤⑥TCP/IP
conhost.exe
APP Server
sp_execute_external_script
© 2017 日本電気株式会社 All rights reserved.
1.SQL Server Database Engine Services と
SQL Server Machine Learning Services のインストール
2.外部スクリプト実行機能の有効化
(EXEC sp_configure 'external scripts enabled', 1;)
3.SQL Server の再起動
© 2017 日本電気株式会社 All rights reserved.
SQL Server 2016 の RServices が改名してMachine Learning Services となっている
© 2017 日本電気株式会社 All rights reserved.
▌Machine Learning ServicesPython/RをSQL Serverに統合した InDatabase な実行環境を提供
• SQL17CU1でWindows版のみ
▌Machine Learning ServerスケーラブルなPython/Rの実行環境を提供
• SQL Serverとは直接かかわりがない
– Windows版はSQL Serverのライセンスによって提供される
• Windows/Linuxに対応こっち(Machine Learning Server)は別物
© 2017 日本電気株式会社 All rights reserved.
▌Python:version 3.5.2
Anaconda 4.3 がインストールされる
• Continuum Analytics社が提供するPythonディストリビューション
Python HOME
• C:¥Program Files¥Microsoft SQL Server¥MSSQL14.MSSQLSERVER¥PYTHON_SERVICES
▌R:version 3.3.3
Microrosft R がインストールされる
• Revolution Analytics社(2015年Microsoft社が買収)が提供するRディストリビューション
R HOME
• C:¥Program Files¥Microsoft SQL Server¥MSSQL14.MSSQLSERVER¥R_SERVICES
© 2017 日本電気株式会社 All rights reserved.
▌Machine Learning Services は Standard Edition でも使えます
Enterprise Edition 比較で機能差は無し。• (抜粋) Standard Edition has all the capabilities of in-database analytics included with Enterprise Edition,
except for resource governance. Performance and scale is also limited: the data that can be processed must fit in server memory, and processing is limited to a single compute thread, even when using the RevoScaleR functions.
スレッド数やリソースのスケーラビリティに制約有り。
© 2017 日本電気株式会社 All rights reserved.
▌プラットフォームは SQL Server on Windows のみSQL Server on Linux は今時点未サポート
▌AlwaysOn による可用性構成は Availability Group のみサポートFailover Cluster Instance は未サポート