Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
IPDPS’17 の機械学習系論文
第3回 システム系輪講会
新井 淳也
平成29年8月2日 (水)
特に断りがない場合図表は当該論文からの引用です
2
自己紹介
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• 新井 淳也 (あらい じゅんや)
• NTT 勤務
• サービスイノベーション総合研究所 ソフトウェアイノベーションセンタ
• 並列分散処理やグラ...
3
IEEE IPDPS
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• International Parallel and Distributed Processing Symposium
• 並列分散処...
4
本日紹介する論文
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
Data and Graph Analytics セッション
• swDNN: A Library for Accelerating Deep...
5
Data and Graph Analytics セッション
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
swDNN: A Library for Accelerating Deep Learning A...
6
背景
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• 深層学習は NVIDIA の GPU がほぼ唯一
のプラットフォームとなっている
• 米中関係を考えると大きな問題なのだろう
• cf. CNN.co...
7
貢献
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
1. Convolution 層に関する SW26010 プロセッサ上の性能モデル
• 性能を左右する要因の発見
2. メモリバンド幅の消費を抑えるレジス...
8
Convolutional Neural Network (CNN)
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• Convolution (畳み込み) 層と pooling 層を含むニューラルネットワ...
9
問題定義
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• (学習でなく) 推論のうち, 処理時間の9割以上を占める convolution に注目
• 要するに下記の計算を速くする
// バッチ
// 出...
10
SW26010 の構造
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
Computing Processing Element (CPE)
同じ行または列のコアに限り 256bit ずつ通信可能
(reg...
11
Challenge: 狭いメモリ帯域幅
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• SW26010 の B/F 比は突出して小さい
• SW26010: 144GB/s / 3.06Tflops =...
12
貢献1:性能モデル
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• 計算をするためには必要なデータがメモリから届かなければならない
• もしメモリ階層がないならば, 性能の上限は
ピーク性能′
× mi...
13
貢献1:性能モデル (続き)
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• 実際はメモリには階層がある
• 階層ごとに MBW/RBW が積で影響する
ため, 性能の上限は
ピーク性能′
× min ...
14
性能モデルに基づく最適化
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
ピーク性能′ × min 1,
𝑀𝐵𝑊𝐿𝐷𝑀→𝑅𝐸𝐺
𝑅𝐵𝑊𝐿𝐷𝑀→𝑅𝐸𝐺
2
× min 1,
𝑀𝐵𝑊 𝑀𝐸𝑀→𝐿𝐷𝑀
𝑅𝐵𝑊 𝑀...
15
𝑹𝑩𝑴 𝑴𝑬𝑴→𝑳𝑫𝑴 の削減: LDM Blocking
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
バッチサイズが小さいとき用 バッチサイズが大きいとき用
16
𝑹𝑩𝑴 𝑳𝑫𝑴→𝑹𝑬𝑮 の削減: Register blocking
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• Convolution 計算を素直に記述する (右図上)
とレジスタ上のデータの再利...
17
貢献2:レジスタ通信による消費メモリ帯域の削減
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
(実際は 8x8 だが) CPE Mesh が 4x4 だとしたの場合の例
• Convolution 処理は...
18
貢献3:メモリアクセスと計算をオーバーラップさせるパイプライン設計
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• CPE は2つの命令パイプラインを持っている
• P0: 整数スカラ, FP, FP ...
19
評価 (vs. cuDNNv5 on K40m, 倍精度)
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• パラメータの変化が性能に影響せず常にピーク比50%近い性能を維持している
• 実際のモデルや画...
20
Novel Architectures セッション (1/2)
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
Accelerating Graph and Machine Learning Workloa...
21
背景
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• 共有メモリ環境でのメニーコアプロセッサの活用
が進んでいる
• しかしそれらの性能を機械学習やグラフ分析で
利用するのは依然難しい
• コア間通信,...
22
背景 (続き)
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
バリア同期
in parallel
図出典: A. Krizhevsky, I. Sutskever, and G. E. Hinton. I...
23
背景 (続き)
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• 同期せずに共有データを効率よく扱う方法としてメッセージ通信が研究されてきた
• メッセージ通信機能を備えたメニーコアプロセッサ: Tile...
24
解きたい問題
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• 共有メモリのプログラミングパラダイムをなるべく保ちつつ, メッセージ通信によって機
械学習やグラフ分析の性能を向上させるにはどうすればよいか?
25
前提とするメニーコアアーキテクチャ
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• 2D mesh interconnection network
• Private L1 & shared last-...
26
プログラミングモデル
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• 3つの方式を実装して性能を比較する
1. Traditional Shared Memory Synchronization (Sh...
27
1. Traditional Shared Memory Synchronization (Sh_Mem)
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• ベースライン
• スピンロックで mutex ...
28
2. Accelerating Synchronization (Acc)
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• ロック管理スレッドを立て, メッセージ通信によってロックを実現
• 利点:キャ...
29
3. Moving Computation to Data (MC)
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• Worker と service の2種類にスレッドで分業
• Worker: 並列...
30
3. Moving Computation to Data (CNNの場合)
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
in parallel
入力チャネル数が増えるとタイル (並列化処理単位)
1つ...
31
評価 (SSSP)
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• 処理時間について
• Acc は Sh_Mem と比べ memory と
compute stalls が大幅に減少
• MC は計算...
32
評価 (CNN-ALEXNET)
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• 各レイヤーの処理コストが高く相対的に同期コストが低いので高速化率も低め
• Acc はスピンがなくなる分命令発行数が減り...
33
評価 (そのほかのアルゴリズム)
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
34
Novel Architectures セッション (2/2)
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
MOCHA: Morphable locality and compression aware...
35
背景
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• 組み込み環境における CNN を用いた推論は消費電力が依然として challenging
• 性能は FPGA や GPU である程度達成できている...
36
提案アーキテクチャ:MOCHA
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
柔軟な並列化方式 + 効率的なメモリアクセス による効率的な convolution
• Minimizing DRAM ac...
37
Convolution の並列化方式
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• Intra OFMP (output feature map parallelism):
• 全 PE が同じフィル...
38
メモリ階層
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
39
メモリ構造の特徴
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
1. スライディングウィンドウ計算への最適化
2. 複数レジスタファイルへのマルチキャスト
3. ストリーミング転送
40
1. スライディングウィンドウ計算への最適化
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• レジスタファイルと PE (DPU) 間の接続を変化させることでスライディングウィンドウ計算を実現
• 重複...
41
1. スライディングウィンドウ計算への最適化 (続き)
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• レジスタファイルと PE 間の接続関係
を変更できるようにスイッチを持つ
42
2. 複数レジスタファイルへのマルチキャスト
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• L1 は 2KB のメモリバンクをメッシュ状の Network-on-Chip (NoC) で接続したもの
...
43
3. ストリーミング転送
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• メモリバンクーレジスタファイル間の接続 (NoC) は回線交換方式
• パケット方式より面積・電力とも効率が良い
• メモリバン...
44
実行プラン決定アルゴリズム
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• ブロックサイズやフィルタの割り当て, メモリ配置など
CNN の構造依存の要素がある
• LEON3 プロセッサ上で構造を分析...
45
評価
新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
• 既存の NN 用プロセッサと比較
• 回路上のオーバーヘッドはあるものの, スループットとエネルギー効率は良い
第3回システム系輪講会:IPDPS'17 の機械学習系論文
Upcoming SlideShare
Loading in …5
×

第3回システム系輪講会:IPDPS'17 の機械学習系論文

166 views

Published on

次の3件の論文を紹介しました:
swDNN: A Library for Accelerating Deep Learning Applications on Sunway TaihuLight
Accelerating Graph and Machine Learning Workloads Using a Shared Memory Multicore Architecture with Auxiliary Support for in-Hardware Explicit Messaging
MOCHA: Morphable locality and compression aware architecture for convolutional neural networks

Published in: Technology
  • Be the first to comment

  • Be the first to like this

第3回システム系輪講会:IPDPS'17 の機械学習系論文

  1. 1. IPDPS’17 の機械学習系論文 第3回 システム系輪講会 新井 淳也 平成29年8月2日 (水) 特に断りがない場合図表は当該論文からの引用です
  2. 2. 2 自己紹介 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • 新井 淳也 (あらい じゅんや) • NTT 勤務 • サービスイノベーション総合研究所 ソフトウェアイノベーションセンタ • 並列分散処理やグラフ分析の研究をしています • SC と DEIM (データ工学と情報マネジメントに関するフォーラム) によく居ます • 今日は IPDPS’17 から機械学習関連 (実質的には CNN 関連) の論文を 紹介します • 深層学習は素人ですが, 自分の分野での扱いを知っておこうと思い読みました • 間違いもあると思うので指摘してください
  3. 3. 3 IEEE IPDPS 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • International Parallel and Distributed Processing Symposium • 並列分散処理に関するトップ会議の一つ • IPDPS’17 は 5/29–6/2 @Orlando, FL ※私は参加していません IPDPS’16 の論文 タイトルワードクラウド
  4. 4. 4 本日紹介する論文 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. Data and Graph Analytics セッション • swDNN: A Library for Accelerating Deep Learning Applications on Sunway TaihuLight • 現在 TOP500 の1位である神威太湖之光における convolution 処理の最適化 Novel Architectures セッション • Accelerating Graph and Machine Learning Workloads Using a Shared Memory Multicore Architecture with Auxiliary Support for in-Hardware Explicit Messaging • メニーコアプロセッサにコア間メッセージ交換の仕組みを導入することでグラフ処理や DNN を高速化 • MOCHA: Morphable locality and compression aware architecture for convolutional neural networks • CNN の推論においてメモリアクセスの局所性を高めデータ圧縮も行うプロセッサの提案  CNN 関連の論文を抽出. 深層学習関連では他に1本 (理論的解析に関するもの) 他の機械学習関連ではテンソル計算や Spark の高速化に関するものがある  CNN がベンチマーク向けのタスクとなりつつある?
  5. 5. 5 Data and Graph Analytics セッション 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. swDNN: A Library for Accelerating Deep Learning Applications on Sunway TaihuLight • Jiarui Fang, Haohuan Fu, Wenlai Zhao, Bingwei Chen, Weijie Zheng, Guangwen Yang (Tsinghua U. & National Supercomputing Center in Wuxi)
  6. 6. 6 背景 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • 深層学習は NVIDIA の GPU がほぼ唯一 のプラットフォームとなっている • 米中関係を考えると大きな問題なのだろう • cf. CNN.co.jp : 中国製スパコンの核研究利用が 判明、米国がチップ輸出を禁止 (2015.04.12) • 代替として SW26010 プロセッサ向けの swDNN ライブラリを開発中 • SW26010:現在 TOP500 の一位である神威・ 太湖之光 (Sunway TaihuLight) が使用して いる中国製メニーコアプロセッサ • 現在は CNN 向けの開発に注力している http://www.itmedia.co.jp/news/articles/1606/21/news061.html
  7. 7. 7 貢献 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. 1. Convolution 層に関する SW26010 プロセッサ上の性能モデル • 性能を左右する要因の発見 2. メモリバンド幅の消費を抑えるレジスタ通信方式 3. メモリアクセスと計算をオーバーラップさせる命令パイプライン設計 • ピーク性能比54% (1.6Tflops/3.06Tflops, 1プロセッサあたり) を達成 • 倍精度, convolution についてのみ • 比較対象である K40m 上の cuDNN も同程度のピーク性能比
  8. 8. 8 Convolutional Neural Network (CNN) 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • Convolution (畳み込み) 層と pooling 層を含むニューラルネットワーク • 画像認識において特に広く利用されている • 分かりやすい解説記事が多数公開されているのでここでは割愛 (たとえば https://deepage.net/deep_learning/2016/11/07/convolutional_neural_network.html) 画像出典: https://deepage.net/deep_learning/2016/11/07/convolutional_neural_network.html
  9. 9. 9 問題定義 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • (学習でなく) 推論のうち, 処理時間の9割以上を占める convolution に注目 • 要するに下記の計算を速くする // バッチ // 出力X // 出力Y // 入力チャネル数 // フィルタ数 // フィルタX // フィルタY 読んでいるときに分からなかったこと: • B が未定義 (文脈的には画像の数のように見える) • cNi が使われていない • in には cNi が, filter には cNi と cNo がインデックスとして必要では?
  10. 10. 10 SW26010 の構造 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. Computing Processing Element (CPE) 同じ行または列のコアに限り 256bit ずつ通信可能 (register communication) 64KB Local directive memory (a.k.a. scratch pad memory)
  11. 11. 11 Challenge: 狭いメモリ帯域幅 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • SW26010 の B/F 比は突出して小さい • SW26010: 144GB/s / 3.06Tflops = 0.04 B/flops • K80: 480GB/s / 2.91Tflops = 0.16 B/flops • K40: 288GB/s / 1.43Tflops = 0.2 B/flops • SPARC64VIIIfx (京): 0.5 B/flops • Xeon X5670: 0.84 B/flops • 消費メモリ帯域幅に注目すれば convolution の性能を見積もれる
  12. 12. 12 貢献1:性能モデル 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • 計算をするためには必要なデータがメモリから届かなければならない • もしメモリ階層がないならば, 性能の上限は ピーク性能′ × min 1, 𝑀𝐵𝑊 𝑅𝐵𝑊 2 • ピーク性能’: パイプラインストールなどによる実行効率低下を加味したピーク性能 • RBW: ピーク性能を出すために必要なメモリ帯域幅 (required bandwidth) • MBW: マシンが発揮できるメモリ帯域幅 (measured bandwidth) 2次元の特徴マップを使う ので2乗で性能に影響する
  13. 13. 13 貢献1:性能モデル (続き) 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • 実際はメモリには階層がある • 階層ごとに MBW/RBW が積で影響する ため, 性能の上限は ピーク性能′ × min 1, 𝑀𝐵𝑊𝐿𝐷𝑀→𝑅𝐸𝐺 𝑅𝐵𝑊𝐿𝐷𝑀→𝑅𝐸𝐺 2 × min 1, 𝑀𝐵𝑊 𝑀𝐸𝑀→𝐿𝐷𝑀 𝑅𝐵𝑊 𝑀𝐸𝑀→𝐿𝐷𝑀 2 • この数値を大きくすれば速くなる! ピーク性能を出すた めに必要なレジスタ- LDM間帯域 𝑅𝐵𝑊𝐿𝐷𝑀→𝑅𝐸𝐺 ピーク性能を出すた めに必要なメモリ- LDM間帯域 𝑅𝐵𝑊 𝑀𝐸𝑀→𝐿𝐷𝑀 DMA ブロック サイズで変動
  14. 14. 14 性能モデルに基づく最適化 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. ピーク性能′ × min 1, 𝑀𝐵𝑊𝐿𝐷𝑀→𝑅𝐸𝐺 𝑅𝐵𝑊𝐿𝐷𝑀→𝑅𝐸𝐺 2 × min 1, 𝑀𝐵𝑊 𝑀𝐸𝑀→𝐿𝐷𝑀 𝑅𝐵𝑊 𝑀𝐸𝑀→𝐿𝐷𝑀 2 • 上式の値を大きくするためには… • 𝑅𝐵𝑊 𝑀𝐸𝑀→𝐿𝐷𝑀 と 𝑅𝐵𝑊𝐿𝐷𝑀→𝑅𝐸𝐺 を削減する ループ順序入れ替えとブロッキングによる局所性の向上 各コアの LDM 間における重複データの排除 (貢献2) • 𝑀𝐵𝑊 𝑀𝐸𝑀→𝐿𝐷𝑀 を増加させる DMA ブロックサイズを充分大きくする • 256B 以上が望ましいことをマイクロベンチマークで確認 DMA ブロック サイズで変動
  15. 15. 15 𝑹𝑩𝑴 𝑴𝑬𝑴→𝑳𝑫𝑴 の削減: LDM Blocking 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. バッチサイズが小さいとき用 バッチサイズが大きいとき用
  16. 16. 16 𝑹𝑩𝑴 𝑳𝑫𝑴→𝑹𝑬𝑮 の削減: Register blocking 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • Convolution 計算を素直に記述する (右図上) とレジスタ上のデータの再利用率を高めにくい • そこで複数画像に跨ったバッチ処理 (右図下) に よりレジスタ上のデータの再利用率を高める フィルタの行・列に対するブロックサイズ. フィルタは小さいのでブロックサイズを大きくできない. 入力バッチサイズと特徴マップに適用するフィルタの 数に対するブロックサイズ. 大きくしやすい.
  17. 17. 17 貢献2:レジスタ通信による消費メモリ帯域の削減 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. (実際は 8x8 だが) CPE Mesh が 4x4 だとしたの場合の例 • Convolution 処理は行列乗算を伴う 𝐷 𝑜 += 𝑊𝐷𝑖 • その際各コアの LDM 間で重複したデー タの保持をなくしたい • メモリアクセスを減らし 𝑅𝐵𝑀 𝑀𝐸𝑀→𝐿𝐷𝑀 を削減 • そこで行列のデータを重複なくタイル状に 各コアへ分割する • 必要なデータはレジスタ通信 (コア間 通信) によってやり取りする
  18. 18. 18 貢献3:メモリアクセスと計算をオーバーラップさせるパイプライン設計 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • CPE は2つの命令パイプラインを持っている • P0: 整数スカラ, FP, FP ベクトル計算 • P1: 整数スカラ, メモリロード・ストア, レジスタ通信 • 1つの命令デコーダから2つのパイプラインに振り分ける • In-order 実行 (明記されていないがおそらく) • ストール最小化のため手動でアセンブラ命令を 並べ替える • 「Sunway C コンパイラがやってくれないので」
  19. 19. 19 評価 (vs. cuDNNv5 on K40m, 倍精度) 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • パラメータの変化が性能に影響せず常にピーク比50%近い性能を維持している • 実際のモデルや画像データを使ったとは書かれていないので, 単に計算を回しただけだと思われる 入力チャネル数と出力チャネル数を 変化させた場合の性能 (Gflops) フィルタサイズと入力チャネル数を変化させた 場合の性能 (Gflops)
  20. 20. 20 Novel Architectures セッション (1/2) 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. Accelerating Graph and Machine Learning Workloads Using a Shared Memory Multicore Architecture with Auxiliary Support for in-Hardware Explicit Messaging • Halit Dogan, Masab Ahmad, Farrukh Hijaz, Brian Kahne, Peter Wilson, Omer Khan (U. Connecticut, USA & NXP Semiconductors, USA)
  21. 21. 21 背景 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • 共有メモリ環境でのメニーコアプロセッサの活用 が進んでいる • しかしそれらの性能を機械学習やグラフ分析で 利用するのは依然難しい • コア間通信, メモリの一貫性維持, データ依存性, ... • 特に同期処理は主なボトルネックとなる • 同じデータを並行に操作する際のロック (mutex), 複数スレッドの処理完了を待つランデブー
  22. 22. 22 背景 (続き) 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. バリア同期 in parallel 図出典: A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classification with deep convolutional neural networks. NIPS2012.
  23. 23. 23 背景 (続き) 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • 同期せずに共有データを効率よく扱う方法としてメッセージ通信が研究されてきた • メッセージ通信機能を備えたメニーコアプロセッサ: Tilera [MICRO ’07], Tesseract [ISCA ‘15] • 性能は出るがプログラミングパラダイムが共有メモリのスタイルから変化してしまう コア コア メモリ データ コア コア メモリ 共有メモリにおける一般的な並列処理 • メモリ上のデータを介して情報をやり取りする • 複数コアが同時に操作するので排他制御が必要 メッセージ通信ベースの並列処理 • データを操作するコアは1つ • メッセージのやり取りによる協調制御 データ メッセージ
  24. 24. 24 解きたい問題 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • 共有メモリのプログラミングパラダイムをなるべく保ちつつ, メッセージ通信によって機 械学習やグラフ分析の性能を向上させるにはどうすればよいか?
  25. 25. 25 前提とするメニーコアアーキテクチャ 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • 2D mesh interconnection network • Private L1 & shared last-level cache • 明示的メッセージ通信命令を備える • Send: スレッド ID 指定によるノンブロッキング送信 • Recv: 受信メッセージキューからの取り出し (キューが空ならブロック) • Sendr (send w/ rendezvous): Send 後, 受信側が Resumer を実行するまでブロック • Resumer (resume rendezvous): Sendr に応答するためのノンブロッキング命令 • 評価ではこのようなプロセッサの cycle-accurate なシミュレータを使用
  26. 26. 26 プログラミングモデル 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • 3つの方式を実装して性能を比較する 1. Traditional Shared Memory Synchronization (Sh_Mem) 2. Accelerating Synchronization (Acc) 3. Moving Computation to Data (MC) • 方式自体はいずれも新しい提案ではないが, 機械学習とグラフ分析で性能を評価した点が 新しい (と主張している)
  27. 27. 27 1. Traditional Shared Memory Synchronization (Sh_Mem) 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • ベースライン • スピンロックで mutex を実装 • 低速, 高消費電力 • スピン中の命令発行 • キャッシュコヒーレンシプロトコルによる通信 owner = -1 // -1 のとき所有者なし function lock(): while owner != myID do // 以下を atomic に実行 owner  myID if owner = -1 function unlock(): owner  -1 if owner = myID
  28. 28. 28 2. Accelerating Synchronization (Acc) 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • ロック管理スレッドを立て, メッセージ通信によってロックを実現 • 利点:キャッシュブロックを共有せず, スピンもしないので, 高速かつ低消費電力 スレッド 2 スレッド 0 メモリ owner = -1 lock() スレッド 1 スレッド 3 lock() lock() スレッド 2 スレッド 0 メモリ owner = 2 失敗 スレッド 1 スレッド 3 成功 失敗
  29. 29. 29 3. Moving Computation to Data (MC) 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • Worker と service の2種類にスレッドで分業 • Worker: 並列に実行できる部分を処理 • Service: 排他処理が必要な部分を処理 • 利点1:高いメモリアクセス局所性 • Acc では実際にデータを書き換えるのは (ここでいう) worker だったので, スレッド間でデータの共有が発生する • MC では service だけがデータを書き換える (これを moving computation to data と呼んでいる) • 利点2:計算と通信のオーバーラップ • Service thread の応答を待たずに worker は処理を 継続できるので, 通信時間が隠蔽される • より細粒度の並列化が可能になり負荷均一化も
  30. 30. 30 3. Moving Computation to Data (CNNの場合) 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. in parallel 入力チャネル数が増えるとタイル (並列化処理単位) 1つ当たりの処理コストが増加し負荷不均衡を引き起こす 処理単位の細粒度化 (チャネルごとの並列 処理) により負荷均一化
  31. 31. 31 評価 (SSSP) 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • 処理時間について • Acc は Sh_Mem と比べ memory と compute stalls が大幅に減少 • MC は計算と通信のオーバーラップで communication stall が減少 スケーラビリティ (vs. 各1スレッド時) 処理時間 (vs. Sh_Mem) 消費電力 (vs. Sh_Mem) • 消費電力について • Acc はスピンがなくなり消費電力が低減 • MC の Core が増加しているのは test-test-set が test-set になったため
  32. 32. 32 評価 (CNN-ALEXNET) 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • 各レイヤーの処理コストが高く相対的に同期コストが低いので高速化率も低め • Acc はスピンがなくなる分命令発行数が減り高速・低消費電力化 • MC では細粒度並列処理による負荷均一化により Acc より高速化 スケーラビリティ (vs. 各1スレッド時) 処理時間 (vs. Sh_Mem) 消費電力 (vs. Sh_Mem)
  33. 33. 33 評価 (そのほかのアルゴリズム) 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
  34. 34. 34 Novel Architectures セッション (2/2) 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. MOCHA: Morphable locality and compression aware architecture for convolutional neural networks Syed M. A. H. Jafri, Ahmed Hemani, Kolin Paul, Naeem Abbas (Royal Inst. of Tech., Sweden & National U. of Sci. & Tech., Pakistan)
  35. 35. 35 背景 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • 組み込み環境における CNN を用いた推論は消費電力が依然として challenging • 性能は FPGA や GPU である程度達成できている • そこでカスタムチップ (ASIC) の研究が行われている • しかし既存研究には次のような問題がある: • Minimizing DRAM access by compression • データの圧縮が限定的 (classification layer のみ, あるいは入力画像とフィルタのどちらか一方のみ) • Lack of flexibility • 最適な処理方法は CNN の構造によって異なるが, 対応できない • 例えば常に同じ並列化方式を用いるため Processing Element (PE) を使い切れないことがある • Manual mapping • CNN のアクセラレータへのマッピング (どのメモリ階層に何のデータを置くか, どの PE で何の計算をするか, …) が手動
  36. 36. 36 提案アーキテクチャ:MOCHA 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. 柔軟な並列化方式 + 効率的なメモリアクセス による効率的な convolution • Minimizing DRAM access に対して: • 入力データとフィルタの両方を圧縮 • ランレングス圧縮/展開を回路で実現 • Lack of flexibility に対して: • FPGA のように一部構造が reconfigurable • 事前に CNN のネットワーク構造を分析して メモリの構造を最適化 • Manual mapping に対して: • 事前に CNN の構造を分析してデータの配置 (右図例) と PE への処理の割り当てを決定
  37. 37. 37 Convolution の並列化方式 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • Intra OFMP (output feature map parallelism): • 全 PE が同じフィルタ (カーネル) を担当 • Pros: 並列度高 • Cons: PE 間で重複したデータロードが発生 • Inter OFMP: • 全 PE が同じ入力領域を担当 • Pros: データの重複ロードがない • Cons: フィルタ数で並列度が制限される • Clustered OFMP: • 上記2つの合いの子. MOCHA はこれを採用 • 事前分析により CNN の構造に合わせて パラメタ (クラスタの分け方など) を最適化 この方式を高速に実行できるように メモリ構造を設計する
  38. 38. 38 メモリ階層 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会.
  39. 39. 39 メモリ構造の特徴 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. 1. スライディングウィンドウ計算への最適化 2. 複数レジスタファイルへのマルチキャスト 3. ストリーミング転送
  40. 40. 40 1. スライディングウィンドウ計算への最適化 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • レジスタファイルと PE (DPU) 間の接続を変化させることでスライディングウィンドウ計算を実現 • 重複データのロードが減る ※ DPU: Data Processing Unit (= PE) ナイーブな処理では Image の 2, 4 を一度 レジスタから捨てて再度 load する必要が生じる. レジスタファイルと PE の接続を変更することで 5 と 6 の追加 load のみで済むようになる.
  41. 41. 41 1. スライディングウィンドウ計算への最適化 (続き) 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • レジスタファイルと PE 間の接続関係 を変更できるようにスイッチを持つ
  42. 42. 42 2. 複数レジスタファイルへのマルチキャスト 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • L1 は 2KB のメモリバンクをメッシュ状の Network-on-Chip (NoC) で接続したもの • レジスタファイルも同じ NoC に接続されている • 各メモリバンクからは同時に複数のレジスタファイルへデータを転送可能 それぞれ2つ以上の PE へ同じ入力 特徴マップとフィルタが転送されている  マルチキャストで効率化
  43. 43. 43 3. ストリーミング転送 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • メモリバンクーレジスタファイル間の接続 (NoC) は回線交換方式 • パケット方式より面積・電力とも効率が良い • メモリバンクとレジスタファイルの接続を変更する際にはストールが 発生し得る • それを避けるため, 2つの仕組みを使用 1. バンクのクラスタ化 • 複数バンクをまとめて仮想的に1つの大きな連続メモリ領域を作る • 画像 (特徴マップ) やカーネル (フィルタ) を格納する 2. クラスタからのストリーミング転送 • クラスタ内のバンク 𝑖 𝑝 から 𝑛 箇所を 𝑛 サイクルかけてレジスタファイル へ転送, その直後 (𝑛 + 1 サイクル目) より次のバンク 𝑖 𝑝+1 から 𝑚 箇所を 𝑚 サイクルかけて転送…… というような処理をプログラムしておくことができる クラスタ
  44. 44. 44 実行プラン決定アルゴリズム 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • ブロックサイズやフィルタの割り当て, メモリ配置など CNN の構造依存の要素がある • LEON3 プロセッサ上で構造を分析しそれらの パラメタを自動的に決定する • 詳細は割愛 事前分析用 プロセッサ
  45. 45. 45 評価 新井淳也, "IPDPS'17 の機械学習系論文," 第3回システム系輪講会. • 既存の NN 用プロセッサと比較 • 回路上のオーバーヘッドはあるものの, スループットとエネルギー効率は良い

×