FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス <a href="https://msyksphinz.github.io/github_pages/">

Computer Architecture 6th Editionの7章"Domain-Specific Architecture" を読む (7.3章の用語集)

ヘネパタ第6版こと、"Computer Architecture 6th Edition" では、第7章でドメイン固有アーキテクチャの章が新設された。 これを機会に、しっかり読んでいこう。

Computer Architecture, Sixth Edition: A Quantitative Approach (The Morgan Kaufmann Series in Computer Architecture and Design)

Computer Architecture, Sixth Edition: A Quantitative Approach (The Morgan Kaufmann Series in Computer Architecture and Design)

7.3章はがっつりディープニューラルネットワークの内容だ。用語集も入っている。これを機にしっかり勉強しよう。

目次

これは著者が読んだ内容をまとめているだけなので、誤訳、理解不足により誤っている可能性があります!鵜呑みにしないようにお願いします。


  • 一般用語
用語 略語 簡単な説明
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に転送される。