Optuna V3開発スプリント #2 に行ってきた
先日「Optuna V3開発スプリント #2」に行ったら思いのほかよかったので、次回以降、行こうか迷っている人の参考になればと思い、どうして参加しようと思ったかや実際行ってどうだったかを紹介しようと思います。
ちなみに次回はもう決まっていて、12/19開催だそうです。詳細は以下のサイトをご覧ください。
https://optuna.connpass.com/event/232195/
Optuna V3開発スプリントとは?
機械学習のハイパーパラメータ探索等で用いられるOptunaの開発をみんなで集まってやるイベントです。普段開発している方も集まって、その場で細かい実装の相談もDiscordを使ってテキストやビデオですぐに相談できるような体制を整えてくれているので、スムーズに実装できます。
詳しくはこちらをconnpassのサイトをご覧ください。
https://optuna.connpass.com/event/229573/
こういう人にお勧めなイベント
Optuna V3開発スプリントに参加してみて、こういう人は参加を検討してもいいと思ったのでまずはそれを紹介します。このイベントに参加するとよいと思われる人は
- Optunaに何か機能を追加したい人
- Optunaを使っていて中身にも興味がある人
- OSS開発未経験でやってみたい人
あたりかなと思います。1、2はこの手の開発系のイベントではよくあるモチベーションですが、強調したかったのは3です。後ほど詳しく紹介しますが、サポート体制が素晴らしく、OSS開発したことがないという人でもPRを作れるように普段Optuna開発をしている方たちが行ってくれます。なので、OSS開発未経験者でも安心して参加できるイベントだと思いました。
私が参加しようと思ったきっかけ
次に私がどういった経緯でイベントに参加しようと思ったのかを軽く紹介します。
実はイベント自体は知っていましたが、当初は参加しようとは思っていませんでした。理由としては
- 特にこういう機能を入れたいという強いモチベーションがなかった
- 過去、参加した開発系のイベントでやりたいことがないと大したものは作れず、「時間がもったいなかった」と思うことが多かった
じゃあなぜ参加したのか?というと、同僚でOptuna開発している主催者の方に「やりたいタスクないんだけど」と聞いたら、「当日相談するような体制を整えています!」と力強いコメントをもらったので、暇だし、それならということで参加しました。
当日の流れ
次にイベントに参加したらどんな感じかをイメージできるように、私が当日どう過ごしたか?を紹介します。
当日の流れを列挙すると以下の通りです。
- 朝10時に開始ということで10時にDiscordにつなげて、オープニングでイベントの趣旨などの説明を聞く
- オープニング中の説明でタスクとして考えていることはissueのラベルが付いているとのことだったので、一通りissueをチェック
- 思った通りピンとくるやりたいことがなかったのでビデオで相談
- このissue に取り組んでほしいということを言われたので詳しい人に解説してもらう
- ひとまず実装してみる
- 実装したら実は自分が勘違いしていたことがわかり、再度説明してもらう
- 作り直し
- 設計する方針がいくつかある部分があり、どうすればいいかビデオで相談
- 方針が決まったのでその通りに実装してPRを作成
といった感じでした。なので、何とか1日でPRまで作ることができました。その後、すぐさまreviewしていただき、数日でマージするところまで行くことができました。
参加して良かったこと
自分が参加してこのイベントに参加して良かったことを列挙するとこのような感じです。
- やってほしいタスクのリストがあるので、やりたいことが予めなくても参加しやすいし、ピンとくるものがなくても相談できる体制が整っている
- 実装で困ったところやどうすればいいかわからないところがあれば、テキストやビデオですぐさま相談できる体制が整っている
- 相談を通して、OSS開発のときはどうすればいいかみたいないろいろな考えを聞けるので、今後の仕事などの参考にもなる
- Optunaの勉強になる
- コード実装、PR作成、PRレビューというOSS開発の一連の流れを体験できる
- タスクがちゃんと決まって作業ができるので充実感がある
特にこのイベントでは1、2あたりのサポート体制という観点が非常に良かった印象です。この結果、スムーズに作業ができて、1日でレビューしてもらうレベルのPRを作れることができ、充実感がありました。このため、非常に良いイベントだと感じました。
参加する前にやったほうがいいこと
参加する前にやったほうがいいと思ったことがあったので、参加しようと思った人は参考にしてください。
- Discordの接続チェック
- Contribution Guidelinesを読んでPRを作るうえでどのようなテストをしないといけないのかを確認する
- Contribution Guidelines を読んでテスト環境を作っておく
特に、2のテストを実行する環境作りは少し時間がかかるので事前に作っておくとスムーズに作業が開始できると思いました。自分は作ってなかったので30分くらい?時間をロスしました
終わりに
Optuna V3開発スプリントが思いのほか良かったので記事にしてみました。今後のOptuna V3開発スプリントに参加しようか迷っているという人の参考になれば幸いです。次回以降のイベントもすでにきまっているようなので、興味がある方はこちらをご覧ください