「Machine Learning Serviceを使ってみよう」 LT 資料を公開しました ( #Cogbot 勉強会 #19 2019/1/22 開催) #MachineLearningService

Cogbot 勉強会 #19 (2019年1月22日開催) で、

Machine Learning Service を使ってみよう

という LT をしました。
ブログで紹介するのが遅くなってしまいました・・・ (汗

Azure Machine Learning サービス は、「AI 案件」のすべてのフェーズに対応する Azure のサービスです。

  • データ前処理
  • モデル作成
  • 訓練
  • モデル管理
  • イメージ作成
  • デプロイ

という 6つのフェーズがそれです。

https://docs.microsoft.com/ja-jp/azure/machine-learning/service/overview-what-is-azure-ml


「AI 案件」の中で、環境によって時間と費用とが大きく変わるところがモデル作成と管理のところだと思います。

私見では、以下の環境を使うのが良いと思います。

モデル作成

  • GPU ありマシンが使える場合・・・ローカルマシン (GPU あり)
  • 深層学習ではない場合・・・Azure Notebooks
  • サクッと試したい場合(環境構築が面倒な場合)・・・Azure Notebooks
  • 業務利用で「万単位」の費用が認められる場合・・・Ubuntu DSVM
  • どれにも当てはまらない場合・・・ローカルの CPU マシン

訓練

  • 業務利用などで絶対に訓練を中断されたくない場合・・・Machine Learning Compute
  • 高速かつ低コストで訓練したい場合・・・Low Priority Machine Learning Compute
  • 訓練専用の GPU ありマシンが使える場合・・・ローカルマシン (GPU あり)
  • 低速でもいいのでできるだけ低コスト・・・ローカルの CPU マシン

モデル開発中は CPU / GPU で処理を実行している時間以外に人間がコードを書いたりデバッグしたり・・・があるので、「空き時間」のコストがかかります。ローカルマシンならばイニシャルコストだけでいいので、精神的には安心できます。

訓練は、コンピューターに処理をお任せできるフェーズです。ローカルマシンが余っている場合にはそれを使えばいいのですが、なかなかそれも難しいかもしれません。そこでクラウド上の VM を使うのが良いです。

Machine Learning Compute は、以前は Batch AI と呼ばれていた機能の置き換えです。
実行時にクラスターのノード構成を変更し、終わり次第(一定時間アイドル状態が続いたら)ノード単位でシャットダウンします。
無駄な課金を発生させずに、でも高速にモデルの訓練ができます。

Low Priority Machine Learning Compute を使うと、データセンターの混雑によっては訓練が中断される可能性はありますが(といってもそんなに発生しないイメージ)、その代わりに廉価で GPU アリの VM を利用できます。

Machine Learning Compute / Low Proirity Machine Learning Compute の使い方は、Machine Learning サービスの Get Started を見ると簡単にわかりますが、このブログでも紹介していきたいと思います。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中