目次
■クラウド&インフラストラクチャ
2022.06.01 2024.03.15 約6分
Forkwell が主催する技術イベント「Infra Study」。今回のテーマは「インフラの企業研究の価値とこれから」です(開催日:2020年 11月25日)。
さくらインターネット研究所、松本亮介氏が登壇し、研究者の仕事や役割、企業における研究者の貢献についてQ&Aを交えながら紹介します。
・なぜ研究者は、自己肯定感を持てないのか?
・研究チーム、現場チームが信頼関係を築く方法は?
・研究に対する予算と評価とは?
松本 亮介(まつもとりー)(さくらインターネット株式会社)
さくらインターネット研究所の上級研究員、京都大学博士(情報学)、複数社の技術顧問。インターネット技術に関するミドルウェアからOS辺りの研究開発やエンジニアリング、組織整備や組織文化醸成、EM、PdMも専門。2018年 Forkwell技術顧問就任。
世の中には、作る技術と使う技術という関係性が様々な場所に存在します。例えば、車やエンジンを作る技術、そして、クルマを上手に使う技術、また、ゲームを作る技術、そして、ゲームを上手に操作する技術などです。InfraStudyがスコープとしているインフラ技術においても、同様に作る技術と使う技術が存在し、どちらも等しく尊い素晴らしい技術だと考えています。今、インフラ技術においても多種多様なソフトウェアやシステムが開発され、とてつもない速度で変化していく中で、作る技術に着目して、どのような考えで新しい技術を作り上げ、どのような組織を設計すれば研究を通じて継続的に会社、ひいては、社会に貢献できるかについて、設計と実践を交えて紹介します。
松本 亮介と申します。インフラの企業研究の価値とこれからと題して発表します。
今回は、企業研究の価値がどういうもので、これからどうなっていくか、どう変わっていくかをお伝えします。
私はさくらインターネット研究所で研究をし、その研究がどう社会に貢献していくのかを言語化して、会社、社会のどちらにも貢献していこうとしている研究者です。
この発表では、Infra Study の文脈における研究開発とは何か?という話や、研究開発の意義や貢献についてまとめました。企業で研究をしている価値や、これから研究開発はどうなっていくかの観点で話します。
当社でも、一部できているところもあれば、まだできてないところもあるので、これから取り組んでいきたい内容でもあります。
企業の研究者がどのような仕事をしているのか?研究者の貢献とは企業においてどういうものか?の2つにわけて話します。
研究者の仕事は、企業でテクノロジーを新しく生み出し、叡智として技術を永続化して、うまく改善し続けていくことだと思います。ただ実際にやるのは大変で、新しいことを知るにしても、今、そしてこれまでにどういう技術があり、何に困っていて何が進んでいないのか、その理由は何かを調査して、論理を立てていかないと、新しいものは導き出せません。
企業の研究者として、給料をもらいながら研究をしているので、社会に貢献しつつ、会社に貢献する必要があります。例えば、数年先の技術トレンドを見据えたサービスをどんどん作っていかないといけませんが、何が必要か、それに必要な技術が何か役に立つこと、立たないことは何かを調査しながら、見つかったことを技術や研究としてまとめて、提案していく形になります。
これまでの研究や現状の課題を、網羅的に調査し、どうしてこの課題に詰まっていて、今当たり前になっていることのどこにアプローチをすれば、もっと良くなるのかを文章で書いたり、ディスカッションして整理しながら、論理的、あるいは自明的な流れを導いていく活動もしています。それを社内外に共有し、一般化して世に出し、客観的な視点を踏まえてディスカッションをして、研究者として改善していきます。
自分たちのやっていることや、一定のまとまった情報を整理して、社内にもフィードバックをする。その際、誰もが簡単に論文を読めるとは限らないので、論文形式だけでなく、噛み砕いて共有しています。
ここ数年、エンジニアがやっていることは、研究開発に当たると感じています。
エンジニアは、世の中に公開された情報やソフトウェアをそのまま使うだけではなく、自分たちの問題意識やスコープのなかで、どう工夫すればうまく使え、良くなっていくかを考えながら取り組んでいます。
そこで得られた知見をアウトプットしてブログなどで共有する時代です。そこで作られたソフトウェアや、知見、経験談はとても価値があるので、ある種の研究開発だと考えています。
ただ、それが本当に良い選択だったのか、より効果を発揮するものだったかなどの評価や整理は難しく、時間もかかるので、ある程度成果が出たものを使い続けることが多いと思います。
例えばソフトウェアを作ってみんなに注目され、世の中に貢献できたけど、もう1回同じことをやろうとしても上手くいかず、どういう理屈でここまで行き着いたのかの部分で困ってしまうことがあります。
あるいはそうやって進めていると、なんとなく良いと思うバイアスがかかってしまい、結果的にどれほど良いかわからないままとりあえずやってしまって、みんなで間違う可能性もあります。
そこに研究者の役割があると思います。前述の取り組みには、どれも価値があり、情報もたくさんあるなかで、それを言語化して評価し、それが関連するものと、どれぐらい良いのかを整理するのが、研究者の仕事だと考えています。
論文は永続化されて常にリファレンスできるような状態を保てるので、いろんな人が改善を加えれば、いい部分を徐々に解明できたり、構造が理解できるようになります。
そうすると、うまくいった理由も明らかになるので、新しいものに取り組む際、蓄えた考えや知識を使い、新しいものを狙って作れるようになります。
研究者は、研究コミュニティで論文や何かしらのアウトプットをして議論します。論文には、一般化されて整理されているか、スコープを明らかにしたうえで、それが作用しているのかを緻密に書くことが求められています。一般化されていれば、いろんな人の意見やディスカッションで、客観性を高めることができるので、バイアスの除去にもつながります。
テクノロジーで事業を差別化したり、これから新しいテクノロジーこそが、よりよい事業を生み出していくと考えたり、それを目的にしている場合、研究者はチームにたくさんいる必要がなく、ある程度できる人が少数でもいると、検証や裁量に貢献できるのかもしれません。
研究者のチームから相談や助言をもらうことに悩み、信頼関係がうまく成立してない状況をよく見ます。しかし研究者も同じチームです。
開発、研究をしているチーム、カスタマーも一緒にサービスを作るので、研究者もチームとして連携できる状態にしていくのが大事です。
研究者の貢献について話します。
研究はサービスや会社に対して間接的な貢献になってしまうという悩みを聞きますが、エンジニアとマネジメントを経験する中で、サービスのコードを書いている人が直接的に貢献しているわけではないと感じました。
サービスを作るためには、経営や広報、営業やマーケティングなどがお互いに支え合う必要があります。どれも必要な存在であり、間接的に貢献をしていているので、研究も同じで悩む必要はありません。
課題の根本解決や未来に必要な技術、要件を考え、形式知として共有すると技術ブランディングや会社のプレゼンス向上にもつながります。
研究者は日々抽象的な話の言語化の訓練をしています。技術の話だけでなく会社の方針のなかで議論すべき話はたくさんあり、そういった場面でもスキルの応用ができます。
例えば、同僚の菊地さんがコロナの影響でオフィスを縮退する話について、まるで研究家のように抽象的で多面的に考察が必要な内容をうまく整理し、どこに問題があるか、どこを重要視すべきかを考察してくれました。それによって議論が進んだ部分もあるので、こういう貢献の仕方も研究者のスキルを生かしている例になります。
当社だと、クラウドホスティングの分野で、state-of-the-art と呼ばれる最先端の技術や研究がどこにあり、内容や基準、有効性が認められるベースラインがどこにあるかを研究者が先行して情報収集し、言語化して発表しています。
今後、必要な技術を聞かれたときに「こういうものがあるよ」「内容はここまで進んでいて、ベースラインはここだから、先を見据えるとこの選択もあるよ」と答えられます。
情報を追わないと、自分やサービス、会社でやりたいことの選択肢に入りません。だからこそ研究者は知らないを知らない状態にして、技術や知識を提供することも大きな貢献だと思います。
Infra Study Meetup #7 では、情報がまとまっていないエッジ・フォグコンピューティングの話を整理して発表してくれました。
同僚で、SRE の研究をしているゆううきさんは、最新の国際会議に参加して、そこで取り上げられたすべて英語の新しい研究の発表を翻訳し、誰もが見てわかりやすい状態にして発表しています。技術的な内容から、最新の技術はどこにあるかをしっかりと分析している資料になります。
同僚で、機械学習などを専門としているつるベーさんの例だと、因果探索について英語で分散している情報を整理し、日本語でまとめて公開しています。
専門性を活かして文章にすれば、あとで僕たちが読んだときに何ができるかが整理されているのでわかりやすいです。知らないから思いつきもしない状況に対して、キーワードややれることが徐々に見えてきます。
同僚で材料工学専門博士の熊谷さんの資料です。材料工学などの観点からシステムのアナロジーとして捉えた場合に、どんな想像ができるのかを考えると、材料工学の歴史がシステムの今後にも重ねることができ、新たなつながりを見つけられます。
研究には、今を知る必要があります。今というのは、すごく進んでいる場合もあるので、整理する必要があります。それを共有することで「知らない」を知らない状況にし、選択肢を広げていくことができます。
研究者は外にばかりアウトプットをしがちですが、一緒にサービスを作っている仲間のなかに、困っている人がいることもあるので、情報を砕いて社内に共有することも必要です。
それがチームとしての信頼関係構築にもつながるので、社内に対する研究や流通調査などの共有もおこないましょう。
企業研究者や研究所運営にこれから求められることは、以下3つだと思います。
僕はエンジニア上がりなので、現場の情報や実際に作るときの課題などを知っていました。問題意識は山ほどあり、自分は研究開発に有利だと思っていました。
最初は、ある程度有利に進めていたと感じますが、研究者として専門的にやり始めると、実際に現場でエンジニアリングをする時間は減っていきます。
すると、自分の知っているエンジニアの知識は、すぐ古い状態になります。エンジニアリングは変化するもので、自分の知っている勘には賞味期限があるにも関わらず、自信になったまま自分は有利だという気持ちになります。
本当は現場の技術は大きく変わっているのに、研究やエンジニアリングをやっていた知識から、物事を抽象的に捉えだし「なんか似てるな」と感じます。大枠は似ていても、細かい部分が違っているにも関わらず「似ているから、あまり重要視する必要がない」と思ってしまいます。
しかし、それは細かい差を見つけられないことにつながります。例えば、コンテナだと周りのエコシステムなどが充実してきていますが、それが自動化や CIC の普及、技術背景を含めてトレンドになっていることに気づきません。すると研究のアイディアなども限定されてしまいます。
当社では、直近までエンジニアリングをやっていた人もいますし、Infra Study Meetup #1、2 に登壇した mizzy さんや青山さんなど、今の技術を知っている人たちと一緒に研究し、議論することでギャップを埋めることができています。
研究者になるとアカデミアのカンファレンスばかりに参加する傾向がありますが、エンジニア向けの国際カンファレンスもたくさんあります。同僚には、国内のカンファレンスに参加し、今どういう技術が実践されているかの情報を得ている人もいますし、機械学習研究会に出ている人もいます。
自身の判断で抽象的に捉えて、細かい差分が見えなくなることを避けるためにも、情報収集を進めていく必要があります。
僕は直近のクラウドホスティングに関わるトップカンファレンスに近い国際会議に参加していました。問題設定自体は現場によった問題ですが、それを解くための方法が機械学習や数理モデル、統計的手法などをソルバーとして、現象をパラメータにしたり、定式化して問題を解くのが研究界隈でトレンドになっています。
僕も研究会で「機械学習を使って、こういう効果が出ました」という研究に対して、なんでそれが出たのか、なんで選択したのかを聞いていましたが、国際会議ではどういう成果が出るのかを試していくフェーズになってるのかなと感じました。
そのような発表でも考察はしていますが、根本的な理由などを追求しすぎず「良い結果が出た」「これを使うとこういう結果でる」という点を見ていくフェーズです。
こうした問題設定や数理モデル、機械学習などは、とても専門的な知識が必要になるのですべて1人でやるのは難しいです。
マイクロサービスにおける性能異常の迅速な診断に向いた時系列データの次元削手法では、問題意識はゆううきさんが現場で困ってきたことや、一般的に導きだされる課題設定などがありました。それを解くために「どういう支障がありますか?」「こういうことをやりたいけど、機械学習でうまくやる方法ありますか?」などを、つるベーさんとディスカッションしながら作った研究です。
問題意識とソルバーをコラボレーションさせ、評価の部分は実際にソルバーで試しているつるベーさんがやり、論文すらも一緒に書いて構築していくコラボレーションの仕方になってきています。
問題設定ができないとソルバーに価値はないのか?という話がありますが、そんなことはありません。問題設定が得意な人もいれば、ソルバーが得意な人もいますし、ソルバーが得意な人でも、ある程度の問題設定はできます。
専門的な知識が豊富な人の方が問題設定はできますが、どっちがいいか、どっちがないと研究にならないかは等しく平等です。ソルバーの知識は豊富でも問題設定ができなくて悩んでいたとしても、それぞれに同等の価値があり、一緒にコラボレーションをすることで、今後いい研究成果を生み出していくと思います。
また研究のなかで論文を書いたり、言語化するのが苦手な人もいますが、一方でイメージとして研究を捉えたり、それを図示したり、あるいは抽象的な課題の整理をするのが得意な可能性があります。
つまり研究者によっても得意不得意があるので、今後は細かい領域でもコラボレーションをして、一緒に研究成果を作る時代になると思います。
研究はエンジニアリングと独立して発展した歴史もあると思いますが、エンジニアリングの経験がある僕からすると今後はコラボレーションが必要になる領域だと感じています。
企業と研究の関連性や企業を通じた会社への研究の貢献を言語化して伝え、それをチームとして一緒に考えていくことが大事になると思います。
企業のテクノロジー戦略において、知らない情報を埋めていくことで、新しい選択肢が増えますし、新しいサービスやプロダクト、あるいは新しい会社の方針が作れます。
しかし密に信頼関係を作れていなかったり、研究をうまく企業の貢献に使えていないのが重要なポイントです。言語化をして一緒に話すことにより、研究チームが会社のチームの一つとして一緒にプロダクトを作ったり、会社の方針を作る役割を担っていく必要があると思います。
「研究はサービスやプロダクトに使いにくいよね」という話ではなく、新しい情報を整理し共有して、その研究の価値がどこにあるのか、貢献にはどういうものがあり、それが研究やサービスの方針、会社の方針にどう使えるのかをディスカッションできる状態にしていけば、選択肢が増えて、より差別化できる方針やサービスを作れる可能性が高まるはずです。
平等に話せる組織を作っていく必要があり、それがこれから求められることだと思いますし、大きな研究組織や研究に予算を当てている会社は、それができているのかもしれません。
なんとなくやり、効果もわからないところから、わかってやれる方向にするためにも、そういった企業研究のチームが必要だと思います。
概ねこのツイート内容を、より高構造化して整理したものが今回の話でした。
研究の価値や貢献、これからの研究開発について話しましたが、まだ僕もできていません。しかし、これをやれば新しいサービスやプロダクトも、さらにいいものを作れますし、テクノロジーの方針なども充実させることができます。また、社会にもサービスやプロダクトを通じて貢献できる流れになると思うので、今頑張っている段階です。
研究チームは特別な存在ではなく、バックエンドを作っていたり、フロントエンドを実装しているチームもあります。またそれを一気通貫でやっているチームもあれば、そこに対して新しい課題解決の助言ができるような研究開発チームもあり、サービスの検討は、一つのチームとしてやることが大事だと思います。
研究開発によっては、とりあえずやっていたことの評価が後回しになっていますが、そこをある程度専門的に見れるような人を少数でも置いておけば、知識となって再利用可能になり、何が問題だったか、何がよかったかを導き出せるので、そういうことを狙ってもやれるような、研究開発、チームの存在が今後あってもいいと思います。
Q&A
ここからは Forkwell から赤川がQ&Aパートに加わります。
松本:同じような問題意識を僕自身も感じていて、それが何でだろうと考えた結果が今回の発表でした。企業の研究がどういう形で貢献して、会社に影響を与えていき、それが社会にどう貢献しているかなどのサイクルを説明できていなかった点が一番大きな問題だったと思います。
研究は自分のやりたいことをやり、成果を出せばいいという話もありますが、給料をもらい研究をやっている人は「それで本当にいいのか?」と悩みます。
だからこそ、今回発表したスライドが多くの人に届いてほしいと思います。結局、間接的な貢献としてどれも同じ貢献の仕方であって、そのアプローチの一つとして僕たちは研究をとっているだけであり、こっちの方が貢献度が高い、貴重であるといった差はないのだと伝えられる人や情報が必要だったのではないかと思います。
赤川:自信を持てない方は、この発表を参考にするのもそうですし、自分はこういう価値を産んでいるんだと考えられるようになることも大事なんでしょうね。
松本:大前提として、チームの枠を超えて今、何に取り組んでいるかを共有する仕組みがあります。エンジニアチームだと GitHub や Notion などを使い、情報を構造化して共有していると思います。まずは、そういったチーム間でも共有できるものを用意したり、インターネットや技術書で調べてもわからなかった課題を一緒に考える機会を作るのがいいと思います。
それを繰り返して信頼関係を築き、情報共有できる状態や定期的にディスカッションする機会を作り、障壁なく話せる状態にするのが定番のやり方だと思います。
赤川:現場の課題を研究者側が集めに行くだけではなく、現場側が課題を相談しにくる関係性がいいのですね。
松本:はい。相互でないといけないと思います。片方が常にギブしたり、常に自分からいく状況だと、人間は感情的な面もあるので、自分が聞いてばかりだと聞きにくくなったり、いつもお伺いを立てている場で嫌だなと感じることもあります。
だからこそ相互に気にせずおこなえるプロセスを作っていかないといつか破綻すると思うので、注意すべきポイントだと思います。
赤川:定例会を組むだけでなく、定例会のなかが相互のコミュニケーションになっているかを意識することが大事なんですね。
松本:僕は予算を決める立場ではないので、現実的な話はできません。ただ、今のところ予算という枠ではなく、1年を通して自分たちがどういう活動をどれぐらいやり、1、2年おこなう研究のなかで、どの程度のお金が必要かを積み上げて計算し、予算を決める形になっていると思います。
評価の面も直接携わっていないので、具体的な評価についても答えることはできませんが、基本的には研究開発のスキル、論文を書いたり、アウトプットを通じて客観的に評価できる状態にして、レベルの高さ、どう周りに影響を与えているか、あるいは、学会のなかでどういう活動をして、どう会社や社会に貢献しているかを見ていると思います。
Infra Study Meetupとは?
Forkwellは「成長し続けるエンジニアを支援する」をコンセプトに勉強会を開催しています。Infra Study Meetupは、インフラ技術の「これまで」と「これから」を網羅的に学ぶイベントです。インフラ技術の各分野に精通した講師を招いた講演や著名エンジニアによる発表を実施しています。
当記事に掲載されている全ての情報は、イベント実施日時点の情報であり、完全性、正確性、時間の経過、あるいは情報の使用に起因する結果について一切の責任を負わないものとします。