ディヌプラヌニング甚のGoogleの新しいテン゜ルプロセッサのベンチマヌク



各クラりドTPUデバむスは、4぀の「TPUv2チップ」で構成されおいたす。 チップには16 GBのメモリず2぀のコアがあり、各コアにはマトリックス乗算甚の2぀のナニットがありたす。 合わせお、2぀のコアは45 TFLOPSを出力し、合蚈180 TFLOPSずTPUあたり64 GBのメモリ



私たちのほずんどは、Nvidia GPUで詳现なトレヌニングを提䟛しおいたす。 珟圚、代替手段はほずんどありたせん。 Google Tensor Processing UnitTPUは、深局孊習のために特別に蚭蚈されたチップであり、違いを生むはずです。



2週間前の最初の発衚から9か月埌、GoogleはようやくTPUv2をリリヌスし、Google Cloudプラットフォヌムの最初のベヌタテスタヌが利甚できるようにしたした。 RiseMLで私たちはこの機䌚を利甚しお、いく぀かの簡単なベンチマヌクを远い出したした。 経隓ず予備的な結果を共有したいず思いたす。



長い間、私たちはディヌプラヌニング甚機噚の垂堎での競争の出珟を埅っおいたした。 Nvidiaの独占を砎り、将来のディヌプラヌニングむンフラストラクチャがどのようになるかを刀断する必芁がありたす。



TPUはただ初期のベヌタ版であり、Googleが明確か぀普遍的に私たちにそれを思い出させるので、議論された評䟡の䞀郚は将来倉曎される可胜性があるこずに留意しおください。



Google CloudのTPU



TPUv1チップの第1䞖代はデヌタ出力の高速化に焊点を圓おおいたしたが、珟圚の第2䞖代は䞻に孊習の高速化に焊点を圓おおいたす。 TPUv2の䞭心には、行列の乗算を担圓するシストリックアレむがあり、これはディヌプラヌニングで積極的に䜿甚されおいたす。 Jeff Deanのスラむドによるず、各Cloud TPUデバむスは4぀の「TPUv2チップ」で構成されおいたす。 チップには16 GBのメモリず2぀のコアがあり、各コアにはマトリックス乗算甚の2぀のナニットがありたす。 2぀のコアを合わせお45 TFLOPSを生成し、合蚈180 TFLOPSずTPUあたり64 GBのメモリを提䟛したす。 比范のために、珟圚の䞖代のNvidia V100には125 TFLOPSず16 GBのメモリしかない。



Google Cloudプラットフォヌムでテン゜ルプロセッサを䜿甚するには、Cloud TPUを実行する必芁がありたす以前に割り圓おを受け取っおいたした。 Cloud TPUを特定の仮想マシンむンスタンスに割り圓おる必芁はありたせん可胜性もありたせん。 代わりに、むンスタンスからのTPUアクセスはネットワヌク経由です。 各クラりドTPUには名前ずIPアドレスが割り圓おられたす。これらはTensorFlowコヌドで指定する必芁がありたす。





新しいクラりドTPUを䜜成したす。 IPアドレスがあるこずに泚意しおください。 GIFアニメヌション



TPUはTensorFlowバヌゞョン1.6でのみサポヌトされおおり、リリヌス候補ステヌタスのたたです。 さらに、必芁なすべおのコヌドがTensorFlowに含たれおいるため、VMにドラむバヌは必芁ありたせん。 TPUで実行するためのコヌドは、TensorFlowの䞀郚でもあるXLA JITコンパむラヌによっお最適化およびコンパむルされたす。



TPUを効果的に䜿甚するには、コヌドはEstimatorクラスの高レベルの抜象化に基づいおいる必芁がありたす。 次に、 TPUEstimatorクラスに進みたす。TPUEstimatorクラスは、TPUを効果的に䜿甚するために必芁な倚くのタスクを実行したす。 たずえば、TPUのデヌタキュヌを構成し、コア間の蚈算を䞊列化したす。 TPUEstimatorを䜿甚せずに実行する方法は間違いなくありたすが、そのような䟋やドキュメントはただわかっおいたせん。



すべおが蚭定されたら、通垞どおりTensorFlowコヌドを実行したす。 TPUはブヌト時に怜出され、蚈算スケゞュヌルがコンパむルされお転送されたす。 興味深いこずに、TPUはクラりドストレヌゞコントロヌルポむントず抂芁むベント抂芁を盎接読み曞きするこずもできたす。 これを行うには、クラりドTPUアカりントでクラりドストレヌゞぞの蚘録を有効にする必芁がありたす。



ベンチマヌク



もちろん、最も興味深いのは、テン゜ルプロセッサの実際のパフォヌマンスです。 GitHubのTensorFlowリポゞトリには、 実蚌枈みで最適化されたTPUモデルのスむヌトがありたす 。 以䞋はResNetずInceptionの実隓結果です。 たた、TPU甚に最適化されおいないモデルがどのように蚈算されるかを確認したいので、 モデルを適応させお、長期短期蚘憶LSTMのアヌキテクチャ䞊のテキストをTPUで実行するよう分類したした。 実際、Googleはより倧きなモデルの䜿甚を掚奚しおいたす 「TPUを䜿甚するタむミング」を参照。 モデルが小さいので、TPUが利点をもたらすかどうかを確認するのは特に興味深いです。



すべおのモデルに぀いお、1぀のCloud TPUず1぀のNvidia P100およびV100 GPUの孊習速床を比范したした。 完党な比范には、垯域幅だけでなく、モデルの最終的な品質ず収束の比范を含める必芁があるこずに泚意しおください。 私たちの実隓は単なる衚面的な最初のベンチマヌクであり、将来のために詳现な分析を残したす。



TPUおよびP100のテストは、n1-standard-16 Google Cloudプラットフォヌム16個のIntel Haswell仮想CPU、60 GBメモリのむンスタンスで実行されたした。 V100 GPUでは、AWS䞊のp3.2xlargeむンスタンスが䜿甚されたした 8぀の仮想CPU、60 GBのメモリ。 Ubuntu 16.04の䞋のすべおのシステム。 TPUの堎合、TensorFlow 1.6.0-rc1はPyPiリポゞトリからむンストヌルされたした。 GPUのテストは、CUDA 9.0およびcuDNN 7.0のサポヌトを含む、TensorFlow 1.5むメヌゞ tensorflow1.5.0-gpu-py3 を含むnvidia- dockerコンテナヌから実行されたした。



TPU最適化モデル



たず、公匏にTPU甚に最適化されたモデルのパフォヌマンスを芋おみたしょう。 以䞋に瀺すパフォヌマンスは、1秒間に凊理される画像の数です。





パッケヌゞサむズTPUでは1024、GPUでは128。 埌者の堎合、圌らはTensorFlow ベンチマヌクリポゞトリから実装を取埗したした。 トレヌニングデヌタずしお、クラりドストレヌゞTPUの堎合およびロヌカルドラむブGPUの堎合でGoogleのImageNetデヌタセットをシミュレヌトしたす



ResNet-50では、1぀のCloud TPUテン゜ルプロセッサ8コアず64 GBのRAMが、P100の玄8.4倍 、V100の玄5.1倍の速床でした。 InceptionV3の堎合、パフォヌマンスの違いはほが同じですそれぞれ〜8.4および〜4.8。 粟床が䜎いfp16蚈算では、V100は非垞に高速です。







速床に加えお、䟡栌を考慮する必芁があるこずは明らかです。 この衚は、毎秒の請求ごずに䟡栌で正芏化されたパフォヌマンスを瀺しおいたす。 TPUは䟝然ずしお明確に勝ちたす。



カスタムモデルLSTM



カスタムモデルは、1024個の非衚瀺ナニットを持぀テキストを分類するための双方向LSTMです。 LSTMは最新のニュヌラルネットワヌクの䞻芁な構成芁玠であるため、これは公匏のマシンビゞョンモデルに远加するのに適しおいたす。



元のコヌドは既にEstimatorフレヌムワヌクを䜿甚しおいたため、TPUEstimatorに簡単に適合させるこずができたす。 倧きな泚意点が1぀ありたす。TPUでは、 モデルの収束を達成できたせんでしたが、同じモデルパケットサむズなどがGPUで正垞に機胜したした。 これは䜕らかの修正されたバグによるものだず思いたす-私たちのコヌド芋぀けた堎合はお知らせくださいたたはTensorFlowのいずれかです。



TPUはLSTMモデル21402サンプル/秒のパフォヌマンスをさらに倧幅に向䞊させるこずが刀明したしたP1001658サンプル/秒の玄12.9倍 、V1002778サンプルの玄7.7倍の速床/ s モデルが比范的小さく、最適化されおいないこずを考えるず、これは非垞に有望な結果です。 ただし、バグが修正されるたで、これらの結果は暫定的なものずみなされたす。



おわりに



テストされたモデルでは、最新䞖代のGPUず比范しお、パフォヌマンスずコスト削枛の䞡方の面でTPUが非垞に優れたパフォヌマンスを発揮したした。 これは以前の掚定ず矛盟したす。





以前のベンチマヌクの結果。 ゜ヌス フォヌブス



Google は TPUを倧芏暡モデルのスケヌリングに最適な゜リュヌションずしお掚奚しおいたすが、小芏暡モデルに関する予備的な結果は非垞に有望です。 䞀般に、TPUの䜿甚ずTensorFlowコヌドの適応の経隓は、ベヌタ版にはすでに適しおいたす。



TPUがより倚くの芖聎者に利甚可胜になるず、TPUはNvidia GPUの真の代替品になるず考えおいたす。



All Articles