• Twitter
  • Facebook
  • Google+
  • RSS

Kaggleや競プロのトップランカーが持つ「本質的な強み」とは。リクルートが作り出す、競技と業務の好循環

ソフトウェアエンジニアがプログラミングの腕を競い合う競技プログラミングや、データサイエンティストや機械学習エンジニアが機械学習モデルの精度を競い合うKaggleのトップランカーが持つテクニックやスキルは実際の業務にどう活かされているのでしょうか。リクルートのデータ推進室に勤務しつつコンペティション活動を続ける3人のエンジニア、そして3人のマネージャーにご登場いただき、さまざまなトピックから競技と業務をつながりを深掘りしました。

リクルート出演者トップ画像

ソフトウェアエンジニアがプログラミングの腕を競い合う競技プログラミングや、データサイエンティストや機械学習エンジニアが機械学習モデルの精度を競い合うKaggle。こうしたコンペティションのトップランカーが持つテクニックやスキルを実際の業務にも活かそうとしている、あるいはすでに活かしている企業も少なくないでしょう。

一方で、その能力を最大限活かして仕事に取り組めるかには課題も残っているようです。「競技のトップランカー」の肩書きに引きずられるためか、彼らの強みを活かすためには起用範囲を絞らざるをえない、という悩みも方々から聞こえてきます。

そんな中、リクルートではトップランカーのスキルや技術だけでなく、「本質的な強み」に着目。その「本質的な強み」を、領域を横断してさまざまなプロジェクトに活用することで、事業課題の解決やサービス価値の向上につなげています。

トップランカーの「本質的な強み」とは、一体何なのでしょうか。またトップランカーたちは「本質的な強み」を業務にどう活かしているのでしょうか。

それを深掘りすべく、今回は、リクルートでデータ推進室に勤務しつつコンペティション活動を続ける3人のエンジニアにご登場いただきました。中間康文さんと荒居秀尚さんはともに2021年新卒入社で、学生時代からKaggleに注力しています。田中伸明さんは10年以上も競技プログラミングに取り組み、リクルート入社後はコンテストの主催にも関わっています。

併せて、この3人をマネジメントする立場からデータテクノロジーユニット長の阿部直之さんにも登場いただき、ソフトウェアエンジニアの「基礎体力」や「思考のフレーム」といったキーワードを通して、競技と業務をつなぐものを考証していきます。

※この記事は株式会社リクルートによるSponsoredContentです。

データエンジニアが楽しむコンペティションの世界

── まずは皆さんの現在の業務領域と競技の実績について教えてください。同期入社の中間さんと荒居さんは、ともにデータサイエンティストとして活躍されているということですが。

中間 データサイエンティストとしてデータ分析を担当しています。Kaggleは、2018年3月の学部3年次に短期インターンで初めて経験して、それから参加し続けています。


中間康文さん近影

中間 康文(なかま・やすふみ)
株式会社リクルート プロダクト統括本部 プロダクト開発統括室 データ推進室

戦績としては、Competitions(Kaggleでメダルが付与される4つのカテゴリーのうち競技への参加にもとづくもの)で金メダルが10枚、ランク(Tier)は最上位のグランドマスターです。Code(コード共有のカテゴリーで、以前はNotebooksと呼ばれた)もグランドマスターで、金メダルが36枚。こちらは現時点で世界5位にいます。

www.kaggle.com

荒居 SaaS領域の決済関連サービスで機械学習アルゴリズムのモデリングなどに携わるほか、飲食領域のレコメンドモデル改善や、R&D組織のデータテクノロジーラボでは基盤モデルのR&Dプロジェクトを推進しています。


荒居秀尚さん近影

荒居 秀尚(あらい・ひでひさ)
株式会社リクルート プロダクト統括本部 プロダクト開発統括室 データ推進室

Kaggleを始めたのは大学4年生の終わりで、ランキングや金メダルの数は中間さんほどではありませんが、やはりCompetitionsとCodeと2つのカテゴリーでグランドマスターを取得しています。

www.kaggle.com

── 続いて田中さんお願いします。

田中 2016年に、当時のリクルートコミュニケーションズ(RCO)に中途入社しました。現在はデータアプリケーションエンジニアとして、横断的なデータを活用したシステムのバックエンドを広く手がけています。直近ではリクルートのサービスで使われるレコメンド基盤に携わっています。中間さんが作った機械学習モデルを運用するようなこともあります。


田中伸明さん近影

田中 伸明(たなか・のぶあき)
株式会社リクルート プロダクト統括本部 プロダクト開発統括室 データ推進室

競技プログラミングとの出会いは2008年で、当時はTopcoderが最大手のサービスでした。最近はAtCoderに参戦することが多いです。長い期間をかけてプログラムを改善する「ヒューリスティックコンテスト」や「マラソンマッチ」と呼ばれる競技に、一つの「趣味」という位置づけでよく参加しています。

atcoder.jp

── プログラミングの「マラソン」とはどういう競技なんでしょうか?

田中 競技プログラミングというと正解のプログラムを競う「アルゴリズムコンテスト」がイメージされがちですが、マラソンマッチではプログラムがどれだけ良い解を出力したかによってスコアが計算され、長期間をかけてスコアの改善を競っていきます。

techplay.jp

── 田中さんから「趣味」というお話も出ましたが、こうした競技と日々の業務の関わりはありますか? 例えば、業務内容が競技に役立った、など。

田中 リクルートでクラウドを使ったシステム構築に初めて携わったのですが、それが競プロでプログラムの評価やパラメータチューニングのために大量のテストを手軽に素早く実行したいという課題に向き合う時、役立ちましたね。

荒居 私も業務でレコメンドや時系列モデルに触れてからは、それらの経験がKaggleにも活かされているように思います。

阿部 私たちデータ推進室は、手持ちのスキルや経験では対応しきれないような、チャレンジングなプロジェクトを扱うことも多く、その点で未知の課題に向き合うことの多い競技と実務は相互に影響し合っている部分もありそうです。


阿部直之さん近影

阿部 直之(あべ・なおゆき)
株式会社リクルート プロダクト統括本部 プロダクト開発統括室 データ推進室
データテクノロジーユニット長

トップランカーの「本質的な強み」とは、技術の適応力

── なるほど。そもそも、なぜトップランカーの方々は競技と実務を接続させられるのでしょう?

阿部 高い専門技術を実課題に適用させる力があるからですかね。トップランカーはテクニックの「引き出し」の多さはもちろん、それに加えて技術を実際の課題に当てはめる力が優れていると思います。引き出しの中にある多数のテクニックを実戦で使いこなすには、問題の意図や構造をしっかり理解しながら課題に適用すべき解決策を整理する必要がある。これは実際の業務でも活用できることです。

例えばレコメンデーションの取り組みで何かがボトルネックになって数値が上がらない。そういった課題を分析し対処することは、抽象度を上げれば競技でも業務でも共通の営みとして捉えられると思います。時に引き出しにないことも要求されるので、そこで新たな知識を獲得しながら課題に立ち向かい、それすらも楽しんでやってもらえる

田中 ちなみに、競技プログラミングは狭い意味でアルゴリズムの問題解決なのですが、私自身はもっと「広い範囲の能力」を問う競技が好きです。例えば、セキュリティ競技のCTF(Capture The Flag)や、競技パズル、面白いところでは「なぞなぞ」の競技大会に参加することもあります。これは語彙力や発想力、問題に出てくる言葉をイメージ検索するといったテクニックを使います。

業務にも共通しているところですが、手持ちの知識で解けない課題をテクニックや調査、経験で突破していく、物事の裏側にある仕組みを把握して問題解決に導く、私の好きな競技にはそうした要素が多いと思います。

── 阿部さんのおっしゃる「技術を実課題に適用させる力」が、まさに田中さんの思考から読み取れますね。でも、競技のトップランカーをそういう存在として捉えるのは、なかなか斬新ではないでしょうか。一般的な企業においては、競技の内容に直接関わる業務を任せる印象があります。

阿部 トップランカーを「固有のテクニックやスキルを持った人材」とだけ定義すると、その本来のポテンシャルに比べて活躍範囲が狭まってしまうように思います。テクニックやスキルを自身の専門性や未知の領域に立ち向かうチャレンジ精神と掛け合わせながら実課題に適用させることができる、というトップランカーの「本質的な強み」に着目すると、データ推進室が抱える「ゴールを探索しながら進める」取り組みや「到達すべきゴールは見えているが、そこへの上り方が分からない」といった困難なプロジェクトでも活躍してもらえます。

阿部直之さん記事内画像

中間さんと荒居さんはともに、持っている引き出しが豊富で、「課題の捉え方・分解の仕方」といった思考のフレームを日常業務で活用してもらっています。結果的に、課題解決の速度が速い。

荒居 Kaggleでも、テクニックを知っていることは重要ですが、ただ知っているだけでは意味がありません。一つ一つのコンペティションで与えられる課題が、どういう性質を持ち、どういう背景で紡ぎ出され、個々のデータの裏側にある事情を踏まえてどうモデリングできるか、そこが重要です。

レコメンドモデルの作成、機械学習モデルの実戦応用…日々の業務に役立った競技内容

── ではここから、競技を通じて身につけたスキルやテクニックを業務のどのような部分に応用されているのかをお伺いしたいのですが、実例はありますか?

中間 Kaggleで出題された問題と、業務の内容が似ていたことは以前ありました。トランケイテッドバリデーション(truncated validation)という手法で、レコメンドモデルの設計時に他の一般的なカスタマーとは明らかに異なる行動をしているカスタマーのレコードの一部を検証母集団から除外することで、オンラインにおけるモデルのロバスト性を向上させました。

例えばとあるプロダクトでは、1か月に数回しか利用しないユーザーと極端なほど高頻度に利用するユーザーがいるとして、KPI・KGIを最大化させるレコメンドモデルを作るときに、全体の割合が極端に少ないユーザーの行動を学習に強く反映させるメリットがないケースもあります。

これも、レコメンドモデルの作成時に検証設計したうえで適切にトランケイトする、というプロセスをKaggleで経験していたから、実際の業務でもそうした展開を想定できたわけです。

中間康文さん記事内画像

── なるほど。

荒居 私の場合、ビジネス上の課題解決がタスクとして割り当てられた時、解きたい課題に対してこのモデルが本当に合っているのかつねに疑う態度をKaggleから学びました。

例えば、Kaggleにおいて株式の投資運用に機械学習を適用する課題がありました。運用実績を評価する上で、通常は「シャープレシオ(運用リターンを運用リスクで割って投資効率を計測する指標。大きければ大きいほどより多くのリターンを得られる投資方法と評価される)」という指標を用います。ただ、機械学習のモデルを活用してシャープレシオを最大化させるのは難しく、一方で回帰やランキングといった機械学習のモデルで投資方法を計測する方法はあるものの、それがシャープレシオを最大化させるとは限らない。

だからこそ、一般的な機械学習モデルに引きずられず、あくまでシャープレシオがどう最大化するかを踏まえて、モデルを設計する必要があるわけです。

「ビジネスの課題を解く上で、何が起きていると嬉しいか」の評価と、一般的な「機械学習モデルがどの程度改善されたか」の評価が乖離する場合があります。機械学習モデルとして見ると、ある指標では良くなっている、ところが実課題に適用するとそうではない。そんな一見複雑な事例でも、Kaggleで培った視点を活用すれば、解決の糸口が見えてくることもあります。

荒居秀尚さん記事内画像

阿部 ビジネス課題を解決するための技術手法は一問一答のように単純に選択できるものではありません。二人に例示してもらったように、トップランカーは競技を通して新たな手法を身につけるだけでなく、データの傾向の類似性に対する気づきや課題構造の分解など、解決に向かうプロセスを数多く知っているのではないでしょうか。もちろん、こうした強みを持っているのは、トップランカーの方だけではないと思いますが。

トップランカーのテクニックやスキルを下支えする「メタスキル」とは

── さまざまな事例をご紹介いただきましたが、ご自身のテクニックやスキルを実戦に応用するため、普段からどんなことを心がけていますか?

荒居 私は「データがどうやって生まれてくるか」を意識しています。課題が見つかったときに表面的な情報に飛びついて、よくある課題と同じように一般化してしまうと寄り道をしてしまうことがあります。

私が関わった飲食領域のレコメンドモデル改善の取り組みでは、間違いなく「勝てる」ものを出力したはずなのだけど、結果が出ないということがありました。なぜなのか、といろいろな要因を考えますが、考えうる全部の要因を挙げていくと時間がかかり過ぎます。

そこでデータの生成過程に対する解像度を上げる。すると、改善の効率も上がります。

先に中間さんが挙げたトランケイテッドバリデーションの話にも似ていて、こういう取り組みは業務でもKaggleでもよく体験します。そのためには、まずデータに興味を持つことから始めます。よくある課題だな、と思っているだけでは気づけないようなデータの側面に視点を向けられるかどうか、ここが分かれ目になります。

田中 冒頭でご紹介したマラソンマッチでは、まず目標を設定して、そこに向けて何をするか、どう調べるか、どうデータをビジュアライズするか、ログを出してどう状況を見られるようにしようか、などいろいろなことを意識します。

そのように、課題に立ち向かうにあたってやるべきことは無数に出てきますが、課題の本質に近づくにはどこからアプローチすべきか。その選択によって効率が大きく変わってくるわけです。

普段の業務でも、そうしたメタスキル、「考える方法」は同じように使っていますね。

田中伸明さん記事内画像

── なるほど、メタスキルとは面白いですね。スキルよりもさらに上位の「考え方」の領域でも、トップランカーの強みがあると。

阿部 田中さんの言う「考える方法」、思考のフレームは業務において必要なものです。何をどうビジュアライズするか、何をログに出力するか。存在する選択肢を全部実行するとコストも時間もかかる。一方、勘所を押さえると最小限のコストと時間投資で確認・改善できる

限られた情報の中から試行錯誤してゴールを探っていく、というプロジェクトには、こうした勘所とか見立ての良さが発揮されますし、それは仮説検証をともなったプロダクトの企画〜運用までの速度にも反映されますね。

あと、Kaggleも競技プログラミングも、深いレベルで取り組んでいる人には「振り返り」をする習慣があります。競技が終わったらおしまい、ではなく、自分の解き方がどうだったのかを振り返る。だからこそ、一つ一つの課題に対する学びの密度が高まり、磨き上げるためのPDCAの質も良くなる。

中間 私の場合、コンペが終了してから数日間は、「振り返り」としてランキング上位の人たちが共有してくれる解法をインプットします。次のコンペでは、過去に試したことのある解法を使ってみる場合が多いですね。

トップランカーのマネジメントで大事なことは「ボトムアップ」

── トップランカーならではの強みや業務への活用方法は理解できたのですが、マネジメントや社内制度で、それらはどのようにサポートされているのでしょうか? トップランカーの技術力を狭い範囲のプロジェクトに活用する形であれば、業務内容やマネジメントの手法もシンプルになるはずですが、これまでのお話を聞く限り、リクルートはそうではないように感じました。

阿部 トップランカーだけを特別待遇するのではなく、各人の目指すキャリア、伸ばしたいスキルになるべくフィットする機会を提供しています。例えば、本人のWill(実現したい取り組みや成し遂げたい状態など)に重なるような案件をお任せするのもその一つです。本人が「面白い」と思って熱中してくれるテーマの方が当然パフォーマンスも上がりますから。

またマネージャーとしては、普段からメンバーと会話する中で出てくるトピックに注目しています。現場のスペシャリストが「このような技術的なトピックは面白くなりそう」と話していた話題をストックして、会社内のテーマとうまく掛け合わせることでビジネス的にも技術的にも良い取り組みが生まれるよう意識しています。組織として取り組むべきテーマをトップダウン的に振り分けるだけでなく、メンバー本人のWillを意識するといった、ボトムアップ的なアプローチも心がけながら機会を作り出していくことも多いです。

そもそも、ここにいる3人は私より「圧倒的に(技術的に)強い」人たちです。だから私の方が教えを請うことは普通にある。自分より技術力のあるタレントをマネジメントしているという、そういう状況を当たり前として捉えることが最初の一歩でした。

今では基本的に課題解決のためのHowは、トップランカーの方にお任せしています。自分たちが課題設定したときに想像していた打ち手よりもはるかに効果的で面白い手法が飛び出てくることも多く、個人的にはその瞬間をいつも楽しみにしています。また、トップランカーによって導かれた方式によって課題解決の到達点を数段上げられるようになることもあります。

── トップランカーの皆さんは、会社からどんなサポートを受けていると感じますか?

田中 趣味に時間を割く働き方を選択できています。私は競技プログラミングは趣味と位置づけているので、その点はありがたいと思っています。

荒居 ちなみに、業務中にKaggleに取り組むことは、理由さえ設定すればミッション設定上は可能です。それをやっている人もいます。

荒居秀尚さん記事内画像

中間 会社には部活動の制度があるのですが、Kaggle部の活動も認められました。荒居さんが部長で、自分が副部長です。そこでは「このコンペにこういうアプローチで取り組みました」とライトニングトーク(LT)で喋る「LT会」を開催しています。

中間康文さん記事内画像

── 業務そのものというよりも、趣味や会社公認の部活動の領域で競技に取り組んでいる距離感が、いい効果を生んでいるのですね。最後に、トップランカーならではの強みを今後どのような形で活かしていきたいですか?

荒居 内部的なミッションとしては、我々の会社のデータを提供してKaggleの競技の課題を作る、といった企画はこれから取り組んでみたいことの一つです。

リクルートには『じゃらん』や『HOT PEPPER Beauty』、『SUUMO』をはじめとした数多くのサービスが存在します。これらのサービスに集まる多種多様なデータを用いてそれぞれのサービスを改善するような課題はKaggleのコンペティションでも類を見ないので、多くの参加者に楽しんでいただけそうです。私たちもそこから多くの学びを得て、サービスの改善に活かしていくことができるのではないかと思います。

── それはとても興味深い動きですね。リクルートに在籍するトップランカーのスキルや経験が、社内にとどまらず、テクノロジー領域でどう発揮されていくのかが楽しみです。ありがとうございました。

リクルート出演者集合写真


リクルートのデータ推進室に関するブログ記事はこちら

株式会社リクルートではエンジニアを募集中!

今すぐの転職を考えていなくても、希望職種に関する情報やスカウトを受け取れるキャリア登録の仕組みも用意されています。少しでも興味のある方は👇気軽にクリック!

さまざまな取り組みの裏側やナレッジ、厳選した採用情報もSNSで発信中!

株式会社リクルート キャリア採用 Facebookページ 株式会社リクルート 公式Linkedin

🎁 Amazonギフト券が当たる! リクルートに関するアンケート 📝

※アンケートは終了しました。ご協力、ありがとうございました。

Amazon.co.jp は、本キャンペーンのスポンサーではありません(株式会社はてなのキャンペーンです)。
Amazon、Amazon.co.jp およびそのロゴはAmazon.com, Inc. またはその関連会社の商標です。

関連記事

旧リクルート各事業会社によるSponsoredContentもあわせてお読みください。


[SponsoredContent] 企画・制作:はてな
取材・構成:星暁雄
撮影:小野奈那子