74
Microsoft Tech Summit 2017 ~ DBAのAIことはじめ ~

[Japan Tech summit 2017] MAI 005

Embed Size (px)

Citation preview

Page 1: [Japan Tech summit 2017] MAI 005

Microsoft Tech Summit 2017

~ DBAのAIことはじめ ~

Page 2: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

Page 3: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

Page 4: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

何かもっと良いものあれば差し替え

出典)https://deepmind.com/blog/alphago-zero-learning-scratch/

Page 5: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

出典)https://www.microsoft.com/

Page 6: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

出典)https://www.apple.com/

Page 7: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

お手伝いしましょうか?

出典)https://www.google.com/

Page 8: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

人相 名前は? あなたは何者? 好きな食べ物は?

コルタナと申します。仕事はあなたのお役に立つことです。

ドーナツです。言ってみただけですけど。

私の名前はシリです。もうご存知かとおもっていました。

私がだれかなんて、どうでもいいことですよ。

私の好みなんて、気にしないでください。

私はGoogleアシスタントです。

アシスタントです。私は様々な食べ物が好きです。

Microsoft

Apple

Google

Page 9: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

Page 10: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.出典)https://i.ytimg.com/vi/-YRB0eFxeQA/maxresdefault.jpg

Page 11: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

①今更何ができるの?もう遅いよ。

②DBA仕事に関係ないしさ。

③今回もブームで終わるでしょ。

Page 12: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

①今更何ができるの?もう遅いよ。

Page 13: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.出典)https://www.gartner.co.jp/press/html/pr20170823-01.html

Page 14: [Japan Tech summit 2017] MAI 005

© 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

Page 15: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

0

5

10

15

20

25

30

2010年

NEC

2011年

Xerox

2012年

University

of Toronto

2013年

Clarifai

2014年

Google

2015年

Microsoft

2016年

MPS

人間

画像識別誤り率(%)

人間の識別能力を超過

本番システムで実用可能

出典)Large Scale Visual Recognition Challenge (ILSVRC)

コンピューター画像識別世界競技会ベストレコード推移

Page 16: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

②DBA仕事に関係ないしさ。

Page 17: [Japan Tech summit 2017] MAI 005

© 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

Page 18: [Japan Tech summit 2017] MAI 005

© 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

Page 19: [Japan Tech summit 2017] MAI 005

© 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

Page 20: [Japan Tech summit 2017] MAI 005

© 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の門外

Page 21: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

アプリケーション

インテリジェンス

データベース

アプリケーション

インテリジェンス

データベース

SQL Server 2017 の コンセプト のひとつ

『 データがあるところにインテリジェンスを』

Page 22: [Japan Tech summit 2017] MAI 005

© 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

Page 23: [Japan Tech summit 2017] MAI 005

© 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

Page 24: [Japan Tech summit 2017] MAI 005

© 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

Page 25: [Japan Tech summit 2017] MAI 005

© 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 プラットフォーム

Page 26: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

Page 27: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

▌システムモデル

▌Y県自治体のお悩み事毒キノコの誤食による食中毒の被害があとを絶たない。なんとか減らせないものか…。

Deep Learning on SQL Server による画像判定

Predict

Train

Internet

ETL

BingImageSearch

API

スマホ

食用キノコ画像

毒キノコ画像

学習モデル(AI)

要判定キノコ画像

キノコ狩り

判定結果 可視化

Page 28: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

▌Y県自治体のお悩み事毒キノコの誤食による食中毒の被害があとを絶たない。なんとか減らせないものか…。

Deep Learning on SQL Server による画像判定

▌登場人物

Data Scientist :AIを開発。

SQL Server DBA:AIをSQL Serverにデプロイ。

Developer :AIをアプリに組込み、結果を可視化。

Page 29: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

Internet

ETL

BingImageSearch

API

スマホ

食用キノコ画像

毒キノコ画像

学習モデル(AI)

要判定キノコ画像

判定結果

事前環境

SQL Serveron IaaS w/GPU

VS Codeon IaaS w/GPU

キノコ狩り

Page 30: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

PredictTrain

ETL

デモ① Data Scientist「私が慣れ親しんだ環境でAIを開発します。」

可視化

Internet

BingImageSearch

API

食用キノコ画像

毒キノコ画像

学習モデル(AI)

要判定キノコ画像

判定結果キノコ狩り

スマホ

Page 31: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

PredictTrain

ETL

Predict

Train

デモ② DBA「AIを『コピペ』のプロシージャ化 で SQL Server にデプロイします」

Internet

BingImageSearch

API

食用キノコ画像

毒キノコ画像

学習モデル(AI)

要判定キノコ画像

判定結果キノコ狩り

スマホ

Page 32: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

PredictTrain

ETL

Predict

Train

デモ③ Developer「SQL文1行でAIを実行し、結果を可視化します」

可視化

Internet

BingImageSearch

API

食用キノコ画像

毒キノコ画像

学習モデル(AI)

要判定キノコ画像

判定結果キノコ狩り

可視化

スマホ

Page 33: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

tf

in

Data Source Consumer本番システムで利用可能なAI実行基盤

MobileAPP

IoT

SoR

Social

DesktopAPP

WebBrowser

システム構成要素が少なく信頼性が高い

入口と出口が標準化されたI/Fで接続可能

AIがSQL Serverのリッチな機能に相乗可能

AI for XAI for Y

AI for Z

Report

API

BI

ETL

DWH/DM

Page 34: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

③今回もブームで終わるでしょ。

Page 35: [Japan Tech summit 2017] MAI 005
Page 36: [Japan Tech summit 2017] MAI 005
Page 37: [Japan Tech summit 2017] MAI 005

200人の日本人の身体データ

誤って100人分の性別情報を削除

身体データから,その方の性別を推定する以外にオプションがありません。

Page 38: [Japan Tech summit 2017] MAI 005

90個の身体特徴があるので,頑張れば性別判定できそう。

Page 39: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

1st Step:ルール・ドリブンアプローチ

(自分のアタマで考える)

現在の時刻:午後6時 (残り12時間)

Page 40: [Japan Tech summit 2017] MAI 005

身体データに入っている90個の身体特徴を見ながら,

性別を予測するプログラムをゼロから書こう。

「身長」と「体重」の2つの特徴を使えば,おそらく個人の性別を判定できるだろう。

Page 41: [Japan Tech summit 2017] MAI 005

「身長」と「体重」だけでは性別判定できなさそう。

他の身体特徴も使う必要がありそうだ。

Page 42: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

2nd Step:インサイト・ドリブンアプローチ

(データに教えてもらう)

現在の時刻:午前0時 (残り6時間)

Page 43: [Japan Tech summit 2017] MAI 005

残り時間は6時間。性別判定プログラムを6時間で書き上げるのは難しそうだ。

プログラム開発の生産性をアップする,何か別の良いソリューションはないかな?

データ削除を免れた100人の身体データから,日本人の性別と身体特徴の関係を調べたら?

あなたが知らない,男女判別に有用な身体特徴を見つけられるかもしれませんよ。

Page 44: [Japan Tech summit 2017] MAI 005

性別情報が残った100人の身体データから,

日本人の性別判定する予測モデルを作ろう。

性別情報を削除してしまった残り100人の性別は,

この予測モデルを使ってレストアしよう。

200人

100人 100人

Page 45: [Japan Tech summit 2017] MAI 005

最初は,「身長」と「体重」だけで日本人の性別判定できるか試してみよう。

追加の身体特徴を使うかどうかは,この予測結果を見てから判断しよう。

Page 46: [Japan Tech summit 2017] MAI 005

「身長」と「体重」だけで72%,日本人の性別を判定できそうだな。

予測精度を100%に近づけたいから,

追加の身体特徴を使おう。何を使うべきか?

混同行列予測

女性 男性

正解女性 15 6

男性 8 21

Page 47: [Japan Tech summit 2017] MAI 005

100人の日本人の身

体データは,2つのクラスタに分割できそうだ。

各クラスタの代表点

(重心)を見ると,女性は「体脂肪」が性別判定に効きそうだ。

Page 48: [Japan Tech summit 2017] MAI 005

身体特徴 重要度

身体寸法体脂肪

0.43

関節可動域肘関節.伸展

0.21

体力測定長座体前屈

0.16

身体寸法腹囲

0.09

身体特徴 重要度

被験者情報身長

0.86

身体寸法頚椎高

0.85

体力測定握力

0.66

被験者情報体重

0.49

Page 49: [Japan Tech summit 2017] MAI 005

次は「身長」「体重」に「体脂肪」を加えて,日本人の性別を予測できるか試してみよう。

追加の身体情報を使うかどうかは,この予測結果を見てから判断しよう。

Page 50: [Japan Tech summit 2017] MAI 005

「身長」と「体重」に「体脂肪」を加えると,

日本人の性別を84%判定できそうだな。

予測精度を100%に近づけたいけど,

午前6時までにモデリングが終わるか不安だ。

混同行列予測

女性 男性

正解女性 19 2

男性 6 23

Page 51: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

3rd Step:データ・ドリブンアプローチ

(AIに教えてもらう)

現在の時刻:午前2時 (残り4時間)

Page 52: [Japan Tech summit 2017] MAI 005

残り4時間。予測モデルを4時間で仕上げできるか不透明だ。

プログラム開発の生産性を更に加速する,何か別の良いソリューションはないかな?

データ削除を免れた100人の身体データに含まれる

90個すべての身体特徴を使ったらどう?

ディープラーニングを使えば,性別判定に効く身体特徴を勝手に探してくれますよ。

Page 53: [Japan Tech summit 2017] MAI 005

性別情報が残った100人の身体データから,

日本人の性別判定する予測モデルを作ろう。

性別情報を削除してしまった残り100人の性別は,

この予測モデルを使ってレストアしよう。

200人

100人 100人

Page 54: [Japan Tech summit 2017] MAI 005

最初に,90個すべての身体特徴を使って日本人の性別判定できるかざっと試してみよう。

これでダメだったら,身体特徴から性別を当てるのは難しいとあきらめがつきそうだ。

Page 55: [Japan Tech summit 2017] MAI 005

90個すべての身体特徴を使うと,

日本人の性別を96%予測できそうだな。

間違えた日本人 2名は,プログラムで個別にケアすれば,

なんとかなりそうだ!!

混同行列予測

女性 男性

正解女性 26 1

男性 1 22

Page 56: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

Page 57: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

①今更何ができるの?もう遅いよ。

②DBA仕事に関係ないしさ。

③今回もブームで終わるでしょ。

→ システム化はこれから!

→ SQL Server がAIをサポート!

→ 使うべき実用的テクノロジー!

Page 58: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

“Data is the New Oil”

出典)https://www.photo-ac.com/

Page 59: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.出典)https://www.photo-ac.com/

Page 60: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

▌シナリオあるスキーレンタル事業者のレンタルデータ(月日、曜日、祝日、天気、降雪量など)をもとに将来のレンタル数の予測を行います。

▌ポイントシンプルなサンプルです。

まずはPythonの開発環境でモデルトレーニング(scikit-learn×線形回帰アルゴリズム)とスコアリングを実装し、これとまったく同じ処理をSQL Server にデプロイする方法を学びIn Database Analyticsを実践します。

https://goo.gl/QDnxp1

Page 61: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

▌シナリオニューヨークのタクシー事業者の乗車データ(時刻、距離、ピックアップ場所など)をもとに特定の乗車においてチップが得られるかどうかを予測を行います。

▌ポイントIn Database Analytics の開発ライフサイクルを体感するようにチュートリアルが構成されています。

同じシナリオのサンプルコードをPython、Rの両言語で用意しています。

scikit-learnとRevoScaleそれぞれでロジスティック回帰モデルをトレーニングします。

モデルの

デプロイ

モデルの

オペレー

ション

探索と

可視化

特徴抽

トレー

ニングテスト

ETL

https://goo.gl/Lq8GVt

Page 62: [Japan Tech summit 2017] MAI 005

© 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

Page 63: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

https://goo.gl/QDnxp1

https://goo.gl/Lq8GVt

https://goo.gl/zb8Rwb

Page 64: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

ご清聴いただきありがとうございました

Page 65: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

Page 66: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

Page 67: [Japan Tech summit 2017] MAI 005

© 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

Page 68: [Japan Tech summit 2017] MAI 005

© 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

Page 69: [Japan Tech summit 2017] MAI 005

© 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 の再起動

Page 70: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

SQL Server 2016 の RServices が改名してMachine Learning Services となっている

Page 71: [Japan Tech summit 2017] MAI 005

© 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)は別物

Page 72: [Japan Tech summit 2017] MAI 005

© 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

Page 73: [Japan Tech summit 2017] MAI 005

© 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.

スレッド数やリソースのスケーラビリティに制約有り。

Page 74: [Japan Tech summit 2017] MAI 005

© 2017 日本電気株式会社 All rights reserved.

▌プラットフォームは SQL Server on Windows のみSQL Server on Linux は今時点未サポート

▌AlwaysOn による可用性構成は Availability Group のみサポートFailover Cluster Instance は未サポート