アルゴリズムとして実装
機械学習によるモデル化
帰納的実装
Ultrasonic sensors
Stereo vision
Companion
computer
A car is running A man is cutting a
piece of meat
A man is performing on
a stage
A man is riding a bike
A man is singing A panda is walking A woman is riding a horse A man is flying in a field
データサイエンティスト 一般ユーザー
深層学習
アルゴリズムの
深い知識
研究者 エンジニア
深層学習
アルゴリズムの
概要概要ふぇw
ライブラリが
提供する
機能の把握概要ふぇw
ツールの知識概要ふぇw
http://www.visionaidevkit.com
データ
サイエンティスト
開発者
学習フレームワークと推論の分離を可能にするONNX
CPUGPU
ML HW
DSPFPGA
High level API &
Framework Frontends
Hardware Vendor
Libraries & Devices
ONNX モデルを使用することにより、ONNIXに対応する様々なデバイス、ライブ
ラリ、ツールの活用を可能にする。
透過的な相互運用の実現
ONNX.ai
https://github.com/Microsoft/FERPlus https://arxiv.org/abs/1608.01041
Facial Emotion Prediction
https://github.com/Microsoft/FERPlus https://arxiv.org/abs/1608.01041
Data Sources Model Train with Cloud AI Deploy Consume
ACTION
INTELLIGENCEDATA
Azure Machine
Learning
WindowsML
Model: VGG-13
Code:
CNTK
Face Emotion Recognition
12 emotion labels
28,709 training images
3,589 test images
3,589 validation images
Visual Studio
Tools for AI
Manage Models
Azure
Deep Learning GPU VM
Empowering Physicians with
Medical Imaging AI
Intelligent Disease Prediction
Data Sources Model Train with Cloud AI Deploy Consume
ACTION
INTELLIGENCEDATA
Azure Machine
Learning
IoT Hub
WindowsML
IOT Edge
Model:
DenseNet-121
Code:
Keras +
TensorFlow
National Institute
of Health
Chest Xray Data
112,120 images
14 pathology labels
30,805 unique patients
Visual Studio
Tools for AI
Manage Models
Azure
Deep Learning GPU VM
VSTS +
CI/CD
CosmosDB +
Azure Functions
NuGet
https://pypi.org/project/winmltools/
Pre-built ML Models (Azure Cognitive Services)
Easy / Less Control Full Control / Harder
Vision Speech Language
Knowledge SearchLabs
TextAnalyticsAPI client = new TextAnalyticsAPI();
client.AzureRegion = AzureRegions.Westus;
client.SubscriptionKey = "1bf33391DeadFish";
client.Sentiment(
new MultiLanguageBatchInput(
new List<MultiLanguageInput>()
{
new MultiLanguageInput("en","0",
"This is a great vacuum cleaner")
}));
例:Azure Cognitive Servicesによる感情分析
96% 好意的
Pre-built ML Models (Azure Cognitive Services)
Easy / Less Control Full Control / Harder
Vision Speech Language
Knowledge SearchLabs
TextAnalyticsAPI client = new TextAnalyticsAPI();
client.AzureRegion = AzureRegions.Westus;
client.SubscriptionKey = "1bf33391DeadFish";
client.Sentiment(
new MultiLanguageBatchInput(
new List<MultiLanguageInput>()
{
new MultiLanguageInput("en","0",
"This vacuum cleaner sucks so much dirt")
}));
9% 好意的
例:Azure Cognitive Servicesによる感情分析
Easy / Less Control
Full Control / Harder
データの準備 学習 & 評価 実行
Full Control / Harder
Introducing
{
Microsoft Confidential
実績と拡張性
https://github.com/dotnet/machinelearning
Windows, Linux, およびmacOSをサポート
開発者フォーカス
ML.NET 0.1 (Preview)
.NET開発者の為の学習フレームワーク
ビルド オープンソース
Less Control / Easy
リアルタイム AI
深層学習により得られた大きな進歩
• 画像処理
• 機械翻訳
• 音声認識
• QA
• 他
課題は・・
• オンラインサービスにおける運用、展開、
そしてスケーラビリティ
Convolutional Neural Networks
ht-1 ht ht+1
xt-1 xt xt+1
ht-1 ht ht+1
yt-1 yt yt+1
Recurrent Neural Networks
Training
Inference
Client Cloud
Humans
ASICs
GPUs
?
Efficiency
(ASICS)
Homogeneity
DRAM
コントローラ
USB
コントローラ
イーサネットコントローラ
DSP
スライス
RAM
RAM
DSP
スライス
CPU
CPU
Catapult v0
Catapult v1
スケール v1
Catapult v2
2011 2012 2013 2014 2015 2016 ...
Ignite
本番展開
Configurable Cloud
CPU compute layer
Reconfigurable
compute layer
Converged network
DNN Processing Units
効率性柔軟性
Soft DPU
(FPGA)
Contr
ol
Unit
(CU)
Register
s
Arithmet
ic Logic
Unit
(ALU)
CPUs GPUs
ASICsHard
DPU
Cerebras
Google TPU
Graphcore
Groq
Intel Nervana
Movidius
Wave Computing
Etc.
BrainWave
Baidu SDA
Deephi Tech
ESE
Teradeep
Etc.
「Wikipedia」 英→西 訳
「戦争と平和」 露→英 訳
Microsoft製FPGAボード
FPGA: 空間計算
FPGA
データ
命令
命令
命令
データ
命令
命令
命令
CPU: 時間的計算
CPU
命令
f f f
l0
l1
f f f
l0
Pretrained DNN モデル
CNTK などで
スケーラブルな DNN
ハードウェア マイクロサービス
BrainWave
Soft DPU
Instruction
Decoder & Ctrl
Neural FU
ネットワークスイッチ
FPGA
Web search
ranking
Traditional software (CPU) server plane
QPICPU
QSFP
40Gb/s ToR
FPGA
CPU
40Gb/s
QSFP QSFP
Hardware acceleration plane
Web search
ranking
Deep neural
networks
SDN offload
SQL
CPUs
FPGAs
Routers
Pretrained DNN モデル を ソフト DPU にコンパイルするための
フレームワーク中立の連合コンパイラとランタイム
狭精度 DNN 推論のための適応型 ISA
変化目まぐるしいAI アルゴリズムをサポートする柔軟性と拡張性
BrainWave Soft DPU マイクロアーキテクチャ
高精度、低遅延バッチに最適
Intel の FPGA を スケールする HW マイクロサービスに展開
[マイクロ ' 16]
FPGA 上でモデルパラメータを完全に永続化するオンチップメモリは、
多数の FPGA にまたがってスケーリングすることにより、
大規模なモデルをサポート
FPGAs in Microsoft’s Intelligent CloudFPGAs in Microsoft’s Intelligent Cloud
FPGA0 FPGA1
Add500
1000-dim ベクトル
1000-dim ベクトル
分割
500x500
マトリックス
MatMul500
500x500
マトリックス
MatMul500 MatMul500 MatMul500
500x500
マトリックス
Add500
Add500
Sigmoid500 Sigmoid500
分割
Add500
500 500
concat
500 500
500x500
マトリックス
ターゲット
コンパイラ
FPGA
ターゲット
コンパイラ
CPU-CNTK
フロント
ポータブル IR
ターゲット
コンパイラ
CPU-カフェ
トランスフォーム IRs
グラフスプリッタ と オプティマイザ
展開パッケージ
Caffe
モデル
FPGA ハードウェア マイクロサービス
CNTK
モデル
Tensorflow
モデル
=
O(N2) data
O(N2) compute
入力アクティベーション
出力前のアクティベーション
N ウェイトカーネル
O(N3) data
O(N4K2) compute
=
FFPGA2xCPU
DRAM で初期化された
モデルパラメータ
FPGA2xCPU
DRAM で初期化された
モデルパラメータ
バッチサイズ
ハードウェア
利用
(%)
FPGA
バッチサイズ
99回目
待ち時
間
最大
許可
遅延
バッチサイズ
ハードウェア
利用
(%)
バッチ処理により HW の使用率が向上するが、待ち時間は増加
バッチサイズ
99回目
の待ち
時間
最大
許可
遅延
バッチサイズ
ハードウェア
利用
(%)
バッチ処理により HW の使用率が向上するが、待ち時間が増加
FPGA2xCPU
2xCPU
観測
2xCPU
2xCPU
2
CPU
2
CPU
2
CPU
2
CPU
2
CPU
2
CPU
2
CPU
2
CPU
LSTM
LSTM
LSTM
LSTM
LSTM
LSTM
LSTM
LSTM
FPGA MVU カーネル
+
+
×
×
+
×
×
+
+
×
×
+
×
×
+
Dev Tools + DevOps
Containers + Serverless
Internet of Things
Data
Artificial Intelligence
Azure
Dev Tools + DevOps
Visual Studio Live Share
Real-time collaborative development
Shared debugging, independent views
Works across Visual Studio and Visual Studio Code
iOS + Android app development
Build, Test, Deploy, Engage, Repeat
Continuous everything
Visual Studio
App Center + GitHub
Complete DevOps solution
Visual Studio Team Services
Developers
TestCode Repository Build + Deploy Release Monitoring/Analytics
Azure Platform Services
Containers + Serverless
Loosely coupled serverless architecture
Serverless Code
Serverless Workflow
Events
Event Grid
Loosely coupled serverless architecture
Blob Storage
Cosmos DB
Custom Events
(anything)
Event Hubs
IoT Hub
Autoscale Rules
Serverless Code
Serverless Workflow
Azure Operational Data Services
Queue Files TableBlob RDB Document Hadoop/Spark
マイクロソフトが考えるAI活用のロードマップ
マイクロソフトが考えるAI活用のロードマップ
マイクロソフトが考えるAI活用のロードマップ

マイクロソフトが考えるAI活用のロードマップ