DX station

【AI】10分で分析環境を作る!AzureML の Jupyter Notebook 入門

八木 真理奈

八木 真理奈

こんにちは。データサイエンスチームの八木です。

近年 DX 化の流れによって様々なデータを収集したり、データを掛け合わせてインサイトを見つけたりする機会が増え、データ分析もより身近なものになってきました。その際、まずはローカル環境で試してみることも多いと思いますが、メモリに乗りきらない、いつまでたっても処理が終わらないといったことはありませんか?コードの書き方を見直すのも一つの手段としてありますが、クラウド上のハイスペックな 仮想マシン (Virtual Machine : VM) を使って、素早く処理を終わらせることもできます。「でも、一からクラウド上に分析環境を作るのは時間がかかるし……」と思っている方にぜひ試していただきたいのが、Azure Machine Learning (以下、Azure ML) の Notebook 機能です。このサービスを使えば 10 分程度で簡単に分析環境が構築できますので、興味のある方はぜひ試してみてください。



「CogEra」はこちら

「ML Connect」はこちら

「機械学習導入支援サービス」はこちら


Azure ML の Notebook 機能とは

Azure MLとは、Microsoft 社が提供するクラウドベースの機械学習プラットフォームサービスのことです。今回は、Azure ML 上で Jupyter Notebook を動かすことができる Notebook 機能をご紹介します。特徴としては、大きく以下の4つがあります。

  1. 作成が簡単
  2. 標準的な IaaS の VM で Jupyter Notebook の実行環境を構築する場合、仮想ネットワーク、サブネット、ストレージアカウントなど多くの設定をする必要があります。一方、Azure ML の Notebook 機能では、基本的に VM の名前と種類を指定するだけで、簡単に実行環境を作成することができます。

  3. 機械学習に必要なライブラリがインストール済みのため、すぐに使用できる
  4. 従来の IaaS の VM に一から分析環境を作るのは、手間と時間がかかります。ここで丸一日以上時間を取られてしまう方も多いのではないでしょうか。一方、Notebook VM では、最新の互換性のあるライブラリがあらかじめインストールされており、すぐに使い始ることができます。

  5. カスタマイズ可能
  6. Notebook VM はマネージド VM として用意されていますが、ハードウェア機能へのフルアクセスが可能です。Azure でサポートされている VM に対して、自分が使いたいライブラリを自由にインストールすることができます。

  7. セキュリティの確保や共有が簡単
  8. Notebook へのアクセスは、HTTPS と Azure Active Directory によってセキュリティが確保されており、シングルサインオン環境の適用など、組織のポリシーに遵守した安全な環境を使用することができます。VM 上で実行する Notebook から、Azure ML ワークスペースのデータストアやコンピューティングリソースにアクセス可能で、Notebook 自体は Azure ML ワークスペースの Blob ストレージに保存されます。そのため、VM 間で簡単に Notebook を共有することができ、VM が削除されても Notebook は残ります。


より詳しく知りたい方は、以下の Azure ML 公式リファレンスを参考にしてください。

では早速、Azure ML の Notebook を使って、簡単に分析環境を構築する手順を見ていきましょう。


「CogEra」はこちら

「ML Connect」はこちら

「機械学習導入支援サービス」はこちら


Azure ML の Notebook を使用して、10 分で分析環境を構築する

  1. Azure ML にログインします。
  2. https://ml.azure.com/

    ※まだアカウントを持っていない方は、以下より Azure の無料アカウントを作成して試してみてください。
    https://azure.microsoft.com/ja-jp/services/machine-learning/

  3. ログインすると、[Azure Machine Learning スタジオへようこそ] と表示された画面が開きますので、[ワークスペースを作成する] をクリックします。
  4. [新しいワークスペースの作成] と表示されたウィンドウが開きますので、ワークスペース名、サブスクリプション、リソースグループ、リージョンを入力し、[作成] をクリックします。ワークスペース名は何でもよいですが、今回は [blog_test] としました。
  5. 少し待つと、[Recent workspaces] に作成したAzure ML のリソースが表示されるので、クリックします。
  6. 作成した Azure ML の画面に遷移したら、早速 Notebook の機能を試してみます。左のメニューより [Notebooks] を選択します。
  7. プラスのボタンをクリックし、[新しいファイルの作成] をクリックします。使用したいファイルがある方は、[ファイルのアップロード] からお持ちのファイルをアップロードしてください。
  8. [新しいファイルの作成] というウィンドウが開きますので、[ファイル名] に名前を記入し、[作成] をクリックします。今回は、[blog_test.ipynb] としました。
  9. しばらく待つと、Notebook が作成されます。この状態だとまだ VM を作成・接続できていないため、[ドキュメントは、現在コンピューティングに接続されていません。実行中のコンピューティングに切り替えるか、新しいコンピューティングを作成してセルを実行します。] という表記が出ます。ここから、VM を作成していきましょう。
  10. Notebook の右上の […] から、[Azure ML コンピューティングを作成する] をクリックします。
  11. [コンピューティング インスタンスの作成] 画面が開きますので、コンピューティング名を入力し、VM のスペックを選択します。
  12. 今回は、コンピューティング名を [blogtest-cpu] とし、仮想マシンのサイズは [Standard_DS12_v2、4 コア、28 GB RAM、56 GB ストレージ] を選択しました。それ以外の設定が必要ない方はここで終わってしまっても構いません。

    今回は使いすぎ防止のため、非アクティブ時のシャットダウンと、開始終了のスケジューリングを設定する方法をご紹介します。[次 :詳細設定] をクリックします。

    ※現在、コンピューティングインスタンスは他のユーザーと共有できません。既存の設定だと作成者自身に利用権限が割り当てられますが、詳細設定セクションで割り当てるユーザーを変更することも可能です。

  13. 非アクティブ時のシャットダウンと、開始終了のスケジューリングの設定をします。

  14. クラウドを利用する際、意図せず VM を立てたままにしてしまい、コストが大きくなってしまったという方は多いのではないでしょうか。そのようなことを回避するため、Azure ML では、非アクティブ時のシャットダウンと、開始・終了のスケジューリングの設定が可能です。

    ①非アクティブ時のシャットダウン

    [アイドリングからのシャットダウンを有効にする] をオンにし、時間や分を設定します。これにより、VM が一定の時間アイドリング状態になったら自動的にシャットダウンすることが可能です。

    ②開始・終了のスケジューリング

    非アクティブ時のシャットダウンを設定すれば、開始・終了のスケジューリングを使用することはあまりないかと思いますが、補足として開始・終了のスケジューリングの設定の仕方についても簡単に記載します。

    [スタートアップおよびシャットダウンのスケジュール] の設定をすると、コンピューティングインスタンスを自動的に開始、または停止するようにできます。そのためには、まず [スケジュールの追加] をクリックします。

  15. その後、コンピューティングインスタンスの開始、もしくは停止を選択し、タイムゾーンやシャットダウン時間、アクティブとする曜日を設定します。開始、停止それぞれ設定したい方は、[スケジュールの追加] ボタンを押して、設定を追加してください。
  16. SSH アクセスや仮想ネットワークの有効化など、必要な場合はご自身の環境に合わせて設定をしていただき、[作成] をクリックします。今回は特に設定していません。
  17. コンピューティングの作成が終わると、Notebook の [コンピューティング インスタンス] が [実行中] となります。
  18. 環境ができたら、Notebook での分析を始めていきましょう。Pandas や PyTorch などの有名な分析用ライブラリや機械学習フレームワークが、インストール不要ですぐに使用することができます。
  19. 分析が終わり、今回作成したリソースが不要な場合は削除します。
  20. Azure Portal より当該リソースにアクセスし、[リソース グループの削除] をクリックします。その後、削除を確認するウィンドウが出ますので、リソースグループ名を入力のうえ、[削除] をクリックします。

以上、Azure ML の Notebook で分析環境を構築する手順を紹介しました。Azure ML の Notebook 機能を使えば分析環境を簡単に作ることができますので、ぜひ皆さんもご自身の Notebook で試してみてください。

「CogEra」はこちら

「ML Connect」はこちら

「機械学習導入支援サービス」はこちら


さいごに

本記事では、Azure ML の Notebook で分析環境を簡単に構築する手順を紹介しました。簡単に分析環境を作り必要な分だけ動かすことができますので、容量の大きなデータの処理をする時だけクラウドを使用したい方や、少しだけ分析を試してみたい方など、必要な分だけ柔軟に Jupyter Notebook ベースの分析環境を利用することができます。

Notebook には、今回紹介した機能以外にも、コード補完 (IntelliSense) の機能や、プレビュー版ではありますが Notebook にコメントを付与できる機能など、たくさんの便利な機能が用意されています。気になった方は、ぜひ以下の公式リファレンスもご確認ください。

Azure ML にはその他にも、機械学習モデルの学習やその自動化、Web サービスのデプロイなど、機械学習を活用するための様々な機能が用意されています。Azure ML の各機能の説明や Azure ML スタジオ の詳細については、以下の Azure ML 公式リファレンスを参考にしてください。

SBT では、今回ご紹介した Azure ML だけでなく、Azure Cognitive Services を用いた概念実証や検証、そして AI や機械学習を活用した実運用システムの開発までトータルでサポートすることが可能です。今回の Azure ML Notebook を用いるケースでは、まずは自社の実際のデータでどの程度精度が出るのかを検証後、実務で使えそうな場合はシステム化フェーズへと進みます。その際、社内の業務フローやセキュリティポリシー、予算などに合わせ、必要なアーキテクチャも変わってきますので、それらを考慮した要件定義・設計が必要となります。まずは実現可能性の調査から始めたい、すでに AI モデルをお持ちで実運用するためのシステム化をしたいなど、AI 活用を検討中の担当者の方がいましたら、ぜひ当社にお問い合わせください。まず何から始めればよいか悩んでいるといったお客様も、お気軽にご相談いただければと思います。


関連ブログ記事 

MLOps の第一歩!Azure ML のデザイナーでモデルをデプロイしてみよう
AI の民主化を実現する:Azure ML の自動機械学習 (AutoML) による時系列予測モデル構築機能のご紹介
ノーコード AI 構築ツール:Azure ML デザイナー を使って、時系列データの異常検知を実践する【前編】

関連ページ

「CogEra」はこちら
「ML Connect」はこちら
「機械学習導入支援サービス」はこちら

お問い合わせ

製品・サービスに関するお問い合わせはお気軽にご相談ください。