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

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