93
Hot Chips 2017: GoogleのTPU v2を詳しく見る

Google の Cliff Young 氏は、Hot Chips 2017 で同社のオリジナル TPU (Tensor Processor Unit) の詳細を披露しましたが、最も重要なのは、同社が基調講演で TPU v2 としても知られる Cloud TPU の詳細も明らかにしたことです。 

Googleが極秘プロジェクトで独自のASICを設計したというニュースは、昨年インターネット上で大きな話題となりました。驚くべきことに、秘密主義のGoogleはAIへの取り組みを公表する1年前から、既に自社のデータセンターにTPUを導入していました。

後ほど説明する第1世代TPUは、8ビット整数演算のみをサポートしています。つまり、推論は実行できますが、学習には対応していません。Googleはすでに、学習と推論の両方のワークロードを実行できるTPU v2に移行しています。この新しい設計は、既に同社のデータセンターで稼働しています。

画像

1

11

初代TPUは256x256x8bの混合乗算ユニット(MXU)を搭載したシングルコアでしたが、GoogleのCloud TPUは128x128x32bのMXUをそれぞれ1つずつ搭載したデュアルコアを搭載しています。スカラーユニットとMXUはどちらも32ビット浮動小数点演算に対応し、各チップは最大45TFLOPSの演算性能を発揮します。各コアは隣接するコアと接続され、600GBpsの帯域幅を提供する8GBのHBM(高帯域幅メモリ)を備えています。

ASICは大型のヒートシンクを備えたマザーボード上に搭載されており、消費電力は相当に大きいと思われますが、Googleは公式の電力仕様を明らかにしていません。また、ボードの端には8つのネットワークコネクタがあり、IntelのOmni-PathとIBMのBlueLinkではないかと考えられています。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

Googleは必要に迫られ、第一世代のTPUを既存サーバーの3.5インチドライブベイに収まるように設計しました。Cloud TPUは、より従来的な設計を採用し、単一のマザーボード上に4つのASICと、2,400GBpsのメモリ帯域幅を提供する64GBの大容量HBMを搭載しています。この組み合わせにより、ボードあたり最大180TFLOPSの性能を発揮しますが、Googleはさらに大きな野望を抱いています。

同社は64基のCloud TPUを単一の「ポッド」に導入し、最大11.5ペタフロップスの演算処理能力と4TBのHBM(Human Memory Base)を稼働させています。Googleは現在稼働中のポッドの数を明らかにしていませんが、3つの導入事例の写真を公開しています。HBMが不足している理由が気になるなら、Cloud TPUがその答えの一つになるかもしれません。 

GoogleはオリジナルのTPUを社内でのみ使用していましたが、今年中にGoogle Cloud Platformを通じてCloud TPUサービスを一般公開する予定です。各仮想マシンインスタンスにはTPUが1つ接続されます。また、Googleはトップクラスの研究者に1,000ユニットを寄贈する予定です。Cloud TPUはTensorFlowでプログラム可能なため、導入が加速すると予想されます。

Googleはまだ効率測定結果を発表していませんが、プロセッサは第1世代モデルと比較して50%のパフォーマンス向上を実現していると主張しています。今後数か月のうちに、より詳細な情報が明らかになるものと期待されます。

第一世代TPU

Googleは、第一世代TPUに関する興味深い詳細をいくつか公開しました。発売から1年半が経過したGoogleの第一世代TPUは、推論という単一のタスクを実行するために設計されました。チームは2013年に「速く走り、ハサミで走る」というテーマを掲げて設計プロセスを開始し、14か月後、TPUはGoogleのデータセンターでデビューしました。 

画像

1

16

エンジニアたちは既存のインフラストラクチャとの下位互換性を維持することに尽力し、TPUを標準的な3.5インチサーバーHDDベイに収まるように設計し、カスタムPCIe 3.0 x16コネクタを介してバックプレーンに接続しました。Googleは、標準GPUのように挿入できるAIC(アドインカード)フォームファクターモデルも提供しています。Googleは、最も計算負荷の高いワークロードに対応するために、サーバーあたり4つのTPUを搭載できます。デバイスの中核となるのは28nm ASICです。Googleはファウンドリパートナーを明らかにしていませんが、このASICは高負荷時に40Wを消費することが分かっています。 

GoogleはTPU上のコード量を最小限に抑えることに注力したため、独自の分岐プロセッサは搭載されていません。代わりに、ホストから命令が供給されます。このASICは700MHzで動作します。256x256のマトリックス乗算ユニット(MXU)は、クロックサイクルごとに数十万回の演算を処理し、スカラープロセッサやベクタープロセッサをはるかに上回ります。統合バッファは、レジスタとして機能する24MBのSRAMで構成されています。5枚目のスライドはチップ設計の概要を示しており、メモリユニットは青、コンピューティングユニットは黄色で示されています。TPUは11種類の命令のみをサポートしていますが、ワークロードの実行に使用されるのはそのうち5種類だけです。

TPUのダイ面積は、当時の主流であった18コアCPU「Haswell」やNVIDIAの「Tesla K80 GPU」の半分以下で、消費電力はそれぞれ145Wと150Wに対して75Wと、大幅に低くなっています。アイドル時の消費電力はGPUよりも高いものの、CPUよりは低いです。特に、TPUのメモリ帯域幅は競合するCPUやGPUよりもはるかに低いにもかかわらず、優れたピークTOPS(Trillions of Operations Per Second)スループットを実現しています。Googleはシストリックアレイについてさらに詳しく説明した記事を公開していますので、詳細はそちらをご覧ください。

Googleは、TPUはHaswell CPUと比較してワット当たり15倍、NVIDIAのK80 GPUと比較して最大30倍の性能を提供すると主張しています。これらの性能向上により、Googleは15か所のデータセンターをほぼ倍増させる費用を節約できたと報じられています。

メモリ帯域幅はTPU設計における最大の制約となっていました。GoogleがプロセッサにGDDR5を搭載していれば、ワットあたりの性能ははるかに向上していた可能性があります。同社は第2世代Cloud TPUでHBMメモリを採用することで、このメモリ不足を解消しました。

考え

Googleの初期のTPUは、Intel、Nvidia、AMDといった既存企業にとって脅威とはなりませんでした。なぜなら、同社はASICを社内業務にのみ使用していたからです。そのためGoogleへのプロセッサ販売は減少したかもしれませんが、AI市場全体への脅威にはほとんどなりませんでした。しかし、Googleがクラウドプラットフォームを通じてCloud TPUを一般公開したことで、同社の野望はより広範であることが明確になりました。今年後半に一般公開されるGoogleのCloud TPUは、AI市場全体に変革をもたらす可能性があると期待しています。

ポール・アルコーンはTom's Hardware USの編集長です。CPU、ストレージ、エンタープライズハードウェアに関するニュースやレビューも執筆しています。