Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Azure Machine Learning Intro

2ec6ef5833820c7e6bb85e69db368537?s=47 イトー
December 18, 2021

Azure Machine Learning Intro

https://sqlserver.connpass.com/event/216911/presentation/

49th Microsoft Data Platform Day(Online) でお話しした、 Azure Machine Learning の紹介資料です。

2ec6ef5833820c7e6bb85e69db368537?s=128

イトー

December 18, 2021
Tweet

Other Decks in Technology

Transcript

  1. Azure Machine Learning Intro 2021/12/18 Shunta Ito Cloud Solution Architect

    Microsoft Japan
  2. 自己紹介 伊藤 駿汰 (Shunta Ito) Mail: shuit@microsoft.com / Twitter: @ep_ito

    経歴 2016~2020 大学・大学院で深層学習+自然言語処理の研究&基盤整備 2020~ 日本マイクロソフト入社 Cloud Solution Architect として AI 関連案件を中心にサポート 好きなもの  料理  定額制動画配信サービス  見た目 (GUI) が綺麗なサービス  TypeScript
  3. 機械学習 データからタスクの解き方を自動で獲得する技術 猫 猫 猫 犬 学習 96%の確率で猫 予測

  4. 機械学習のチャレンジ

  5. 機械学習モデルを得るまでのチャレンジ • 環境構築 • Python と各種機械学習向けライブラリが動く環境 • 十分な性能の CPU/GPU を搭載したマシンの調達

    • データ処理 • データの傾向を踏まえた前処理(職人芸) • 学習 • 数多存在する機械学習アルゴリズムからどのアルゴリズムを選び、どんなパラ メーターで学習を実行するか(職人芸) • 良い結果を得られるまで探索的に学習を実行することができるマシンパワーの 確保 (≒クラスターの構築) • 実験を振り返り、良い結果を出したモデルを再作成するための実験記録の取得 5 環境構築作業 とてもつらい
  6. 実験管理がなぜ大事なのか • 実験記録をきちんととる仕組みがないと、 「code_20191210_adam_lr_0001_lstm_3_layer_e_512_h_ 1024 – コピー (2)-こっちが最新 – コピー

    (4). ipynb」が生 まれてしまうため • 再現できるパラメーターの記録が無い中モデルが行方不明 になると悲惨な事態が起こるため 6 修論で辛くなっていたときに誤って github にアップロードしてしまった諸々の実験記録(比較的マシ)
  7. 機械学習プロジェクトのチャレンジ • 再現性の確保 • 学習を実行した際のコード、ハイパーパラメーター、パッケージのバージョン、 データセット等が保存されている • モデルの本番投入 • リクエストに対してリアルタイムに結果を返すスコアリング

    API をデプロイで きる 7
  8. Azure Machine Learning

  9. Azure Machine Learning とは 機械学習の各プロセスから MLOps まで幅広くサポートする 『機械学習プラットフォーム』 9

  10. Azure Machine Learning の全体像 Workspace に各リソースとアセットが紐づく 10 Azure Kubernetes Service

    Azure Container Instance Data Science Virtual Machine Azure Databricks Azure Synapse Analytics Remote Compute (ローカル, VM) Azure HDInsight Linked Services Datastores Compute targets Environments Experiments Pipelines Datasets Models Endpoints マネージド リソース 依存 Compute instances Compute clusters Workspace Azure Key Vault Azure Container Registry Azure Storage Account Azure Application Insights アセット
  11. Azure Machine Learning の使い方 (例) 11 • GPU 搭載のサーバー を調達

    • 電源確保&ネット ワークに接続 • Python 環境と Jupyter をセットアッ プ • GPU のドライバ/ライ ブラリをインストー ル • データを吸出して CSAやParquet等の ファイル形式で貰う • データの前処理 • アルゴリズムの試行 とパラメーター探索 • Dockerfile を書いて モデルを収めたコン テナを作成 • Flask / FastAPI など で HTTP エンドポイ ントをセット • Kubernetes 等にコン テナをデプロイ • Azure ML Computer Instance/Cluster を 展開 • Computer Instance をそのまま使う • Datastores として データソースをア タッチして、Dataset を作成 • Auto ML でモデルを 自動作成 • 実験/モデルを記録 • 保存したモデルにメ タデータを付与する • エントリスクリプト の作成 • アタッチした推論用 のリソースに API と してデプロイ 計算リソースの用意 環境構築 データの吸出し 前処理/モデルの作成 推論コンテナの作成 デプロイ 従来 Azure Machine Learning
  12. マネージドリソース Azure Machine Learning 配下のマネージドなコンピューティ ングリソース • Compute Instance •

    単一の VM • 様々なマシンスペック (GPU 搭載含む) から自由に選んで作成可能 • Azure Machine Learning Studio 統合のノートブックから使用できる他、プリ セットされた JupyterLab や R Studio 、ローカルの VSCode からの操作が可能 • Compute Cluster • オートスケールするクラスター • 様々なマシンスペック (GPU 搭載含む) から自由に選んで作成可能 • ジョブの実行先として使用可能 12
  13. Datastores データソース (ストレージと DB ) とデータソースへの接続に 必要なシークレットや接続文字列等をラップしたオブジェク ト ➢ データソースを

    Datastore として登録することで、分析担 当者は統一的なインターフェースでデータソースからデー タを取得できる 13
  14. Datasets Datastores 内に存在する一連のデータをラップしたオブジェ クト ➢ バージョン管理、データドリフトの検知が可能になる ◆ Datastores 内のデータへの参照 +

    メタデータとして構成されているため、 データソース内のデータ削除・更新に対しては無力 ➢ データソースから直接データを読むのではなく、Datasets を経由することで 確実な再現性確保が可能 ➢ 表形式とファイル形式のいずれかとして表現され、統一的 なインターフェースで使用可能に • 表形式であれば Pandas/Spark dataframe としての読み込み、CSV/Parquet としてのダウンロード、簡単なフィルタリング処理が可能 • ファイル形式であればダウンロードやパスリストの取得、データセットを含む ボリュームとしてのマウントが可能 14
  15. Experiments と Runs 機械学習の実験記録、損失関数や評価指標、ハイパーパラ メーター、アーティファクト (モデルやグラフ等の生成物)、 メタデータを記録・保持するオブジェクト ➢ 1回の実験は Run

    として記録され、Experiment は複数の Run を配下に保持し、実験全体を通じて横断的な管理が可 能に 15
  16. Experiments と Run 16 1つのRun

  17. Auto ML データセットを指定するだけで、様々なデータの前処理やアルゴリ ズム、パラメーター設定の学習を試行し、高い精度のモデルを探索 する機能 • 以下4タスクに対応 • 分類 •

    回帰 • 時系列予測 • 画像系タスク (preview) • 分類 • ラベリング • 物体検出 • セグメンテーション • 言語系タスク (preview)
  18. Models 訓練済みの機械学習モデル本体と関連ファイルをラップした オブジェクト ➢ モデル学習時の記録 (Run) と紐づけられて保存され、モデ ルのバージョニングと統一的なインターフェースによる取 り扱いが可能に 18

  19. Webservices Models として登録された機械学習モデルを使用して推論結果 を返す Web サービス (API) とその周辺機能をラップしたオブ ジェクト ➢

    Azure Container Instances か Azure Kubernetes Service 上に、コンテナ化した機械学習モデルを展開可能に 19
  20. Azure Machine Learning の使い方 Azure Machine Learning SDK for Python

    Azure Machine Learning Studio
  21. デモ

  22. その後のチャレンジ • パイプラインの構築 • モデルの性能劣化検知 • データセットの変動検知 • 推論性能の低下検知 •

    モデル活用 • バッチ推論と推論パイプラ イン • モデルのテストと説明 性確保 ……まだあります 22
  23. Azure Machine Learning とは 機械学習の各プロセスから MLOps まで幅広くサポートする 『機械学習プラットフォーム』 23

  24. ◼ 本書に記載した情報は、本書各項目に関する発行日現在の Microsoft の見解を表明するものです。Microsoftは絶えず変化する市場に対応しなければならないため、ここに記載した情報に対していかなる責務を負うものではなく、 提示された情報の信憑性については保証できません。 ◼ 本書は情報提供のみを目的としています。 Microsoft は、明示的または暗示的を問わず、本書にいかなる保証も与えるものではありません。 ◼

    すべての当該著作権法を遵守することはお客様の責務です。Microsoftの書面による明確な許可なく、本書の如何なる部分についても、転載や検索システムへの格納または挿入を行うことは、どのような形式または手段(電子的、 機械的、複写、レコーディング、その他)、および目的であっても禁じられています。 これらは著作権保護された権利を制限するものではありません。 ◼ Microsoftは、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。Microsoftから書面によるライセンス契約が明確に供給される場合を除いて、本書の提供はこれら の特許、商標、著作権、またはその他の知的財産へのライセンスを与えるものではありません。 © 2021 Microsoft Corporation. All rights reserved. Microsoft, Windows, その他本文中に登場した各製品名は、Microsoft Corporation の米国およびその他の国における登録商標または商標です。 その他、記載されている会社名および製品名は、一般に各社の商標です。