Save 37% off PRO during our Black Friday Sale! »

MLflow と ONNX で実現するクラウドネイティブな MLOps

7e20183342a040a32924a41343603286?s=47 konabuta
August 25, 2021

MLflow と ONNX で実現するクラウドネイティブな MLOps

2021年8月25日(水) MLOps Community での講演資料

第10回 MLOps 勉強会(Online) ~機械学習基盤~
https://mlops.connpass.com/event/218772/

7e20183342a040a32924a41343603286?s=128

konabuta

August 25, 2021
Tweet

Transcript

  1. MLflow と ONNX で実現するクラウドネイティブな MLOps 日本マイクロソフト株式会社 女部田啓太、伊藤 駿汰

  2. アジェンダ

  3. アジェンダ

  4. MLOps とは? • 機械学習モデルの開発と学習 - ビジネス課題を解決する機械学習モデル • モデルのパッケージ化 - あらゆる場所で展開して利用する

    • モデルの検証 - 機能、パフォーマンス、精度、コンプライアンスetc • モデルのデプロイ - 予測をするためのモデル利用 • モデルのモニタリング - モデルの再学習・再作成をトリガーする Train Model Validate Model Deploy Model Package Model Monitor Model Retrain Model 機械学習ライフサイクルを管理する手法・概念
  5. None
  6. MLOps における MLflow & ONNX

  7. アジェンダ

  8. > 9.9k stars, 319 Contributers on GitHub

  9. Tracking 実験の記録とクエリ (コード、データ、 構成設定、結果) Projects コードのパッケージ化 による再現性を 実現する形式 Models モデルの

    様々な環境への デプロイメント Model Registry 一元的なモデルの ライフサイクル管理 MLflow = ML Lifecycle / Ops Platform
  10. None
  11. Tracking 実験の記録とクエリ (コード、データ、 構成設定、結果)

  12. None
  13. None
  14. None
  15. None
  16. None
  17. Models

  18. None
  19. モデル本体、モデルの入出力の情報、フレームワー クの種類等、MLflow Models で定義した情報を保持 モデルは実験と紐づけられた上でバージョンごと に分離して管理

  20. Why Azure ?

  21. https://www.mlflow.org/docs/latest/tracking.html#mlflow-tracking-servers

  22. None
  23. None
  24. Azure Infrastructure ML Lifecycle Management integrations ML Runtime Optimized Databricks

    runtime engine Databricks I/O Delta Lake TensorFlow PyTorch Scikit-Learn MLflow Serverless Optimized Apache Spark Azure Active Directory Azure Virtual Machine Scale Sets Azure Data Lake Storage Metrics Artifacts Models
  25. 実験 Logging API Tracking URI Model API 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 実験管理・記録 デプロイ
  26. None
  27. None
  28. アジェンダ

  29. Training Framework Deployment Target ONNX = Open Neural Network Exchange

    機械学習モデルの相互運用性
  30. 最大 17 倍の推論の高速化と、 最大 1.4 倍のトレーニングの 高速化を実現する組み込みの最適化 さまざまなフレームワーク、 オペレーティング システム、

    ハードウェア プラットフォームのサポート Office 365、Visual Studio、および Bing で使用されており、毎日 200 億件を超える推論を提供 機械学習モデルの学習と推論を最適化し、加速するオープンソースのランタイム https://microsoft.github.io/onnxruntime/ 機械学習プロセスをスピードアップ 柔軟性 多くの実績のあるテクノロジー
  31. PyTorch のモデル学習を加速する PyTorch のネイティブ機能 • 数行の学習コード変更で実装完了 • 現時点で transformer モデルをサポート

    • グラフ最適化 (Forward, Backward) による高速化 • Nvidia GPU と AMD GPU で利用可能
  32. アジェンダ 二郎 大宮 - Twitter

  33. rinna/japanese-gpt2-medium · Hugging Face Azure/nlp-samples: Japanese NLP sample codes (github.com)

  34. Collaborate モデル学習 パッケージ化 デプロイメント Metrics Artifacts Models GPU Clusters (AutoScale)

    ONNX Model (FP32) Quantization ONNX Model (INT8) Conversion Trainer API Fine Tune ONNX Runtime (学習) Model Hub Azure Kubernetes Services logging build Azure Container Registry deploy Data Scientist load ... 学習スクリプト Job 設定 YAML ファイル DockerFile YAML で Job の定義を行って GPU クラスターで Fine Tune ONNX 変換と量子化 を行いコンテナ化 コンテナを Kubernetes にデプロイして API 化 Azure ML のインス タンスに接続した VSCode で開発
  35. None
  36. None
  37. None
  38. MLflow - A platform for the machine learning lifecycle |

    MLflow ML 実験の MLflow Tracking - Azure Machine Learning | Microsoft Docs ONNX | Home ONNX | Home (onnxruntime.ai) microsoft/pytorch-ort: Accelerate PyTorch models with ONNX Runtime (github.com) Accelerate PyTorch training with torch-ort - Microsoft Open Source Blog Accelerate PyTorch transformer model training with ONNX Runtime – a deep dive - Microsoft Tech Community Journey to optimize large scale transformer model inference with ONNX Runtime - Microsoft Open Source Blog ONNX Runtime release 1.8.1 previews support for accelerated training on AMD GPUs with the AMD ROCm™ Open Software Platform - Microsoft Open Source Blog 機械学習運用 – MLOps | Microsoft Azure Azure Machine Learning - サービスとしての ML | Microsoft Azure Azure Databricks | Microsoft Azure PyTorch Fundamentals - Learn | Microsoft Docs PyTorch on Azure – Deep Learning with PyTorch | Microsoft Azure
  39. None
  40. Azure M achine Learning service 実験的なモデル開発 ⾃動機械学習 デザイナー Pytyon /

    R モデル検証 パッケー ジ化と Azure Container Instnaces での検証 モデル学習 コンピュー ティング クラスター モニタリング モデルのモニタリング デプロイ スケー ラブルな kubernetes サ ー ビス へ のデプロイ CI/CD & モデル再学習 GitHub & Azure DevOps 統合・連携
  41. MLOps on Azure Machine Learning 機械学習ライフサイクル 実験的なモデル開発 AutoML, Designer Code-First

    テスト パッケージ化と Azure Container Instnaces での検証 モデル学習 Compute Cluster モニタリング モデルのモニタリング リリース スケーラブルな kubernetes へデプロイ モデルの再学習・再学習 GitHub & Azure DevOps 統合・連携
  42. Trusted Industry leading MLOps Open & Interoperable For all skill

    levels あらゆるスキルレベルに対応し、 ML の生産性・利便性を向上 DevOps 連携による ML ライフサイクルの運用管理 責任のある ML ソリューションの構築 オープンテクノロジーの採用 と相互運用性の実現
  43. Scikit-learn (experimental) TensorFlow and Keras (experimental) Gluon (experimental) XGBoost (experimental)

    LightGBM (experimental) Statsmodels (experimental) Spark (experimental) Fastai (experimental) Pytorch (experimental) MLflow Tracking — MLflow 1.19.0 documentation
  44. Projects コード 設定 パッケージ データ Local Execution Remote Execution 機械学習の再現性を次元する形式

  45. None
  46. Model Registry 一元的なモデルの ライフサイクル管理

  47. None
  48. None
  49. ONNX Runtime | Home

  50. None
  51. None