TeslaのFull Self Driving Computer

Hot Chips 31において、Teslaは「Full Self Driving Computer」と称する自動運転用コンピュータを発表した。

  • Tesla

    TeslaのFull Self Driving Computerを発表するAutopilot Hardware部門のSr DirectorのGanesh Venkataramanan氏

プラットフォームの開発の要件はFull Self Driving(FSD:完全自動運転)をサポートできる機能と性能を実現することであり、かつ、HW2.xという現在のハードウェアを搭載した車に交換して取り付けられることである。このためには消費電力を100W以下にすることが必要である。

そして、コストを低減して、冗長アーキテクチャを可能にすることも目標に入ってる。

  • Tesla

    開発の目標は、FSDをサポートできる機能と性能を実現し、現在のHW2.xが付いている車に乗せ換えができることが必要である (出典:この連載のTeslaもFSD Computerの部分のすべての図は、TeslaのGanesh Venkataramanan氏の発表スライドのコピーである

FSDコンピュータは、次の写真のようになっており、同じSoCが冗長構成になっている。電源も冗長構成で、カメラの視野も重なりを持っており、信号パスも冗長構成になっている。また、このモジュールは現在のHW2.xと互換で、置き換えることで、HW3.0になる。

  • Tesla

    同じSoCを2個使って冗長構成になっている。また、電源も冗長構成になっている。このモジュールはHW2.xと互換で、置き換えでHW3.0になる

そして、このボードを4枚使い、1枚はカメラやレーダー、GPSなどの各種センサーの情報を処理してどのように運転すべきかを考える。そして、もう1枚はその運転でどのように進むかを検討し、それと周囲の状況と比較する。そして、右端のボードは運転操作を担当するアクチュエータを制御し、Validateと書かれたボードはアクチュエータの制御信号を受け取ってそれが正しい制御になっているかどうかを確認する。

  • Tesla

    Teslaの車は、このボードを4枚使い、この図のようにValidateのループがあり、エラーを検出できる構成になっている

FSDチップの設計目標は、50TOPS以上のニューラルネットワーク計算性能を持ち、バッチサイズが1の入力で、80%以上の使用率を達成することである。そして、消費電力は40W以下を目指す。

FSDチップは、汎用処理やポスト処理のためのGPUやCPUを内蔵し、セキュリティーや安全性の要件を満たすこと。さらに、モジュラーで各種プラットフォームの冗長化にも使えるものであることを目指している。

  • Tesla

    FSDチップの開発でニューラルネットワークの性能が50TOPS以上となり、バッチサイズが1の入力でハードウェアの使用率が80%以上となることを目指す。消費電力は40W/Chip以下が目標である。そして、制御処理などを行うCPU、GPUやセキュリティーや安全性の機能も搭載すること

FSDチップはSamsungの14nm FinFETプロセスで製造され、チップサイズは260mm2で60億トランジスタを集積している。このチップはすでに量産に入っているという。

  • Tesla

    FSDチップのダイ写真と諸元。14nm FinFETプロセスで作られ、チップサイズは260mm2で60億トランジスタを集積している

この写真は前の写真にオーバレイを掛けたもので、下の左の一番大きな領域がニューラルネットワークのアクセラレータである2個のNNAの領域である。そして、NNAの上にGPU 1個があり、チップの右側に12個のCPUが置かれている。

NNAはTeslaの設計で、CPUやGPU、ISP、ビデオエンコーダ、メモリコントローラなどは標準的に使われているIPを使っているという。

  • Tesla

    左下の2個のNNAが一番大きな面積を占めている。そして、上辺にはGPU、右辺には12個のCPUコアがあり、右上の角にセキュリティーや安全性の機能が置かれている

次の図はニューラルネットのアクセラレータの部分を示すものである。図からも明らかなようにまったく同じNNアクセラレータが2個載っている。設計上は2GHz以上のクロックで動作する。NNAは96×96のMACを持ち、NNA1個あたり36.8TOPSの演算性能を持っている。さらに、ReLUやPoolの計算を行うハードウェアを持っている。

メモリとしてはNNA1個あたり32MBのオンチップSRAMを持ち、NNAが実行するプログラムはここに格納している。

  • Tesla

    FSDチップには、2個のNNAが搭載されている。NNAは2GHz以上のクロックで動作する。96×96のMACを持ち、1個のNNAが36.8TOPSの演算能力を持つ。またNNAは32MBのメモリを持ち、NNAのプログラムはこのメモリに格納される

アーキテクチャの決定からテープアウトまでの期間は14カ月と短く、設計期間を短縮するためできるだけ実証されたIPを使い、クロックや電力の分配系も簡単な構造を使った。そして、メモリの密度と速度には気を使った。

(次回は9月26日に掲載します)