会員登録すると
このコラムを保存して、いつでも見返せます
Optuna(オプチュナ)。機械学習のハイパーパラメータ(*1)を最適化するツールとして、Preferred Networks(PFN)が提供するオープンソースのソフトウエアフレームワークだ。2020年1月の正式版リリース以来、国内外のデータサイエンティストや機械学習エンジニアらに支持され、月間ダウンロード数は50万件を超える(同社調べ)。
そんなOptunaの開発・改良に携わるのが、2020年にPFNに入社したエンジニアの水野尚人さんだ。
特集「データサイエンティストとは何者か」第4回はある意味、番外編。データサイエンティストらに“使われる”人気ツール=Optunaがどう開発されているかを、水野さんの働きぶりとともに紹介する。【藤崎竜介】
*1 機械学習アルゴリズムの挙動に影響する、人が設定すべき変数
1. 競プロがもたらした秋葉執行役員との出会い。“ドンピシャ”のプロジェクトに魅力を感じPFNに入社
2. 「いろいろなことを経験したい」と、兼任でのOptunaプロジェクト参画を希望
3. 時に「やらない」という判断も必要な、Optuna開発の難しさ
4. 「え、こんな使われ方するの!?」ユーザーが増える中、求められる想像力
5. 死ぬ気で学べ―。「やればできる」ではないので、全力で学ぶ
競プロがもたらした秋葉執行役員との出会い。“ドンピシャ”のプロジェクトに魅力を感じPFNに入社
――PFNへの入社はインターンへの参加がきっかけですよね。そもそもどういった経緯でインターンに参加したのでしょうか。
水野:執行役員の秋葉(拓哉さん)に誘われたからですね。2016年のことです。秋葉が国立情報学研究所(NII)からPFNに移るタイミングで、インターンの募集を教えてもらって応募しました。当時私は大学院での研究とは別で、NIIの彼の研究室で働いていたんです。
◆外資就活ドットコムにおける秋葉拓哉さんのインタビュー記事はこちら
――では秋葉さんとはNIIで出会ったのでしょうか。
水野:いえ。競技プログラミングを通じて知り合いました。ICPCに出始めたころなので、2011年あたりでしょうか。もう知り合って10年くらいになります。
――インターンでの経験がよかったから、結果としてPFNに入ったわけですよね。どんな点が特に印象的でしたか。
水野:働いている「人」に引かれた面が大きいですね。創業者の岡野原(大輔さん)がメンターだったのですが、知識量や視野の広さが圧倒的で、多くの点で勉強になりました。
――では正式に入社する際、迷いはなかったでしょうか。
水野:なかったですね。インターンでの経験もありましたし、あと私の場合は地震学における機械学習の応用という少し変わったテーマで研究していて、その内容を直接的に生かせそうなことも魅力でした。
入社を決めたころ、今関わっている地下構造解析に機械学習を用いるプロジェクトが始まろうとしていたので。
――水野さんにとって、“ドンピシャ”のプロジェクトだったということですか。
水野:その通りです。そんな就職先候補は、他になかったですね。
――研究を続けるという選択肢もあったのではないでしょうか。
水野:いえ。技術を使って実社会の問題を解決することにチャレンジしたかったので、就職以外はあまり考えなかったですね。
「いろいろなことを経験したい」と、兼任でのOptunaプロジェクト参画を希望
――今は、既に話が出た地下構造解析のプロジェクトを担っているんですよね。
水野:はい。あとはハイパーパラメータを自動で最適化できるOptunaのプロジェクトにも入っています。この2プロジェクトに専念している感じです。
――どのように担当が決まったのでしょうか。
水野:地下構造解析のほうは入社の一因であることもあり、入った直後から担当させてもらっています。Optunaは入社から半年くらい経ったタイミングで、希望を出してメンバーに入れてもらいました。
――希望を出した理由は。
水野:早いうちにいろいろなことを経験したいと思ったからですね。当時Optunaのチームで人が足りていなかったということもあり、受け入れてもらえました。
時に「やらない」という判断も必要な、Optuna開発の難しさ
――Optunaは2020年7月にv2(version2)がリリースされました。今はv3(version3)への刷新を目指しているところでしょうか。
水野:はい。v3で達成したい目標の一つが、安定性の向上です。これまでの開発過程で諸事情により生じた、安定性を阻害する技術的負債がいくつかあるので、一つ一つ整理して改善しようとしています。
◆PFNがGitHub で公開しているOptuna v3のロードマップ
――ロードマップを見ると、使いやすさの向上もテーマのようですね。
水野:そうですね。特にv2で実装した、サンプリングアルゴリズムの改善などの新機能を、もっと使ってもらえるようにしたいと思っています。
開発側としてはv2でかなり役に立つ機能を載せたつもりなのですが、「実はその存在に気づいてもらえていなかった」なんていうことが結構あることが分かってきました。なのでAPII(アプリケーションプログラミングインターフェース)の改善やドキュメントの整備など、新機能の利用が増えるような取り組みを進めています。
――Optunaのプロジェクトは、社員何人くらいで進めているのでしょうか。
水野:プロジェクトのメンバーは10人前後です。ただ、「関わっている人の数」ならもっと多いですね。
――どういうことでしょうか。
水野:PFN内にOptunaを利用する“ユーザー”が数多くいます。私も地下構造解析のプロジェクトで頻繁に使っていますし。そうした社内ユーザーからのフィードバックは、かなり大事にしています。
――Optunaの開発・改良で、難しいところなどはありますか。
水野:「こんな機能を追加してほしい」というリクエストは頻繁にあるのですが、それらを採り入れるか否かは、常に難しい判断になります。「どう考えても無理」みたいな要望や、メンテナンス性を考えると採り入れないほうが賢明なアイディアも来るので、「やらない」という意思決定がしばしば求められるんです。
――大事な意思決定ですね。
水野:はい。そこはプロジェクトメンバーで議論して、慎重に判断しています。
「え、こんな使われ方するの!?」ユーザーが増える中、求められる想像力
――Optunaプロジェクトで、水野さんは主にどんな役割を担っているのですか。
水野:ケースバイケースですが、実装に近い部分を担うことが多いですね。例えば新機能を実装するとなった段階で、どうやれば内部の挙動やAPIがきれいに仕上がるかを考えたりとか。
既に述べたように地下構造解析のプロジェクトでOptunaを利用しているので、そこで試験的に新機能を使ってみることもあります。うまくいかなければ、仕様上の漏れなどを指摘するわけです。
――入社前はデータ分析をする研究者として、もっぱらツールを“使う側”だったわけですよね。一方、ハイパーパラメータ最適化ツールを“作る側”は、立ち位置がかなり異なるのではないでしょうか。
水野:確かに違いますね。作る側になってからの発見として大きいのは、想像力がかなり求められることです。
――というと。
水野:ありがたいことにユーザーが増えていることもあり、思いもよらない用途でOptunaが使われたりするんです。例えば創薬における化合物の構造設計とか、我々に知見があまりない領域でも数多く利用してもらっています。
「え、こんな使われ方するの!?」みたいな感じですね。
最初は驚きますが、よくよく考えると、そういう珍しい用途でもOptunaが機能することが分かるんです。なので、それらをあらかじめイメージする想像力が、すごく大事だと感じ始めています。
特に大切なのが、APIを考える際ですね。「将来的にこういう機能が必要になる可能性があるから、こういうデザインにしておく」みたいな考え方が、かなり求められます。
死ぬ気で学べ―。「やればできる」ではないので、全力で学ぶ
――この記事特集では、データサイエンティスト、データアナリスト、機械学習エンジニア、データエンジニアの中で、自身がどの辺りに位置づけられるかを答えてもらっています。水野さんの場合はいかがでしょうか。
水野:この中なら機械学習エンジニアの真ん中ですね。エンジニアなのは間違いないですし、機械学習・深層学習なども結構使いますから。
――PFNのメンバーというと、機械学習周りの知識・スキルは当然のように持っているというイメージがあります。
水野:確かに、機械学習・深層学習の分野でレベルの高い人たちが集まっているのは事実です。ただ、それだけではダメで、ここで働くと「それ以外の力」がどんどん求められていきます。PFNが目指す実社会の課題解決は、機械学習・深層学習だけでは成し遂げられませんから。
――それは、入社後の自身の経験から実感していることでしょうか。
水野:そうですね。例えば地下構造解析のプロジェクトでは、この分野の専門的な知識やパートナー企業など外部とコミュニケーションするビジネス系の力が求められます。
シミュレーションなどでいい結果が出た時は「どこがいいのか」を解説したり、逆にうまくいっていない時は「なにが原因か」を分かりやすく説明したりしないといけません。
――プロジェクト内にはビジネス系のPFN社員もいるのではないでしょうか。
水野:もちろんビジネス担当のメンバーもいますが、パートナー企業などとのミーティングでは、技術的な内容は主にエンジニアが話します。
――なるほど。では最後に、今の仕事のどんなところにやりがいを感じているかを聞かせてください。
水野:機械学習に携わる面白さでいうと、いろいろなことをできないといけない点ですね。多くの手法を知っている必要がありますし、データの中身を理解する力も求められます。そして、ビジネス上の課題についても意識しないといけません。
先ほど述べたような、専門的な内容を分かりやすく伝える力も時に必要です。
――PFNの面白さでいうと。
水野:うまくいくか分からないレベルの、難しい挑戦が多いことですね。「やればできる」みたいな世界ではなくて、取り組みは常にチャレンジングです。
高い目標を掲げて挑戦的な試みをした結果、「現在の技術では解決できませんでした」となったことも実はあります。そこまでたどり着くには、さまざまな方法を全て試して「やりきること」が必要なので、大変なことなんです。
だからここでは、やりきるために全力で学ぶことが求められます。PFNのバリューには、Learn or Die(死ぬ気で学べ)というものがありますし。
厳しさもありますが、私にとっては成長につながるいい環境です。
参考コラム:“ドンピシャ”の地下構造解析プロジェクトは三井物産との共同事業
水野さんがOptunaと併行して関わる地下構造解析の案件は、三井物産とPFNの共同プロジェクト。2020年8月に共同出資会社のMit-PFN Energy(MPE)を立ち上げ、地下構造解析AI(人工知能)システムの開発と事業化を進めている。複雑な地下構造を正確に推定する技術は、地下資源開発のほか、二酸化炭素の地下貯留や地熱発電などへの応用も期待される。
水野さんいわく、このプロジェクトの課題の一つは「地下構造の正解を知るのが難しいこと」。ここでいう“正解”とは、学習データを生成するために必要な、調査対象に類似した地下空間における実測値だ。ターゲットになる地下空間は地中深く数キロメートルにわたって広がるため、網羅的に正確な値を得るのは不可能に近い。
そこで水野さんらは、堆積や褶曲(しゅうきょく)といった現象を考慮した仮想的な地下構造を構築し、シミュレーションを用いつつ学習データを得るアプローチを採用。機械学習で地下構造を予測する上で必要な、学習データの取得を可能にした。
その上で、機械学習モデルの構築ではニューラルネットワーク(*2)の構造を自動で最適化できるNeural Architecture Search(NAS)の技術やOptunaを活用し、これまでにない予測精度を実現。成果を地下構造解析関連の国際会議「EAGE ANNUAL Conference & Exhibition」で発表した。
*2 脳の神経回路網に類似した数理モデルの一種
2021年10月、MPEはノルウェー資源探査大手のペトロレウム・ジオ・サービス(PGS)と協業に向けた覚書を締結。「これから本格的に価値を出していくフェーズ」と話す水野さんらの挑戦は、続く。
◆詳細はPFNのブログやニュースリリースを参照
会員登録すると
このコラムを保存して
いつでも見返せます
マッキンゼー ゴールドマン 三菱商事
P&G アクセンチュア
内定攻略 会員限定公開
トップ企業内定者が利用する外資就活ドットコム
この記事を友達に教える