SlideShare a Scribd company logo
1 of 31
Download to read offline
PFN のオンプレ計算機
クラスタの取り組み
第55回 情報科学若手の会
YABUUCHI Hidehito, Preferred Networks, Inc.
2
薮内 秀仁 (YABUUCHI Hidehito)
● 2020/04 入社
● Cluster Services チーム
○ オンプレ計算機クラスタを始めとした
社内の計算基盤を研究者・開発者が
使えるようサービス化
● 最近の仕事
○ クラスタのリソース利用率の向上
○ 社内 CI 基盤の刷新
自己紹介
3
● Preferred Networks (PFN) 会社概要
● PFN のオンプレミス計算機クラスタの概要
● クラスタ開発・運用に関するトピック
本日お話しする内容
PFN のクラスタ開発・運用のおもしろさを
お伝えできればと思います!
4
Preferred Networks 会社概要
5
現実世界を計算可能にする
Make the real world computable
深層学習などの最先端技術を最短路で実用化する
ことで、これまで解決が困難だった現実世界の課
題を解決することを目指しています
Preferred Networks (PFN)
ビジョン
6
主な事業内容
ロボティクス
自律移動ロボットを開発・販売する
子会社 Preferred Robotics を設立
エンターテインメント
● キャラクター作成プラット
フォーム
● 高精細な 3D スキャンサービス
PFN 3D Scan
● 材料探索
● 化学プラント最適化
● 分子設計による創薬
ライフ & マテリアルサイエンス
教育
小学生から始める
プログラミング教育
7
事業を支える研究とインフラ
事業化領域
研究領域
計算インフラ
機械学習・深層学習
シミュレーション
画像認識 自然言語処理
ロボティクス
最適化
製造業
交通
システム
エンタメ その他
プラント
最適化
材料探索
創薬・
ヘルスケア
ロボット
データ
生成補完 異常検知
8
事業を支える研究とインフラ
事業化領域
研究領域
計算インフラ
機械学習・深層学習
シミュレーション
画像認識 自然言語処理
ロボティクス
最適化
製造業
交通
システム
エンタメ その他
プラント
最適化
材料探索
創薬・
ヘルスケア
ロボット
データ
生成補完 異常検知
本日お話しする内容
9
PFN のオンプレ計算機クラスタ
10
PFN のオンプレミス計算機クラスタ New!
2022/07 ~
MN-2a MN-3 MN-2b
合計 1,444 GPU + 192
MN-Core
11
● コストを気にせず大規模な計算をしたい
○ 計算力が PFN の競争力の源泉
○ 1,000 GPU 年超でデータセットを作成した例:
PFN blog: 材料探索のためのユニバーサルなニューラルネットワークポテンシャル
● 計算基盤すべてをコントロールしたい
○ ノード内・ノード間通信、ストレージを含むすべてを最適化
● 上から下まで(ハードもソフトも人も)保有することの重要性
○ 設計・調達からアルゴリズムまで、さまざまな技術バックグラウ
ンドを持つメンバーが集結することで新しいものを生み出す
なぜクラウドではなくオンプレなのか?
12
計算クラスタ
36 cores
384 GB
V100 x 8
100 GbE x 4
128 nodes
MN-2a
48 cores
384 GB
MN-Core x 4
100 GbE x 4
48 nodes
MN-3
128 cores
1,024 GB
A100 x 4
100 GbE x 2
42 nodes
MN-2b
80 cores
512 GB
A30 x 6
100 GbE x 2
42 nodes
Icons by https://icons8.com
ユーザからは単一のクラスタとしてシームレスに利用可能
最新世代の GPU を搭載
13
ストレージクラスタ
Interface
Medium
NFS
HDD
NVMe
SSD
HDFS Apache Ozone
合計約 8.4 PB(論理容量、拡大中)のストレージを構築し
計算クラスタと高速ネットワークで接続
14
教育
MN-Core
PFN と神戸大学が共同開発した
深層学習用プロセッサ
● 深層学習の高速化
○ 行列演算の専用回路を搭載
● 低消費電力
○ HW を最小限に抑え SW で制御
特徴 Green500 で
世界1位を達成
15
MN-Core の実用
課題
解決
活用する上でユーザのマイグレーションコストが高い
PyTorch からシームレスに使えるコンパイラを開発
Compile
深層学習の実用的なワークロードを
汎用 GPU に比べ最大約10倍高速化
MN-3 に搭載し研究開発に活用中
16
クラスタに関わる組織
計算基盤
Cluster
Services
計算基盤の
サービス化
Cluster
Planning
企画・
設計・構築
MN-Core
ASIC 設計
コンパイラ・
ランタイム
プロジェクト
サポート
利用・
フィードバック
連携
プロジェクト
プロジェクト
…
17
クラスタ開発・運用
18
● 多様なリテラシのユーザが使いやすいこと
○ 「入社初日からクラスタで大規模に実験をして成果を出せる」
● 計算資源を効率的かつ公平に利用できること
○ クラスタの計算資源を無駄なくユーザに割り振る
○ あるユーザがクラスタの大部分を占有してしまう状況を防ぐ
● 信頼性が高いこと
○ ノードの自動プロビジョニング
○ 健全性の自動診断・修復の省力化
社内計算基盤が目指す姿
19
使いやすさ
20
多様なリテラシに合わせた利用方法の提供
手
軽
さ
柔
軟
性
Web ブラウザ
ベース
クラスタチーム
提供 CLI
Kubernetes CLI
● よく使う設定項目をカバー
● 大規模な実験も可能
● ブラウザだけで簡単にクラスタの
GPU や MN-Core が使える
● よく使うライブラリがインストール済み
● クラスタの機能をフルに活用可能
21
Web ブラウザからクラスタを利用
Connect
Open in
browser
Serve
22
計算資源の効率的な利用
23
計算資源を無駄なくユーザに割り振る
Packing
課題
解決
最適解は現実的に計算不可能
● 計算資源の種類が複数
● オンライン問題
さまざまなヒューリスティクスでノードへの配置を計算
ノード群にできるだけ多くのジョブを詰め込みたい
24
ヒューリスティクスの例
8 GPU
8 GPU
2
2
4
1
← GPU →
←
CPU
→
1 ~ 7 GPU ジョブ
貪欲ビンパッキング
8 GPU ジョブ
「右」のノードから配置
分散深層学習ジョブが
NW 的に近く配置される
25
信頼性
26
クラスタの信頼性を高める取り組み
課題
解決
● ノードが故障したときに気付きたい
● 修復のためのオペレーションコストを減らしたい
● ノードが故障したときにアラートを発報
● よくある故障パターンは自動で修復
ノード数が多いクラスタのため常に数台は故障している
オペレーションコストを抑えつつ MTTR を短縮
平均修復時間
27
監視と自動修復
Servers icon by https://icons8.com
自己診断
修復処理
監視 Issue 作成 通知
調査・修復処理
監視システム
pfnet-research/node-operation-controller
pfnet-research/alertmanaget-to-github
28
採用情報
29
● 計算基盤関連のポジション
○ 大規模計算基盤リサーチャー・エンジニア
○ 機械学習プラットフォームエンジニア
● こんな環境にワクワクするかたを募集しています!
○ 日進月歩で進化している機械学習にフォーカスした計算技術を低レイヤーから高レ
イヤーまでトータルに吸収できる
○ 大規模な機械学習クラスタの開発・運用が経験できる
○ Kubernetes を始めとする OSS コミュニティでも活躍できるチャンスがある
○ HPC と Cloud Native の境界領域というますます重要になる分野の経験ができる
○ 多様な要求・ユーザーリテラシをサポートするプラットフォーム設計を経験できる
We’re Hiring! 他にも様々なポジ
ションがあります!
毎年夏にインターン
もあります!
30
● 発表資料
○ 続・PFN のオンプレ ML 基盤の取り組み
(オンプレML基盤 on Kubernetes #2 〜PFN、ヤフー〜)
○ PFN のオンプレ ML 基盤の取り組み
(オンプレML基盤 on Kubernetes #1 〜PFN、ヤフー〜)
○ PFN の ML / DL 基盤を支える Kubernetes における自動化
(DevOpsDays Tokyo 2021)
○ How to Schedule Machine Learning Workloads Nicely In Kubernetes
(CNDT 2020)
We’re Hiring!
カジュアル面談希望の連絡お待ちしています!
大村 ( @everpeace) までお気軽にどうぞ!
Making the real world computable

More Related Content

What's hot

What's hot (20)

続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
 
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
PyData.Tokyo Meetup #21 講演資料「Optuna ハイパーパラメータ最適化フレームワーク」太田 健
 
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 
Pycairo を使ってみる その1
Pycairo を使ってみる その1Pycairo を使ってみる その1
Pycairo を使ってみる その1
 
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AIChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
【DL輪読会】Hyena Hierarchy: Towards Larger Convolutional Language Models
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理
 
研究効率化Tips Ver.2
研究効率化Tips Ver.2研究効率化Tips Ver.2
研究効率化Tips Ver.2
 
機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)
 
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
 
【メタサーベイ】Video Transformer
 【メタサーベイ】Video Transformer 【メタサーベイ】Video Transformer
【メタサーベイ】Video Transformer
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
 
大規模言語モデルとChatGPT
大規模言語モデルとChatGPT大規模言語モデルとChatGPT
大規模言語モデルとChatGPT
 
時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?
 
数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理
 
解説!30分で分かるLEAN ANALYTICS
解説!30分で分かるLEAN ANALYTICS解説!30分で分かるLEAN ANALYTICS
解説!30分で分かるLEAN ANALYTICS
 
ナレッジグラフ入門
ナレッジグラフ入門ナレッジグラフ入門
ナレッジグラフ入門
 

More from Preferred Networks

More from Preferred Networks (20)

PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
 
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
 
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher...
 
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
 
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
 
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
 
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
 
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演
 
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
 
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
PFNにおける研究開発(2022/10/19 東大大学院「融合情報学特別講義Ⅲ」)
 
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
自然言語処理を 役立てるのはなぜ難しいのか(2022/10/25東大大学院「自然言語処理応用」)
 
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語るKubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版) / TechFeed Experts Night #7 〜 コンテナ技術を語る
 
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
Matlantis™のニューラルネットワークポテンシャルPFPの適用範囲拡張
 
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
 
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
 
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
 
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
 
Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50
 
PFN Summer Internship 2021 / Kohei Shinohara: Charge Transfer Modeling in Neu...
PFN Summer Internship 2021 / Kohei Shinohara: Charge Transfer Modeling in Neu...PFN Summer Internship 2021 / Kohei Shinohara: Charge Transfer Modeling in Neu...
PFN Summer Internship 2021 / Kohei Shinohara: Charge Transfer Modeling in Neu...
 

PFNのオンプレ計算機クラスタの取り組み_第55回情報科学若手の会