今週のざっくばらん
Tesla AI Day
先週、Tesla が「Tesla AI Day」というイベントを開きました。去年の9月に開かれた「Tesla Battery Day」以来の技術イベントです。
株主や消費者向けのイベントではなく、技術的なことを深掘りするイベントで、対象としているのは、私のように技術面からTeslaのことを見ている技術者向けのイベントで、一番の目的は技術者のリクルーティングにあります。
前半は、自動運転ソフトウェアの話で、まずは(自動車、路側帯、車線)などの物体認識技術を解説し、その後、その情報を利用して、どうやって自動運転を行なっているかを解説しています。
この分野に興味のある技術者にとっては、どんな教科書を読むよりも良い勉強になると思います。専門用語がたくさん出てくるので、初心者には少し辛いかも知れませんが、このビデオを見ながら、分からない言葉が出てきたら調べる、という見方でもとても良い勉強になると思います。私が、大学で人工知能の授業を担当していたら、このビデオを見た上で、感想を含めたレポートを学生に書かせるだろうと思います。
ちなみに、人工知能で使われている深層学習は、ニューラルネットと呼ばれる一連(=レイヤー上に並べられた)の行列演算を活用していますが、前半のレイヤーが Feature Extraction (特徴抽出)と呼ばれるもので、そこで「丸いものがある」「斜めの直線がある」などの基本的な特徴を抽出し、その情報を元にして、後半のレイヤーで「この部分に自動車がある」「ここに車線が斜めに走っている」などの高度な物体認識を行なっています。
下の図は、Tesla の技術者が HydraNets と呼ぶ構造で(53:00から)、物体認識、信号認識、車線認識の三つのタスクを行う際に、Feature Extraction の部分までは同じネットワーク(一連の行列計算)を使うことにより、それぞれ別々のニューラルネットワークを使うのと比べて、大幅に計算量を減らしているそうです。
さらに面白いのは、Feature Extraction の結果をディスクにしまうことにより、ニューラルネットワークのトレーニングに生かしているという点です。
Tesla の自動運転は、まだ不完全なため、ドライバーが常にハンドルを握って、いざという時には、自らハンドルを切って事故を防ぐ必要がありますが、その動作を Tesla 車は、自動運転ソフトの誤動作と認識して、サーバーにシグナルを送るように出来ています。
Tesla はサーバー側でそれらの情報を活用して、自動運転ソフトを日々改良していますが、必要に応じて、新しいアルゴリズムをテスト用に自動車に送り込み、(実際の運転はせずに)シャドーモードで動かすことによりテストを行なっているそうです。
つまり、「路肩に止まっている緊急車両を見逃した」ケースがあれば、それに対処するようにソフトウェアをアップデートした上で、そのソフトを実際の車両に送り込み、前もってディスクにしまっておいた Feature Extraction の結果をベースに、アップデートした上位のレイヤーに渡し、正しく緊急車両を認識したかどうかのテストが行えるのです。
こんなソフトウェアのデバッグの仕方が出来てしまう点が Tesla の凄さであり、ソフトウェアのことが理解出来ていない人々が会社を経営し、ソフトウェアの開発は外注に丸投げしてしまうような既存の自動車メーカーには、決して出来ない芸当です。
後半は、ニューラルネットのトレーニング用のハードウェアの話でしたが、こちらも桁違いでした。Tesla は Nvidia の GPU で構築したスーパーコンピュータをトレーニング用のマシンとして、これまで使って来たことが知られていますが、ついに、自分たちで専用のスーパーコンピュータ DoJo を半導体チップから設計してしまったのです。
Tesla の技術者が作った半導体は D1 と呼ばれていますが、深層学習に最適化されたコア(= training node)を354個持つチップです。一つのコアが 1024GFLOPSの計算能力を持つため、チップ全体では、362 TFLOPS の計算能力を持ちます。
私が開発に使っている Apple の M1 チップが 2.6 TFLOPS なので、これだけで桁違いの性能があることが分かります。
Tesla はこのチップを25個搭載したマルチ・チップ・モジュールを Training Tile と呼び、これを複数個組み合わせることにより、トレーニング用のスーパーコンピュータを構築しています(下の写真)が、このモジュール一つだけで 9 PFLOPS の計算能力を持ちます。
日本政府が2012年に1000億円以上を投じて作った「スーパーコンピュータ京(下の写真)」が 10 PFLOPS だったことを考えると、目眩がします。
Tesla は、現在、このモジュールを120個組み合わせたスーパーコンピュータを構築しており、それが完成すれば、世界で最初の exascale (計算能力が 1 EFLOPSを超えること)のコンピュータの誕生となります。
人工知能を応用したソフトウェアの開発においては、トレーニングに必要なデータの量が鍵を握りますが、データ量に関しては、既に100万台以上の自動車を走らせてデータを集めている Tesla が他社を圧倒しています。
当然、大量のデータを処理するには、莫大な計算能力が必要で、Tesla はそのためだけに、世界で最速のスーパーコンピュータをチップレベルから開発しているのです。
機械学習用のトレーニングコンピュータのニーズは高まる一方なので、もし、今回 Tesla が発表したスーパーコンピュータ・モジュールの開発・販売するベンチャー企業が上場でもしたら、それだけで $100 billion ぐらいの市場価値がついても全く不思議はないぐらいの凄い話です。
この記事は約
NaN 分で読めます(
NaN 文字 / 画像
NaN
枚)