ガジェット

ガジェット

Google開発の機械学習用チップ TPU(テンソルプロセッシングユニット)とは?CPUやGPUと異なる点

RankRED

RankRed is a place where you can find a lot of interesting and inspiring stuff about science and technology, internet, programming tools and plugins, robots, machines and high tech gadgets, and much more.

本記事は、What Is Tensor Processing Unit (TPU)? How Is It Different From GPU?
翻訳・再構成したものです。
配信元または著者の許可を得て配信しています。

186 views

読了時間 : 約5分21秒

・TPUは、ニューラルネットワークの機械学習用に特別に設計されたAIアクセラレータチップです。

・TPUはTensorFlowを含むディープラーニングタスクに適していますが、GPUはより汎用的で柔軟な超並列プロセッサです。

 

人工知能(AI)の一部門である機械学習は、技術分野の昨今の流行語です。驚異的な速さで機械学習の関連度と重要度が高まりつつありますが、いまだに従来のプロセッサは、トレーニングであっても、はたまたニューラルネットワーク処理であっても、効率的に機械学習を処理することができていません。

 

いくつかのメーカーは、高速グラフィックス処理用の高度な並列アーキテクチャを備えたGPUを構築しており、CPUよりも強力ですが、若干劣っています。

 

この問題に対処するために、Googleは、ニューラルネットワークの機械学習に使用されるAIアクセラレータのアプリケーション固有の集積回路を開発しました。デバイスはTensorFlow Framework用に特別に設計されているため、Tensor Processing Unit(TPU)と名付けられました。

 

知らない人のために説明すると、TensorFlowはデータフロープログラミングとさまざまな機械学習タスクのためのオープンソースライブラリです。 Googleによって開発され、MacOS、Windows、Linuxディストリビューションで利用できるようになりました。近年、GitHubで最も脚光を浴びるAIフレームワークの1つになりました。

 

TPUとGPUの違いは?

 

GPUは元々、画面上のグラフィックスを回転するために必要な大きな計算を処理し、ゲームアプリケーションで画面をレンダリングするなど、他のタイプのグラフィカルタスクを高速化するために構築されました。その目的は、CPUの過剰な負担を軽減し、他のプロセスを使用できるようにすることでした。

 

2007年、NVIDIAはCUDAと呼ばれる並列コンピューティングプラットフォームとアプリケーションプログラミングインターフェイスを開発しました。これにより、開発者はほとんどすべてのタイプのベクトル、スカラー、または行列の乗算と加算にGPUを使用できます。

 

従来のCPUには1〜16個のコアがありますが、GPUには数百個あります。 TPUとGPUは同じテクノロジーです。適切なコンパイラのサポートがあれば、両者は同じ計算タスクを達成できます。

 

 

現在のシナリオでは、GPUは従来のプロセッサとして使用でき、ニューラルネットワーク操作を効率的に実行するようにプログラムできます。一方、TPUは完全に汎用的なプロセッサではありません。サポート(コンパイラなど)がまだ利用できないため、TPUはTensorFlowモデル以外のものをほとんど実行できません。

 

TPUは市販で入手可能に

 

Googleは、機械学習モデルをトレーニングおよび実行するための独自の「クラウドTPU」を提供しています。クラウドTPU v2は、オンデマンドおよびプリエンプティブリソースの使用に対して課金されます。カスタム高速ネットワークは、180ペタフロップスのパフォーマンスと64 GBの高帯域幅メモリを提供します。

Googleの価格情報によると、各TPUの料金は1時間あたり4.50ドル(オンデマンド)です。製品ページに複数のモデルが掲載されています。バージョンごとに異なるクロック速度とメモリサイズがあります。

 

TPUアーキテクチャ

 

ユーザーは、TensorFlowを使用してTPUアクセラレータハードウェアで機械学習ワークロードを実行できます。 Cloud TPUは、プログラマーがGPU、TPU、およびCPUを使用できるTensorFlow計算クラスターを開発するのに役立ちます。また、ユーザーは、高水準のTensorflow APIを使用して、Cloud TPUハードウェア上で複製モデルを簡単に実行できます。

 

TPUはPCIインターフェースを介して、Googleクラウドマシンに接続されます。こうしてNVIDIAがグラフィカルな拡張カードを追加したことで、ゲーマーがPCのパフォーマンスを向上させることができます。

 

TPUチップに統合されたハードウェアサポートにより、広範囲のディープラーニングタスクにわたって線形のパフォーマンススケーリングが可能になります。

Cloud TPUハードウェアは4つの独立したチップで構成され、各チップにはTensorコアと呼ばれる計算コアが2つ含まれています。 Tensorコアは、ベクトル、スカラー、マトリックスユニット(MXU)、および16 GBのオンチップメモリ​​(HBM)で構成されています。

 

8つのコアのそれぞれが、ユーザータスクを独立して実行できますが、高帯域幅メモリにより、チップは互いに直接通信できます。

 

TPUの利点

 

GoogleのTPUを使用すると、多くの点で有益です。いくつかの利点を挙げてみました。

 

1、線形代数計算のパフォーマンスを大幅に改善できます。

2、大規模で複雑な機械学習モデルをトレーニングしながら、精度を得るまでの時間を最小限に抑えます。

3、コードを記述する必要なく、複数のマシンで計算をスケーリングできます。

4、新しいTPUバージョンは、以前は他のハードウェアプラットフォームで数週間かかっていたモデルを数時間でトレーニングできます。

 

クラウドTPUの使用条件

 

TPUは特定のタスクに対してのみ最適化されています。したがって、場合によっては、TPUよりもGPUを優先して使用する必要があります。以下にその条件をまとめています。

 

1、TensorFlowに記述されていないモデル。

2、TensorFlow opsを備えたモデルは、GoogleのクラウドTPUでは利用できません。

3、ソースを変更するのが難しすぎる、またはソースがまったく存在しないモデル。

4、CPUで少なくとも部分的に実行する必要があるカスタムTensorFlow操作を含むモデル。

 

CPUで少なくとも部分的に実行する必要があるカスタムTensorFlow操作を含むモデル。

 

以下は、GPUよりもTPUを優先すべき事例です。

 

1、カスタムTensorFlow操作を持たないモデル。

2、多くの行列計算を含むモデル。

3、巨大な効果的なバッチサイズを持つ大規模モデル。

4、数か月間のトレーニングを要するモデル。

 

用途

 

TPUは、Google DeepMindが開発したAlphaGoやAlphaZeroシステムなど、いくつかのGoogle製品や新しい開発品で使用されています。 AlphaZeroは、碁、将棋、チェスのゲームをマスターするために開発され、24時間以内に超人的なプレイレベルを達成し、それらのゲームの主要なプログラムを打ち負かすことができました。

 

また、このハードウェアをGoogle Street Viewのテキスト処理に使用したところ、5日以内にStreet Viewデータベースのすべてのテキストを抽出できました。

 

さらに、TPUは、RankBrainという名前の機械学習ベースの検索エンジンアルゴリズムで使用され、より関連性の高い検索結果を提供します。

 

Googleフォトでは、各TPUは1日に1億を超える画像を処理できます。

 

GoogleのTPUの競合製品

 

現在、NVIDIAは最新シリーズのGPU、TITANで機械学習プロセッサ市場を占有しています。これらは世界の最先端のアーキテクチャであるNVIDIA Voltaによって駆動され、新しいレベルのパフォーマンスを提供します。

 

たとえば、NVIDIA TITAN Vは、110 TeraFLOPSのパフォーマンスを実現できる211億個のトランジスタと640個のTensorコアを備えています。

Movidius(Intelが買収)は、電力に制約のあるデバイスで効率的に動作できるMyriad 2と呼ばれるVisual Processing Unit(VPUs)を製造しています。第3世代のVPUであるMyriad Xは、デバイス上のニューラルネットワークおよびコンピュータービジョンアプリケーションの有力な選択肢です。

 

2016年に、Intelは、トレーニングと推論の両方のためにNervanaという名前のAIプロセッサを発表しました。高速のオンチップおよびオフチップの相互接続を使用して設計されており、ニューラルネットワークパラメータが複数のチップに分散される真のモデル並列性を実現しています。

 

マイクロソフトは、クラウドでリアルタイムAIを提供するための深層学習プラットフォームであるProject Brainwaveに取り組んでいます。ディープニューラルネットワークの推論を加速するために、データセンターで高性能のフィールドプログラマブルゲートアレイ(FPGA)を使用しています。

 

AIチップには、IBM、ARM、Cerebras、Graphcore、Vathysなどが含まれます。まもなく、これらの機械学習チップが至る所で見られるようになるでしょう。

 

【セレキュトのおすすめpickup】
 
■クリエイターの実績、知識はあるけどいい仕事が見つからない方におすすめ!
 【レバテックフリーランス】
 ・案件数業界最大級、エージェントの理解が深い、発注額高、圧倒的低マージン、単価アップ交渉◎
 ・エンジニア勉強会の開催有り、就業後もサポート有り
 ・年収が上がったクリエイター多数
 ・案件)【Deep Learning】AIプロダクト開発の求人・案件/~900,000円/月 など
 ⇒レバテックフリーランスを見てみる
 
■今のクリエイター技術をもっと向上したい方におすすめ!
 【デジタルハリウッドSTUDIO by LIG】
 ・あのWeb制作のプロ集団「LIG」が運営の上野・池袋のWebクリエイター育成スクール
 ・6ヶ月で未経験からwebクリエイターへ、転職サポート◎
 ・映像教材はいつでもどこからでも受講可能
 ・LIG監修のオリジナル映像講座や特別LIVE授業など特典盛りだくさん!
 ・無料相談会受付中!
 ⇒デジタルハリウッドSTUDIO by LIGを見てみる

おすすめ新着記事

おすすめタグ