機械学習チームを作る上で考えたこと

高濱隆輔氏(以下、高濱):よろしくお願いします。僕がどういう人間か簡単にご紹介しておきます。

scoutyという会社のVP of Researchという仰々しい名前をしているんですが、要は機械学習や研究開発をやっている人間です。2017年に修士を得て、それからリクルートに1回入って現在はscoutyにいます。

学生時代は、割と研究室が学生に論文を書かせてくれるところで、そこで研究していました。最近までアカデミックに漬かっていた人間ならではの活動ができているのが強みかなぁ、と思っております。

さて、「チームビルディング」という今回のテーマについて、一言でそう言ってもやることはいっぱいあります。人を採用するために会社の認知度を上げる目的で採用広報をしたり、実際に候補者と面談したり、いざ入社したあとにその人をオンボーディングしたり、目標設定したり、育成したり、実際にプロジェクトをまわして人やチームがワークするようにしたり、などです。

とはいえその中にも重要度の差はあって、僕はその中でもとにかく人を採るところが非常に重要だと確信しています。採用の成功はすべての成功だし、採用に失敗するとそのしわ寄せが全て後工程にいくので、採用を大事にしているし、ちゃんとやりたいと思っています。

ここにいるみなさんはマネージャー、これから人を採用したいと思っている人、チームを作りたいと思っている人、もしくはエンジニアとして採用されたい人のどれかが多いと思います。今日はみなさんにまず「データとやりたいことがないのに機械学習をやろうとしている奴を採用するな」という内容をお話ししたいと思います。表現はネガティブなんですけど、これを話します。

それに続いて、参考になるか分かりませんが、僕は今のチームに満足していて、よくできたと思っているので、どのようにこのチームを作り上げたかお話したいと思っております。

データを使ってやりたいことはあるか?

ではまず、機械学習エンジニアの採用とその前のPRに特に強く関わる内容を話します。これは結論なんですが、採用担当者に関しても採用の選考を受けてる人に関しても、「その会社にあるデータが何で、そのデータを使ってその会社は何をしたいか」というところが極めて重要です。

この質問に対して答えられない採用担当者はだめだし、むしろその状況で採用しようとしている経営者の意思決定がだめです。逆に選考を受ける機械学習エンジニアは、この質問を採用担当者に投げてちゃんと返ってくるかどうかで、その企業がまともかどうかを判断できます。本当に基本的な話ですが、これを基本だと思える人はハッピーで、そうじゃない会社や人もたくさん見てきたので、詳しくお伝えしたいなと思っています。

「その会社にあるデータが何で、そのデータを使ってその会社は何をしたいか」という質問に答えられない状況にはいくつかのパターンがあります。1つ目は普通にデータがないという状況、2つ目はやりたいことがないという状況です。

1つ目の「データがない会社で機械学習をやろうとしている」パターンというのはそれほど多くはありませんが、なくはないです。本当にお上から採用の要件が急にふってきて、急に採用しろという話がでてくる......。最悪なんですが、この場合はデータがないのにそもそも機械学習ができるわけがないので、本当にやろうと思ったら、そもそも機械学習をモデリングした人じゃなく、収集基盤を作るエンジニアが先でモデリングが後、という順番にしなくてはいけません。

2つ目に、やりたいことがなかったり、意味不明だったりするパターン。これは本当にヤバイんですけど、よくある不幸な話としてよく聞くのが「データあるから誰か採ってなんかやってよ」みたいな話がふってくる場合。これは本当に厳しいですよね。仮に採れても、別に得意でもない人が頑張って探索的データ分析をして、仮説をひねりだして、それとなくやってみたけどうまくいかないということがよくある。これはプロジェクトマネジメントとも関係しますが、まずはやりたいことがちゃんとしている状態をつくらないと、人をそもそも採れないし、仮に採れたとしても活躍できません。

結論的にはどちらもダメなんですけど、どっちかというと2つ目のほうが根深いことが多いです。

プロダクトの紹介

という話だけをしてもしょうがないので、うちはどういう立て付けでお話しているのかを話したいと思いますが、そのために何もサービスの説明をせずにやるときついので、プロダクトの紹介をします。

うちは、ネットからエンジニアのオープンデータをガッと集めてきて、これを組み合わせてヒトのデータベースを作って、そのデータベースを誰かを採用したい企業の人事に使ってもらって、「その人に対してダイレクトリクルーティングしてください」というサービスです。

そうやってヒトを溜めてきて、「ちょうどこの人が今転職しようと思っているっぽい」ということをうまく予測したりとか、あるいはシグナルをキャッチして、ちょうどいいタイミングでメールやメッセージを送れるようにする、みたいな機能をうまく開発したいと考えております。

実際、そういったサービスにおける質問の回答例です。

「どんなデータがあるか?」と言われたら、インターネットからクローリングしてきた、数と種類がけっこうある、形式がバラバラなデータ、というのが回答になります。うまく紐づいているものもあるけど、そうじゃないものもあります。強みはスタートアップにしてはサイズが大きいことと、種類が多いこと。さらに、うちはクローラーチームを持っているので、データを増やしていくこと対して会社が投資する気持ちがあるというのも強みだと思っています。

弱みは何かというと、クローリングしている時点で、うちのサービスの持っているデータじゃないんですね。だから、誰かが同じようにお金と時間をつぎ込んで集めれば、同じように集められるのが弱点です。

こういう弱みはあるものの、いろいろなデータを横断的に見て、常にクロールし続けることで差分をちゃんと集めていくことで、候補者の様々な活動の履歴が残していくことで徐々に独自の強みができてくると思っています。ちなみに、自社サービス上でもデータは集め続けているのですが、クロールしてきたものに比べるともちろん小さいので、それが独自の強みであるとはあまり言えない感じです。

そのデータを用いて何をしようとしてるかという質問に対しては、このように回答することが多いです。例えば、データベースを強くすること。ある候補者のわからない値を補完するとか、候補者のタグ付けとか、スコアリングするとか。さらにスコアリングできたヒトのデータベースで、企業の採用要件に対して候補者を推薦するということもやるし、退職するタイミングの予測や、そのシグナルを見つけるといったことにも取り組んでいます。候補者を探す時にコンタクトを取るためにメールを送るのが大変だから、そのあたりをうまく効率化したりといったことも考えています。こういった目標からプロジェクトが生まれます。少なくとも「データやるからなんかやって」という状況よりマシに見えてほしいと思っているんですけど、いかがですか?

まとめとしては「データとかやりたいことがないのに機械学習屋を採用するのはだめだよね」という話です。逆にこれが大丈夫で採用できない場合は、伝え方がめちゃくちゃ悪いか、待遇がとにかく悪いか、あとはカルチャーがあっていない人を採用しようとしているか。後ろ2つはけっこう仕方ないので頑張ってくださいという感じなんですが、伝え方に関しては、登壇者はみんなそれぞれ工夫していると思うので、ぜひともいろいろ話して帰ってください。

いかにしてチームを作ってきたか

次に、2点目の「どうやってチームを作ってきたか」について話します。

今はうちのチームこういう感じで、実質5人なんですけど、0人目にCEOをカウントするかしないかは置いておいて、僕と、エンジニアが3人と、リサーチャーが1人という感じです。特に面白い取り組みとしては、去年の4月にこういうサイトを作って「新卒者もちゃんと待遇だすよ」みたいなことをやりました。

僕が新卒のときに感じていた「あんな優秀な友達がこんな待遇で働くなんてありえない」というもやもやから生まれたものなのですが、「面白い試みだよね」と、いろいろなところで言ってもらえたので、うまくいったのかなぁと思っています。

あとは、最近有力なとある自然言語処理の研究室に強力なパイプができて、そこから人がダバダバ流れてくるかたちが作れました。これが最高なので、みなさんぜひとも真似してください。

(会場笑)

これがめちゃくちゃいいんですね。僕の前職でも新卒採用チームが有力な研究室のリストを持っていて、その中から学生を拾ってくるみたいな。これ、けっこうおもしろいと思うし、最近は若い人でも、30代中盤とかそのぐらいの人と比べても遜色ない能力を持っている人もたくさんいるので、そういうところから引っ張ってくるのもいいかなと思いますし、うちは成功しました。

あとは、初期に関しては、強みが被らないメンバーを揃えたいなと思っていました。

これは各人がどういう強みを持っているかを整理したもので、数学がめっちゃ強い人もいれば、マネジメントといったドメインで別の強みを持っている人もいるし、アルゴリズムの論文を読むのが得意な人もいるし、そこからそれを理解することが得意な人もいるし、実装するのが得意な人もいます。そういった強みが被っていないほうがお互い成長できる環境が作れるので、最初から揃えるよりは、被らないほうがいいんじゃないかとうちは考えております。

あとは......。あ! 宣伝させてください!

「scouty」という会社は、近々「LAPRAS」に変わります(現在は変更済み)。

今ここにいらっしゃる人ほとんどscoutyの中でページを持っています。スカウトメールを送られるポテンシャルを持っているんですが、その人達が持っているデータって契約している企業側からしか見えなかったんですね。これが本人から見えるようになります。だから、自分のGitHubアカウントなどを使ってLAPRASアクセスすると「自分がどういうふうに見られているか」が分かるようになります。これを使ってどうするかというのは今後のお楽しみです。

それでは時間なので終わります。ありがとうございました。

(会場拍手)