社会課題解決に向け、同時に50の機械学習プロジェクトを行うAI Frontier部の「ギルド」な組織構成
はじめに
こんにちは!AIエンジニアリングフェローの遠藤太一郎です。本日はAIスタートアップであるエクサウィザーズのコアとも言える機械学習エンジニア組織、AI Frontier部に関してお話したいと思います。
まずはじめに、簡単に自己紹介させてください。
私がAIを学び始めたのは大学入学後すぐの約25年前。機械学習という単語もほとんど使われていない時代でした。その後アメリカに留学して本格的に機械学習を学び、在学中に起業しました。当時Twitterもまだない時代にAIニュースキュレーションのアプリを開発したのですが、誰にも理解されず、開発終了。AI冬の時代真っ盛りだったこともあり、WEBシステム開発にピボットしました。その後社員10名程まで成長したのですが、マネジメントの力不足で社員がほぼ全員退社する事態を起こしてしまいました。
ここで改めてAIにピボットし、 AIに関する実装、論文調査、システム設計、ビジネスコンサル、教育等のサービスを展開していたところ、会長である春田さんに声をかけて頂き、当時のエクサインテリジェンス(その後合併してエクサウィザーズ)にジョインしました。
当時は創業フェーズ(社員数1桁、現在は300名を超える)だったこともあり、 AI開発、技術営業などから始め、PM、教育、採用、プレイヤーとしてのEM(エンジニアリングマネージャー)、EMの育成、EMのマネジメント等その時々必要なことに取り組みながら、機械学習エンジニアの組織をスケールしていきました。本日はそういった歴史的な話も少しできればと思っています。
また、個人的には他の組織にも所属しており、理化学研究所AIPでは東京大学との共同研究などを行い、論文がエクサウィザーズのクレジットで『Cell』本誌や『Nature』の姉妹誌に掲載されました。また、東京学芸大学では教育AI研究プログラムに准教授として在籍しており、AIを使いこなせる教育者の輩出に加え、AI時代とも言える次世代の学習指導要領作成のためのプロジェクトにも参加しております。
これからこの記事では、以下のような流れで、エクサウィザーズの機械学習組織の考え方をお伝えしていきたいと思います。
AIを用いた社会課題解決のため、統計や機械学習、数理最適化で価値を提供する
AI Frontier部は、エクサウィザーズの中でも特に機械学習エンジニアが集まっている組織です。機械学習エンジニアだけで現在50名弱程在籍しているのですが、「これは国内では最大クラスなのでは」と人事チームともよく話しています。そして人数はほぼ毎月増え続けています。
エクサウィザーズのミッションは「AIを用いた社会課題解決を通じて、幸せな社会を実現する」ですが、AI Frontier部ではまさにその「AIを用いる」ところを担っています。企業や組織が抱える実課題の中でも、統計や機械学習、数理最適化等で解くことで価値が出せる問題を見出し、実際に検証を行いながら、社会実装を進めています。
AI Frontier部が取り組むプロジェクトは主に8日目で語られているAIプラットフォーム事業部と連携して行います。単に精度を上げることだけを目指すのではなく、お客様にとって価値のあるアウトプットとは何か。それによりお客様はどんなアクションを取ることができ、どんなインパクトを見出せるのか、ということを常に考えながらプロジェクトを遂行しています。
また、お客様から相談を受けるだけでなく、過去の知見の蓄積や個々のエンジニアの興味や強みを活かし、デモやオリジナルの学習済みモデルを構築して積極的に展開するといったことも行っています。こういったプロジェクトを、多いときでは同時に50件程度行っています。
非常に広範囲の事業ドメインにおいて、あらゆるタイプのデータを扱うことになるので、個々のエンジニアとしては非常に取り組みがいがあり、組織としては広く深い知見が蓄積されるチャンスが得られます。同時に数十本の機械学習プロジェクトを進めながら、しっかりと知見を蓄積していくため、組織の在り方も工夫しています。
専門領域を軸にした4つの「ギルド」
ここからは、エクサウィザーズの機械学習エンジニア組織を形作る「ギルド制」に関して説明していきたいと思います。
ギルドとは機械学習の専門領域を軸にしたチームのことで、現在は「構造化データ」「画像」「自然言語処理」「数理最適化」の4つに分かれています。
敢えてギルドという表現にしているのは、複数のギルドに副業的に所属したり、2つのギルドにメインで所属するなど、柔軟に所属できる体制を作っているためです。1つの領域を極めたいタイプ、領域を広げたいタイプ。どちらの方もキャリアを制限することなく、活躍してもらうための工夫のひとつでもあります。
●構造化データギルド
「構造化データ」ギルドは、テーブルデータやグラフ構造のデータを中心に扱うチームです。データサイエンス的な仕事が多く、データから価値ある知見を見出したり、機械学習による自動化でインパクトを創出しています。
メンバーはチームをまとめる佐藤さんを始めとし、統計が専門の小林さんや、アクチュアリーの資格を持っていたり計算化学が専門の方など、カバーする領域も幅広く、様々な社会や企業の課題に対応できる人材が多く揃っています。チーム制という新しい試みにもチャレンジしています。
●画像ギルド
画像や動画、点群などを扱う「画像」ギルドは、4割が外国籍の方からなる国際色豊かなチームです。日本語が話せる人も、話せない人も活躍できることを大切にしており、チーム内のコミュニケーションやナレッジ共有も工夫しています。例えば毎週のオンラインランチ会では、日本語版、英語版をそれぞれ開催しています。メンバーは最近書籍を出版した藤井さんやSIGGRAPH Asiaでチェアを務める加藤さんを始め、Kaggle Masterの方など幅広く尖った人材が集まっています。
●自然言語処理ギルド
「自然言語処理」ギルドは言語だけでなく、音声も扱っています。大西さんをはじめとして有名研究室出身で専門性が高く、この技術が出来るのは国内でも数えられる程しかいないといった方も多く在籍しています。神戸さんは最近参加したKaggleのコンペで2位入賞しました。
専門性の高さや扱える技術の希少性を活かし、AIコンサルタントのチームと連携してビジネス開発をするといった動きも始まっています。また、介護記録AIアプリ「CareWiz ハナスト」には自然言語処理ギルドが開発に携わっています。
●数理最適化ギルド
最後は「数理最適化」ギルドです。メンバーはアルゴリズムが得意な方が多く、世界最高峰の競技プログラミングサイトAtCoderのSランク(黄:上位3%)がメンバーの1/3、Aランク(青:上位7%)がもう1/3を占めています。創業期からエクサウィザーズを支える今中さんや、ドイツで最適化の研究をしていた石丸さんなどを初め、力強いメンバーが揃っています。数理最適化は結果が生産性向上の数値としてはっきり表れるケースも多く、お客様の喜ぶ顔をより間近で感じられる仕事かもしれません。
機械学習エンジニアが回す、自律的なチーム
ギルドは自律的なチームです。OKRという目標管理の手法を使い、四半期ごとに取り組みたいテーマを自分たちで設定しながら業務を進めています。ギルドで行っている主な業務を大きく分けると、1.案件の実施、2.知見の蓄積と共有、3.チームづくり、そして、それらに伴う仕組みづくりが挙げられます。
1.案件の実施
案件の実施とは、主に顧客の経営課題解決に向け、AIコンサルタントのチームと連携しながら行っていく取り組みです。AIコンサルタントが顧客からヒアリングした課題に対し、領域が近いギルドが技術相談に乗り、機械学習や数理最適化の視点でよい解決手段がないか検討します。検討結果を提案し案件が始まると、ギルド内でエンジニアのアサインを行い、案件がスタートします。担当者を複数にする、ギルドで進め方の方向性をサポートする、技術レビューを入れる等、担当のエンジニアが1人で奮闘することがないような工夫も取り入れています。
相談が持ち込まれた案件を遂行するだけでなく、ギルド主体で案件を取りに行く試みも行われています。例えばある領域に強みがあるエンジニアがいた場合、社内でR&D的に独自の学習モデルを作成し、社内外に事例を作りながら営業展開していく等です。これはAIコンサルタントのチームと連携して行っています。エンジニアやギルドの視点では「取り組みたい技術や強みをより活かした仕事ができる」、ビジネス視点では「より会社の強みを活かした提案ができる」ことになり、それで解決できる課題の幅も増えればお客様にとってもよい仕組みだと考えています。
2.知見の蓄積と共有
知見の蓄積と共有は、ギルドにしたからこそ歯車が回り始めたことの1つです。ギルド以前はよりフラットな組織構造だったのですが、エンジニアが個々人やスモールチームで案件に取り組む体制だったため、知見が分散しがちだったり、戦略的なR&Dがしにくい状況だったりしました。ギルドという専門領域を軸にしたチームを作ることにより、これらの課題に取り組んでいます。
取り組みとしては、例えば以下のようなものが挙げられます。
案件に関するものでは、案件相談事の内容をwikiに蓄積する、実施中の案件レビューを行う、案件終了時にビジネスメンバー等も交え振り返りを行う、蓄積された知見をガイドラインとしてまとめる。キャッチアップ系では、論文勉強会を行う、学会に参加し報告会を行う。アウトプット系では、社内外に知見を発信する、よく使う技術をライブラリ化する、独自の学習済みモデルを作る、など。これらはギルドとして自分たちで優先度を決め、一定の工数を使って主体的に取り組んでいます。
3.チーム作り
チーム作りは、これまで述べてきた活動の核とも言えるものです。各種活動をトップダウン的な司令のもとに行うのではなく、自分たちで決めて進めていくための基本的な考え方ともいえます。
まず前提となる思想として「キャリアは個人の中にあり、採用はマッチングである」という考え方を大切にしています。したがって、各々がエクサウィザーズで何を得られるのか、個人としてどんなキャリアを歩んでいきたいのか、をとても重視しています。組織から一方的にミッションを与えるのではなく、組織のゴールと個人のゴールをつなげることを意識してチームをつくっています。これは、自律的なチームづくりをする上で、大切な考え方だと思います。
そのため、定期的な1on1や四半期の面談などを通して、各々が取り組みたいこと、伸ばしたいスキル、数年後のキャリアイメージなどを確認しながら、仕事の内容を合意に基づいて決めていくのが基本スタイルになります。個々人の取り組みたい内容から自己組織的に組織のOKRが調整されることもあり、人と組織の有機的な繋がりを目指しています。
こういった考え方を基本に置きつつ、チーム作りのために色々な取り組みを行っています。特にコロナ以降リモートワークが常態化したため、意識的なコミュニケーションが大切になってきています。取り組みの例としては、言語別(日英)の定期オンラインランチ会や、自身の働き方の希望(○時-○時はミーティングNG等)や興味関心領域・16パーソナリティを載せた自己紹介シートを共有するなど、相互理解を深めることも大切にしています。
また、自分たちの仲間は自分たちで集めるという考え方のもと、採用もギルドで積極的に行っています。採用チームと連携しながらジョブディスクリプションを自分たちで書く、採用基準を考える、それに基づいた技術スクリーニング(口頭試問等)の作成、書類選考、技術面接、採用イベントの企画・参加、スカウト、なども自分たちで行っており、一緒に働きたい仲間がどんどん集ってきています。
機械学習エンジニア組織の進化
機械学習エンジニアの組織は現在上記のようなギルド体制ですが、組織の形は会社のフェーズに応じて徐々に進化してきました。
初期のフェーズはシンプルなもので、数名の機械学習エンジニアと、数名の営業担当者が同居していました。シニアなエンジニアがPMとして複数案件に入り、営業担当者・PM・エンジニアでチームを作って案件に臨んでいました。アサインはエリアのマネージャーが担当していました。
組織が大きくなるにつれてアサインに関するエンジニアの不満が高まってきました。そこで1on1でエンジニアの話を聞きながら、EM(エンジニアリングマネージャー)がアサインをするという体制を取り入れました。私自身は以前自分の会社でマネジメントに失敗した経験もあったことから、組織開発には力を入れて取り組んでいました。特に人に関することは当時人事を担当していた役員に丸投げしていたこともあり、今回は一人ひとりとしっかり対話することを大切にしました。この頃からコーチングの勉強を始め、2年ほど掛けて国際認定資格を取得しました。
シンプルなEM体制でも一定期間うまくいったのですが、更に組織が大きくなるにつれて、様々な課題が浮かび上がりました。主なものを挙げると以下のようになります。
エクサウィザーズは毎年大きな事業成長を継続してきており、機械学習エンジニア組織の成長も常に求められます。現行の体制でこれ以上の成長は困難と考え、企画から安定運用まで3四半期ほどかけて、ギルド制への移行を行いました。それにより、上記の課題は概ね解決しつつありますが、EMが足りないという問題は根強く残っています。
この記事を読んで興味を持って頂いた方は、ぜひご連絡頂けるとありがたいです!
更なる成長に向けて
組織の成長に向けて、直近ではギルド制の導入という組織開発アプローチを取りましたが、次のステップとしてはMLOpsを軸にしたシステム的なアプローチに取り組み始めています。
AIの社会実装やそれに続く社会課題解決は世界的にみても徐々には進んではいるものの、まだまだこれから、やることはたくさんといった状況だと考えられます。一般的に、AIでどんなことができそうかということは多くの実証実験を通して徐々に見えてきましたが、実際に運用し、ビジネス的・社会的インパクトを残した事例は国内外でまだまだ少ないのが現状です。
この課題に向かうため、内的・外的なアプローチに取り組み始めています。
内的なものは、できるだけエンジニアが本来発揮できる価値創出に集中できるための基盤の整備です。MLOpsでいえば、Dev側の仕組みになります。エンジニアの意見を聞きながら実験管理・実験自動化の共通基盤を整備したり、ギルド発で知見を蓄積しながら効率的な開発ができるアプリを開発するなど、新しい取り組みが始まっています。組織を拡大しながら価値創出に集中できる仕組みを作ることで、より社会に貢献できる量が増えると考えています。
外的なものとしては、より着実に運用と社会実装を進めるため、MLOpsでいうOps側の取り組みを強化しています。実証実験等を通して導入する価値が検証されたものに対し、これまで以上のスピードで現場に導入したり、お客様もこれまで以上にモデルに触れながら現場で活用したりして頂けるよう、共通基盤を整えています。
これらの取り組みは、見方を変えれば機械学習組織のDXとも捉えることができると思います。基盤を作る人、基盤を使う人、基盤上のプロジェクトを売る人、プラットフォームを売る人など、多くのステイクホルダーと関わり合いながら、答えがないゴールに向かい、不確実性を減らしながら試行錯誤を続けるという、まだ誰も取り組んでいないチャレンジをすることができます。また、これが進むにつれて組織のあり方も変化していくので、更なる組織開発も控えています。
こういった取り組みを面白いと感じて頂ける方がいましたら、ぜひ一緒にチャレンジしてみませんか。エンジニアマネージャーとしてこのような課題に取り組んでみたい方や、より一般的に組織が急成長する中でチームの力を最大化してみたい方など、大募集中です。機械学習エンジニアとして、優秀な同僚と一緒に実課題の解決に取り組んでみたい方なども、幅広く募集しています!
あなたがエクサウィザーズでやってみたいことは何ですか? 一緒に取り組みましょう!
明日は、二瓶さんに法務・知財について書いていただく予定です。
(更新しました)