Slide 1

Slide 1 text

もっと気軽に、 クラウドで機械学習しよう。 KOHEI OGAWA HIROSATO GAMO

Slide 2

Slide 2 text

WHO AM I ? @shisyu_gaku /koheiogawa 書を書いたり、プログラムを書いたりしている人 何かを設計し、何かを最適化するのが好き 高専出身 KOHEI OGAWA Microsoft Japan Co., Ltd. Cloud Solution Architect (Data & AI) 書道家/エンジニア 興味分野 センシング、HCI、AIの社会実装、MLOps、エッジAI推論 Linux Foundation / Green Software Foundation所属 どんな人か

Slide 3

Slide 3 text

WHO AM I ? @hiro_gamo /Hirosato-Gamo 元データサイエンティスト。データ基盤、ブロックチェーンシス テム構築など経験し、今はデータ活用の課題解決や技術 検証に勤しむ。 HIROSATO GAMO Microsoft Japan Co., Ltd. Cloud Solution Architect (Data & AI) 興味分野 データサイエンス(機械学習・統計解析)、MLエンジニアリング、 データエンジニアリング どんな人か

Slide 4

Slide 4 text

想定オーディエンス 1. G検定合格者以上のスキルを有する方

Slide 5

Slide 5 text

伝えたいメッセージ(Agenda) 1. オンプレミスからクラウドに移行するとメリットたくさんある 2. MLの市場投入をより加速させる一歩 3. 機械学習モデルを一からフルスクラッチで作る必要はないかもしれない 4. コードが書けなくても機械学習モデルを作ることはできる

Slide 6

Slide 6 text

Part1.オンプレミスからクラウドに移行するとメリットたくさんある

Slide 7

Slide 7 text

7 機械学習システムの抽象イメージ 学習ステップ Jupyter Notebook Python R MLモデル 学習コード 外部ストレージ データ 計算機リソース ipython Kernel データ取得 開発 出力 GPU(NNを使うとき) データサイエンティストなど 推論ステップ エンドポイント データ (or パス) コンピューティング MLモデル 推論コード 推論結果 実行 Python R GPU (NNを使うとき) データサイエンティスト、 ソフトウェエンジニアなど

Slide 8

Slide 8 text

8 計算リソースの準備と環境構築 オンプレミス Azure ML • 十分な性能を有したCPU/GPU マシンの調達 の必要がある • 必要になるスペックがあがると購入し直 しの必要がある • 電源確保&ネットワークに接続 • 常時電気代がかかる • デバイス自体のセットアップの手間があ る • NVIDIAドライバーや機械学習ライブラリ等の 最低限求められるセットアップも必要 • Azure ML Compute Instance/Cluster を展開 (マネージドリソース) • (GPU搭載を含む)様々なマシンスペック を自由に選択して利用可能 • クラスターはオートスケール可能 • 起動時間に応じて課金 • タイムアウトを気にする必要がない • VMのアタッチ • 既存のVMの利用 • DSVM(DataScience VM) • 一通り機械学習を実行するために必 要なソフトウェアがプリセットされ た VM 悲しい点 嬉しくなる点

Slide 9

Slide 9 text

Data Science Virtual Machineに含まれるツール Azure Data Science Virtual Machine に含まれるツール - Azure Data Science Virtual Machine | Microsoft Docs LightGBM、OpenCV Docker、ONNX Runtime Vscode, PyCharm, vim, emacs, git, Azure SDK CUDA、NVIDIAドライバー miniconda, JupyterLab, JupyterHub, Python.. PyTorch、Tensorflow

Slide 10

Slide 10 text

10 デモ:計算リソースの準備と環境構築 Azure ML デモ 1. Azure MLリソース作成、コンピューティング インスタンス作成画面まで 2. DSVM作成からアタッチまで

Slide 11

Slide 11 text

11 機械学習におけるデータの管理 オンプレミス Azure ML • データ容量を意識した管理の必要 • 容量が足りなくなれば追加購入の必要が ある • セキュリティ面の不安 • 実験管理にmlflow、AutoMLツールにpyCaret など、新たにMLモデルの生成を賢くするツー ルの環境を整えれば使えるが、OSSのためメ ンテナンスが継続される保証はない • Azure Storageリソースにより一元管理 • AzureML Studioで追加インストール不要で実 験管理を行うことができる。 • Azure上にデータが管理されるため、多くのセ キュリティサービスと環境により監視され守 られている • AzureはMicrosoftが日々メンテナンス行って いる • AutoMLをGUIベースでもコードベースでも扱 う方法が組み込まれている。 悲しい点 嬉しくなる点

Slide 12

Slide 12 text

自動機械学習 Automated Machine Learning ユーザーの入力 特徴量 エンジニアリング アルゴリズム の選択 ハイパーパラメータ のチューニング モデルの リーダーボードと解釈 データセット 設定と制約 76% 34% 82% 41% 88% 72% 81% 54% 73% 88% 90% 91% 95% 68% 56% 89% 89% 79% 順位 モデル スコア 1 95% 2 76% 3 53% … 自動機械学習は、与えられたデータに対して「最高のモデル」を探索するために、 特徴量エンジニアリング、アルゴリズムとハイパーパラメータの選択を自動実行する。

Slide 13

Slide 13 text

13 Automated MLの新機能 in MSBuild 2022 ComputerVisonタスク 1. 画像分類の単数ラベル 2. 画像分類の複数ラベル 3. 物体検出 4. インスタンスのセグメント化 自然言語処理タスク 1. 複数テキスト分類 2. 複数ラベルテキスト分類 3. 名前付きエンティティの認識 (NER) 定義された各アルゴリズムのハイパーパラメータを自動で探索

Slide 14

Slide 14 text

14 デモ:オンプレからクラウドの移行-機械学習におけるデータの管理- Azure ML デモ 1. AzureMLStudioでの実験管理 2. Automated ML(GUI)

Slide 15

Slide 15 text

Part2. MLの市場投入をより加速させる一歩

Slide 16

Slide 16 text

Machine Learning Platform Architecture 構造化データ 非構造化データ その他全てのMLシナリオ; NLP, Vision, IoT, etc. モデル AKS バッチ予測: SQL DB Analytics Power BI Business Apps Prepare Data Build & Train Manage & Monitor Deploy Synapse 様々なAzureサービスのソースからデータを取り込み、モデル構築・分析・可視化が可能。 Azure ML

Slide 17

Slide 17 text

Machine Learning Platform Architecture 構造化データ 非構造化データ その他全てのMLシナリオ; NLP, Vision, IoT, etc. モデル AKS バッチ予測: SQL DB Analytics Power BI Business Apps Synapse AzureMLによる信頼性の高いMLモデルの構築とMLOps環境 Prepare Data Build & Train Manage & Monitor Deploy シームレスなStudio体験 包括的な MLOps クラウドとオンプレミスを横断する一元管理 サーバーレス コンピュート マネージド Kubernetes Azure Edge & Hybrid Azure Arc-enabled Kubernetes Edge/IoT Devices 再現性 自動化 デプロイ 再学習 一括管理 Azure ML

Slide 18

Slide 18 text

Machine Learning Platform Architecture 構造化データ 非構造化データ その他全てのMLシナリオ; NLP, Vision, IoT, etc. モデル AKS バッチ予測: SQL DB Analytics Power BI Business Apps シームレスなStudio体験 包括的な MLOps クラウドとオンプレミスを横断する一元管理 サーバーレス コンピュート マネージド Kubernetes Azure Edge & Hybrid Azure Arc-enabled Kubernetes Edge/IoT Devices 再現性 自動化 デプロイ 再学習 一括管理 Azure ML Synapse AzureMLによる信頼性の高いMLモデルの構築とMLOps環境 Prepare Data Build & Train Manage & Monitor Deploy 包括的な MLOps 再現性 自動化 デプロイ 再学習 一括管理

Slide 19

Slide 19 text

Responsible ML Tools(モデル評価と意思決定のダッシュボード) in MSBuild 2022 Responsible AI Dashboard & Responsible AI Scorecard AML Responsible AI DashboardとスコアカードでAIシステムを評価し、データドリブンな意思決定を行う。 概要 • 公平で信頼性が高く、説明責任を果たすためのAIの開発ツール • YAMLを使用したワークフロー • シナリオに合わせて生成するRAIコンポーネントを指定可能 • AML StudioのUI ダッシュボードによるコードなしウィザード • レポート機能として、インサイトやRAI ScorecardをPDFレポートと して出力し、ビジネス関係者と共有することが可能 スタジオで責任ある AI ダッシュボードを使用する方法 (プレビュー) - Azure Machine Learning | Microsoft Docs • グローバル コントロール • エラー分析 • モデルの概要 • データ エクスプローラー • 特徴量の重要度 (モデルの説明) • 反事実条件 What-If • 原因分析 分析項目と機能

Slide 20

Slide 20 text

デモ:Responsible ML Tools(モデル評価と意思決定のダッシュボード) Azure ML デモ 1. どのようにその画面までたどり着くのか 2. 何ができるのか

Slide 21

Slide 21 text

Full MLOps on Azure アーキテクチャ 再現性、自動化、デプロイ、再学習の実現 再現性 デプロイ 自動化 再学習 ・実験・メタデータ管理 ・マネージドエンドポイント ・github/Azure DevOps連携によるCI/CD ・データドリフト検知 ・Azure Monitorによる監視 ・EventGridによるイベント検知

Slide 22

Slide 22 text

Level 4 – Full MLOps Automated Retraining Mount/Download Azure Synapse Pipeline Azure Data Lake Storage Gen2 Job Environments Azure Machine Learning Python SDK/CLI Azure Container Registry Data Prep Data Models Monitoring Azure Machine Learning Python SDK/CLI Managed (Online/Batch) Endpoint Code Checkout Managed (Online/Batch) Endpoint GitHub Model Training Code Test, Data Check Model Training Model Evaluation Responsible AI Deploy to Stage Deploy to Stage Model Test Responsible AI Azure Monitor Azure Insights Azure Machine Learning Components container Gated approval Retraining Trigger Deploy to Prod Deploy to Prod Model Test ResponsibleAI Safe Rollout Azure Machine Learning Python SDK/CLI Compute Instance Compute Clusters build&push Training (pipeline) Deployment (pipeline) Data Science team Infra team Alert Dashboard build&push job submit experiment log/metric auto scale log/metric auto scale log/metric Register model deploy automatically deploy automatically Event Grid (Model Trigger) (Code Trigger) Azure Managed Grafana Event Grid model register data drift

Slide 23

Slide 23 text

Level 4 – Full MLOps Automated Retraining Mount/Download Azure Synapse Pipeline Azure Data Lake Storage Gen2 Job Environments Azure Machine Learning Python SDK/CLI Azure Container Registry Data Prep Data Models Monitoring Azure Machine Learning Python SDK/CLI Managed (Online/Batch) Endpoint Code Checkout Managed (Online/Batch) Endpoint GitHub Model Training Code Test, Data Check Model Training Model Evaluation Responsible AI Deploy to Stage Deploy to Stage Model Test Responsible AI Azure Monitor Azure Insights Azure Machine Learning Components container Gated approval Retraining Trigger Deploy to Prod Deploy to Prod Model Test ResponsibleAI Safe Rollout Azure Machine Learning Python SDK/CLI Compute Instance Compute Clusters build&push Training (pipeline) Deployment (pipeline) Data Science team Infra team Alert Dashboard build&push job submit experiment log/metric auto scale log/metric auto scale log/metric Register model deploy automatically deploy automatically Event Grid (Model Trigger) (Code Trigger) Azure Managed Grafana Event Grid model register data drift • データセット・ジョブ、モデル等の管理 • 作成者/実験者・時刻 etc.. • 再利用するためのサンプルコードも提供 • モデルのトレーニングコードの生成 in MSBuild 2022 再現性

Slide 24

Slide 24 text

Level 4 – Full MLOps Automated Retraining Mount/Download Azure Synapse Pipeline Azure Data Lake Storage Gen2 Job Environments Azure Machine Learning Python SDK/CLI Azure Container Registry Data Prep Data Models Monitoring Azure Machine Learning Python SDK/CLI Managed (Online/Batch) Endpoint Code Checkout Managed (Online/Batch) Endpoint GitHub Model Training Code Test, Data Check Model Training Model Evaluation Responsible AI Deploy to Stage Deploy to Stage Model Test Responsible AI Azure Monitor Azure Insights Azure Machine Learning Components container Gated approval Retraining Trigger Deploy to Prod Deploy to Prod Model Test ResponsibleAI Safe Rollout Azure Machine Learning Python SDK/CLI Compute Instance Compute Clusters build&push Training (pipeline) Deployment (pipeline) Data Science team Infra team Alert Dashboard build&push job submit experiment log/metric auto scale log/metric auto scale log/metric Register model deploy automatically deploy automatically Event Grid (Model Trigger) (Code Trigger) Azure Managed Grafana Event Grid model register data drift • マネージドエンドポイント(モデル展開の簡素化) • カスタムコンテナは推論サーバーをDocker化さえできれば、 AMLはホストできる • Azure Machine Learning 上で監視、スケーリング、アラート、および 認証を引き続き利用できる • ブルーグリーンデプロイメント対応 デプロイ

Slide 25

Slide 25 text

Level 4 – Full MLOps Automated Retraining Mount/Download Azure Synapse Pipeline Azure Data Lake Storage Gen2 Job Environments Azure Machine Learning Python SDK/CLI Azure Container Registry Data Prep Data Models Monitoring Azure Machine Learning Python SDK/CLI Managed (Online/Batch) Endpoint Code Checkout Managed (Online/Batch) Endpoint GitHub Model Training Code Test, Data Check Model Training Model Evaluation Responsible AI Deploy to Stage Deploy to Stage Model Test Responsible AI Azure Monitor Azure Insights Azure Machine Learning Components container Gated approval Retraining Trigger Deploy to Prod Deploy to Prod Model Test ResponsibleAI Safe Rollout Azure Machine Learning Python SDK/CLI Compute Instance Compute Clusters build&push Training (pipeline) Deployment (pipeline) Data Science team Infra team Alert Dashboard build&push job submit experiment log/metric auto scale log/metric auto scale log/metric Register model deploy automatically deploy automatically Event Grid (Model Trigger) (Code Trigger) Azure Managed Grafana Event Grid model register data drift • コード管理 in Github/Azure DevOps • テストの実行 • パイプラインのキック • トレーニングジョブの実行、レジストリにモデルの登録、 モデルのデプロイ 自動化

Slide 26

Slide 26 text

Level 4 – Full MLOps Automated Retraining Mount/Download Azure Synapse Pipeline Azure Data Lake Storage Gen2 Job Environments Azure Machine Learning Python SDK/CLI Azure Container Registry Data Prep Data Models Monitoring Azure Machine Learning Python SDK/CLI Managed (Online/Batch) Endpoint Code Checkout Managed (Online/Batch) Endpoint GitHub Model Training Code Test, Data Check Model Training Model Evaluation Responsible AI Deploy to Stage Deploy to Stage Model Test Responsible AI Azure Monitor Azure Insights Azure Machine Learning Components container Gated approval Retraining Trigger Deploy to Prod Deploy to Prod Model Test ResponsibleAI Safe Rollout Azure Machine Learning Python SDK/CLI Compute Instance Compute Clusters build&push Training (pipeline) Deployment (pipeline) Data Science team Infra team Alert Dashboard build&push job submit experiment log/metric auto scale log/metric auto scale log/metric Register model deploy automatically deploy automatically Event Grid (Model Trigger) (Code Trigger) Azure Managed Grafana Event Grid model register data drift • データドリフト検知 • Azure Monitorにより監視 • Azure Event Gridによるイベントの検知 • job完了、モデルの登録、デプロイ、 実行ステータスの変更、etc… 再学習

Slide 27

Slide 27 text

デモ:マネージドエンドポイント Azure ML デモ 1. モデルの登録画面からエンドポイントの作成、 推論まで

Slide 28

Slide 28 text

Part3.機械学習モデルを一からフルスクラッチで作る必要はないかもしれない

Slide 29

Slide 29 text

Azure AIの全体像 Azure Applied AI Services Azure Machine Learning • Speech to Text • Text to Speech • Speech Translation • Speaker Recognition • Computer Vision • Custom Vision • Face API • Entity recognition • Sentiment analysis • QnA Maker • Conversational language understanding • Translator etc… • Anomaly Detector • Content Moderator • Personalizer 業務シナリオに特化したサービス群 カスタム可能な学習済みAIモデル エンドツーエンドの機械学習サービス エンジン • GPT-3シリーズ • Codexシリーズ • 埋め込みシリーズ Azure Cognitive Services

Slide 30

Slide 30 text

Azure AIの全体像 Azure Machine Learning • Speech to Text • Text to Speech • Speech Translation • Speaker Recognition • Computer Vision • Custom Vision • Face API • Entity recognition • Sentiment analysis • QnA Maker • Conversational language understanding • Translator etc… • Anomaly Detector • Content Moderator • Personalizer 業務シナリオに特化したサービス群 カスタム可能な学習済みAIモデル エンドツーエンドの機械学習サービス エンジン • GPT-3シリーズ • Codexシリーズ • 埋め込みシリーズ Azure Cognitive Services Azure Applied AI Services

Slide 31

Slide 31 text

シンプルなAPIでテキストと構造を抽出 フォームに合わせた抽出のカスタマイズ クラウドからエッジまで、 どこにでもデプロイ可能 U S E C A S E S 要求管理と自動化 ドキュメントプロセスの 自動化 帳票類の自動化 Azure Form Recognizer

Slide 32

Slide 32 text

デモ:Azure Applied AI Services Azure Form Recognizer デモ 1. 画像から文章の読み取り 2. 手書き文字とレイアウト認識

Slide 33

Slide 33 text

Azure Open AI Services Open AI modelsのような大規模なモデルをAzure 上で、よりセキュアに利用可能に。 GPT-3 models Inferencing time Capability Ada Babbage Curie Davinci • 高度な利用シナリオでの文章要約 • クリエイティブ コンテンツの生成 • 質問への回答 • 複雑で微妙な内容の文章分類 • セマンティック検索のランキング • 適度に複雑な内容の文章分類 • 簡単な文章分類 • テキストの解析と文法訂正 • アプリケーション生成 • 高度なコード生成 Capability リミテッドプレビュー in MSBuild 2022

Slide 34

Slide 34 text

デモ:Azure Cognitive Services Azure Open AI Services デモ 1. 具体的に例えば何ができるのか

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

Part4.コードが書けなくても機械学習モデルを作ることはできる

Slide 37

Slide 37 text

Machine Learning Platform Architecture 構造化データ 非構造化データ その他全てのMLシナリオ; NLP, Vision, IoT, etc. モデル AKS バッチ予測: SQL DB Analytics Power BI Business Apps Synapse AzureMLによる信頼性の高いMLモデルの構築とMLOps環境 Prepare Data Build & Train Manage & Monitor Deploy シームレスなStudio体験 包括的な MLOps クラウドとオンプレミスを横断する一元管理 サーバーレス コンピュート マネージド Kubernetes Azure Edge & Hybrid Azure Arc-enabled Kubernetes Edge/IoT Devices 再現性 自動化 デプロイ 再学習 一括管理 Azure ML

Slide 38

Slide 38 text

Machine Learning Platform Architecture 構造化データ 非構造化データ その他全てのMLシナリオ; NLP, Vision, IoT, etc. モデル AKS バッチ予測: SQL DB Analytics Power BI Business Apps シームレスなStudio体験 包括的な MLOps クラウドとオンプレミスを横断する一元管理 サーバーレス コンピュート マネージド Kubernetes Azure Edge & Hybrid Azure Arc-enabled Kubernetes Edge/IoT Devices 再現性 自動化 デプロイ 再学習 一括管理 Azure ML Synapse AzureMLによる信頼性の高いMLモデルの構築とMLOps環境 Prepare Data Build & Train Manage & Monitor Deploy

Slide 39

Slide 39 text

Designer デザイナー in Azure ML 機械学習のモデル構築、テスト、デプロイするためのビジュアルパイプライン • 直感的なマウス操作でパイプライン構築 • 特徴量エンジニアリング • モデル学習 (回帰、分類、クラスタリング) • 推論 (リアルタイム & バッチ) • カスタムモデル・スクリプト (Python, R) https://docs.microsoft.com/ja-jp/azure/machine-learning/concept-designer

Slide 40

Slide 40 text

Designer で提供するモジュール データのインポート データの手動入力 データのエクスポート データのビン化 データ結合 データ正規化 パーティションとサンプル 重複行の削除 SMOTE 列変換 列の選択 データの分割 列の追加 行の追加 算術演算の適用 SQL 変換の適用 欠損値の除去 値の置換 CSA への変換 データセットへ変換 インジケーター値へ変換 メタデータの編集 フィルター特徴量選択 Permutation 特徴量 デシジョンツリー ディジョンフォレスト 高速フォレスト分位点回帰 線形回帰 ロジスティック回帰 ニューラルネットワーク ポワソン回帰 ブーストデシジョンツリー サポートベクターマシン K-Means クラスタリング DenseNet ResNet SVD Recommender Wide Deep Recommender PCA 異常検知 LDA Python モデルの作成 Python スクリプトの実行 R スクリプトの実行 画像データ変換処理 画像データの分割 テキスト前処理 Word2Vec Glove FastText クロスバリデーション スコアリング パラメータチューニング

Slide 41

Slide 41 text

再利用可能なカスタムコンポーネント in MSBuild 2022 ビジュアルコンポーネントをyamlとpythonファイル、環境ファイルから自作可能に。 Pipeline メタデータ name、display_name、version、type、etc... インターフェース 入出力の仕様(名前、型、説明、既定値など) コマンド、コード、環境 コンポーネントの実行に必要なコマンド、 コード、環境 SDK CLI UI

Slide 42

Slide 42 text

デモ:Designer デザイナー in Azure ML Azure ML デモ 1. Sampleパイプラインの紹介 2. データの可視化

Slide 43

Slide 43 text

おまけ. Kaggle に関心がある方へ

Slide 44

Slide 44 text

デモ:Kaggle環境をAzure MLに構築する流れ Starting your Kaggle challenge using Azure Machine Learn Services (microsoft.com)

Slide 45

Slide 45 text

No content