ヘネパタ第6版こと、"Computer Architecture 6th Edition" では、第7章でドメイン固有アーキテクチャの章が新設された。 これを機会に、しっかり読んでいこう。
- 作者: John L. Hennessy,David A. Patterson
- 出版社/メーカー: Morgan Kaufmann
- 発売日: 2017/12/07
- メディア: ペーパーバック
- この商品を含むブログを見る
7.3章はがっつりディープニューラルネットワークの内容だ。用語集も入っている。これを機にしっかり勉強しよう。
目次
- 7.1章 イントロダクション
- 7.2章 DSAのガイドライン
- 7.3章 DSAの用語集
- 7.3章 DNNのニューロン・トレーニングと推論
- 7.3章 多層パーセプトロン、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク
- 7.4章 Google's Tensor Processing Unit
- 7.5章 Microsoft Catapult, フレキシブルなデータセンタアクセラレータ
- 7.6章 Intel Crest, 学習のためのデータセンタアクセラレータ
- 7.7章 Pixel Visual Core, パーソナルモバイル画像処理ユニット)
これは著者が読んだ内容をまとめているだけなので、誤訳、理解不足により誤っている可能性があります!鵜呑みにしないようにお願いします。
- 一般用語
用語 | 略語 | 簡単な説明 |
---|---|---|
Domain-specific architectures | DSA | 特定のドメイン用に設計された専用プロセッサ。ドメイン外の処理は、他のプロセッサにより処理されることが期待されている。 |
Intellectual property block | IP | SOCにインテグレートすることのできるポータブルデザインブロック。 |
System on a chip | SOC | コンピュータのすべてのコンポーネントを含んだチップ; PMDなどで使われる。 |
- ディープニューラルネットワーク
用語 | 略語 | 簡単な説明 |
---|---|---|
Activation | - | 人工ニューロンが「活性化」した結果; 非線形関数の出力である。 |
Batch | - | フェッチ処理の負荷を減らすために、一緒に処理するデータセットのまとまり。 |
Convolutional neural network | CNN | 前のレイヤからの出力の、空間的に近くの領域の非線形関数の集合を入力として受け取り、それに重みを乗算するDNN。 |
Deep neural network | DNN | 人工ニューロンを多数レイヤとして並べたもの。各レイヤは、前段のレイヤからの出力に、重みを掛け合わせて非線形関数を適用する。 |
Inference | - | DNNの生産フェーズ、Prediction(推論)とも呼ばれる。 |
Long short-term memory | LSTM | 時系列の分類、処理、推論に適しているRNN。これは「セル:cells」と呼ばれるモジュールの階層構造により構成されている。 |
MultiLayer perceptron | MLP | 前のレイヤで、重みを掛け合わせた結果に対して非線形関数出力を適用したものを入力とするDNNのことを示す。これらのレイヤは全て結合されている。 |
Rectified Linear Unit | ReLU | f(x)=max(x,0) で表現される非線形関数。有名な他の非線形関数としては、Sigmoid関数やHyperbolic Tangent(tanh)関数などがある。 |
Recurrent neural network | RNN | 入力が、前のレイヤの出力と、前の状態であるDNNのこと。 |
Training | - | DNNの学習フェーズ。学習(learning)とも呼ばれる。 |
Weights | - | Trainingフェーズ中に学習される値; パラメータ(parameter)とも呼ばれる。 |
- TPU用語
用語 | 略語 | 簡単な説明 |
---|---|---|
Accumulators | - | 4096個の256×32-bit(=4MB)のレジスタ群で、MMUの出力を格納し、Activation Unitの入力値として使用する。 |
Activation Unit | - | 非線形関数(ReLU, sigmod, hyperbolic tangent, max pool, average pool)として動作する。Accumulatorから入力を受け取り、Unified Bufferに計算結果を出力する。 |
Matrix multiply Unit | MMU | 256×256個のシストリックアレイ状の8-bit算術演算ユニットで、積和演算を実行する。演算器の入力はWeight MemoryおよびUnified Bufferで、出力はAccumulatorに格納される。 |
Systoric Array | - | 処理ユニットのアレイで、近傍のデータを上位から受け取り、部分計算結果を計算し、同じ入力値とその計算結果を次の近傍の演算器に渡す。 |
Unified Buffer | UB | 25MBのオンチップメモリで、Activationを保持する。DNNの実行時には、Activationの結果をDRAMにすピルアウトしないようにサイズを調整する。 |
Weight memory | - | 8MBの外部DRAMチップで、MMUに渡す重み情報を保持する。重み情報はMMUに渡される前にWeight FIFOに転送される。 |