本文へ移動

アカデミア第一線にいた寺西が、完全自動運転に挑む理由

この記事に登場する人
VLAチーム
寺西 裕紀 Hiroki Teranishi
奈良先端大にて構文解析を中心とした自然言語処理の研究に従事し、博士(工学)を取得。理化学研究所において科学技術論文からの知識獲得に関する研究に取り組む傍ら、奈良先端大客員助教を兼務。学術研究と並行して、フリーランスのソフトウェアエンジニアとして10年以上にわたり多数のWeb・モバイルアプリケーション開発に携わる。2025年4月にTuringにSenior Researcherとして入社し、研究からソフトウェア開発まで幅広い領域を担う。

自動運転開発において、AIモデル開発だけでなくキャリブレーション、ツール開発、モデル量子化・最適化、学習高速化など多くの技術イシューが存在します。今回は「自動運転のHidden Technical Issues」第二弾としてリサーチャー・ソフトウェアエンジニアの顔を持ち、VLAモデルのバックエンド開発や最適化を支える寺西さんに注目しました。

巨大な変革期をアカデミア時代に体感した寺西さんがチューリングに入社した理由

インタビュアー: チューリングに入社されるまでのキャリアについてお聞かせいただけますか?

寺西さん: 端的に言えば、「アプリ開発」「自然言語処理の学術研究」「フリーランスのソフトウェアエンジニア」を経験してきました。大学ではコンピュータとは関係のない商学部でしたが、独学でプログラミングを学び、インターンを経て新卒でそのまま就職。最初はWebサービスやAndroid・iOSのアプリ開発といったアプリケーションエンジニアでした。その後、より深くコンピュータサイエンスを学びたいと思って大学院に進学し、自然言語処理の研究に取り組みました。自然言語処理は人間の言葉をコンピュータで解析する技術で、その中でも文の構造を分析する構文解析というタスクを研究テーマとしていました。

大学院で博士課程を修了するタイミングがコロナ禍だったこともあり、キャリアを色々悩んだ結果、最終的に理化学研究所(理研AIP)のポスドクとして研究を続けました。並行して学生時代から続けていたフリーランスエンジニアとしてのアプリケーション開発も行っていました。

インタビュアー: 理研AIPで自然言語処理の研究をされていた頃は、ちょうど機械学習の技術やパラダイムが劇的に変化した時期だったかと思います。

寺西さん:まさにその変化の渦中にいました。自分が取り組んでいた研究が、BERTやChatGPTのような大規模モデルの登場によって「不要になってしまうのではないか」という危機感がありました。

しかし、アカデミアでは研究テーマを変えつつ継続し、共同研究や学会運営、研究資金獲得といった幅広い業務も経験しました。フリーランスの活動については、付き合いがあったお客様から継続的に依頼をいただいた形です。平日は研究業務に集中し、土日に個人で請け負った仕事をやるという生活でした。アカデミアとインダストリー、一見全く違う分野に見えますが、ソフトウェア開発の経験が研究自体にも活きていました。例えば、研究コードを外部公開する際に使いやすいように整備したり、共同研究先とコードを共有する際にソフトウェアとしての完成度を高めて提供したりといった部分です。両輪で活動していたからこそ、研究と実務の両面で貢献できたと感じています。

インタビュアー: 非常に幅広いバックグラウンドをお持ちですが、そのままアカデミアの席に留まる選択肢もあった中で、なぜチューリングへの転職を決断されたのでしょうか?また、数ある企業の中でチューリングを選んだ決め手は何だったのでしょうか?

寺西さん: 前職の研究生活に不満があったわけではありません。ただ、研究所では予算も限られ、個人の業績(パブリケーション)ベースでの活動が中心になりがちです。それよりも、大人数で、より大規模に、社会に貢献できるようなことにチャレンジしたいと思ったのが大きなきっかけです。チューリングの名前は創業当初から知っていました。

当初は「自動車・自動運転の会社」という認識でしたが、会社が「自社で車を作る」から「自動運転のモデル開発に集中的に取り組む」という方向にピボットした点に注目しました。LLMの基盤開発(GENIAC※)や大規模計算クラスタの構築など、ML(機械学習)へのシフトが加速したことで、自分のキャリアとチューリングの方向性が交差すると感じたんです。

また、オープンオフィス(※)に実際に足を運んだ際、社員の方々のコミュニケーションが非常にフラットで、働きやすそうな雰囲気を感じました。体験入社を通じて、議論のレベルの高さや、日頃の会話のベースが高いと感じ、優秀な人材が多いという確信を得たのが決め手です。自由な裁量を持って働きたいという自分の価値観とも合致していると思いましたね。

※GENIACとは
GENIAC(Generative AI Accelerator Challenge)は、国内の生成AIの開発力強化を目的とし、経済産業省及びNEDOが協力して実施する事業です。主に生成AIのコア技術である基盤モデルの開発に対する計算資源の提供や、データやAIの利活用に向けた実証調査の支援等を行っています。

※オープンオフィスとは
チューリングで実施されている、転職意向関係なく参加できるイベントです。会社説明や開発進捗についての説明や、社員との懇親会を実施しています。いつもお寿司が出てくるという噂があります。

ソフトウェアエンジニアとリサーチャーのバックグラウンドを活かし、VLAと車両推論に取り組む

インタビュアー: チューリングに入社されて約半年が経過しましたが、これまでどのようなプロジェクトに取り組んできたのでしょうか?特に、アカデミアでのリサーチャーとしての知見と、フリーランスでのソフトウェア開発の経験がどのように活かされたのか、具体的に教えてください。

寺西さん: 入社して最初の1ヶ月半は、リサーチチームのタスク、特にGENIACプロジェクトの対応をメインで行っていました。モデル開発自体は他のメンバーが進めていたため、私はソフトウェアエンジニアリングの側面を担当しました。プロジェクトの集大成として外部公開できるアウトプット、例えばリリースに向けたソフトウェア整備や論文作成などを手伝いました。

その後、本格的に取り組んだのが、VLM(Vision-Language Model)を使ったPoC(概念実証)開発です。これは、実際に車を走らせ、カメラから得られた車両周辺の交通状況をVLMに言語で説明させるというプロジェクトでした。プロジェクト全体としてはモデル開発とバックエンドの両方がありましたが、私は主にバックエンド、つまり機械学習モデルのサービング周りを担当しました。単にVLMをサービングするだけでなく、前処理としての画像処理モデルなど、複数の機械学習モデルが連なるパイプライン全体の最適化を行う必要がありました。リサーチャーとしてモデルの仕組みも理解しつつ、ソフトウェアの知見も活かして両者を繋ぐ役割を担っていました。

インタビュアー: モデルのパイプライン全体の最適化となると、パフォーマンス管理やアーキテクチャ設計といった、非常に難易度の高いソフトウェアエンジニアリングが求められるかと思います。具体的に、どのようなアーキテクチャを採用し、どのような点が大変でしたか?

寺西さん: このプロジェクトはチームで分担して開発するほどの規模だったため、開発のしやすさと推論の最適化の両方を意識する必要がありました。最終的に採用したのは、マイクロサービスというアーキテクチャです。複数のモデルを一つのプロセスで動かすと、同時開発や個別の推論最適化が難しくなってしまいます。そこでそれぞれのモデルを独立したサービスとして切り出し、開発と最適化を個別に行いました。

このプロジェクトで特に大変だったのは実車を使うという点です。開発の初期段階では机上環境で進めていましたが、最終的な結合段階で実車にデプロイすると、シミュレーションでは想定しえなかったエラーが必ず発生します。この点を考慮して、実車でのデバッグ期間を見越して開発スケジュールを前倒しにしました。

また、推論自体の最適化と、それをバックエンドサービスとして提供する上での最適化は、考える軸が異なります。推論自体は他のメンバーがTensorRTなどの推論エンジンを使ってレイテンシ短縮を図りましたが、私が担当したサービング部分では、複数のクライアントからの同時リクエストに対応して全体のスループットを上げる点に注力しました。具体的には、推論モデルを事前に複数初期化してプールしておき、リクエストが来たらプールされたモデルを順次割り当てる仕組みを開発し、複数の推論を同時に処理できるように工夫しました。約3〜4ヶ月という期間でこの規模のシステムを実車で動かすのは、非常にチャレンジングでしたね。

目標はVLAモデルを車で動かし、それが喋れるようにすること

インタビュアー: 現在、寺西さんが注力されているプロジェクトについて教えてください。

寺西さん: 現在は、VLA(Vision-Language-Action)モデルを使って車を動かす、つまり次世代の自動運転モデルの開発に取り組んでいます。すぐに公道を走らせるというよりは、E2E(End-to-End)モデルの後継となるべく、VLAモデルで自動運転を行うための検証を行っています。

現在、検証用に約1ビリオンパラメータのモデルを用いていますが、最終的にはこれを10Hz(1秒間に10回)で動かすことを目標としています。この10Hzを実現するためには、車載のコンピュータだけでなく、車載ネットワークに積んだより強力な計算リソースを併用(リモート推論)することを想定しています。

この開発には大きく二つの目標があります。一つは、大規模言語モデルが持つ「人間の常識」のような潜在的な能力が、自動運転のロングテール問題(稀なケースへの対応)にどれだけ有効なのかを検証することです。もう一つは、言語をインターフェースとして活用することです。人間が言語で指示を出せばモデルがそれに従って動き、逆にモデルが運転状況を言語でフィードバックすることで人間が解釈できる、そうした人間とAIのコミュニケーションを実現したいと考えています。

インタビュアー: 今取り組まれている中で、特に難しいと感じている点、あるいは目標達成に向けて必要なことは何でしょうか?

寺西さん: 挑戦的な目標ではありますが、意外にも現在の検証段階で約4Hzまでは出ています。これは、VLMの基本アーキテクチャであるトランスフォーマーの推論最適化に関する知見がコミュニティ内で蓄積されてきているからです。しかし、4Hzを10Hzに引き上げるには、さらなる最適化が必要です。

今の大きな課題は、利用しているVLMのコードが、既存の先行研究の公開コードをベースにしており、プロダクション利用のための最適化がされていないことです。そのため、これを推論に適した形で再実装していく必要があります。再実装を行うことで、依存するライブラリの最新バージョンを利用できるため、より強力な推論最適化機能を使うことができ、速度向上が期待できます。

また、これは単なるソフトウェアエンジニアリングの問題だけでなく、アルゴリズム的な課題も残っています。つまり、MLシステムのパフォーマンスチューニングだけでなく、競技プログラミングのようなアルゴリズム設計に近い最適化の領域です。これは、従来のソフトウェアエンジニアやアルゴリズムが得意な人にも、この自動運転という「エンボディドAI」の領域に参入する大きなチャンスがあることを意味しています。

インタビュアー: 今後の展望についてお聞かせください。

年内にはテストコースでの走行を目指しています。そこに向けて、推論速度の最適化と、車載での走行実現に焦点を当てています。来年以降の展望としては、まずVLMを本格的な自動運転モデルにするための性能の底上げを徹底的に行いたいです。

そして、もう一つが言語によるインタラクションの実現です。現在のVLMの運転は、画像入力だけで完結してしまう部分もあるため、人間からの自然言語での指示や、逆にモデルが運転状況を言語でフィードバックする機能を本格的に実装していきたいと考えています。これは、私が培ってきた自然言語処理の知見を最大限に活かせる部分でもあります。

個人的には、ソフトウェアエンジニアリングの経験を活かし、まだ若いチューリングの開発体制やコーディングルール、リポジトリ運用ルールなどを整備し、チームに浸透させていくことにも面白さを感じています。自分の強みを活かしつつ「VLAモデルを車で動かし、それが喋れるようになる」という世界のトップランナーがまだ本格的に表に出せていない領域に、チューリングとして挑戦し、成果を出していきたいです。