大規模並列環境での機械学習処理とその応用～「富岳」におけるMLPerf HPCや津波AIへの応用～
2021.9.2
富士通株式会社
福本 尚人

0Copyright 2021 FUJITSU LIMITED自己紹介◼ 福本 尚人◼ 富士通(株) 研究本部 ICTシステム研究所 先端コンピューティングPJ
プロジェクトマネージャー◼ 高性能計算機のアプリ高速化に関する研究開発のマネジメント担当◼ 略歴2006年九州大学工学部電気情報工学科、2008年同大学大学院修士修了、2012年同大学博士後期課程修了
同年富士通（株）に入社、以来、PCクラスタ高速化技術、並列計算環境高速化技術の研究開発に従事。
博士（工学）。
平成30年度文部科学省科学技術賞開発部門「大規模PCクラスタ構築技術の開発」を他4名と受賞。

◼ 関わったスーパーコンピュータ◼ 東大・筑波大(JCAHPC) Oakforest-PACS、産総研 ABCI： HPL高速化と計測◼ 九州大学、名古屋大学、北海道大学、理化学研究所のPCクラスタ: HPL高速化と計測◼ 「富岳」: AIソフトスタックの開発
1

Copyright 2021 FUJITSU LIMITEDAIを中心としたスーパーコンピューティング技術の応用例◼ 大規模AI計算の高速化◼ A64FXシステム向けAI環境◼ MLPerf HPCベンチマークの高速化◼ AIを活用した津波予測

2

Copyright 2021 FUJITSU LIMITED大規模AI計算の高速化

3

Copyright 2021 FUJITSU LIMITEDAIの広がり◼ AI技術を組み込んだアプリが急速に増加◼ 様々な分野の処理にニューラルネットワーク（NN）が組み込まれる
国内AIシステム市場
エンドユーザーベース支出額予測

AIアプリ

カメラ映像の異常検出

動画のセグメンテーション

言語処理（翻訳など）

AIソフトウェアプラットフォーム
ソース：IDC Japan, May 2020

4

Copyright 2021 FUJITSU LIMITEDNN（ニューラルネットワーク）の進化と計算量の増加◼ 日進月歩でより精度が高いNNが提案される◼ 精度が高いNNほど、計算量が増加する傾向がある
NNの画像認識率と計算量の関係[1]AIアプリ

画像認識率(%)

高ハイエンドGPU

計算量(Gops)

実行時間、電力消費、運用コストの増加

大[1] A. Canziani, et al, “An Analysis of Deep Neural Network Models for Practical Applications”, arxiv, 2016
5

Copyright 2021 FUJITSU LIMITEDディープラーニングの学習処理
認識結果

差分

重みパラメタ重みパラメタニューロン層3(w)(∇E)

各ニューロンの差分
重みパラメタdata

ニューロン層2

勾配情報
勾配情報

重みパラメタ

勾配情報

data

ニューロン層1

入力層

多数のニューロンからなる層(Layer)

差分

重みパラメタdata

勾配情報

label (正解)

Copyright 2021
FUJITSU6

ディープラーニングの学習処理
認識結果

差分

重みパラメタ重みパラメタニューロン層3(w)

勾配情報
勾配情報

(∇E)

重みパラメタ

入力層

Backward
Update

勾配情報
差分

data

ニューロン層1

Forward
差分

data

ニューロン層2

学習処理サイクル

重みパラメタdata

勾配情報

label (正解)

Copyright 2021FUJITSU

7

並列環境でのディープラーニングの学習処理
勾配(∇E)
勾配ニューロン層3ニューロン層
2ニューロン層
1
入力層

重み(w)

(Σ∇E)

勾配(∇E)
勾配重み(w)

勾配(∇E)
勾配重み(w)(Σ ∇E)

重み(w)勾配(∇E)
勾配(Σ∇E)

data_0

(Σ∇E)

重み(w)

勾配(∇E)
勾配重み(w)(Σ ∇E)

重み(w)

勾配
(∇E)
勾配(Σ∇E)

data_1

学習処理サイクル

勾配(∇E)
勾配(Σ∇E)

ForwardBackward
All-reduce

勾配(∇E)
勾配重み(w)(Σ ∇E)

重み(w)

勾配
(∇E)
勾配(Σ∇E)

Updatedata_2All-reduce（集約処理）
Copyright 2021
FUJITSU8

並列環境でのディープラーニングの学習処理の課
題◼ 通信している間、計算が止まるため、その分遅くなる「重みパラメタの要素数」が多い場合、大きくなる「ノード数」の増加に伴い、大きくなる
集約処理によるオーバヘッド

計算

ForwardBackward

Update通信

All-reduce時間

基本的なアイディア◼通信時間を他の計算時間に隠蔽◼通信時間を短縮
Copyright 2021
FUJITSU9

(1) Backward処理時間への隠蔽
各層のForward処理

方法

各層のBackward処理が終わる毎に層単位でAll-reduce処理を開始する

各層のBackward処理
All-reduce処理
Update処理

Backward処理とAll-reduce処理を並列に実行することで高速化
隠蔽前
隠蔽後

計算
計算
通信
通信

L1
L1

L2 L3L3L2

L3L3L2L2L1
L1L3L1L2

Copyright 2021
FUJITSU10

(2) Forward処理時間への隠蔽
各層のForward処理

方法

各層のBackward処理•Update処理を分割•Forward処理の開始を層毎に判定

All-reduce処理
Update処理

すべての層のAll-reduce処理の完了前に、次のForward処理を開始することで高速化層単位でUpdate処理

計算

L3L2L1L3

通信

L1L2L1
L2

Copyright 2021
FUJITSU11

(3) 細分化による並列化
各層のForward処理• 集約処理を細分化して実行方法

各層のBackward処理➢ GPUからCPUメモリへのデータ転送➢ ノード間のデータ転送➢ Reduce演算➢ CPUからGPUメモリへのデータ転送

All-reduce処理
Update処理

All-reduceにかかる時間を短縮することで高速化
細分化後細分化前

計算通信

Copyright 2021
FUJITSU12

集約処理隠蔽の効果
学習処理サイクル
ForwardBackward
All-reduce
Update時間[秒]

集約処理のオーバヘッドを半分以下に削減

0.47秒

0.17秒

64ノード
（細分化前）

64ノード（細分化後）
Copyright 2021
FUJITSU13高速化の効果◼ これらの高速化を突き詰めることでGPU 1基で数日かかる計算を約75秒で解く
GoyalらSmithら
秋葉ら
Jiaら
Yingら
三上ら
富士通研

プロセッサ
Tesla P100 x 1
Tesla P100 x 256
Full TPU Pod
Tesla P100 x 1,024
Tesla P40 x 2,048
TPU v3 x 1,024
Tesla V100 x 3,456
Tesla V100 x 2,048

Copyright 2021
FUJITSU

実行時間
6.13日
1 時間
30 分
15 分
6.6 分
1.8 分
2分
1.2 分

14

A64FXシステム向けのAIフレームワーク環境

15

Copyright 2021 FUJITSU LTD

富岳におけるAI処理の優位性◼ 世界一の演算性能と通信性能を活かせる
CPU単体の性能

スパコン全体の性能
Intel CPU

富岳

(計算単位の数)

計算速度(倍精度演算性能)

省電力性

50 個

SummitXeon Plutinum 8280
28C 2.7GHz

A64FX

コア数

Fugaku

1.7倍

28個

1.6倍

3,379 Gflops

2,111 Gflops

2.5倍

14.6 Gflops/W

5.84 Gflops/w

AIに重要な計算速度と省電力性でIntel CPUに対して大きな優位性© RIKEN

442 Pflops

148 Pflops

2位のSummitに対して2.9倍の演算性能
さらに、AIに重要なサーバ間集合通信が高速NNモデルのパラメータや学習データを探索する必要がある
AIアプリ開発においてコンピュータの性能は非常に重要
16

https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Summit_(supercomputer).jpg
Copyright 2021 FUJITSU LIMITED富岳におけるAIソフトスタック◼ 業界標準のAIソフトスタックが利用可能◼ TensorFlowやPyTorchといった著名なFramework
をサポート

DL framework◼ AI向けの演算ライブラリは業界標準のOneDNNに富岳向け実装がある演算ライブラリ (OneDNN)◼ 富岳のAIソフトスタックはOpen Source Software(OSS)として公開

Fugaku, FX1000

Intel server◼ 今後のAIソフトスタックの拡張◼ 業界標準のソフトウェアをOSSコミュニティと連携して拡張© RIKEN◼ 最新環境への更新が継続される
17

Copyright 2021 FUJITSU LIMITEDMLPerf HPCベンチマークの高速化

18

Copyright 2021 FUJITSU LIMITEDMLPerf HPC ベンチマーク◼ MLPerf HPC◼ HPCシミュレーションに関連する深層学習タスク◼ 20年11月に初版(v0.7)がリリース

https://mlcommons.org/en/news/mlperf-hpc-v07/◼ ベンチマーク指標◼ 一定精度に到達するまでの実行時間◼ CosmoFlow◼ Deep CAM◼ 宇宙論的パラメータを、N体問題シミュレーション
データから推測する深層学習タスク◼ 大規模な気候シミュレーション結果から極端な気象現象(atmospheric riverやサイクロン)を特定する深層学習タスク◼ データサイズ: 5.1TB◼ データサイズ: 8.8TB

シミュレーション結果を分析する大規模深層学習タスク
19

Copyright 2021 FUJITSU LIMITED

深層学習の並列化◼ データ並列◼ 通信コストは低い◼ ミニバッチサイズが並列度の上限
Node B

Node A

Backward

ForwardΔw
Δw

Δw

Sub-dataset AΔw
allreduce
Sub-dataset B

20

Copyright 2021 FUJITSU LIMITEDミニバッチサイズの増加と精度◼ 精度を維持したミニバッチサイズの増加◼ MLPerf HPC: ある一定精度に到達するまで時間が性能指標◼ バッチサイズ増加に伴うエポック数の増加は性能低下に直結(B)Bs=1024(C) Bs=1024

accuracy(A) Bs=512

CaseBSepoch(A)

512100(B)1024

140(C)

1024300

Elapsed (rough est.)

x1.4x3.0

10070 (100*1.4 / 2)
150 (100*3.0 / 2)

Throughput: x2, by x2 computing resources

100 140300# of epoch

ハイパーパラメータチューニングによるバッチサイズと精度の両立が大規模化では必須
21

Copyright 2021 FUJITSU LIMITEDミニバッチサイズとエポック数◼ ミニバッチサイズを増加させるとエポック数も増大する傾向に◼ ABCIや「富岳」での測定では、大きなバッチサイズでもエポック数増大を抑止
180160Batch size
642565121024

2048

4096

x4 BS
with almost same epoch140# of Epoch

120x4 BSwith almost same epoch

10080604020022

Copyright 2021 FUJITSU LIMITED

モデル並列◼ モデル並列◼ データ並列◼ Allreduceによる勾配情報の交換のみ◼ ニューラルネットワーク計算そのものを並列化◼ 性能向上は比較的容易◼ ネットワーク分割で必要となる袖交換が必要に◼ 一般には性能向上が難しい

Δw

Δw

Δw

Δw

Δw

Data subset A

Node B
Δw

allreduce
Data subset B

Backward

Δw

ForwardBackward

Forward

Node A

Node B

Node A

Node B

Full con

Δw
3D conv
Δw

A+B• 3D conv層に対してモデル並列化を適用、1.7倍高速に• 単一学習タスクに対して16,384 CPUを適用(ハイブリッド並列)
23

Node A• Only apply model parallelto 3D conv

Copyright 2021 FUJITSU LIMITED

性能評価◼ ABCI: GPU型の2位の性能に対して20倍高速◼ 「富岳」: CPU型の2位の性能に対して14倍高速
GPU system

CPU system
ABCIFugaku

x20x14CosmoFlow

GPU system
ABCI

DeepCam

並列化技術によりシミュレーション結果の学習を大きく高速化
但し、深層学習にはスケーラビリティ(規模)に課題
富士通株式会社、産業技術総合研究所、理化学研究所, プレスリリース: https://pr.fujitsu.com/jp/news/2020/11/19-1.html
24

Copyright 2021 FUJITSU LIMITED

AIを活用した津波予測～シミュレーションとAIの融合～

25

Copyright 2021 FUJITSU LIMITEDAI活用による高解像度でリアルタイムな津波浸水予測◼ 津波シミュレーション結果を学習したAIを生成◼膨大な教師データを移動させず、富岳でそのまま学習◼学習モデルを使えば、PCでも瞬時に陸上の浸水を予測
事前の学習

1

富岳で教師データ生成
多数シナリオで高解像度
浸水シミュレーション

発災時の予測 各自治体などの現場現場導入のための準備

富岳で

2

3 一般的なPCでAIが学習

リアルタイム予測

沖合波形と陸上浸水の関係をAIモデルが学習PC上で、AIモデルが津波浸水を数秒で高解像度予測

入力
データ

AIモデルが学習
沖合波形

沖合波形
（実観測）

教師データ

数万件の津波シナリオをシミュレーション

学習済み
AIモデル

予測

陸上浸水予測避難対策等に活用

陸上浸水

東北大学災害科学国際研究所,東京大学地震研究所, 富士通研究所, プレスリリース: https://pr.fujitsu.com/jp/news/2021/02/16.html
26

Copyright 2021 FUJITSU LIMITEDAIによる予測と正解データの比較 ~浸水深・内閣府想定ケース~◼正解データに十分に近い浸水深を推測
浸水深1.00 m

正解データ

浸水深1.00 m0.75 m0.75 m0.50 m0.50 m0.25 m0.25 m

0.00 m

0.00 m27

AIによる予測

Copyright 2021 FUJITSU LIMITEDAIによる予測と正解データの比較 ~浸水深・想定の３倍ケース~◼正解データに十分に近い浸水深を推測
浸水深1.00 m

正解データ

浸水深1.00 m0.75 m0.75 m0.50 m0.50 m0.25 m0.25 m

0.00 m

0.00 m28

AIによる予測

Copyright 2021 FUJITSU LIMITED

まとめ◼ ディープラーニングの演算量は非常に大きい◼ニューラルネットワークの規模とデータ量が大きいほど、精度が高くなりやすい◼ ディープラーニング処理の高速化◼処理内容：Forward + Backward + AllReduce + Update◼高速化のポイント：AllReduce通信の隠蔽、大規模並列時での精度維持、適切な並列処理◼高速化の効果：チューニングにより非常に差がでる（例：Resnet-50, MLPerf-HPC）◼ スーパーコンピュータの新しい使い方: AIとHPCの融合◼ スーパーコンピューティング技術がAIを加速・進化させるドライビングフォース◼ AI技術も活用することで、シミュレーションだけでは解けない問題も解決• 例：最先端のコンピューティング技術が新たな可能性を切り拓き、未来を創る
津波シミュレーション パソコンでも瞬時に津波を予測
29

Copyright 2021 FUJITSU LIMITED30

Copyright 2021 FUJITSU LABORATORIES LTD.