Skip to content

MS_AzureMachineLearningTutorial

nishi_74322014 edited this page Sep 1, 2026 · 1 revision

Azure Machine Learningチュートリアル

概要

Azure Machine Learning(AzML)のチュートリアル。

補足(3 つの入口): 本ページの「学習と推論」は、AzML の
**Automated ML(自動)/Designer(GUI)/Notebooks(コード)**という
3 つの入口をそれぞれ試す構成になっている。
どれを使っても、後段の「モデルの登録 → デプロイ」は共通である
(「Azure Machine Learningのモデルのデプロイ」の
「開発系の機能別」に「差異があるか?と言うと、無さそう」とあるのはこの意味)。

準備

契約

Azureの契約

AzureのPoC環境を契約する

AzMLの契約

Azure Databricksチュートリアルと異なり、無料アカウントが利用できるらしい。

環境

ワークスペース

Azure Machine Learningのワークスペース)

  • 作成開始の方法

    • ポータルで [リソースの作成] > [AI + Machine Learning] > [Machine Learning] の順に選択
  • 値を指定

    • ワークスペース名
      myazmlws とか

    • サブスクリプション
      任意の値

    • リソース グループ
      DplRG とか

    • 場所(リージョン)

    • その他、ストレージ系

      • ストレージ・アカウント
        新規

      • キー・コンテナー
        新規

      • Application Insight
        新規

      • コンテナ・レジストリ
        新規(なしのままでも OK)

        • osscjpdevinfraacr
        • 標準
    • ネットワーク

      • ○:パブリック・エンドポイント
      • プライベート・エンドポイント
    • 詳細
      既定値

  • [作成] ボタンを押下
    ワークスペースの作成には数分かかる。

    • 「デプロイが完了しました」が表示されたら、
    • [リソースに移動] ボタンを押下する。
    • [スタジオの起動] ボタンを押下する。
    • Azure Machine Learning Studio に移動する。
    • スタジオ起動後、右上の「⚙」メニューから言語の設定が可能。
  • 使用量 + クォータ

  • エンドポイントの保護
    パブリック・エンドポイントの場合

    • IP アドレス制限
    • Azure ADの認証が必要
  • IaC 化

移行メモ(誤字・空節): 「データ・パープライン系」→
「データ・パイプライン系」を修正した。
また、本節の末尾にあった空の「参考」項目は内容が無いため落とした。

インスタンス

<Azure Machine Learning Studio から>

  • 作成開始の方法

    • 左メニューから [コンピューティング] に移動し、
    • [コンピューティング インスタンス] タブから [新規] を押下。
  • 値を指定

    • コンピューティング名
      myazmlcomp とか

    • 仮想マシンの種類
      (CPU) or GPU

    • 仮想マシンのサイズ
      既定値

    • 詳細 > 設定の構成
      既定値

  • [作成] ボタンを押下
    コンピューティング インスタンスの作成には数分かかる。

<スクリプトから>

補足(インスタンスとクラスタの違い): コンピューティング インスタンス
開発者 1 人が使う常設の VM(Notebook や VS Code の実行環境)で、
止め忘れるとその分課金され続ける
一方コンピューティング クラスタはジョブ実行用で、
次項のとおり最小ノード数を 0 にしておけば
アイドル時に自動で縮退し、待機中の課金が発生しない。

クラスタ

<Azure Machine Learning Studio から>

  • 作成開始の方法

    • 左メニューから [コンピューティング] に移動し、
    • [コンピューティング クラスタ] タブから [新規] を押下。
  • 値を指定

    • 場所
      ワークスペースの場所

    • バーチャル マシン層
      (専用) or 低優先度

    • 仮想マシンの種類
      (CPU) or GPU

    • 仮想マシンのサイズ
      既定値

    • 設定の構成

      • コンピューティング名
        myazmlclst とか

      • ノード数
        ・最小:0
        ・最大:1(クォータによって可変)

      • スケール ダウンする前のアイドル時間 (秒)
        既定値(120 秒)

  • [作成] ボタンを押下
    コンピューティング クラスタの作成には数分かかる。

<スクリプトから>

学習と推論

Automated ML(自動機械学習)で、

Azure Machine Learningの Automated ML)

タイタニック生存者予測

https://aka.ms/titanic0611

をデータセットとして使用。

  • データセット

    • 作成開始の方法

      • 左メニューから [データセット] に移動し [データセットの作成] を押下。
      • [ローカル ファイルから] を選択して、以下の手順でアップロード
    • 値を指定

      • 基本情報
        ・名前:Titanic.csv
        ・データセットの種類:表形式
        ・説明:任意の文字列
        ・[次へ] ボタンを押下

      • データストアとファイルの選択
        ・[参照] -> [ファイルの参照] でアップロード
        ・[次へ] ボタンを押下

      • 設定とプレビュー
        ・設定とプレビューを確認
        ・必要に応じて設定を修正
        ・[次へ] ボタンを押下

      • スキーマ
        ・スキーマを確認
        ・必要に応じてスキーマを修正
         ・スキーマの変更
         ・列の論理削除
        ・[次へ] ボタンを押下

      • 詳細の確認
        ・詳細を確認
        ・[作成] ボタンを押下

  • 学習と推論

    • 作成開始の方法

      • 左メニューから [自動 ML] に移動し [新しい自動 ML の実行] を押下。
      • 以下の手順で [新しい自動 ML の実行] を作成。
    • 値を指定

      • データセットの選択
        ・データセットを選択
        ・[次へ] ボタンを押下

      • 実行の構成
        ・実験名 -> 新規作成 -> 新しい実験名:Titanic-AutoML
        ・ターゲット列:Survived (Integer)
        ・コンピューティングの種類を選択:コンピューティング クラスタ
        ・Azure ML コンピューティング XXX を選択する:myazmlclst
        ・[次へ] ボタンを押下

      • タスクと設定の選択
        ・タスクと設定の選択:(分類)、回帰、時系列の予測
        ・追加の構成設定を表示する -> 終了条件 -> トレーニング ジョブ時間 (時間単位):0.5
        ・特徴量化設定の表示 -> 手動での特徴量の設定(除外、型指定、補完方法)

      • [オプション] 検証とテスト
        ・検証の種類:既定値
        ・[終了] ボタンを押下

    • 実験の実行画面に飛ぶ。

  • 評価とデプロイ

    • 左メニューから [実験] に移動し、

    • 実験名 -> 実験 ID から実験を表示する。

    • 評価

      • [詳細] タブ

      • [データ ガードレール] タブ
        どんな条件でクロスバリデーションや欠損値の補完が実行されたか?

      • [モデル] タブ
        テストされたすべてのモデルの比較、モデルのダウンロード
        ・特定のアルゴリズムをクリック:各種メトリクスの確認
        ・...

      • [出力とログ] タブ

      • [子の実行] タブ

      • [スナップショット] タブ

    • デプロイ

      • [モデル] タブを選択
      • モデル(アルゴリズム名)を選択
      • [デプロイ] ボタンを押下
        ・Web サービスへの配置
        ・色々入力
         ・名前:mytitanicautoml
         ・推論クラスタ(AKS)は
          高価そうなのでインスタンスを選択
         ・念の為、認証は有効にしておく。
         ・[デプロイ] ボタンを押下
      • [ダウンロード] ボタンでダウンロードも。
  • WebAPI で推論を実行

    • 左メニューから [エンドポイント] に移動、
    • エンドポイント名をクリックし [使用] タブに移動、
    • ココから Python のコードをコピペする。
    • Notebooks の Hello worldの要領で実行する。

移行メモ(誤字): 「欠損値の保管」→「欠損値の補完」を修正した。

補足(推論先に ACI が選ばれている): 「推論クラスタ(AKS)は高価そうなので
インスタンスを選択」とあるが、ここで選ばれているのは
コンピューティング インスタンスではなく
**ACI(Azure Container Instances)**である。
AzML のデプロイ先としては、
ACI が検証用、AKS が本番用という使い分けになる
(「Azure Machine Learningのモデルのデプロイ」を参照)。

定期預金申込予測

自転車シェアリング需要予測

糖尿病データセット

糖尿病データセット(DNET_DataMiningDataSet.md

https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?plugin=attach&pcmd=open&file=diabetes.csv&refer=FrontPage

Designer(GUI機械学習)で、

Azure Machine Learningの Designer)

自動車価格の予測

Automobile price prediction サンプルを選択

  • プロジェクト・テンプレートの選択

  • データセット

    • パイプラインの編集
      • 学習データを [視覚化(データを表示する)] から確認
      • 必要なら、データセットの差し替えが可能。
        登録済み Datasetsから追加&差替)
  • 学習と推論

    • パイプラインの編集

      • パイプラインを確認(特徴量選択 -> 欠損値の補完 -> データ分割)
      • 学習のアルゴリズムを確認(線形回帰のアルゴリズム)
    • コンピューティング環境の設定
      ・「⚙」メニューからコンピューティング環境の設定が可能。
      ・既定のコンピューティング先
       ・コンピューティングの種類を選択:コンピューティング クラスタ
       ・Azure ML コンピューティング XXX を選択する:myazmlclst

    • [送信] ボタンを押下
      ・実験名 -> 新規作成 -> 新しい実験名:APP-Designer
      ・[送信] ボタンを押下
      ・グラフが順次実行されて行く。

  • 評価とデプロイ

    • 左メニューから [実験] に移動し、

    • 実験名 -> 実験 ID から実験を表示する。

    • 評価

      • [グラフ] タブ
      • [手順] タブ
      • [出力とログ] タブ
      • [メトリック] タブ
      • [画像] タブ
      • [スナップショット] タブ
      • [説明] タブ
      • [公平性] タブ
    • デプロイ

      • [公開] ボタンを押下

移行メモ(誤字): 「[出力とロ] タブ」→「[出力とロ] タブ」を修正した。

Notebooks(コーディング環境)で、

Azure Machine Learningの Notebooks)

  • プロジェクト・テンプレートの準備

    • 作成開始の方法
      左メニューから [Notebooks] に移動、

    • [ファイル] タブから [Samples] フォルダを作成

    • [サンプル] タブからサンプルをクローン

      • Pythonのバージョン毎にフォルダが在る。
      • src にルート(x.xx.x)フォルダを選択してクローンする。
      • dst に作成した [Samples] フォルダを選択する。

Hello world

  • [ファイル] タブのフォルダから [新しいファイルの作成] を選択

    • ファイル名:helloworld.ipynb
    • ファイルの種類:ノートブック (*.ipynb)
    • [作成] ボタンを押下
  • 実装

    • Jupyter Notebook ライクな IDE I/F が開く。
      AzureのNotebookを参照)

    • メニューのエディターから他の IDE I/F を選択可能。

      • Jupyter Notebook

      • JupyterLab(DNET_JupyterLab.md

      • VS Code

    • 以下の実装を行う。

      print('Hello World')
  • 実行

    • コンピューティング:myazmlcomp
    • セルの左の [実行] ボタンを押下して実行する。

VS Code

  • Python for Visual Studio Codeにあるように設定する。
  • Azure ML から VS Code を起動すると Azure ML と接続した VS Code のウィンドウが起動
  • クローンなどの操作は、ターミナルのウィンドウから行う事もできる。

Python、scikit-learn

プロジェクト・テンプレートの選択

  • Jupyter から Terminal を開き、以下をクローンし、

    https://github.com/yomaki/azure-ml-python-handson

  • module2 に移動して、順次、進めて行く。

    • データセット
    • 学習
  • module3 に移動して、順次、進めて行く。

    • デプロイ
    • 推論

構築系

権限

カスタム ロールを割り当てる。

移行メモ(未記述): 元ページは本節の本文が
見出し(「...」)のみで書かれていなかった。
参考のリンク先を参照のこと。
著者による本文が加筆された場合は置き換えること。

権限の参考

VNET

  • VNET テクノロジーでセキュリティ保護することができる。
  • 複数のサービスが関連しているため、その構成は少し複雑。

移行メモ(未記述): 本節も本文が「...」のみだった。
「複数のサービスが関連している」というのは、AzML の
ワークスペースがストレージ アカウント・キー コンテナー・
コンテナー レジストリ・Application Insights に依存しており、
それらすべてを VNET 側に閉じる必要があることを指す。
参考のリンク先が詳しい。

VNETの参考

参考

Qiita

AutoML の参考

Designer の参考

...

Notebooks の参考

デプロイの参考

YouTube

Tech Briefing: Azure Machine Learning

Azure Machine Learningを参照)

(AutoML & Designer 概要)

Azure Machine Learning ハンズオンシリーズ

https://www.youtube.com/playlist?list=PLzmfTuDFwtKEH_W9--AtsD4kwNSPEChPO

Microsoft Docs

クイックスタート

ワークスペースの作成と管理

チュートリアルのドキュメント

デプロイのドキュメント

GitHub

ハンズオン

mslearn-dp100

リポジトリ

本 Wiki 内


Tags: クラウド, BI/AI, Azure

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally