【社員紹介 vol.6 -AIエンジニア-】コンペの戦績があれば未経験でも採用。AI開発部は技術向上を目指すエンジニアが自由に働ける場所
THIRDの開発組織は、AIエンジニアが所属するAI開発部とWebエンジニアやモバイルエンジニアなどが所属するIT開発部に分かれています。AI開発部ではAI建物管理クラウドシステム『管理ロイド』の膨大なデータを分析し、業務工数の大幅な削減を実現するプロダクトを開発しています。
今回は、AI開発部でAIエンジニアとして働く鳥羽に、THIRDに参画した背景や、現在の業務内容、今後のチャレンジについて聞きました。
鳥羽 駿介/株式会社THIRD AI開発部
東京大学工学部物理工学科を卒業後、SIer企業に入社。2019年にTHIRDへ参画。Kaggle Grandmaster、AtCoder橙色、 AtCoder Heuristic赤色(いずれも2024年7月時点での最高値)。猫好き。
独学でAIの勉強を始めてから数ヶ月での採用。入社直後のコンペでは銀メダルを獲得
ーこれまでの経歴やTHIRD入社の経緯を教えてください。
大学では量子物理学を専攻していました。コードは趣味で少し書いた程度で、プログラミングやAIとは無縁の学生生活を送っていました。プログラミングを本格的に始めたのはSIer企業に入社してからで、競技プログラミングにも参加するようになりました。SIer企業では基幹システムに関する業務に携わっていました。仕事内容は担当しているプロジェクトに依存しますし、社内でのキャリアはエンジニアというよりマネジメント業務へのコミットが求められます。私としてはさらに技術的に高度なことを追求したいという思いがあり、独学でAIの勉強を始めたのが2019年4月のことでした。
その中で「Kaggle」(カグル)というAI/機械学習を用いたデータ分析技術の国際的なコンペティションプラットフォームで大会に参加するようになり、データサイエンティストとして働きたいという思いが強くなり夏頃にはTHIRDに転職しました。
ーどのように会社選びを進められたのでしょうか?
転職活動は業界や会社などの希望があったというより、AIの仕事ができることを重視していました。何社か検討しましたが、AIエンジニアとして採用されたのがTHIRDのみで、私としてはそこが最も重要な要素だったので入社を決めました。
ちなみに入社前はKaggleでは「Titanicコンペ」(※)に参加する程度だったのですが、THIRDに入社してすぐ「一緒にKaggleをやってみないか」と声をかけられ、5人チームで参加したコンペで銀メダル(上位1.1%)を獲得することができました。
※Titanicコンペ:タイタニック号の乗客データをもとに「どのような人が生き残る可能性が高いか」を予測する、機械学習の入門者向けコンペ
適切な問題設定・仮説検証で難易度の高い不動産管理業務の効率化・自動化を実現する
ーAI開発部でこれまで、どのような業務を担当されたのでしょうか?
2019年に入社してから最初の半年は、AI建物管理クラウドシステム『管理ロイド』のメーター解析に携わっていました。アプリで温度メーターや圧力メーターなどのメーターを撮影すると、対象の設備が正常かどうかを自動判断して点検できる機能を開発する業務です。
その後、AI査定・発注支援クラウドシステム『工事ロイド』の開発プロジェクトが始まり、リリースまでの約2年間、AIエンジンの設計を中心に担当していました。『工事ロイド』はビル管理会社向けのサービスで、修繕工事の際に工事会社から出してもらう見積もりが適正価格かどうかを判断します。当初はメイン業務として関わるAIエンジニアが私だけだったので、プロダクトの方針決めから設計まで一人で進めていました。
具体的な開発内容としては、見積書の内容を読み取る自然言語処理が中心でした。『工事ロイド』には、工事で使われる材料の定価などをデータベース化した「材料マスタ」というものがあるのですが、最初はそのデータを集めるのに苦労しました。特に苦労したのが「違うことが書かれているのに実は同じものを指している」という問題で、例えばカーペットを取り去る作業が「はがし」と書かれていたり「撤去」と書かれていたりといった具合です。私たちはそれを「揺らぎ」と呼んでいます。
当初は書かれている内容を機械学習で判定するほどのデータ量がなかったので、ヒューリスティックアルゴリズムに頼りました。コンストラクションマネジメント事業部という工事の専門家チームから、「これとこれは同じです」という「揺らぎ」を列挙してもらう地道な作業をしていました。現在はヒューリスティックアルゴリズムと機械学習を併用して、データベースに無い言葉が出てきてもある程度は答えられるようになっています。
ー現在はどのような業務に携わっていますか?
2024年からはお客さまの要望をお聞きして機能開発していくAIの受託開発を主に担当しています。お客さまが実現したいことを技術者視点で整理したり、何を解決しなければいけないかを整理したり、コンサルティング要素もある仕事です。
AIの受託開発では、『工事ロイド』の技術をさらに応用、発展したタスクに取り組んでいます。具体的には、2つの見積書を読み取り、その内容を突合・比較するシステムの開発と、見積書に記載された材料やその仕様などを抽出してデータベースとして蓄積し、平均価格等の情報を検索するシステムの開発です。
また、自然言語処理を行う機械学習モデルの開発だけでなく、競技プログラミングで使われるヒューリスティックアルゴリズムである焼きなまし・ビームサーチなどを併用することも多いです。THIRDのAI開発部だからこそできると言っても過言ではないチャレンジングなタスクであると思っています。
AI開発部のメンバーが増えている中で、今後はプロジェクト全体を取りまとめて管理するといったマネジメントの役割にも挑戦していきたいと考えています。
コンペでの上位入賞とAI学習の速さには相関がある。AI開発未経験でも活躍できるのがTHIRDのおもしろさ
ーAI開発部はどのようなチームですか?
チームメンバーは13人(2024年6月時点)で、技術的に向上心が強い方が多いです。毎週月曜に自主的な勉強会を実施しており、持ち回りで資料を作って発表をしています。テーマは自由なので、Kaggleで実際に試した技法を紹介することもあれば、時にはプログラミングや数学と関係ない自己啓発的な話になることもあります。リモートワークのメンバーが多いので勉強会もオンラインで実施しています。
働き方の自由度はかなり高いですし、水曜日と金曜日には極力会議をしないというチームのルールがあるなど、開発に集中できる環境が整えられています。何か困ったことや相談したいことがあれば、CSO(Chief Scientific Officer:最高科学責任者)の今村と気軽に1on1で相談できますし、定例の会議には代表も参加して意見交換することができます。代表はエンジニアのキャリアも経験しており、エンジニア目線でも話を進めることができます。他部署との連携を含めて社内の風通しは良いと思います。
ー競技プログラミングに参加しているメンバーが多いそうですね。
メンバーの多くが競技プログラミング出身者で、現役で競技プログラミングに取り組んでいます。お互いに技術的なことを共有し合えるので、共通の趣味を持っているのは良いと思います。昨年から始まった企業対抗プログラミングバトルでは、前回ほとんど見せ場がなく悔しい思いをしたので、どうすれば勝てるのかをメンバーと研究し、今年は優勝することができました。
日本最大の競技プログラミングサイトAtCoder主催の「AtCoder創立12周年記念 企業対抗チームバトル」にて、THIRDチームが優勝しました
https://prtimes.jp/main/html/rd/p/000000037.000064081.html
Kaggleも戦績がデータサイエンティストとしての基礎能力を示す良い指標になると思いますし、競技プログラミングで上位入賞するような人とAI学習の速さは相関があると実体験も含めて感じています。世間的にはこのような特殊性の高いスキルを持つ人は扱いにくいと思われることもあるのですが決してそんなことはなく、そういった人材がどのようなタスクを得意としているか熟知している会社であれば、みんながポテンシャルを生かして働くことができます。
THIRDではAI開発部を立ち上げた当初から、CSOの今村が「レーティングの高さ」を重要な採用基準として、競技プログラミング出身者を積極的に採用しています。ポテンシャルを示すことができれば、AI開発が未経験であってもAI開発業務に携われるという採用方針は、入社した時からずっとTHIRDの良いところだと思っています。技術的に向上心があり、開発に集中できる自由な働き方をしたい方に適した職場です。ご興味をもっていただいた方はぜひお話しましょう!