AI on Azure
畠山 大有 | Daiyu Hatakeyama
Architect && Software Engineer && Applied Data Scientist (目指している)
Microsoft Japan
国内外での300社以上のITプロジェクトにアーキテクト及び
エンジニアとして関与して約 25年の経験。業界初として
事例化されたものには、フジテレビ、楽天、毎日新聞、日経新聞、富
士フィルム、カルビー、コマツなどがある。
また、東芝、SONY、NTT-Data、NextScape など 50社以上の
パートナーと、ソリューション製品・サービスの開発・市場展開も行
う。
そこでの学びを、TechEd、de:code、TechSummit、InterBEE
などで基調講演を含む場で400回以上のセッション登壇。
また、書籍・雑誌やBlog 執筆、サンプルコードの公開などで社会に
Feedback中。
セッションだけでなく、100回以上のハンズオン、ハッカソンのファ
シリテーションも
行っている。
得意技: Architecture Design, Coding, Database, Data Science, Video Streaming, Full text Search など
佐賀県 – SAGA Smart Tech Adviser
やつしろ×Tech コンソーシアム – 相談役
SUNABACO – Technical Fellow
MCP (MCSD, MCAD, MCSE, MCSA, MCDBA, MCTS, MCPD) | MCT | OCP (Oracle Master Platinum)
| SCJ-P | ITIL foundation
daiyu.hatakeyama@microsoft.co
m
/dahatake
@dahatake
/in/dahatake
/dahatake
/dahatake
蒸気 や 電気 ソフトウェア
(+AI)
AI
Azure
Building the World’s
Computer
Planetary Scale
Building the world’s computer
Azure is the world’s computer
Innovation
Virginia(2014)
Virginia(2017)
従来のデータセンターと比較して
93%以上のエネルギー効率の良さ
Virginia での 315 メガワット の太陽
光発電
オランダでの 180 メガワット 風力
発電
1.189 Power Usage Effectiveness
(PUE)
Project Natick
Project Natick Phase 2 (microsoft.com)
miniaturization
小型化
Intel 4004 (740 KHz) 0.092MIPS
ARM Ryzen Threadripper
3990 (4.35GHz) 2,356,230 MIPS
1971年 2020年
2億5611万個 =
Source: https://en.wikipedia.org/wiki/Instructions_per_second
Retardance Polarization
Angle
Data stored in quartz glass
Written using femtosecond lasers
25µm
Project Silica (microsoft.com)
1978 年の象徴的な映画である「スーパーマン」全編
を、
タテ ヨコ 75 ミリ、厚さ 2 ミリという飲み物のコー
スターと
ほぼ同じ大きさのガラスに保管し、読み込むことに
成功
Planetary Scale
x
Miniaturization
= Azure
Speech
Recognition
Vision Translation
Reading
Speech
Synthesis
2016
Object recognition
human parity
2017
Speech recognition
human parity
2018
Reading comprehension
human parity
2018
Machine translation
human parity
2018
Speech synthesis
near-human parity
Language
Understanding
2019
General Language
Understanding human parity
Language
Generation
2020
Document summary at human
parity
爆発的な言語モデルの肥大化
5 b
7.5 b
10 b
12.5 b
15 b
17.5 b
Spring ‘18 Summer ‘18 Autumn ‘18 Winter ‘19 Spring ‘19 Summer ‘19 Autumn ‘19 Winter ‘20
2.5 b
ELMo
94m
GPT
110m
BERT - large
340 m
Transformer
ELMo
465m
GPT-2
1.5b
MT-DNN
330m
XLNET
340m
XLM 665m
Grover-Mega
1.5b
RoBERTa
355m DistilBERT
66m
MegatronLM
8.3b
T-NLG
17b
自然言語からのコードに生成で、Citizen Developer でも 数式の機能を容易に使える
Professional Developer は、数式の検索とチューニングに費やす時間を短縮することで、オーサリングを高速化
ギャラリーとデータ テーブルで最初にサポートされ、ユーザーからのフィードバックに基づいて、より多くのコント
ロールと数式に展開
Azure Metrics
Advisor
Azure Video
Analyzer
Azure Bot
Service
Azure Applied AI Services
Azure Form
Recognizer
Azure Cognitive
Search
Azure Immersive
Reader
Azure Cognitive Services
Vision Speech
Language Decision
Azure Machine Learning
Azure Machine Learning
AI Build-in Apps
Power Apps
AI Builder
Power BI
(AutoML)
ビジネスですぐに利用できる AI を活用した自動化サービス
D O C U M E N T S
Azure Form Recognizer
S E A R C H
Azure Cognitive Search
A C C E S S I B I L I T Y
Azure Immersive Reader
V I D E O S
Azure Video Analyzer
M O N I T O R I N G
Azure Metrics Advisor
C O N V E R S A T I O N S
Azure Bot Service
https://aka.ms/cognitive
人間の認知 (Cognitive コグニティブ) 機能の一部を
Web API としてすぐに利用できる “AI パーツ”
Vision
Face
Computer Vision
Custom Vision
Speech
Speaker Recognition
Speech to Text
Text to Speech
Speech Translation
Language
Translator Text
Language Understanding
Text Analytics
QnA Maker
Decision
Content Moderator
Personalizer
Anomaly Detector
OpenAI
GTP-3 Model
Codex Model
• Cognitive Services および Applied AI Services を Docker コンテナー
で提供
 メリット
• データのコントロール : ローカル環境で完結可能
• 高拡張性 : コンテナー活用
• 高スループット&低遅延 :
物理的に近い場所での分析、トランザクション
• Docker エンジンが稼働するコンピューティング環境にて稼
働
• オンプレミス、エッジ環境
• 独自のクラウド環境 (Azure Kubernetes Service, Azure
Container Instances, Kubernetes on Azure Stack, etc)
• 課金 API への通信が必要
• Disconnected Container (完全オフライン) も提供開始
(Limited Preview)
• 機械学習で解決できそうか?
DATA SCIENTIST
AureML - GUI
Cognitive Services
学習のコードは動いた…
• コード、データ、モデルのバージョン管理と紐
づけ
DATA SCIENTIST
Code
AutoML – Code
Experimerient
Dataset
Model
• 推論環境へ展開
Environments
Code Explanations
Datasets Eventing & Notifications
DevOps integration
DEVELOPER
機械学習の知識 + Cloud インフラの知識
Azure Cloud Services
Compute / Storage
Python SDK
データの加工
モデルの学習
モデルの管理
モデルの展開と追
跡
全てのスキルの方が使える Studio
Notebooks Automated ML UX Designer
包括的な機械学習ライフサイクル機能
マルチクラウド と オンプレミス 横断の統合管理
再現性 自動化 展開 再学習
ガバナンス
Serverless
Compute
Managed
Kubernetes
Azure Edge and hybrid
Arc-enabled
Kubernetes
IoT
Devices
Workspace
https://docs.microsoft.com/ja-jp/azure/machine-learning/service/concept-azure-machine-learning-architecture
https://docs.microsoft.com/ja-jp/azure/machine-learning/service/concept-workspace
My Computer Data Store
Azure ML
Workspace
Compute Target
Experiment
Docker Image
import
'--data-folder' type str
'data_folder' 'data folder
mounting point’
'train-images.gz' False 255.0
'test-images.gz' False 255.0
'train-labels.gz' True 1
'test-labels.gz' True 1
#1. Dataset
'./data/mnist'
'mnist' True
True
Data Store
import
'--batch-size' type int
'batch_size' 'mini
batch size for training'
'--epoch' type int
'epoch' 'epoch size
for training’
from import
'--data-folder' 'mnist'
'--batch-size' 50
'--epoch' 20
'--first-layer-neurons' 300
'--second-layer-neurons' 100
'--learning-rate' 0.001
'--activation'
'--optimizer'
'--loss'
'--dropout' 0.2
'--gpu'
'keras' 'matplotlib'
‘train.py'
True
1800
#2. Script Folder
'./keras-mnist'
True
import
‘./train.py'
'./utils.py'
Docker Image
Data Store
from import
# start an Azure ML run
class LogRunMetrics
# callback at the end of every epoch
def on_epoch_end
# log a value repeated which creates a list
'Loss' 'loss'
'Accuracy' 'acc'
2
Experiment
主要な深層学習・機械学習ライブラリの抽象化クラス
from azureml.train.estimator import Estimator
script_params = { ‘--learning-rate’: 0.3, '--regularization': 0.8 }
est = Estimator(source_directory=script_folder,
script_params=script_params,
compute_target=compute_target,
entry_script='train.py’,
conda_packages=['scikit-learn'])
My Computer
Azure Notebooks
Azure Machine Learning
Services: Python SDK
Azure Machine Learning
Workspace
AmlCompute
(GPU)
学習用 Code
この車の妥当な価格は?
Mileage
Condition
Car brand
Year of make
Regulations
…
Parameter 1
Parameter 2
Parameter 3
Parameter 4
…
Gradient Boosted
Nearest Neighbors
SVM
Bayesian Regression
LGBM
…
Mileage Gradient Boosted Criterion
Loss
Min Samples Split
Min Samples Leaf
Others Model
Which algorithm? Which parameters?
Which features?
Car brand
Year of make
試行錯誤
Criterion
Loss
Min Samples Split
Min Samples Leaf
Others
N Neighbors
Weights
Metric
P
Others
Which algorithm? Which parameters?
Which features?
Mileage
Condition
Car brand
Year of make
Regulations
…
Gradient Boosted
Nearest Neighbors
SVM
Bayesian Regression
LGBM
…
Nearest Neighbors
Model
繰り返し
Gradient Boosted
Mileage
Car brand
Year of make
Car brand
Year of make
Condition
Mileage
Condition
Car brand
Year of make
Regulations
…
Gradient Boosted
Nearest Neighbors
SVM
Bayesian Regression
LGBM
…
Gradient Boosted
SVM
Bayesian Regression
LGBM
Nearest Neighbors
Which algorithm? Which parameters?
Which features?
繰り返し
Regulations
Condition
Mileage
Car brand
Year of make
データセット
目標設定
学習の一貫性
出力
入力
アンサンブル学習
仮想マシンの自動起動・オートスケール
学習過程の可視化・モデルの説明性 (解釈性)
ベストなモデルの選択
Optimized model
分類・回帰・時系列予測
ONNX サポート
User inputs
Feature
engineering
Algorithm
selection
Hyperparameter
tuning
Model Leaderboard
Dataset
Configuration
& Constraints
76% 34% 82%
41%
88%
72%
81% 54% 73%
88% 90% 91%
95% 68%
56%
89% 89% 79%
Rank Model Score
1 95%
2 76%
3 53%
…
Data
Clearing
Model Explanation
GPU GPU
Job
Management
Container
Packaging
VM Auto scale
Ensemble Learning
“HyperDrive”
Logging for
Visualize
User inputs
Feature
engineering
Algorithm
selection
Hyperparameter
tuning
Model Leaderboard
Dataset
Configuration
& Constraints
76% 34% 82%
41%
88%
72%
81% 54% 73%
88% 90% 91%
95% 68%
56%
89% 89% 79%
Rank Model Score
1 95%
2 76%
3 53%
…
Data
Clearing
Model Explanation
GPU GPU
Job
Management
Container
Packaging
VM Auto scale
Ensemble Learning
“HyperDrive”
Logging for
Visualize
User inputs
Feature
engineering
Algorithm
selection
Hyperparameter
tuning
Model Leaderboard
Dataset
Configuration
& Constraints
76% 34% 82%
41%
88%
72%
81% 54% 73%
88% 90% 91%
95% 68%
56%
89% 89% 79%
Rank Model Score
1 95%
2 76%
3 53%
…
Data
Clearing
Model Explanation
GPU GPU
Job
Management
Container
Packaging
VM Auto scale
Ensemble Learning
“HyperDrive”
Logging for
Visualize
カリカリ
自分でチューニング
したいんだけど
Deep Learning のアルゴリズム
開発 や SOTA のモデルへの興味
は薄れている。
昔の Sorting のアルゴリズム み
たいな感じなんだよね。
引用: https://twitter.com/fchollet/status/1052228463300493312
Blaxbox
問題の説明が…
モデルの精度とモデルの解釈性はトレードオフになりがち
Black Box
モデル
• なぜその予測値になっ
た?
• モデルの改善方法
は?
• モデル構造が複雑
• 理解するのが非常に困難
要因探索、与信管理など説明責任が伴うビジネスでは
ブラックボックスなモデルは使えない...
解釈可能なモデ
ル
BlackBox モデルの説
明
 正確
 高速
 高精度
 柔軟
目指すところ
解釈可能なモデル
解釈性を維持したまま、
精度を向上
BlackBox モデルの説明
精度はそのままで、
モデルを説明できるようにする
機械学習モデルに対する入力と予測値の関係をみる
解釈のための数値化・可視
化
説明変数
分析
データ探
索
変数の重要
度
各予測値に対する
説明 サマリー
https://interpret.ml/
Interpret-text
自然言語処理モデルの解釈可能
性
DiCE
反実仮想によるモデル解釈
Interpret
解釈可能な Glassbox モデルと
Blackbox なモデル の解釈性を提供
Interpret-community
Interpret にある表形式データに
対する追加機能
• fairlearn - 公平性のアセスメントと、調整(緩和)のための Open Source Tool
• 不公平性のアセスメント、監視、調整(緩和) と 可視化
https://github.com/fairlearn/fairlearn
Privacy Module
Report
Budget Store
BUDGET
User Private
Dataset
Submits a
query
Receives a
differentially
private report
Mechanism adds
noise
Private data
Dataset checks
budget and access
credentials
Checks
budget and
private
compute
Credentials to
access the
data
https://github.com/opendifferentialprivacy
理解 保護
制御
Responsible AI Tooling
Interpret ML FairLearn Homomorphic
暗号
差分
プライバ
シー
Presidio 機密 ML
MLOps
データ ドリフ
ト
RBAC
github.com/Microsoft/interpret
精度が高く、説明力のある
Explainable Boosting Machine
Microsoft Responsible AI
Resource Center
https://aka.ms/RAIresources
Azure Machine Learning
https://azure.microsoft.com/en-us/services/machine-
learning/
https://docs.microsoft.com/en-us/azure/machine-
learning/concept-responsible-ml
Responsible Innovation Toolkit
https://docs.microsoft.com/azure/architecture/guide/respo
nsible-innovation
Responsible ML resources
FairLearn
https://github.com/fairlearn
https://aka.ms//FairLearnWhitepaper
https://docs.microsoft.com/azure/machine-
learning/concept-fairness-ml
InterpretML
https://github.com/interpretml
https://aka.ms//InterpretMLWhitepaper
https://docs.microsoft.com/azure/machine-
learning/how-to-machine-learning-interpretability
DATA SCIENTIST
DEVELOPER
DATA ENGINEER
継続的な統合(CI) 継続的な展開(CD) 継続的な学習とモニタリ
ング
• 新コード、データ、モ
デルに対する統合テス
トの自動化
• Bugの早期発見
• モデル学習、展開、運
用管理の全プロセス自
動化
• 迅速に本番環境へ展開
• 展開済みモデルとのメ
トリック比較とモデル
登録
• データ特性・質のアセスメン
ト
• 展開済みモデルの精度モニタ
リング
Model reproducibility Model retraining
Model deployment
Model validation
Train model Validate
model
Deploy
model
Monitor
model
Build app
Collaborate Test app Release app Monitor app
App developer
using Azure DevOps
Data scientist using
Azure Machine Learning
Retrain model
Azure Machine Learning extension
for Azure DevOps
Data
(Model)
Code
機械学習はコードのみならずデータやモデルを管理する仕組みが必要。再現可能な
環境を整えておくことで、モデルのライフサイクルを継続的に回すことができる。
メトリック記録
(コード、データ、パラメータetc)
runの比較
実験の再現
(git, Anaconda)
リモート実行
API & バッチ推論
Azure ML への展開
ユーザ定義関数
・・
・
・・
・
・・
・
詳細はこちら!
https://mlflow.org/
Tracking
実験の記録とクエリ
(コード、データ、
構成設定、結果)
Projects
コードのパッケージ
化
による再現性を
実現する形式
Models
モデルの
様々な環境への
デプロイメント
Model Registry
一元的なモデルの
ライフサイクル管理
MLflow = ML Lifecycle / Ops Platform
実験
Logging API
Tracking URI
Model API
• MLflow Tracking Server 互換
MLflow を使用して Azure ML に実験やモデルを記
録
Metrics
Artifacts
MLflow Tracking Server 互換エンドポイント
Azure Machine Learning Environments
Azure Machine Learning Experiments
Azure Machine Learning Models
Models
Azure Machine Learning Endpoints
Metrics
Artifacts Models
API
実験管理・記録 デプロイ
• Enabling CI/CD for Machine Learning project
with Azure Pipelines
• https://azuredevopslabs.com/labs/vstsextend/aml/
「動けばいい」
Bias = 先入観・偏見
全てのデータは
人によって作られる
• 例: StreetBump smartphone app
• スマートフォンの GPS “Data” を使って、
道路の異常個所を収集
• 年収の低い方は? http://www.streetbump.org/
Joy Buolamwini, MIT Dr. Timnit Gebru, Google
Woman
Dark Skin
Woman
Light Skin
Man
Dark Skin
Man
Light Skin
2018 MS
Face API
Error Rate
20.8% 1.7% 6.0% 0.0%
2019 MS
Face API
Error Rate
1.5% 0.3% 0.3% 0.0%
Woman
Dark Skin
Woman
Light Skin
Man
Dark Skin
Man
Light Skin
1.52% .34% .33% 0%
304,000 68,000 66,000 0
公平なのか?
NYC の著名なデパートには
毎年 2,000万人もの人が来店する
50%ずつの性別と肌の色と仮説す
る
小売業向けの性別 Classifier
誤差率が小さくとも、相対的な違いに注目
Process
データ収集プロセスが確実に
実施されているかが重要*
Selection
破棄された不良データは、特定のグ
ループには相応しくない*
Bias を最小化
より正確なトレーニングデータ
の作成のため、複数の計測値を
監視し続ける
+ =
. タイピングスピードの中央値/平
均値
. 実数と百分率でのタスク完了/未
完
. 言語のテスト
. リアルタイムの監査
. 1秒当たりの左クリック
数
計測値の例*
https://youtu.be/fMym_BKWQzk
Azure for Students – 無料アカウント クレジット | Microsoft Azure
まずはこちら↓からログイン
Azure for Studentsを使用する前にMSアカウントの作成を
• 学生向けの無料のAzureプラ
ン
• 登録にクレジットカードが
不要
• 1年間有効な100ドル
(約11,500円) の
Azure 無料枠
• ダウンロード可能なソフト
ウェアや Microsoft Learn、
Microsoft 認定試験、
LinkedIn などを
介したキャリア作成に役に
立つ
各種リソースを無料で利用
Azure for Students – 無料アカウント クレジット |
Microsoft Azure
②
③
⑤
⑥
会員数 4,150 名
全国 6 都市で
36 回イベント開催
福岡
大阪
広島
名古屋
東京
札幌
オンライン・オフライン含めた
機械学習教育講座の全国での推進
機械学習 SI エコシステム
日本最大の AI コミュニティ
https://dllab.connpass.com/
Step-by-Step Learning Achievements スムーズな学習環境
 無料
 日本語対応
 ブラウザーのみ。ハンズオ
ン環境も含めて
 ダウンロード可能なサンプ
ルコード
 Product/Service, 技術レベル,
job role, などに応じたガイダ
ンス
 Videos, チュートリアル, ハン
ズオン
 スキルアップを促す
 ユーザー プロファイ
ル毎に
カスタマイズ
www.microsoft.com/learn
Open Source Repo Link
Azure ML Notebook Examples
Azure Machine Learning 公式サンプル
コード
https://aka.ms/ml-notebooks
BERT Large 自然言語モデル BERT のサンプルコード http://aka.ms/azure-bert
Microsoft Recommenders レコメンデーション サンプルコード http://aka.ms/recommenders
LightGBM LightGBM トップページ https://aka.ms/lightgbm
Natural Language Recipies 自然言語 サンプルコード https://aka.ms/nlp-recipes
ONNX ONNX トップページ https://aka.ms/onnx
ONNX RT ONNX Runtimeトップページ https://aka.ms/onnx-rt
Kubeflow & MLOps
Kubeflow + Azure ML + DevOps サンプル
コード
https://aka.ms/kubeflow-and-mlops
Azure Open Datasets Azure Open Datasets Webページ https://aka.ms/azure-open-datasets
Azure ML Free Trial Azure フリートライアル https://aka.ms/amlfree
Azure ML Docs Azure Machine Learning ドキュメント https://aka.ms/azureml-ja-docs
Invent with purpose.

明治大学理工学部 特別講義 AI on Azure

Editor's Notes

  • #47 Microsoft Envision 2016
  • #48 Microsoft Envision 2016
  • #49 Microsoft Envision 2016
  • #50 Microsoft Envision 2016