今日は2限とハッカソンのメンタリングがあった.
今週の木曜日の輪講と個別ゼミが消滅したおかげでハッカソンの開発に余裕は出来たが,楽勝になったわけではないので頑張る.
今日は将棋大会のアルバイトがあった.
参加者に消毒を強制させるのがだるかった.
コロナ絶許.
あと決勝戦の棋譜取りを失敗したのは辛かった.
ミスをカバーして頂いた杉本八段と中澤女流初段および会場スタッフに感謝感謝.
また来年も手伝うかも.
大会概要
< https://www2.myjcom.jp/special/user/event/kids-shogi/2020.shtml# >
研究室の先輩と一緒に11/5,11/6の2日間,名大のスパコン「不老」を使った課題持ち込み型ハッカソン(詳細は以下URL)に参加した.
持ち込んだ課題は先輩の研究に関するもので,自分は研究の引き継ぎを兼ねたお手伝いをしてた.
主には先輩が作業しつつ,分からないところを僕がハッカソン用Slackで質問するという感じだった.
リンク先のページを見てもらうと分かるようにメンターにはNVIDIAの方々が居て,色々と質問に答えて頂いた.
ハッカソンでは,ハイパーパラメータ最適化のための Python ライブラリ「Optuna」を研究対象のプログラムに適用し,分散並列最適化を行った.
今までは1ノード実行で学習させていたのを3ノードで分散並列実行させるように変更し,精度も向上したのでまずまずの成果.
更にOptuna では枝刈りのロジックも組み込むことができ,見込みの薄い訓練を途中で打ち切ることで,同じepoch数で試行できるパラメータ数が増やせるらしい.
ので,試しに資料を参考にしつつ実装してみたがこちらは少し時間が足りなかったため,上手くいったかどうか分からない(動きはした).
とりあえずは枝刈りの続きをやってみたいなぁという感じ.
というかそもそも,どこをチューニングするか問題(先輩曰くドロップアウト率などのパラメータだけでなくネットワークの層の数などもチューニングしてみたいらしい)があるのでそこを見極めるのが先な気がしてる.
あと今回は精度しか見ていなかったが,分散並列最適化の際に実行時間がどれほど変化したのかの測定も行いたい.
初日に寝坊して自己紹介の時間に居なかったり,最後の集合写真の前に別の予定で抜けざるを得なくなってたりして,完全オンライン開催ということもありハッカソンに参加した感がまるでないが,ハッカソン開催中のみスパコン「不老」使い放題の状況で色々試せたのは楽しかった.
具体的にいうと,今まで名前しか聞いたことがなかったSingularity(高性能計算の分野に特化したコンテナ技術,GPUが扱いやすい)を使って, Optuna の環境を作ってみたり分散並列最適化の際にパラメータを保存しておくためのPostgreSQL環境を作ってみたり出来たのは良かった.
ついでに研究のコードも引き継いだので来年以降も色々出来そう.
また機会があれば今度はもっとスムーズにジョブを投げまくってスパコンを使い倒したい.