【Microsoft Ignite 2020 Update】Azure Machine Learning StudioのAutomated MLが正式リリース(GA)されたので改めて内容を確認してみる #Azure #AzureMachineLearning
こんにちは、Mr.Moです。
Azure Machine Learning StudioのAutomated ML(いわゆるAutoML)が正式リリース(GA)されたとMicrosoft Ignite 2020で発表がありました。さっそくどのような内容か確認していきましょう。
Azure Machine Learning StudioのAutomated MLとは
自動化された ML を使うと、誰でも機械学習モデルの開発プロセスを使用でき、ユーザーはデータ サイエンスの専門知識に関係なく、どの問題についてもエンド ツー エンドの機械学習パイプラインを識別することができます。
AutoMLは時間のかかる反復的な機械学習モデルの開発タスクを自動化するというものになりますが、トレーニング中 Azure Machine Learning ではさまざまなアルゴリズムとパラメーターの組み合わせを総当り的に実施することを行っており、その結果高いパフォーマンスを発揮したモデルを生成することができます。
なお、現在は下記のタスクがサポートされています。
- 分類
- 回帰
- 時系列予測
正式リリース開始(GA)の公式アナウンス情報を確認
「AutoML UI (GA)」のように記載されており一瞬何のことかと戸惑いそうになるかもしれませんが、これは Automated ML が 「Python SDK」と「Azure ML StudioのWeb UI」で使用する2種類の方法で現在提供をされているからですね。今回GAの発表があったのは「Azure ML StudioのWeb UI」の方になります。詳細は下記のドキュメントなどをご覧ください。
- https://docs.microsoft.com/en-us/azure/machine-learning/concept-automated-ml#how-automl-works
- https://docs.microsoft.com/en-us/azure/machine-learning/concept-automated-ml#experiment-settings
まずは使ってみよう
公式で需要予測のチュートリアルがあるのでそちらを題材に見ていきましょう。
Azure Machine Learning Studio にアクセスする
下記のリンクからサインインし、「自動 ML」の画面で新規作成を行います。
ちなみに、Azure Machine Learning Studio を使い始めるまでの作業は下記の記事の「事前準備」も参考にしていただければと思います。
データセットを作成して読み込む
このリンクからbike-no.csv のデータ ファイルをダウンロードし、下記のように[データセットの選択] → [ローカルファイルから]を選択します。
適当な名前を入力して[次へ]を押します。
[参照]から先ほどダウンロードしたbike-no.csvをアップロードします。
bike-no.csvは1行目にヘッダー行が入っているので、[列見出し]は「最初のファイルのヘッダーを使用する」を選択します。
次にスキーマの設定です。この設定では学習がしやすいようにデータ構造を変更することができますが、ここでは「casual」、「registered」列を学習データから外します。この2つを合計した「cnt」列があるからですね。最後に[作成]ボタンを押してデータセット作成は終わりです。
学習実行の構成
先ほど作成したデータセットを選択し[次へ]を押します。
Azure Machine Learningでは「実験」の名のもとに機械学習のモデルのトレーニングを行っていきます。まずは新しく「実験」を作成していきましょう。なお、今回は自転車シェアリング レンタルの需要予測なので予測のターゲット列にレンタルの合計数である「cnt」列を指定します。あとはトレーニングを実行する際に使用するコンピューティングクラスターを設定します。(仮想マシンを「低優先度」で使用すると少し価格が安くなりますが、コンピューティング ノードが保証など制約があるので適宜選択していきます)
予測設定を選択する
今回は時系列の予測になるので、タスクの種類は[時系列の予測]を選択します。したがいまして「時系列」の項目である「date」列を指定します。また、「予測期間」はどのくらい先の未来を予測するかの期間指定で、ここでは「14」を指定します。(この期間を変えたい場合は再学習が必要になります)
あとは[追加の構成]で[ブロックされたアルゴリズム]の指定がありますが、AutoMLではいくつかのアルゴリズムを総当りで実施するので、不要なアルゴリズムはこの段階で落としておいた方がコストメリットが出ると思います。この辺りまで設定が終わるとトレーニングが実行されます。
実験を実行、モデルの確認
一度設定が終わってしまえば後はオートです。休憩でもしながらトレーニングが終わるのを待ちましょう。
そしてしばらく放置していると、トレーニングが終わっていました。下記のように最もパフォーマンスが良かったモデルが1行目に表示されています。
モデルの詳細も確認することが可能です。こういった所も別の機会でまとめてみたいと思っています。
ちなみに、下記の動画のようにPower BIと連携して可視化するのが良さそうな感じですね。
もうちょっとだけ続けて見る...
ちなみに、[タスク種類の選択]の[分類]のところに「ディープラーニングの有効化」をするとテキストデータを上手く扱えるようなことが書いてあったので...
テキスト分類を試してみました。データは「livedoor ニュースコーパス」で、さらにすぐに使える形のこちらを拝借させていただき、GPUとか色々設定して実行してみます。
学習が終わるとかなりの精度が出ており。これは...
下記のログとか見るとやはりBERT使えてそうですかね?
まとめ
コードを1行も書くことなく、データに基づいて最適なモデルを見つけることができました。AutoML UIは本当の意味で画面ポチポチで機械学習ができてしまうんですね。データを用意すれば機械学習の専門的な知識が無くてもモデルの構築ができるみたいなとこありますので、用途に合わせて使ってみてはいかがでしょうか。
なお、Microsoft Ignite 2020ではデザイナーの方もGAが発表されていますので、よろしければ下記の記事をご覧いただければと思います。