完全自動運転のデータ収集・デプロイを担うチームの役割と意義とは?
チューリングには生成AIチームやEnd-to-End自動運転開発チーム(以下、E2E自動運転チーム)だけでなく、データ収集システムの開発やエッジデプロイ、ハードウェアのPoC開発、自動運転ソフトウェアの開発・運用などを行っているDriving Softwareチーム(※)があります。さまざまなチームと関わりながら広範な業務を行っており、実は当社のコアを担っているチームと言えます。今回は、そんなDriving Softwareチームのマネージャーである渡邉さんに、チームのミッションや開発内容について伺いました。
※現在、新たにDriving Softwareチームが生まれ、エッジハードウェアのPoC開発ミッションがEdge Computerチームへと移管されています。
Driving Softwareチームの意義|未来の自動運転技術を形にする

ーー前回のインタビューから約1年が経過しました。現在のチームの担当領域について教えてください。
Driving Softwareチームでは、E2E自動運転チームが開発した自動運転AIモデルを自動運転ソフトウェアへ組み込み、それをさらに実車にデプロイするところまでを担当しています。また、AIモデルを学習するためのデータを収集するデータ収集車両の開発・運用も担当しています。
ーー各セクションの役割やミッションについて詳しく教えてください。
Driving Softwareチームのミッションは大きく3つで「データ収集システムの開発や安定稼働に責任をもつこと」「ハードウェアのPoC開発」「自動運転ソフトウェアの開発・運用」になります。
それぞれ詳しくお話しすると、まずデータ収集システムの開発については、全社プロジェクトである「Tokyo30」に向けたデータ収集です。そのためには、センサーやカメラなどの各機器が安定稼働するためのアプリケーションと、データ収集を安定的に監視できる状態を構築することが求められます。
次に、ハードウェアのPoC開発は、少し先の未来の自動運転AIを想定しながら、それに耐えうるハードウェアの概念実証をしているといえばイメージしやすいかもしれません。今我々が開発している自動運転ソフトウェアは、まだ世の中に存在しないものになります。たとえ、完全自動運転を解決するAIがあっても、現在のコンピューターでは動かないですよね。PoC開発をすることで、我々が開発した自動運転ソフトウェアが社会実装されたときに、現実的な予算規模で量産化する感覚を養うことが可能となります。
最後の自動運転ソフトウェア開発の役割は、カメラ映像を入力として、AIに運転の軌跡を推論させて、そのとおりに車を走らせること、そのシステム全体の開発がミッションとなります。
ーーDriving Softwareチームには、どんなレイヤーのエンジニアが集まっていますか?
主にソフトウェアエンジニアと回路エンジニア(※現在、回路エンジニアはEdge Computerチームに在籍)が集まっていますね。特に、ソフトウェアエンジニアの中でも、組み込みエンジニア、カメラなどのセンサーに知見があるメンバーが多いです。年齢は23歳から56歳と幅広いですね。
大きな会社でさまざまなプロダクト開発に第一線で携わってきたメンバーが多く、社会に大きなインパクトを残したい、貢献したいという思いを持っており、いつも刺激をもらっています。
ーーデータ収集システムから自動運転ソフトウェアまで幅広い領域で開発・運用を行っていますが、日々どのようにタスクを動かしていますか?
進捗管理は、基本的にJiraで行っています。また、スプリント周期は2週間で、進捗に対する細かい報告は朝会で実施しています。
領域が多岐にわたるため、個々の業務を細かく管理するよりは、進捗が遅れていたり、リソースが不足していたりする際に、サポートに入るという方法で仕事を進めていますね。
Tokyo30プロジェクトに向けて—チームが生まれた背景

ーーもともとはE2E自動運転チーム内に属していたとのことですが、このチームが立ち上がった背景について教えてください。
Tokyo30のプロジェクトは、自動運転AIモデルを開発し、それをエッジの自動運転システムに搭載して、東京都内を30分間無介入で自動運転するところまでがスコープです。一方で、E2E自動運転チームがモデル開発以外のイシューをすべて抱えてしまうと開発機能が膨大になり、開発が律速になってしまう可能性があります。そこでチームを分割し、Platformチーム(現:Driving Softwareチーム)を立ち上げました。
ーーデータ収集システムの開発をE2E自動運転チームからDriving Softwareチームに移したのはどういう背景があったのでしょうか?
データ収集システムの開発においては、プラットフォームやエッジコンピューティングを扱った経験のあるソフトウェアエンジニアが適任と判断したからですね。具体的な業務としては、エッジデバイスでカメラ複数台とLiDAR、GNSS(全球測位衛星システム)とIMU(慣性計測装置)が安定稼働するためのLinuxアプリケーションを構築することに加え、必要であればLinuxカーネルまで面倒を見ます。さらに、安定的にデータ収集状況を監視できる状態にすることも求められます。
ひな型ならAIエンジニアでも数か月で構築できるかもしれませんが、半ば運用・改善しながら分散システムを安定稼働させなければいけません。さらに、チューリングのデータサイズは膨大かつ多量であるため非常に難しい作業になります。
ーーモデルの開発が先のスコープになる中で、どのようにミッションを定義付けして、仕事を進めていますか?
基本的には「正しい・正しくない」ではなく「ギリギリ達成できる・できない」で意思決定しています。その後、ミッションをもっているメンバーと認識のすり合わせをしつつ、他チームや他マネージャーとの会議、Tokyo30プロジェクトの会議で決定した内容や課題を踏まえて判断・調整します。
ただ、Driving Softwareチームの成果は、昨今のAI開発の進捗と比較すると地味ですよね。例えば「データ収集車両を安定稼働しました」という形だと、それを実現するための苦労はあまり周りに見えません。そのため「なぜ、今この業務をしているのか」を全社に発信して理解してもらい、盛り上げていくことも大切ですね。そこのバランスには苦慮しています。なので、今は踏ん張り時だなと思っています。
ーーどのように「モデルが動くソフトウェア」の開発やバージョン管理などを行っていますか?
OSSの自動運転システムをベースに開発をしているため、テストやCI、各種で便利ツールなど、一定の機能が揃っています。しかし、自動運転ソフトウェアは非常に複雑な構造で、インシデントの基準もWebシステムとでは大きく異なります。そのため、新規参入者が手を加えて不具合が生じていないかを判断しつつ、開発環境の構築やバージョン管理などを行う必要があります。
完全自動運転の礎を築き、人類未踏の領域での社会実装にチャレンジできる

ーーE2E自動運転チームとは、どのくらいの頻度でコミュニケーションをしていますか。
E2E自動運転チームのデスクは我々の隣の島にあるので、メンバーレベル間でほぼ毎日コミュニケーションを取っていますね。また、開発速度が低下しないように、細かい現場確認は担当者間で行っています。ただ、方針決めや認識合わせの際にはマネージャークラスのミーティングで適宜確認するようにしています。
ーー生成AI開発チームやE2E自動運転チームに属するソフトウェアエンジニアの開発内容とは、何が異なるのか教えてください。
我々のチームでは、データパイプラインの構築やデータエンジニアリングではなく、主にEdge環境で動くソフトウェア開発を行います。そのため、データ基盤やパイプライン実装ではなく、エッジ向けアプリケーション開発やLinux関連の知見が必要になります。
クラウドサーバーやワークステーション、サーバーで動くものではなく、リソースが限られた環境で作動するソフトウェアの開発をしないといけないため、制約の量が異なっています。そのため、基本的にはLinuxやLinux上で動くアプリケーション、そのうえで動くセンサー系の知見や技術が求められます。
ーーDriving Softwareチームにとって、ワクワクする未来とはどんな感じですか?
やはり、チューリングが独自開発したAIプログラムで完全自動運転を実現することに尽きます。「THE FIRST チューリング CAR」が完成したときもワクワクしましたが、そのときは「最初の一歩を踏み出せた」という思いが強かったですね。
今は、多くの方に投資いただいて、心強いメンバーも集まってきて、チューリングの注目度も上がっています。このプロダクトが社会実装されるかどうかのラインを担っている責任感を、今まで以上に抱くようになりましたね。
ーー今後のチームの展望について教えてください。
Driving Softwareチームは10名ぐらいで、ありがたいことに新しいメンバーが入ってきています。我々は対象としているスコープが広いため、今後チームの再編やメンバーの増強ができたら良いなと思っています。今は、データ収集システムの開発、エッジデプロイ、ハードウェアのPoC開発、自動運転ソフトウェアの開発をスコープとしていますが、まだまだ見えてない領域も存在していると思っています。当チームでは業務を進める中で課題が生まれることも多いです。ぜひ、責任をもって共にこの領域を牽引していただける優秀な方に来てほしいですね。
HR立石の編集後記vol.39
渡邉さんの話を聞き、自動運転開発は、AIだけでなくソフトウェア、ミドルウェア、エッジなどさまざまな技術レイヤーの総合格闘技のようなものだと感じました。自動運転開発が進む中で、低レイヤーや制御レイヤーの開発ニーズが増しています。モデル開発の発信だけでなく、さまざまな技術領域の発信も進めていきたいと感じたインタビューでした。
ライター:俵谷
Turingの中をのぞいてみたい方は、ぜひイベントに参加ください!選考意思問わずカジュアルな参加をお待ちしています。こちらをクリック