Hattori機械学習系の研究職&エンジニア。ICT技術のWebAPIマーケットプレイスApitoreをやってます。Hattori·0件のコメントはじめに機械学習エンジニアは誰だって無限の計算資源を欲している・・・そうだろ?こんにちは。Engineerをしている服部です。2019の5日目の記事です。今回は機械学習エンジニアが欲してやまない「様々なコンフィグレーション機械学習Jobを無限に投げる」方法について紹介します。Notebookでデータ分析をしながら、任意の特徴量やハイパーパラメータを使う機械学習Jobをポンポンと投げることができるんです。動画の要点だけ解説します。Notebookの機能があります。最近のアップデートでJupyterLabも使えるようになりました。Platformにはいくつか機械学習テンプレートがありまして、今回のデモではlightgbmのテンプレートを使用しています。含まれているので、そちらを起動します。Templateを利用すると、学習データの読み込みからモデリングまでノンコーティング実行できるので良いですね。Notebookなのでガンガンとデータ分析のコードも追加できます。機械学習エンジニア/データサイエンティストの皆様はNotebookでデータを可視化&分析しつつ「俺が考えた最強の特徴量」を追求してください。特徴量エンジニアリングが終わったら、コードがちゃんと動作するか確認します。実際に学習を回してみて数エポックが正しく動作するか確認しましょう。エポック毎にちゃんとlossが下がっているかもちゃんと確認しましょう。プログラムにバグがないか、学習はちゃんと進んでいるか、それらを確認したらようやく本題に入ります。本題ここまでが前置きです、ここから本題に入ります。Jupyterで十分デバッグが出来たら、いよいよ夢にまで見た「様々なコンフィグレーション機械学習Jobを無限に投げる」をやるときが来ました。Platformに登録し、様々なコンフィグレーションを試行錯誤してみましょう。ここで注意点ですが、変更したいコンフィグレーションは環境変数で指定できるようにソースコードを構成しましょう。それさえ守っていただければ夢の実現はすぐそこです。Platformに登録可能な形式に変換しましょう。lightgbmのテンプレートを使っている場合、やることは簡単です。ipynbのセルを実行してpythonファイルに変換するだけです。テンプレでは学習に不要なコードはpythonファイルに含めないようにしてあります。Platformにアップロードします。SDKを使って簡単に出来ます。必要なファイルのファイルパスを書くだけです。実際のアップロードはこちらのコードで行います。descriptionは自由記入欄です。後で見て分かりやすいように、適切なメモを書くようにしましょう。Platformでは利用できるimageが定められていますので、そちらをセットするようにしてください。handlerとenvironmentについてはテンプレでは自動で埋めるようにしてあるので今は気にしなくてOKです。Platformにソースコードのアップロードが出来ました。機械学習Jobを発行するときです。SDKの以下のコマンドから出来ます。コンフィグレーションは環境変数で与えるという制約があるので、user_parametersを使って環境変数をセットします。user_parametersに指定されたkey-valueが機械学習Jobの環境変数としてセットされるのです。使える環境変数はprefixがABEJA_以外なら何でもOKです。イメージしやすい試行錯誤は「ハイパーパラメータチューニング」でしょう。ハイパーパラメータの値をuser_parametersにセットすれば、そのパラメータで学習Jobを回すことができます。オススメの使い方は、「特徴量エンジニアリングの過程で作ったたくさんの特徴量に対して、使う特徴量を環境変数で指定する」という使い方です。この方法なら特徴量エンジニアリングの試行錯誤を一気にたくさん実施できます。以下の例ではlightgbmのmax_depthを変更しました。lightgbmのテンプレで利用できるハイパーパラメータはこちらにまとめてあるので参照してください。Platform上で機械学習Jobが実行されます。PlatformでCPU/GPUは使い放題というわけではなく、使用量に基づく課金があります。・・・が、Jobは終了したら自動的にインスタンスを落としてくれるので、使った分だけが課金される仕組みです。Notebookを使って機械学習Jobをたくさん投げる方法について紹介しました。Platformは機械学習に特化したフルマネージドなインフラなので、インフラの管理をしたくない機械学習エンジニアのみなさんにとってはとてもありがたいプロダクトだと思います。明日は「学習済みの機械学習モデルの管理なんてもうしたくない」という方にピッタリの機能(2019/12/5時点では公式非推奨)を紹介します。Hattoriについて機械学習系の研究職&エンジニア。ICT技術のWebAPIマーケットプレイスApitoreをやってます。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。Themeisle.。