[Japan Tech summit 2017] MAI 005

  • View
    131

  • Download
    6

  • Category

    Travel

Preview:

Citation preview

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

Google

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

Google

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のリッチな機能に相乗可能

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 は未サポート