TeslaのFull Self Driving Computer
Hot Chips 31において、Teslaは「Full Self Driving Computer」と称する自動運転用コンピュータを発表した。
プラットフォームの開発の要件はFull Self Driving(FSD:完全自動運転)をサポートできる機能と性能を実現することであり、かつ、HW2.xという現在のハードウェアを搭載した車に交換して取り付けられることである。このためには消費電力を100W以下にすることが必要である。
そして、コストを低減して、冗長アーキテクチャを可能にすることも目標に入ってる。
FSDコンピュータは、次の写真のようになっており、同じSoCが冗長構成になっている。電源も冗長構成で、カメラの視野も重なりを持っており、信号パスも冗長構成になっている。また、このモジュールは現在のHW2.xと互換で、置き換えることで、HW3.0になる。
そして、このボードを4枚使い、1枚はカメラやレーダー、GPSなどの各種センサーの情報を処理してどのように運転すべきかを考える。そして、もう1枚はその運転でどのように進むかを検討し、それと周囲の状況と比較する。そして、右端のボードは運転操作を担当するアクチュエータを制御し、Validateと書かれたボードはアクチュエータの制御信号を受け取ってそれが正しい制御になっているかどうかを確認する。
FSDチップの設計目標は、50TOPS以上のニューラルネットワーク計算性能を持ち、バッチサイズが1の入力で、80%以上の使用率を達成することである。そして、消費電力は40W以下を目指す。
FSDチップは、汎用処理やポスト処理のためのGPUやCPUを内蔵し、セキュリティーや安全性の要件を満たすこと。さらに、モジュラーで各種プラットフォームの冗長化にも使えるものであることを目指している。
FSDチップはSamsungの14nm FinFETプロセスで製造され、チップサイズは260mm2で60億トランジスタを集積している。このチップはすでに量産に入っているという。
この写真は前の写真にオーバレイを掛けたもので、下の左の一番大きな領域がニューラルネットワークのアクセラレータである2個のNNAの領域である。そして、NNAの上にGPU 1個があり、チップの右側に12個のCPUが置かれている。
NNAはTeslaの設計で、CPUやGPU、ISP、ビデオエンコーダ、メモリコントローラなどは標準的に使われているIPを使っているという。
次の図はニューラルネットのアクセラレータの部分を示すものである。図からも明らかなようにまったく同じNNアクセラレータが2個載っている。設計上は2GHz以上のクロックで動作する。NNAは96×96のMACを持ち、NNA1個あたり36.8TOPSの演算性能を持っている。さらに、ReLUやPoolの計算を行うハードウェアを持っている。
メモリとしてはNNA1個あたり32MBのオンチップSRAMを持ち、NNAが実行するプログラムはここに格納している。
アーキテクチャの決定からテープアウトまでの期間は14カ月と短く、設計期間を短縮するためできるだけ実証されたIPを使い、クロックや電力の分配系も簡単な構造を使った。そして、メモリの密度と速度には気を使った。
(次回は9月26日に掲載します)