Submit Search
ChainerMNについて
Download as PPTX, PDF
4 likes
5,268 views
Shuji Suzuki
Chainer Meetup #5のChainerMNの紹介スライド
Technology
Read more
1 of 21
Download now
Downloaded 60 times
1
2
3
4
5
6
Most read
7
8
Most read
9
10
11
12
13
14
15
16
17
18
19
20
21
More Related Content
PDF
Hopper アーキテクチャで、変わること、変わらないこと
NVIDIA Japan
PDF
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
NTT DATA Technology & Innovation
PPTX
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Preferred Networks
PDF
今話題のいろいろなコンテナランタイムを比較してみた
Kohei Tokunaga
PDF
Magnum IO GPUDirect Storage 最新情報
NVIDIA Japan
PDF
開発者が語る NVIDIA cuQuantum SDK
NVIDIA Japan
PDF
Telecom Infra Projectの取り組み -光伝送におけるハードとソフトの分離-
HidekiNishizawa
PDF
20分でわかるgVisor入門
Shuji Yamada
Hopper アーキテクチャで、変わること、変わらないこと
NVIDIA Japan
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
NTT DATA Technology & Innovation
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Preferred Networks
今話題のいろいろなコンテナランタイムを比較してみた
Kohei Tokunaga
Magnum IO GPUDirect Storage 最新情報
NVIDIA Japan
開発者が語る NVIDIA cuQuantum SDK
NVIDIA Japan
Telecom Infra Projectの取り組み -光伝送におけるハードとソフトの分離-
HidekiNishizawa
20分でわかるgVisor入門
Shuji Yamada
What's hot
(20)
PDF
0から理解するニューラルネットアーキテクチャサーチ(NAS)
MasanoriSuganuma
PDF
Chainer で Tensor コア (fp16) を使いこなす
NVIDIA Japan
PDF
KubernetesでRedisを使うときの選択肢
Naoyuki Yamada
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
Takeshi HASEGAWA
PDF
Veriloggen.Thread & Stream: 最高性能FPGAコンピューティングを 目指したミックスドパラダイム型高位合成 (FPGAX 201...
Shinya Takamaeda-Y
PPTX
【DL輪読会】DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Dri...
Deep Learning JP
PPTX
EfficientDet: Scalable and Efficient Object Detection
harmonylab
PDF
Sw技術者に送るfpga入門
直久 住川
PDF
Linux女子部 systemd徹底入門
Etsuji Nakai
PPTX
分散ストレージ技術Cephの最新情報
Emma Haruka Iwao
PDF
20180729 Preferred Networksの機械学習クラスタを支える技術
Preferred Networks
PDF
05.2 virtio introduction
zenixls2
PDF
分散システムの限界について知ろう
Shingo Omura
PDF
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
Shinya Takamaeda-Y
PDF
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"
Deep Learning JP
PDF
Kubernetesによる機械学習基盤への挑戦
Preferred Networks
PPTX
GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...
NTT DATA Technology & Innovation
PDF
Multi Chassis LAG for Cloud builders
Juniper Networks (日本)
PDF
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
VirtualTech Japan Inc.
PDF
DPDK QoS
Masaru Oki
0から理解するニューラルネットアーキテクチャサーチ(NAS)
MasanoriSuganuma
Chainer で Tensor コア (fp16) を使いこなす
NVIDIA Japan
KubernetesでRedisを使うときの選択肢
Naoyuki Yamada
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
Takeshi HASEGAWA
Veriloggen.Thread & Stream: 最高性能FPGAコンピューティングを 目指したミックスドパラダイム型高位合成 (FPGAX 201...
Shinya Takamaeda-Y
【DL輪読会】DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Dri...
Deep Learning JP
EfficientDet: Scalable and Efficient Object Detection
harmonylab
Sw技術者に送るfpga入門
直久 住川
Linux女子部 systemd徹底入門
Etsuji Nakai
分散ストレージ技術Cephの最新情報
Emma Haruka Iwao
20180729 Preferred Networksの機械学習クラスタを支える技術
Preferred Networks
05.2 virtio introduction
zenixls2
分散システムの限界について知ろう
Shingo Omura
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
Shinya Takamaeda-Y
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"
Deep Learning JP
Kubernetesによる機械学習基盤への挑戦
Preferred Networks
GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...
NTT DATA Technology & Innovation
Multi Chassis LAG for Cloud builders
Juniper Networks (日本)
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
VirtualTech Japan Inc.
DPDK QoS
Masaru Oki
Ad
Viewers also liked
(20)
PDF
More modern gpu
Preferred Networks
PDF
MapReduceによる大規模データを利用した機械学習
Preferred Networks
PDF
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう
洋資 堅田
PDF
LCCC2010:Learning on Cores, Clusters and Cloudsの解説
Preferred Networks
PPTX
OSC Tokyo fall LT~Dockerで分散処理をやってみた
atk1234
PDF
Deep Learningを用いたロボット制御
Ryosuke Okuta
PDF
Chainer v1.6からv1.7の新機能
Ryosuke Okuta
PPTX
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
Ryosuke Okuta
PPTX
Tf勉強会(4)
tak9029
PPTX
Tensor flow唐揚サーバーロボット rev1
Yuki Nakagawa
PPTX
Tensorflowで言語識別をやってみた
Kyota Yasuda
PDF
コンピュータ将棋について~機械学習を用いた局面学習への道~
Takashi Kato
PDF
内省するTensorFlow
Yoshiyuki Kakihara
PDF
思いついたアルゴリズムを TensorFlow で実装してみた話
Shuhei Fujiwara
PDF
Windows で動かす TensorFlow
Takeshi Osoekawa
PDF
TensorFlowで学ぶDQN
Etsuji Nakai
PDF
TensorFlow XLAの可能性
Mr. Vengineer
PDF
モデルアーキテクチャ観点からのDeep Neural Network高速化
Yusuke Uchida
PDF
Using Raspberry Pi GPU for DNN
notogawa
PDF
Chainerの使い方と自然言語処理への応用
Seiya Tokui
More modern gpu
Preferred Networks
MapReduceによる大規模データを利用した機械学習
Preferred Networks
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう
洋資 堅田
LCCC2010:Learning on Cores, Clusters and Cloudsの解説
Preferred Networks
OSC Tokyo fall LT~Dockerで分散処理をやってみた
atk1234
Deep Learningを用いたロボット制御
Ryosuke Okuta
Chainer v1.6からv1.7の新機能
Ryosuke Okuta
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
Ryosuke Okuta
Tf勉強会(4)
tak9029
Tensor flow唐揚サーバーロボット rev1
Yuki Nakagawa
Tensorflowで言語識別をやってみた
Kyota Yasuda
コンピュータ将棋について~機械学習を用いた局面学習への道~
Takashi Kato
内省するTensorFlow
Yoshiyuki Kakihara
思いついたアルゴリズムを TensorFlow で実装してみた話
Shuhei Fujiwara
Windows で動かす TensorFlow
Takeshi Osoekawa
TensorFlowで学ぶDQN
Etsuji Nakai
TensorFlow XLAの可能性
Mr. Vengineer
モデルアーキテクチャ観点からのDeep Neural Network高速化
Yusuke Uchida
Using Raspberry Pi GPU for DNN
notogawa
Chainerの使い方と自然言語処理への応用
Seiya Tokui
Ad
Similar to ChainerMNについて
(20)
PDF
20171128分散深層学習とChainerMNについて
Preferred Networks
PDF
秒速ChainerMN
Keisuke Fukuda
PDF
進化するChainer
Yuya Unno
PDF
深層学習フレームワークChainerの特徴
Yuya Unno
PDF
【2016年度】勉強会資料_Chainer
Ryosuke Tanno
PDF
深層学習フレームワークChainerとその進化
Yuya Unno
PDF
Deep Learning Lab: DIMo & Chainer
Preferred Networks
PDF
Introduction to Chainer (LL Ring Recursive)
Kenta Oono
PDF
Chainer入門と最近の機能
Yuya Unno
PDF
ChainerMNをDocker containerで動かす
Daisuke Taniwaki
PDF
Chainerチュートリアル -v1.5向け- ViEW2015
Ryosuke Okuta
PDF
研究を加速するChainerファミリー
Deep Learning Lab(ディープラーニング・ラボ)
PDF
ChainerMNが即座に使える環境を提供するXTREME DNA HPC Cloud
Hirono Jumpei
PDF
20171212 gtc pfn海野裕也_chainerで加速する深層学習とフレームワークの未来
Preferred Networks
PPTX
20180628 chainer on_colaboratory
Keisuke Umezawa
PDF
2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用
Kenta Oono
PDF
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
de:code 2017
PDF
深層学習フレームワーク Chainer の開発と今後の展開
Seiya Tokui
PDF
深層学習フレームワークChainerの紹介とFPGAへの期待
Seiya Tokui
PPTX
20180221 chainer on_colaboratory_at_gdcjp
Hirokuni Uchida
20171128分散深層学習とChainerMNについて
Preferred Networks
秒速ChainerMN
Keisuke Fukuda
進化するChainer
Yuya Unno
深層学習フレームワークChainerの特徴
Yuya Unno
【2016年度】勉強会資料_Chainer
Ryosuke Tanno
深層学習フレームワークChainerとその進化
Yuya Unno
Deep Learning Lab: DIMo & Chainer
Preferred Networks
Introduction to Chainer (LL Ring Recursive)
Kenta Oono
Chainer入門と最近の機能
Yuya Unno
ChainerMNをDocker containerで動かす
Daisuke Taniwaki
Chainerチュートリアル -v1.5向け- ViEW2015
Ryosuke Okuta
研究を加速するChainerファミリー
Deep Learning Lab(ディープラーニング・ラボ)
ChainerMNが即座に使える環境を提供するXTREME DNA HPC Cloud
Hirono Jumpei
20171212 gtc pfn海野裕也_chainerで加速する深層学習とフレームワークの未来
Preferred Networks
20180628 chainer on_colaboratory
Keisuke Umezawa
2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用
Kenta Oono
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
de:code 2017
深層学習フレームワーク Chainer の開発と今後の展開
Seiya Tokui
深層学習フレームワークChainerの紹介とFPGAへの期待
Seiya Tokui
20180221 chainer on_colaboratory_at_gdcjp
Hirokuni Uchida
ChainerMNについて
1.
ChainerMNについて 鈴木 脩司 Preferred Networks,
Inc. Chainer Meetup #05 2017/06/10
2.
今日のお話 ChainerMNとは? ChainerMNの仕組み
ChainerMNの使い方 2
3.
ChainerMNとは?
4.
ChainerMNとは? Chainerによる学習を、分散処理によって高速化するための追加パッケージ 特徴 – Scalable NVIDIA
NCCLやCUDA-Aware MPIなどの最新技術より高い並列性能を 実現 – Flexible Chainerの特徴の一つである、動的なネットワークも分散学習可能 – Easy 既存のChainerのコードに少し変更を加えれば利用可能 GitHubリポジトリ – https://github.com/chainer/chainermn 4
5.
ChainerMNの仕組み
6.
分散学習の手法 データ並列 – データを分割して、複数のワーカーが並列に学習
モデル並列 – モデルを分割して、複数のワーカーが並列に学習 6 データ並列 モデル並列 ChainerMNはこちら
7.
学習イテレーション 7 通常のChainerによる学習 Forward Backward Optimize All-Reduce Forward Forward Forward Backward Backward Backward Optimize Optimize Optimize ChainerMNによる分散学習
8.
All-Reduce 各ワーカーが持つ値を集計し、集計した結果を全ワーカーに配る処理 ChainerMNでは各ワーカーが持つ勾配𝑔𝑖から平均
𝑔を計算して配る 8 All-Reduce 𝑔0 = 1 𝑔1 = 2 𝑔2 = 3 𝑔 = 2 𝑔 = 2 𝑔 = 2
9.
9 詳細: https://chainer.org/general/2017/02/08/Performance-of-Distributed-Deep- Learning-Using-ChainerMN.html
10.
ChainerMNの使い方
11.
ChainerMNに必要なライブラリ (GPUを利用する場合) 1. Chainer –
CuPyとcuDNN も含めてインストールする 2. MPI (OpenMPIなど) – CUDA-Awareのサポートを入れてコンパイルする 3. NVIDIA NCCL – CUDA 8.0より前のバージョンのCUDAを利用する場合は、makeのときに NVCC_GENCODEを指定する必要がある 4. MPI4py 5. Cython – 事前にpipなどでインストールする必要がある 11 CPUのみの場合は以下を参照 http://chainermn.readthedocs.io/en/latest/installation/guide.html
12.
ChainerMNのインストールとサンプル実行(GPUを利用する場合) インストール方法 – pip
install chainermn MNISTのサンプルの実行 – git clone git@github.com:chainer/chainermn.git – cd chainermn – mpiexec -n 4 python examples/mnist/train_mnist.py –g この例では1つのノードで4つのワーカーが起動して、4つのGPUを使って分散学 習が実行される 12
13.
あれ、動かない?と思ったら・・・ ドキュメントのStep-by-Step Troubleshootingを見る! –
http://chainermn.readthedocs.io/en/latest/installation/troubleshooti ng.html Step-by-Step TroubleshootingはChainerMNを使うときにハマりそう な部分を、1つ1つ問題がないか確認していく手順が書かれている – たとえば・・・ Check SSH connection 13 $ ssh host00 'hostname' host00 # without hitting the password $ ssh host01 'hostname' host01 # without hitting the password ...
14.
環境別のインストール方法の紹介記事 AWSのGPUインスタンスでChainerMNを動かす環境構築 – http://qiita.com/pst-ic/items/e01033dee4d389df3a5e
共用環境向けのChainerMNのインストール – http://qiita.com/htsst/items/a38d4e09d05c2ef80242 Chainermn をTSUBAME2.5にインストール – http://graphium.hatenadiary.jp/entry/2017/06/06/012502 14 みなさま、ありがとうございます!
15.
Chainerのコードを改良してChainerMNを使う手順 説明にはMNISTのサンプルを利用 完成コード –
https://github.com/chainer/chainermn/blob/master/examples/mnist /train_mnist.py 最低限必要な変更点 1. Communicatorの作成と使用するGPUの指定 2. マルチノード用のOptimizerの作成 追加の変更 3. データの分配 4. マルチノード用のEvaluatorの作成15
16.
1. Communicatorの作成と使用するGPUの指定 Communicatorの作成 –
高い並列性能を実現するためには計算機環境に合わせてCommunicatorを 選択する必要がある。詳しくは以下を参照 https://chainermn.readthedocs.io/en/latest/reference/index.html#communicators プロセスが使用するGPUを指定 – ChainerのMNISTのサンプル: – ChainerMNのMNISTのサンプル: 16 # args.gpu: 使用するGPUのID chainer.cuda.get_device(args.gpu).use() # comm.intra_rank:マシン内におけるワーカーの番号 device = comm.intra_rank chainer.cuda.get_device(device).use() comm = chainermn.create_communicator()
17.
2. マルチノード用のOptimizerの作成 マルチノード用のOptimizerを以下のようにして作成 –
ChainerのMNISTのサンプル: – ChainerMNのMNISTのサンプル: 17 optimizer = chainer.optimizers.Adam() optimizer = chainermn.create_multi_node_optimizer( chainer.optimizers.Adam(), comm)
18.
3.データの分配 2.までの状態では、1つのワーカーだけで改良前と同じサイズのデータを学習 – このため、Chainerのサンプルよりも1エポックの合計の大きさが、ワーカー数倍増加
1エポックを改良前と同じ大きさにするために、1つのワーカーがデータの読み 込みを行い、全ワーカーに分割して配る – ChainerのMNISTのサンプル: – ChainerMNのMNISTのサンプル: 18 train, test = chainer.datasets.get_mnist() if comm.rank == 0: # rank 0 のワーカーが読み込み train, test = chainer.datasets.get_mnist() else: train, test = None, None # データを分割して配る train = chainermn.scatter_dataset(train, comm) test = chainermn.scatter_dataset(test, comm)
19.
4. マルチノード用のEvaluatorの作成 マルチノード用のEvaluatorを以下のように作成 –
ChainerのMNISTのサンプル: – ChainerMNのMNISTのサンプル: – 注意 PrintReportなどのExtensionは1つのワーカーだけ実行するようする 19 trainer.extend(extensions.Evaluator(test_iter, model, device=args.gpu)) evaluator = extensions.Evaluator(test_iter, model, device=device) evaluator = chainermn.create_multi_node_evaluator(evaluator, comm) trainer.extend(evaluator)
20.
実行! シングルノード実行 – mpiexec
-n 4 python train_mnist.py –g 1つのノードで4つのワーカーを立ち上げ、4個のGPUを使って分散学習を行う マルチノード実行 – mpiexec -n 8 -host host00,host01 python train_mnist.py –g host00,host01 という2つのノードで、4つずつワーカーが立ち上げ、 合計8個のGPUを使って分散学習を行う 20
21.
まとめ ChainerMNとは – Chainerによる学習を、分散処理によって高速化するための追加パッケージ –
特徴 Scalable、Flexible、Easy – GitHubリポジトリ https://github.com/chainer/chainermn ChainerMNの使い方 – 最低限必要な変更点 Communicatorの作成と使用するGPUの指定 マルチノード用のOptimizerの作成 21
Download