本文へ移動

「自動運転開発は技術の総合格闘技」Kaggle Grandmaster 合田が自動運転開発に惹かれた理由

この記事に登場する人
自動運転AIグループ E2Eチーム
合田 周平 Shuhei Goda
ウォンテッドリー株式会社にてデータサイエンティストとして「Wantedly Visit」の推薦システム開発に携わる。後半はチームリード、PdM、テックリードを担当。現在は、チューリング株式会社にてシニアMLエンジニアとして自動運転のEnd-to-Endモデル開発に従事。Kaggle Competitions Grandmaster。

これまでのキャリアとKaggle Grandmasterになるまでの道のり

インタビュアー: 合田さんのこれまでのキャリアやKaggleを始めたキッカケを教えてください。

合田さん: 新卒でTDSE株式会社というところに入社しました。AIを専門とするコンサルティング会社ということもあり、当時の最先端技術に触れる機会に恵まれていました。Kaggleを始めたのは社会人2年目くらいです。

先輩からKaggleの存在は聞いていたものの、その時は特に魅力を感じていなくて。でも、長期休暇で時間を持て余していた時に「ゲーム感覚でできそうだな」という軽い気持ちで取り組んでみたのが始まりです。純粋にモデルの性能を追求し、いかに良いモデルを作るか、いかに多くの実験を高速で回すかということに夢中になりましたね。ひたすら論文を読んだり、Kaggleのフォーラムのディスカッションからアイデアを拾い上げたりしては実装し、学習結果を見て一喜一憂するサイクルを回し続けました。

インタビュアー: そこからウォンテッドリーへの転職を決意されたとのことですが、ウォンテッドリーではどのような役割を担い、どのような経験をされましたか?

合田さん: 事業会社で自社プロダクトの開発に携わりたいという思いが強く、ウォンテッドリーに転職しました。ウォンテッドリーに惹かれたのは、機械学習がプロダクトの根幹をなす環境だと感じたからです。

ウォンテッドリーのプロダクトは、ユーザーと企業をマッチングさせる推薦基盤が非常に重要で、機械学習がプロダクトに及ぼす影響は大きな場所でした。約5年間、推薦基盤の開発に従事しました。長期間にわたって一つの基盤に向き合い続けた経験は、私にとってかけがえのないものです。

特に記憶に残っているのは、プロダクトマネージャーのような立場でリードした推薦システム改善プロジェクトで、プロダクトの重要指標を大きく伸ばすことができた経験です。プロダクトの何が問題なのかを試行錯誤しながら見極め、必要な施策を立て、改善ロードマップを引きました。チームメンバーと協力してレコメンドを改善した結果、プロダクトの数字が目に見えて良くなったのを見た時は、MLの力を実感し、大きな喜びを感じました。MLOps的な観点も非常に重視し、実運用に耐えうるコード品質や再現性も追求していました。

インタビュアー: プロダクトの数字を伸ばすという具体的な成果を出された点、素晴らしいですね。その経験から、機械学習の価値を証明するために特に重要だと感じたポイントはありますか?また、社内の方々にその価値を伝える上で、どのような工夫をされていましたか?

合田さん: 機械学習の価値を証明するために重要だと感じたポイントは主に二つあります。

一つ目は、プロダクトの構造やビジョンに基づいて機械学習がなぜそのプロダクトにとって必要なのかを明確に言語化し、それを開発組織全体、さらには会社全体に伝えることです。単に「推薦が必要だから入れる」のではなく、プロダクトとしての本質的な必要性を深く理解し、その上でMLを導入する意義を説明することが重要だと考えています。これには、技術的な側面だけでなく、事業戦略やユーザー体験の向上といった視点も盛り込むように心がけていました。

二つ目は、「社内営業」ですね。機械学習はその性質上、何をやっているのかが分かりづらい側面が多々あります。例えば、レコメンドはアイテムの表示順序を変えているだけに見えて、その裏には複雑なアルゴリズムや膨大なデータ処理があるわけですが、外からは劇的な変化を感じにくい場合もありますから。

だからこそ、自分たちのやっていることの価値や、いかに会社に貢献しているのかを、社内の人々に分かりやすく説明し、適切なアピールをすることが非常に大事です。数字的な成果だけでなく、その背景にある課題解決のストーリー、課題の難易度をエモーショナルに伝えることで、プロダクトでの機械学習活用を後押しする土台を築けると考えています。

インタビュアー: KaggleでGrandmasterになるまでの経験の中で、特に思い出に残っているコンペとそのエピソードがあれば教えていただけますか?

合田さん: ソロ金メダルを取った自然言語コンペが一番思い出に残っています。そのコンペは、内容が特徴的で面白かったというよりも、メンタル的に非常に大変だったことで記憶に残っていますね。

Kaggleには通常、リーダーボードという順位表があり、自分の立ち位置が分かるのですが、その順位表が極端に言うと全く役に立たなかったんですよ。手元にあるデータで評価することはできますが、完全に自分が今どこにいるのか分からないまま、2ヶ月間ひたすらモデルの改善を続けるんです。バグが紛れ込んでいるままなら、2ヶ月間の努力と計算機代が全て水の泡になってしまうので、そういう怖さを持ちながら、最後までやりきれたのは、本当に良い経験でした。ある意味、メンタルを鍛えられたかもしれませんね。

インタビュアー:想像するだけで心が折れそうです。特にKaggleで「強い」と言われる人たちの共通点や、彼らがなぜ安定して良い結果を出せるのかについて、合田さんの分析があれば教えてください。

合田さん: Kaggleで「強い」と言われる人たちは、おそらく総合力がすごいんだと思います。機械学習に関する知識ももちろん豊富ですが、うまくいかなかった時の原因特定能力であったり、モデルをうまく学習させるための「小技」や細かな調整、そして勘所が非常に優れていると感じています。

彼らは、どこにボトルネックがあり、どうすれば性能が向上するかという「勘」が非常に鋭いんです。これは、経験と膨大な試行錯誤から来るものだと感じています。あとは、限られた時間の中で、いかに効率よく、そして質の高い実験を数多くこなすかが勝負なので、そのサイクルを高速で回せる能力も非常に高いと感じます。常に最新の論文や技術トレンドをキャッチアップし、それをすぐに自分の手で試す行動力も持ち合わせている。

そういった要素が組み合わさって、どんな状況でも高いパフォーマンスを発揮できるんだと、感じました。

次なる挑戦:自動運転という物理世界のAIへ

インタビュアー: ウォンテッドリーで大きな達成感を味わい、マネージャーやプロダクトマネージャーとしても経験を積まれた合田さんが、なぜチューリングを選んだのでしょうか?

合田さん: ウォンテッドリーで大きな達成感はあったのですが、一方でマネージャーになりコードを書く頻度が減ったことで、エンジニアとして「そろそろゴリゴリとコードを書きたい」という欲求が強くなっていきました。私のキャリアの仮説として「反復横跳びのようにマネージャーとメンバーを交互に経験する」方がいいのではないか?というものがあり、そろそろ手を動かす時期だと感じていたんです。

当時の私には、流行の兆しを見せていた生成AIの活用と、私自身が得意としていたMLモデルを開発するという役割の二つの選択肢がありました。どちらも楽しそうでしたが、Kaggleで長年培ってきたML開発の深いスキルをもっと活かしたいという思いが強くなりました。

そして、その選択を決定づけたのが、当時の時流です。生成AIの盛り上がりの中で、「Webの世界から、次は物理世界でのAIだ」という認識が次第に強まっていったんですね。より難易度が高く、未開拓の領域である物理世界でのAIに挑戦したいという思いが芽生えました。

インタビュアー: ご自身のキャリアプランと時代の潮流が合致したわけですね。その中でチューリングに魅力を感じた具体的なポイントは何だったのでしょうか?また、幼いお子さんがいらっしゃる中で、働き方に対する懸念はなかったのでしょうか?

合田さん: チューリングに魅力を感じたのは、まさに「ハードウェアにAIを載せて、物理世界でのAI活用を実現しようとしている」会社だったからです。APIを叩いたり既存のものを活用したりする開発ではなく、「ゼロから物を作る」という点を重視していると思いました。

自分よりも「強い部分を持った人」と一緒に働く経験が欲しいという思いも、チューリングへの転職を後押ししました。チューリングには私よりすごいと思える人がたくさんいて、最高の成長機会だと感じています。

また、当時まだ1歳になっていない子どもがいたので、仕事と家庭の両立ができるかという働き方に対する懸念は正直ありました。物理出社が基本で、融通が利きにくいのではないかという不安も。

しかし、選考時の体験入社やHRとの面談などでSlackでのコミュニケーションや、経営陣含め多くの社員が家庭の事情で柔軟な働き方をしている様子を見て安心したんです。「周りに同じような人が多く、子供の送り迎えや急な体調不良などにも柔軟に対応できる環境だ」と入社前に知れたのは大きかったですね。実際に入社してからも、仕事と家庭の両方に力を入れて楽しく過ごせています。子どもとの時間を大切にしながら、エンジニアとして全力で仕事に取り組めるのは、本当にありがたいことです。

自動運転ML開発はMLの「総合格闘技」

インタビュアー: チューリングに入社して、自動運転ML開発の現場に身を置かれてみて、これまでのKaggleやウォンテッドリーでの推薦基盤開発と比べて、どのような違いを感じていますか?

合田さん: まず扱うデータの種類が違います。テーブルデータや自然言語、時系列データを主としてきた私にとって、自動運転で扱う画像やセンシングデータは、その処理や基盤構築において異なるアプローチが求められます。その中でも、最も大きな違いは「評価の仕方」にあると感じています。Kaggleではリーダーボードにサブミットすれば客観的な数値で評価されますし、WebサービスであればABテストによってオンラインで成果が測れます。

でも自動運転は、車を実際に動かして評価するんです(もちろん、定量評価をして通過したモデルを実際に動かしています)。「え、そんなんで分かるの?」と入る前は思っていましたが、実際に乗ってみると、その違いが驚くほどよく分かるんですよ、走行の滑らかさや適切な挙動といった「差」が。

もちろん乗車しなくても評価できるような定量化を更に進めていく必要はありますが、現状のフィードバックループが独特の面白さを生み出していると感じています。モデルの開発方針についても、規模や対象が車というハードウェアである点で大きく異なり、データ処理のクラスも大きく変わってきますね。

インタビュアー: チューリングでの自動運転ML開発におけるモデルアーキテクチャの設計は、これまでのKaggleやWantedlyの推薦システムと比べてどのような違いがありますか?

合田さん: 採用されるアーキテクチャの候補は全然違いますが、基本的な考え方はあまり変わらないと思っています。アーキテクチャによって効果の利き具合や表現力が変わってくるので、その選定は非常に重要です。

チューリングの開発だと、「ある時からこういきなりできるようになる」という、いわゆる創発の特性が大きく関係してきます。細かい精度を突き詰めることが、これまでの業務では必ずしも役に立つとは限らないと言われることもあったかと思いますが、自動運転ではまさにそこが非常に重要になってきます。

例えば、推薦システム開発では、「モデル精度がX%上がると、プロダクトの数字がY%上がります」といった線形な関係があったとします。でもチューリングでは、モデル精度がX%上がったとしても、実際の走行パフォーマンスが全く変わらないかもしれないし、精度を突き詰めていった先に劇的に変わる可能性もあるんです。そこはかなり大きな違いですね。

モデルのパフォーマンスを上げるために何をやるべきか、という点に全集中をしないといけない環境は、今までのML開発とちょっと違う点だと感じました。

自動運転開発の面白さ:現実世界での評価と突き詰める面白さ、そして今後の展望

インタビュアー: 入社されてまだ数ヶ月ですが、すでに自動運転モデルのテスト走行にも参加されていると伺いました。実際に乗ってみて「これは良いモデルだ」と感じる時とそうでない時の違いは、どのようなところで判断されますか?そして、その違いを改善するために、どのように課題解決にアプローチしているのでしょうか。

合田さん: 運転の滑らかさもそうですし、ちゃんと止まる、ちゃんと進む、ちゃんと曲がるという基本性能も重要です。時には他の車に対して適切な行動を取るといった、賢い動きも求められます。そういったものを含めて、「何が良いモデルか」という話なのですが、今のところは、実際に乗ってみて、そういった違いが体感として分かるんです。「これいいな」と感じたり、逆に「これは全然ダメだ」と感じたり。乗れば分かる、という形ですね。そして、乗ってみて例えば「曲がり方が滑らかじゃない」と感じたとして、それがデータの問題なのか、損失関数の問題なのか、アーキテクチャの問題なのかはすぐに特定できるわけではありません。

だからこそ、様々な実験を試していきます。データの問題であれば、データセントリックな解決策を模索しますし、それだけではなくモデルセントリックなアプローチも試す必要があります。両方を試していって、この課題に対してどのようなことが効果的で、解決できそうかという「勘所」を掴んでいくための試行錯誤が、非常に重要なのかなと思っています。このアプローチは、Kaggleで培った「答えのない暗闇を進む力」がまさに活かされている部分ですね。問題が複雑で多岐にわたるため、一つの原因に固執せず、多角的な視点からアプローチすることが求められます。

インタビュアー: 今後Tokyo30の実現に向けて、合田さんの個人的な展望や、チューリングで挑戦していきたいことについて教えていただけますか?

合田さん: データにスケールしてパフォーマンスが上がっていくようなモデルを作れるといいなと考えています。これは、単にモデルを開発するだけでなく、データ収集から評価、デプロイメントまでの一連のパイプラインを最適化していくことを含みます。

そして今後の個人的な展望としては、やはり基盤モデルですね。基盤モデルの賢さを、いかに良いモデルに取り入れていくか。複雑な状況でもやはり問題解決できるようなシステムを作っていくことには、非常に高い関心があります。山口さん(CTO)がよく言っている話ですが、まさにその物理世界でのAIという観点において、基盤モデルや生成系AIといったものが、これから非常に重要なファクターになると思っています。

インタビュアー:最後に、入社前にはコンピュータビジョンの経験について気にされていたかと思いますが、実際に入社されてみて、その経験は必要だと感じましたか?それとも、意外と他のスキルでカバーできる部分もありましたか?

合田さん: 必要か必要でないかと言われると、絶対に必要です。絶対に必要なんですけど、コンピュータビジョンの知識がないと何もできないかというと、まあそうでもない、という形です。もちろん、コンピュータビジョンは非常に重要な技術分野で、それがないと土台が成り立たない、という話はあります。

ただ、自動運転のタスクって、総合格闘技のようなものなんです。画像から何かを認識できさえすればいいかというと、別にそんなことはなくて。その情報を元に、あるいはその情報を使って、車がちゃんと止まったり進んだり曲がったり、という適切な行動を取れるようにするためのタスクを解くためには、コンピュータビジョン以外のいろんな領域、MLの領域の話が出てくると思っています。そういう意味でまさに「総合格闘技」なんですね。なので、私はコンピュータビジョンは素人なのですが、それ以外の私の得意領域、これまでのKaggleやWantedlyでの推薦システム開発で培ってきたスキル、例えばデータ分析力や、実験設計力、あるいは不確実な状況で最善解を導き出す能力などは、現在の開発に十分に役立っていると感じています。

【動画編】
「自動運転開発は技術の総合格闘技」Kaggle Grandmaster 合田が自動運転開発に惹かれた理由