65
インテル FPGA Deep Learning Acceleration Suite とマイクロソフトの Brainwave HW 視点から比較してみる 竹村 幸尚 インテル株式会社 プログラマブル・ソリューションズ事業本部 シニア・テクノロジー・スペシャリスト DA22

インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

インテル FPGA の Deep Learning

Acceleration Suite とマイクロソフトの

Brainwave を HW 視点から比較してみる

竹村 幸尚

インテル株式会社

プログラマブル・ソリューションズ事業本部

シニア・テクノロジー・スペシャリスト

DA22

Page 2: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

FPGAとは

Page 3: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

汎用アクセラレーターとしてのFPGA

Page 4: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

• FPGAの性能向上

なぜFPGAアクセラレーションか

Page 5: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

CPU 対 FPGA

FPGA: 空間計算

FPGA

データ

命令

命令

命令

データ

命令

命令

命令

CPU: 時間的計算

CPU

命令

Page 6: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

FPGA アーキテクチャー: 基本エレメント

FPGAの基本エレメント

Page 7: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

FPGA アーキテクチャー: 基本エレメント

1-bit configurable

operation

Configured to perform any

1-bit operation:

AND, OR, INV, XOR, etc.

基本エレメント

1-bit register

(store result)

Page 8: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

FPGA アーキテクチャー: インターコネクト

基本エレメントは

フレキシブルなインターコネクト

(配線)に囲まれている

Page 9: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

FPGA アーキテクチャー: インターコネクト

カスタム回路は基本エレメントを

接続することで実現できる

… …

Page 10: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

… …

32-bit sqrt

Your custom 64-bit

bit-shuffle and encode

16-bit add

FPGA アーキテクチャー: カスタム回路

Page 11: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

FPGA アーキテクチャー: メモリーブロック

メモリー

ブロック

20 Kb

addr

data_in

data_out

Page 12: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

FPGA アーキテクチャー: メモリーブロック

メモリー

ブロック

20 Kb

addr

data_in

data_out

沢山の小型キャッシュ大型

キャッシュ

Page 13: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

data_in data_out

FPGA アーキテクチャー: 浮動小数点演算器

Page 14: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

FPGA アーキテクチャー: ルーティング

Page 15: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

FPGA アーキテクチャー: 再構成可能なI/O

Page 16: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

Project Brainwave

Page 17: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

FPGAの取り組み

Catapult v0

Catapult v1

スケール v1

Catapult v2

2011 2012 2013 2014 2015 2016 ...

Ignite

本番展開

Page 18: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

Hardware Microservices on FPGAs [MICRO’16]

Web search

ranking

Traditional software (CPU) server plane

QPICPU

QSFP

40Gb/s ToR

FPGA

CPU

40Gb/s

QSFP QSFP

Hardware acceleration plane

Web search

ranking

Deep neural

networks

SDN offload

SQL

CPUs

FPGAs

Routers

Page 19: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

DNN のための シリコンレベル の選択肢

DNN Processing Units

効率性柔軟性

Soft DPU(FPGA)

Contr

ol

Unit

(CU)

Register

s

Arithmet

ic Logic

Unit

(ALU)

CPUs GPUsASICsHard

DPU

Cerebras

Google TPU

Graphcore

Groq

Intel Nervana

Movidius

Wave Computing

Etc.

BrainWave

Baidu SDA

Deephi Tech

ESE

Teradeep

Etc.

Page 20: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

Project BrainWave

f f f

l0

l1

f f f

l0

Pretrained DNN モデル

CNTK などで

スケーラブルな DNN

ハードウェア マイクロサービス

BrainWave

Soft DPU

Instruction

Decoder & Ctrl

Neural FU

ネットワークスイッチ

FPGA

Page 21: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

BrainWave Stack

Pretrained DNN モデル を ソフト DPU にコンパイルするための

フレームワーク中立の連合コンパイラとランタイム

狭精度 DNN 推論のための適応型 ISA

変化目まぐるしいAI アルゴリズムをサポートする柔軟性と拡張性

BrainWave Soft DPU マイクロアーキテクチャ

高精度、低遅延バッチに最適

Intel の FPGA を スケールする HW マイクロサービスに展開

[マイクロ ' 16]

FPGA 上でモデルパラメータを完全に永続化するオンチップメモリは、

多数の FPGA にまたがってスケーリングすることにより、

大規模なモデルをサポート

Page 22: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

Brainwave コンパイラとランタイム

FPGA0 FPGA1

Add500

1000-dim ベクトル

1000-dim ベクトル

分割

500x500マトリックス

MatMul500

500x500マトリックス

MatMul500 MatMul500 MatMul500

500x500マトリックス

Add500Add500

Sigmoid500 Sigmoid500

分割

Add500

500 500

concat

500 500

500x500マトリックス

ターゲット

コンパイラ

FPGA

ターゲット

コンパイラ

CPU-CNTK

フロント

ポータブル IR

ターゲット

コンパイラ

CPU-カフェ

トランスフォーム IRs

グラフスプリッタとオプティマイザ

展開パッケージ

Caffeモデル

FPGA ハードウェアマイクロサービス

CNTKモデル

Tensorflowモデル

Page 23: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

一般的なシナリオ

=

O(N2) data

O(N2) compute

入力アクティベーション

出力前のアクティベーション

N ウェイトカーネル

O(N3) data

O(N4K2) compute

=

Page 24: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

従来の高速化アプローチ:ローカルのオフロードとストリーミング

FPGA2xCPU

DRAM で初期化された

モデルパラメータ

Page 25: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

従来の高速化アプローチ:ローカルのオフロードとストリーミング

FPGA2xCPU

DRAM で初期化された

モデルパラメータ

Page 26: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

バッチ処理による HW 使用率の向上

バッチサイズ

ハードウェア

利用

(%)

FPGA

Page 27: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

バッチ処理による HW 使用率の向上

バッチサイズ

99回目

待ち時

最大許可遅延

バッチサイズ

ハードウェア

利用

(%)

バッチ処理により HW の使用率が向上するが、待ち時間は増加

Page 28: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

バッチ処理による HW 使用率の向上

バッチサイズ

99回目

の待ち

時間

最大許可遅延

バッチサイズ

ハードウェア

利用

(%)

バッチ処理により HW の使用率が向上するが、待ち時間が増加

Page 29: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

代替: "永続的な" ニューラルネット

FPGA2xCPU

Page 30: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

代替: "永続的な" ニューラルネット

2xCPU

観測

Page 31: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

代替: "永続的な" ニューラルネット

2xCPU

Page 32: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

代替: "永続的な" ニューラルネット

2xCPU

Page 33: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

解決方法:データセンター規模での永続化

Page 34: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

Inter-Layer パイプラインの並列処理

2CPU

2CPU

2CPU

2CPU

2CPU

2CPU

2CPU

2CPU

LSTM

LSTM

LSTM

LSTM

LSTM

LSTM

LSTM

LSTM

Page 35: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

NPU

Page 36: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

FPGA MVU カーネル

Matrix Vector Unit

+

+

×

×+

×

×+

+

×

×+

×

×+

Page 37: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

インテル® OpenVINO™ツールキット

Page 38: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

ディープラーニング・トポロジーの推論処理

“head”

1

“head”

2

“head”

10

ニューラルネット

「本体」

イメージ

…ほとんどの計算は、ここで実行される

画像認識: CNN (ResNet)

音声認識・言語翻訳

特徴

インデックスの特徴

ベクトル

タグ

物体検出

後処理

サイズの変更 /

クロップ

イメージ

前処理

Page 39: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

OpenVINO™ ツールキット概要

OpenVINO™ Toolkit

OpenVXIntel OVX

Kernel

ExtensionsLibraries

Inference

Engine

Model

OptimizerTools

画像処理とディープ・ラーニングを使用した画像認識をサポート

インテル・アーキテクチャに最適化された、ヘテロジニアス対応ライブラリ

User program

Algorithms

OpenCVPre-trained

DL models

ディープラーニング

デプロイメント・

ツールキット

画像処理

Page 40: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

• 全インテル® アーキテクチャーで訓練済のモデルをデプロイ可能

• CPU、GPU、FPGA、など

• 最良の実行となるよう最適化

• ユーザーによる検証と調整が可能

• 全デバイスで使いやすいランタイム API

Caffe*

TensorFlow*

MxNet* .bin

IR.xml

推論

エン

ジン

共通

AP

I (

C+

+)

ロード・推論

CPU プラグイン

GPUプラグイン

FPGAプラグイン

モデル・

オプティマ

イザー

所定のターゲットを変換・

最適化

ディープ・ラーニング・デプロイメント・ツールキット

ONNX* Myriadプラグイン

Page 41: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

再掲:Brainwave コンパイラとランタイム

ターゲット

コンパイラ

FPGA

ターゲット

コンパイラ

CPU-CNTK

フロント

ポータブル IR

ターゲット

コンパイラ

CPU-カフェ

トランスフォーム IRs

グラフスプリッタとオプティマイザ

展開パッケージ

Caffeモデル

FPGA ハードウェアマイクロサービス

CNTKモデル

Tensorflowモデル

Page 42: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

OpenVINO™におけるFPGA実装

Page 43: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

インテル® FPGA DLAS の機能

• 一般的なトポロジーに向けたCNN アクセラ

レーション・エンジン

• グラフ・ループ・アーキテクチャー

• AlexNet、GoogleNet、LeNet、SqueezeNet、

VGG16、ResNet、Yolo、SSD、LSTM など

• ソフトウェア・デプロイメント

• FPGA のコンパイルは不要

• ランタイムでのリコンフィグレーションが可能

• カスタマイズされたハードウェア開発

• パラメーターを使用したカスタム・アーキテクチャーの

作成

• OpenCL™ フローを使用したカスタム・プリミティブ

畳み込み

PE アレイ

クロスバー

prim prim prim カスタム

DD

R

メモリー

読み取り/書き込み

特徴マップキャッシュ

DD

R

コンフィグレーション・エンジン

Page 44: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

DLA アーキテクチャー: 高パフォーマンス設計

• FPGA 上で最大限の並列化を実現

• Filter Parallelism (プロセッシング・エレメント)

• Input-Depth Parallelism

• Winograd Transformation

• Batching

• Feature Stream Buffer

• Filter Cache

• FPGA ビットストリームを選択

• Data Type / Design Exploration

• Primitive Support ReLU

Convolution /

Fully

Connected

Norm MaxPool

ストリーム・

バッファー

畳み込み

PE アレイ

クロスバー

ReLUMax

Pool

DDR

メモリー

読み取り/

書き込み

特徴マップキャッシュ

DDR

DDR

DDR

コンフィグレーショ

ン・エンジン

Norm

実行

Page 45: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

ReLUConvolution /

Fully ConnectedNorm MaxPool

AlexNet Graph

Conv ReLu Norm MaxPool Fully Conn.

ブロックはランタイムでリコンフィグレーションおよびバイパスが可能

ストリーム・

バッファー

Page 46: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

ReLUConvolution /

Fully ConnectedNorm MaxPool

AlexNet Graph

Conv ReLu Norm MaxPool Fully Conn.

ブロックはランタイムでリコンフィグレーションおよびバイパスが可能

ストリーム・バッファー

出力

入力

Page 47: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

ReLUConvolution /

Fully ConnectedNorm MaxPool

AlexNet Graph

Conv ReLu Norm MaxPool Fully Conn.

ブロックはランタイムでリコンフィグレーションおよびバイパスが可能

ストリーム・バッファー

出力

入力

Page 48: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

ReLUConvolution /

Fully Connected

AlexNet Graph

Conv ReLu Norm MaxPool Fully Conn.

ストリーム・バッファー

出力

入力

ブロックはランタイムでリコンフィグレーションおよびバイパスが可能

Page 49: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

ReLUConvolution /

Fully Connected

AlexNet Graph

Conv ReLu Norm MaxPool Fully Conn.

ブロックはランタイムでリコンフィグレーションおよびバイパスが可能

ストリーム・バッファー

出力

入力

Page 50: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

ReLUConvolution /

Fully Connected

AlexNet Graph

Conv ReLu Norm MaxPool Fully Conn.

ブロックはランタイムでリコンフィグレーションおよびバイパスが可能

ストリーム・バッファー

出力

入力

MaxPool

Page 51: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

ReLUConvolution /

Fully Connected

AlexNet Graph

Conv ReLu Norm MaxPool Fully Conn.

ブロックはランタイムでリコンフィグレーションおよびバイパスが可能

ストリーム・バッファー

出力

入力

Page 52: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

ReLUConvolution /

Fully Connected

AlexNet Graph

Conv ReLu Norm MaxPool Fully Conn.

ブロックはランタイムでリコンフィグレーションおよびバイパスが可能

ストリーム・バッファー

出力

入力

Page 53: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

Convolution /

Fully Connected

AlexNet Graph

Conv ReLu Norm MaxPool Fully Conn.

ブロックはランタイムでリコンフィグレーションおよびバイパスが可能

ストリーム・バッファー

出力

入力

Page 54: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

アーキテクチャー詳細

ReLU

Output

Writer 1

Filter

Reader

PE 1

Norm

PE 2

MaxPool

PE 3 PE 23

Input

Reader

DDR

PE

Sequencer

Output

Writer 2

Convolution/全結合 (1D systolic array of 24 PEs)

PE 24…

Stream BufferPE Feeder

Bias

Reader

DDR ring interconnect

Page 55: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

余談:Systolic Array

Arria 10

1150 PELoad B

PE

drain

PE PE PE

PE PE PE PE

PE PE PE PE

PE PE PE PE

feeder

feeder

feeder

feeder

Load Afeeder feeder feeder feeder

Drain C

DDR4

drain draindrain

Page 56: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

Convolution の効率的な並列処理

• 並列畳み込み• 同じConvolution層の異なるフィルター

が別のプロセッシング・エレメント (PE) で

並列的に処理されます

• ベクトル演算• 特徴マップの深度全体

• PE アレイ・ジオメトリーは、既定

のトポロジーのハイパーパラメーター

にカスタマイズ可能です

FPGA

ダブルバッファーOn-Chip RAM

フィルター(on-chip RAM)

フィ

ルタ

ー並

列処

(出力

深度

)

外部 DDR

56

Page 57: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

Winograd 変換

• より少ない乗算で畳み込みを実行します

• FPGA 上でより多くの畳み込みを可能にします

• 6 つの入力特徴エレメントと 3 つのフィルター・エレメン

トを必要とします

• 標準的な畳み込みには、12 回の乗算が必要です

• 変換された畳み込みに必要な乗算は 6 回です

ReLU

Convolution /

Fully

Connected

NormMaxPool

Winograd 変換

ストリーム・バッファー

Winograd 変換

Page 58: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

フィーチャ・キャッシュ

• 特徴データはオンチップにキャッシュ• 並列処理エレメントのデイジーチェーンにストリームされる

• ダブルバッファー

• 畳み込みとキャッシュの更新が同時進行

• 1つのサブグラフの出力が他のサブグラフの入力に

• 不必要な外部メモリーへのアクセスを解消

ダブルバッファーオンチップ RAM

ストリーム・

バッファー・サイズ

Page 59: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

フィルター・キャッシュ

• フィルター・ウェイトは、各プロセッシング・エレメントにキャッシュ• プリフェッチをサポートするためにダブルバッファーを使用

• 1つのセットが出力特徴マップの計算に使用されている間、別のセットがプリフェッチされる

DDRConv Conv

DDR

Page 60: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

DLA アーキテクチャーの選択

• 必要条件を満たす最適な FPGA イメージを選択

• 必要に応じてカスタムの FPGA イメージを作成

Page 61: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

異なるトポロジーに対するサポート

• 機能とパフォーマンスはトレードオフ

畳み込み PE アレイ

クロスバー

ReLU Norm MaxPool

メモリー

読み取り/

書き込み

特徴マップキャッシュ

コンフィグレー

ション・

エンジン

畳み込み PE アレイ

クロスバー

ReLU Norm MaxPool

メモリー

読み取り/

書き込み

特徴マップキャッシュ

コンフィグレー

ション・

エンジン

LRN

Permute

Concat FlattenSoftMax

Reshape

vs

Page 62: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

サポートされるプリミティブとトポロジー

トポロジー

✓ サポート有

✓ リクエストに応じてサポート有

✓ 将来的にサポートを予定

プリミティブ

✓AlexNet

✓GoogleNet v1 ✓SSD

✓ResNet18 ✓SSD

✓ResNet50

✓ResNet101

✓SqueezeNet ✓SSD

✓VGG16

✓Tiny Yolo

✓LeNet

✓batch norm ✓concat ✓ flatten

✓max pool ✓ relu, leaky relu ✓ lrn normalization

✓average pool ✓scale ✓ softmax

✓ inner product ✓permute ✓ prelu

✓ reshape ✓detection output ✓conv

✓prIOrbox ✓ fully connected ✓eltwise

✓bias ✓group conv ✓depthwise conv

✓ local conv ✓sigmoid ✓elu

✓power ✓crop ✓proporal

✓slice ✓depthwise conv ✓ roi pooling

✓dilated conv

✓ tanh ✓deconv

Page 63: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

精度を下げてデザインを検討してみる

• パフォーマンスと精度はトレードオフ• 精度を下げることで、より多くの処理が並列的に実行可能

• より小さい浮動小数点形式を使用するための、ネットワークの再トレーニングは不要

• FP11 は INT8/9 よりもメリットがある

• 再トレーニング不要、より良いパフォーマンス、精度の損失が少ない

FP11

FP10

FP9

FP8

Sign、指数5ビット、仮数10ビットFP16

Sign、指数5ビット、仮数5ビット

Sign、指数5ビット、仮数4ビット

Sign、指数5ビット、仮数3ビット

Sign、指数5ビット、仮数2ビット

Page 64: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

経験

ツール

フレームワーク

ライブラリ

ハードウエア

Intel® Distribution for Python*

Mlib BigDL

OpenVINO™

Toolkit

Intel® Nervana™ Cloud and Appliance

Intel Nervana Deep Learning Studio

Intel® Data Analytics Acceleration Library (DAAL) Intel® Math Kernel Library

(Intel® MKL, MKL-DNN)

Intel Nervana Graph¥

Memory and Storage Networking

¥Future*Other names and brands may be claimed as the property of others.

Compute – CPU, iGPU, VPU, FPGA, …

Page 65: インテル FPGA のDeep Learning Acceleration Suite …...Hardware Microservices on FPGAs [MICRO’16] Web search ranking Traditional software (CPU) server plane CPU QPI QSFP 40Gb/s

法的注意事項および免責条項本資料に記載されている情報は、開発中の製品、サービス、プロセスに関するものです。 ここに記載されているすべての情報は、予告なく変更されることがあります。インテルの最新の予測、スケジュール、仕様、およびロードマップをご希望の方は、インテルの担当者までお問い合わせください。

インテル® テクノロジーの機能と利点はシステム構成によって異なり、対応するハードウェアやソフトウェア、またはサービスの有効化が必要となる場合があります。詳細については、intel.com を参照するか、OEM や販売店にお問い合わせください。絶対的なセキュリティーを提供できるコンピューター・システムはありません。

テストでは、特定のシステムでの個々のテストにおけるコンポーネントの性能を文書化しています。ハードウェア、ソフトウェア、システム構成などの違いにより、実際の性能は掲載された性能テストや評価とは異なる場合があります。購入を検討される場合は、ほかの情報も参考にして、パフォーマンスを総合的に評価することをお勧めします。性能やベンチマーク結果について、さらに詳しい情報をお知りになりたい場合は、http://www.intel.com/performance (英語) を参照してください。

インテル® テクノロジーの機能と利点はシステム構成によって異なり、対応するハードウェアやソフトウェア、またはサービスの有効化が必要となる場合があります。実際の性能はシステム構成によって異なります。絶対的なセキュリティーを提供できるコンピューター・システムはありません。詳細については、各システムメーカーまたは販売店にお問い合わせいただくか、http://www.intel.co.jp/ を参照してください。

本資料は、(明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず) いかなる知的財産権のライセンスも許諾するものではありません。

OpenCL および OpenCL ロゴは Apple Inc. の商標であり、Khronos の許可を得て使用しています。

Intel、インテル、Intel ロゴ、Intel Inside、Intel Inside ロゴ、Arria、Avalon、Cyclone、Nios、 Stratix は、アメリカ合衆国および/またはその他の国における Intel Corporation またはその子会社の商標です。* その他の社名、製品名などは、一般に各所有者の表示、商標または登録商標です。

© 2018 Intel Corporation. 無断での引用、転載を禁じます。