電気自動車のTeslaが手掛ける自動運転用システムDojo AIプロセッサーの昨今
ASCII.jp / 2023年3月6日 12時0分
今回取り上げるのはTeslaのDojoである。そもそもTeslaの車と言えば電動車であることと、他社に先駆けて自動運転の仕組みを取り入れていることが特徴なのはご存じのとおり。ついでに言えばその自動運転のシステムを自社で構築していることも特徴的である。
下の画像は2019年に開催されたPytorch DevCon 2019でTeslaのAndrej Karpathy博士(Sr Director of AI:現在はTeslaから離職した模様)が示した、Teslaの自動運転に関わるスタックの様子であるが、ハードウェアとしてTeslaの車に搭載されるのは、上から2つ目の“Inference @ FSD Computer”である。
![](https://ascii.jp/img/2023/03/06/3502645/x/da0e2e4d86079dcd.jpg)
FSDは“Full Self Drive”の略で、このチップ自身もなかなか壮絶な代物で、当然Teslaの内製である。このFSDの詳細は別の機会に紹介するとして、右下に謎の“Dojo Cluster”というコンポーネントがあるのがわるだろうか?
Teslaの自動運転車の場合、走行時にその走行の様子を記録したデータ(含ビデオデータ)を、常にTesla社に送信している。Teslaはそのデータを基に、より良い自動運転のアルゴリズムを常に改良し続けている。この改良を担うのがDojoだ。
要するにFSDは自動運転のアルゴリズムを使って推論を行ない、それを基に運転操作をする。一方でその際に得られた運転データを利用して学習し、より良い自動運転アルゴリズムを開発する。この学習を行なうためのシステムがDojoである。
このDojoの詳細が公開されたのは昨年8月に開催されたHotChips 34である。実はこの時点でもまだDojoはフル稼働していない。ではDojoが完成するまでの間はどうしていたか? というと、NVIDIAのA100ベースのスーパーコンピューターを構築し、ここで学習していた。
下の画像はこのスーパーコンピューターのプレスリリースでの写真だが、A100を5760枚集積したクラスターでこの学習処理をしていた。
![](https://ascii.jp/img/2023/03/06/3502646/x/84fd28fe5decc660.jpg)
ただこのクラスターを利用しても、一部のアルゴリズムでは学習に1か月近くを要するものがあったらしい。Dojoの目的は、これを1日に短縮することである。つまり現在のA100ベースのクラスターよりも30倍高速なシステムを構築するというのがDojoのターゲットとなる。
さてそのDojoであるが、基本となるタイル(Compute Die+I/O Die)の構成はCelebrasのWSEを連想させる、巨大なウェハーサイズの構造である。
![](https://ascii.jp/img/2023/03/06/3502647/x/d6969ba7a05bb5bd.jpg)
これだけでも大概であるのだが、このウェハーサイズのタイルは、それぞれ個別にパワーデリバリーと冷却をワンパッケージにした形で構成される。
![](https://ascii.jp/img/2023/03/06/3502648/x/4862c28ba4790ecc.jpg)
こんな構造になるから、当然液冷になるのだろう。ちなみにTeslaによれば、1個のタイルあたりで9PFlops(BF16/CFP8)の演算性能を実現、オンタイルメモリーは11GBのECC付きSRAMで、帯域はオンタイルメモリーのみで10TB/秒、オフタイル(つまりタイル間でのメモリー転送)を含めると平均36TB/秒とされている。
ただこのコンピュートタイルは純粋に計算をするだけの処理なので、外部とのI/Fがない。これを担うのが、Dojo Interface Processorである。
![](https://ascii.jp/img/2023/03/06/3502649/x/048a69b16216aff8.jpg)
こちらは外部の共有メモリーと、ネットワーク/ホストとのI/Fを担う格好である。1つのDIPカードにはDIPが2つ搭載され、それぞれのDIPにはHBM2が2つづつ接続されている。
このDIPの中身は明確にはなっていないが、下の写真を見る限りはArmベースのSoCでイーサネットを内蔵したチップのようだ。
![](https://ascii.jp/img/2023/03/06/3502650/x/e836ada7b057d94d.jpg)
外部I/FはPCIe Gen4 x16で、これがボード上のPCIe Switch経由につながり、最終的にホストに接続される構成らしい。ちなみにコンピュートタイル自身も相互接続可能になっており、それぞれ9TB/秒で接続される。
![](https://ascii.jp/img/2023/03/06/3502651/x/bb033dc4e4854eb0.jpg)
ここで少しおもしろいのが、コンピュートタイル同士の接続とDIP経由の接続の使い分けである。コンピュートタイル同士はけっこうな数の接続が可能であるが、規模が大きいと当然その際の通信の遅延が大きくなる。
![](https://ascii.jp/img/2023/03/06/3502652/x/91b16a0f496cee7f.jpg)
その場合、DIP経由で直接Point-to-Pointで通信を行なうことで、Hop数を大幅に減らせることになる。TeslaはこれをZ-Plane Topologyと呼んでいるが、要するに相手との距離次第でコンピュートタイル同士の接続とDIP経由の接続を使いわけすることで、遅延を大幅に減らせるというわけだ。
![](https://ascii.jp/img/2023/03/06/3502653/x/ce24e1b7dda3d736.jpg)
実際のDojoのシステム全体は下の画像のとおりである。複数のコンピュートタイル同士を相互接続し、その外側にDIPが並ぶ構造だ。これを組み合わせて、1EFlopsの演算性能とオンタイルで1.3TBのSRAM、それに13TBのHBMメモリーが用意される格好になる。
![](https://ascii.jp/img/2023/03/06/3502654/x/7d48f5ad0a7cef5a.jpg)
Dojo Nodeを縦横に354個集積したD1ダイ ダイサイズは645mm2とかなりの大きさ
ここからはコンピュートタイルの中身をもう少し説明したい。コンピュートタイルの根幹をなすのは、4-wayのスーパースカラーなコアである。独自命令セットであり、RISC-Vをカスタマイズとかそういうわけでもない。
DojoはTeslaのみが使うシステムなので、別にRISC-Vでなくても良いということだろう。このコアの特徴であるが、以下のような独特な構成である。
- フェッチは32Bytes/サイクルで、最大8命令のフェッチが可能。
- デコードは8-wideで、2スレッド/サイクルの処理が可能(つまり4-way SMTではあるが、1サイクルあたり2スレッド分しか命令は供給されない)
- ALU×2/AGU×2の4-way SMT構成。ただしフェッチバッファやALUのレジスターファイルなどはスレッドの数だけ用意される。
- FPUは搭載しない(というか、そもそもデータ型がBF16/CFP8という時点で、ALUがなくFPUのみというべきなのだろうか?)が、ベクトルというかSIMDエンジンは搭載される。こちらは2-wideで、64Bytes幅である。ここで最大8×8×4の行列乗算が可能。
- 仮想記憶はなし。メモリー保護機能も最小限。スレッド間でのリソース共有(共有メモリーなど)はソフトウェアで制御する。
- 通常アプリケーションスレッドが1~2個と、コミュニケーションスレッドが1~2個走る。
このパイプラインに、1.25MBのSRAMが割り当てられる。こちらは図からもわかるように命令とデータの両方を格納する形であるが、キャッシュというよりはスクラッチパッドという方が正確だろう。
このSRAMはロード400Gbps、ストア270Gbpsの帯域を持っており、またベクトルレジスターにデータを格納するにあたって、並び替えを行なうGather Engineを実装している。
これは例えば行列乗算では行と列を入れ替えるような操作が必要になるこが多く、これをソフトウェアでなくハードウェアで行なうことで効率化を図るためと考えられる。
逆にキャッシュにあたるものは存在しない。むしろキャッシュを使わなくても、4-wayスレッドで命令やデータのロード時間を遮蔽できるから、無理にキャッシュを入れて制御を複雑にする必要はない、という判断かと思われる。
このCPUパイプライン+1.25MB SRAMをDojo Nodeと呼ぶが、実際には複数のノードが2次元構造でつながっている。この接続を担うのがNOCルーターで、東西南北にそれぞれ128Bytes/サイクル(実際は送受信各64Bytes/サイクルと思われる)で接続可能であり、またNOCルーターとSRAMの間もそれぞれ64Bytes/サイクルで接続される。
このNOCルーターは東西南北にある別のNOCルーターとの間で8パケット/サイクルの転送が可能であり、また各々のルーターはSRAMに対して直接DMAで転送を行なえるので、CPUパイプラインの側に負荷をかけずに転送可能となっている。
ちなみにCPUパイプラインの命令セットはこんな感じ。確かにあまり一般的な感じはしないし、RISC-Vにするメリットも少なそうだ。
![](https://ascii.jp/img/2023/03/06/3502656/x/5cd6c4ec659c7085.jpg)
さてこのDojo Nodeを縦横に354個集積したのがD1ダイとなる。TSMCのN7ながら動作周波数は2GHzとやや低めで、Low Power Cell Libraryで構築されている可能性もある。
![](https://ascii.jp/img/2023/03/06/3502657/x/331071b2614cc4e3.jpg)
性能はBF16/CFP8では362TFlopsと、ノードの数のわりに少し高めだが、これはベクトルユニットを利用した場合の数字と思われる。ベクトルを使えないFP32では22TFlopsとやや低めに推移している。
このD1ダイ1つで440MB(正確には442.5MB)のSRAMを実装しているが、それもあってダイサイズは645mm2とかなりの大きさ。これを25個集積し、さらにその外側にI/O用のダイを40個(つまり一辺あたり10個:1つのD1ダイあたり2個接続される計算である)配したのがDojoタイルである。つまり1つのタイルには8850個のノードが含まれ、11GBのSRAMが内蔵される形だ。
ExaPodが今年第1四半期に稼働予定
ここからは昨年9月末に開催されたTesla AI Dayのスライドからご紹介したい。ちなみに全体では3時間半にもおよんでおり、1時間57分からDojo Introduction、2時間23分あたりからDojo Hardwareの説明が行なわれている。
まずトレーニングタイルだが、システムにはこれが6つ相互接続する形で1つのトレイに収まる。これがシステムトレイである。
![](https://ascii.jp/img/2023/03/06/3502658/x/be5ad442981ff54c.jpg)
一方DIPは、そのトレイの下に並ぶ。その20枚のDIPカードがちょうどささるように、ホストCPUのシャーシが用意される。こちらは構成は明らかになっていないが、PCIeスロットの数とかコアの数を考えると、Milanベースの1ソケットEPYCサーバーが4台入っているように思える。
![](https://ascii.jp/img/2023/03/06/3502659/x/fd6d7acc0b0c89e6.jpg)
![](https://ascii.jp/img/2023/03/06/3502660/x/8818ce9392bac1ec.jpg)
![](https://ascii.jp/img/2023/03/06/3502661/x/79faaa358f097356.jpg)
技術的に言えば、同じくMilanベースの2ソケットEPYCサーバー(これだと最大でPCIe Gen4レーンを162本出せる)を2台という可能性もあるが、そこで2ソケットにする意味があまり見当たらない。
トータルメモリーは8TBというあたり、EPYCサーバーあたり2TBという計算だ。このDojo Host Interfaceを2つ積み重ねたのがDojo Cabinetであり、そのDojo Cabinetを複数並べたのがExaPODである。
![](https://ascii.jp/img/2023/03/06/3502662/x/723efd50b36f110a.jpg)
![](https://ascii.jp/img/2023/03/06/3502663/x/15992667cc5bc182.jpg)
Dojoの、AI Dayにおける説明では以下の数字が示されている。
- 24 GPU(A100) vs 25 D1では、バッチ処理のレイテンシーが150μs vs 5μsで30倍高速
- 自動ラベリングやOccupancy network(境界面を使ったネットワーク分類)などの処理でA100と比較して最大3.2~4.4倍高速
- 1つのコンピュートタイルでGPU BOXが6つ分以上の性能。そしてコンピュートタイルの価格は1つのGPU BOX未満
- 4つのDojoキャビネットで、既存の72ラックのGPUサーバーを代替できる。といった数字が示されている。
最初のExaPodは今年第1四半期(つまり今月だ)中に稼働予定であり、Teslaは将来的にパロアルト(Tesla本社所在地)に7つのExaPodを稼働予定としている。
なんというか、数は力とでもいうべきソリューションである。とはいえ自動運転のアルゴリズムを改良していくのには、このくらいのパワーが必要なのかもしれない。
この記事に関連するニュース
-
Intelの「Gaudi 3」って何? AIアクセラレーターとGPUは何が違う? NVIDIAやAMDに勝てる? 徹底解説!
ITmedia PC USER / 2024年7月5日 17時5分
-
リブランドした「Intel Xeon 6」はどんなCPU? Intelの解説から分かったことを改めてチェック
ITmedia PC USER / 2024年7月2日 16時5分
-
Lunar LakeではPコアのハイパースレッディングを廃止 インテル CPUロードマップ
ASCII.jp / 2024年7月1日 18時0分
-
Intel Tech Talkで見えたLunar Lakeにおける低消費電力と高性能の両立へのこだわり
マイナビニュース / 2024年6月27日 6時45分
-
Lunar Lakeはウェハー1枚からMeteor Lakeの半分しか取れない インテル CPUロードマップ
ASCII.jp / 2024年6月24日 12時0分
ランキング
-
1「鬼すぎない?」 大正製薬の広告が“性差別”と物議…… 男女の“非対称性”に「昭和かな?」「時代にあってない」
ねとらぼ / 2024年7月4日 18時32分
-
2楽天ペイと楽天ポイントのキャンペーンまとめ【7月4日最新版】 楽天ペイアプリでポイント最大10倍もらえる
ITmedia Mobile / 2024年7月4日 10時5分
-
3「知らんかった」 Googleで“あるワード”を検索すると……? あまりに“癒やし”な「隠し機能」に5万いいね「延々とやっちゃう」
ねとらぼ / 2024年7月4日 20時45分
-
4「Thank you Buddies!」 櫻坂46、最新曲「自業自得」ライブ映像を公開 「これだよこれ!」「いきなり凄いものが…」反響続出
ねとらぼ / 2024年7月4日 20時53分
-
5「ドコモ光 1ギガ」旧プランを2025年6月に提供終了、解約金の安い新プランへ自動移行
マイナビニュース / 2024年7月4日 19時15分
記事ミッション中・・・
記事にリアクションする
![](/pc/img/mission/mission_close_icon.png)
記事ミッション中・・・
記事にリアクションする
![](/pc/img/mission/point-loading.png)
エラーが発生しました
ページを再読み込みして
ください
![](/pc/img/mission/mission_close_icon.png)