【Microsoft Ignite 2020 Update】Azure Machine Learning StudioのAutomated MLが正式リリース(GA)されたので改めて内容を確認してみる #Azure #AzureMachineLearning

2020.09.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、Mr.Moです。

Azure Machine Learning StudioのAutomated ML(いわゆるAutoML)が正式リリース(GA)されたとMicrosoft Ignite 2020で発表がありました。さっそくどのような内容か確認していきましょう。

Azure Machine Learning StudioのAutomated MLとは

automl-concept-diagram2.png

自動化された ML を使うと、誰でも機械学習モデルの開発プロセスを使用でき、ユーザーはデータ サイエンスの専門知識に関係なく、どの問題についてもエンド ツー エンドの機械学習パイプラインを識別することができます。

AutoMLは時間のかかる反復的な機械学習モデルの開発タスクを自動化するというものになりますが、トレーニング中 Azure Machine Learning ではさまざまなアルゴリズムとパラメーターの組み合わせを総当り的に実施することを行っており、その結果高いパフォーマンスを発揮したモデルを生成することができます。
なお、現在は下記のタスクがサポートされています。

  • 分類
  • 回帰
  • 時系列予測

正式リリース開始(GA)の公式アナウンス情報を確認

image.png

「AutoML UI (GA)」のように記載されており一瞬何のことかと戸惑いそうになるかもしれませんが、これは Automated ML が 「Python SDK」と「Azure ML StudioのWeb UI」で使用する2種類の方法で現在提供をされているからですね。今回GAの発表があったのは「Azure ML StudioのWeb UI」の方になります。詳細は下記のドキュメントなどをご覧ください。

まずは使ってみよう

公式で需要予測のチュートリアルがあるのでそちらを題材に見ていきましょう。

Azure Machine Learning Studio にアクセスする

下記のリンクからサインインし、「自動 ML」の画面で新規作成を行います。

image.png

ちなみに、Azure Machine Learning Studio を使い始めるまでの作業は下記の記事の「事前準備」も参考にしていただければと思います。

データセットを作成して読み込む

このリンクからbike-no.csv のデータ ファイルをダウンロードし、下記のように[データセットの選択] → [ローカルファイルから]を選択します。

image.png

適当な名前を入力して[次へ]を押します。

image.png

[参照]から先ほどダウンロードしたbike-no.csvをアップロードします。

image (24).png

bike-no.csvは1行目にヘッダー行が入っているので、[列見出し]は「最初のファイルのヘッダーを使用する」を選択します。

image (26).png

次にスキーマの設定です。この設定では学習がしやすいようにデータ構造を変更することができますが、ここでは「casual」、「registered」列を学習データから外します。この2つを合計した「cnt」列があるからですね。最後に[作成]ボタンを押してデータセット作成は終わりです。

image (25).png

image.png

学習実行の構成

先ほど作成したデータセットを選択し[次へ]を押します。

image.png

Azure Machine Learningでは「実験」の名のもとに機械学習のモデルのトレーニングを行っていきます。まずは新しく「実験」を作成していきましょう。なお、今回は自転車シェアリング レンタルの需要予測なので予測のターゲット列にレンタルの合計数である「cnt」列を指定します。あとはトレーニングを実行する際に使用するコンピューティングクラスターを設定します。(仮想マシンを「低優先度」で使用すると少し価格が安くなりますが、コンピューティング ノードが保証など制約があるので適宜選択していきます)

image.png

予測設定を選択する

今回は時系列の予測になるので、タスクの種類は[時系列の予測]を選択します。したがいまして「時系列」の項目である「date」列を指定します。また、「予測期間」はどのくらい先の未来を予測するかの期間指定で、ここでは「14」を指定します。(この期間を変えたい場合は再学習が必要になります)
あとは[追加の構成]で[ブロックされたアルゴリズム]の指定がありますが、AutoMLではいくつかのアルゴリズムを総当りで実施するので、不要なアルゴリズムはこの段階で落としておいた方がコストメリットが出ると思います。この辺りまで設定が終わるとトレーニングが実行されます。

image.png

実験を実行、モデルの確認

一度設定が終わってしまえば後はオートです。休憩でもしながらトレーニングが終わるのを待ちましょう。

image.png

そしてしばらく放置していると、トレーニングが終わっていました。下記のように最もパフォーマンスが良かったモデルが1行目に表示されています。

image.png

モデルの詳細も確認することが可能です。こういった所も別の機会でまとめてみたいと思っています。

image.png

ちなみに、下記の動画のようにPower BIと連携して可視化するのが良さそうな感じですね。

image.png

もうちょっとだけ続けて見る...

ちなみに、[タスク種類の選択]の[分類]のところに「ディープラーニングの有効化」をするとテキストデータを上手く扱えるようなことが書いてあったので...

image.png

テキスト分類を試してみました。データは「livedoor ニュースコーパス」で、さらにすぐに使える形のこちらを拝借させていただき、GPUとか色々設定して実行してみます。

image.png

学習が終わるとかなりの精度が出ており。これは...

image.png

image.png

下記のログとか見るとやはりBERT使えてそうですかね?

image.png

まとめ

コードを1行も書くことなく、データに基づいて最適なモデルを見つけることができました。AutoML UIは本当の意味で画面ポチポチで機械学習ができてしまうんですね。データを用意すれば機械学習の専門的な知識が無くてもモデルの構築ができるみたいなとこありますので、用途に合わせて使ってみてはいかがでしょうか。

なお、Microsoft Ignite 2020ではデザイナーの方もGAが発表されていますので、よろしければ下記の記事をご覧いただければと思います。

参考