Batch AIを使ったニューラルネットワークトレーニングに参加しました。
Batch AIとは
MicrosoftのAzureにはBatch AIという機械学習のバッチを管理できるサービスがある。
Azureのマネージドサービスはそれ自体が他のサービスでできていることが多くBatch AIもBatch用サービスの上にできている。
やったこと
Chainer MNで書かれたMNIST学習コードを動かすのが前半。自分の持ってきたデータかcifar10のデータでコード書いてやってみるのが後半。最後に直近のAzure Updateの紹介。
流れとしてはリソースグループ、ストレージ、コンテナ、ワークスペース、クラスター、エクスペリメント、ジョブを順番に作っていく。概念の数が多く、それぞれに名前をつける必要がありつらい。もっとconventionベースなscaffoldコマンドが欲しいところ。
割と実験的な内容なのかところどころ予期せぬ事態がおきていた。名前空間が一つのため自分専用の名前を入れるところが多く、最初にaliasを定義した方が綺麗に進めたかもしれない。
Azureのクラウドシェル上で作業を行なったが、シェル自体は20分、Azure自体は1時間?でセッションが切れてイライラした。どこかで設定できる?
所感
ChainerのexampleコードをChainerMN化する差分が少なく、コードの変更自体はとても簡単だった。 インフラ構築もAzureにまかせれば簡単にでき、個人でも複数インスタンスで分散学習バンバンする時代が来てると思った。