Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
機械学習用PCの選び方
Search
start
July 11, 2022
Programming
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
機械学習用PCの選び方
start
July 11, 2022
More Decks by start
See All by start
SETIまとめ
startjapan
0
290
BirdCLEF2021 Summary
startjapan
0
150
BirdCLEF2021まとめ
startjapan
4
1.8k
Other Decks in Programming
See All in Programming
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
3
1.6k
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
810
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
500
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
130
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
170
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
140
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
170
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
220
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
160
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.5k
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
150
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.2k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.6k
Into the Great Unknown - MozCon
thekraken
41
2.6k
The Invisible Side of Design
smashingmag
301
52k
How to Ace a Technical Interview
jacobian
281
24k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
190
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
410
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Transcript
機械学習用 PCの選び方 start (kaggle:@startjapan) ※情報は2022年7月時点
目次 1. このスライドの目的 2. クラウドかオンプレミスか 3. PCのパーツ一覧 4. 各パーツの詳細
このスライドの目的
このスライドの目的 ・研究室で機械学習用の PCを購入したのでこの機会に PCのスペックについてまとめてみる ・目標として各パーツにおける主なブランド &性能の塩梅をつかめたら good. (特にGPU部分) ・環境構築とか実際の運用方法とかまで調べられたら very
good. → 別の機会に... ・不足や間違いがあったら教えて下さい
クラウドかオンプレミスか
Google Colab (Pro, Pro Plus) Kaggle Notebook GCP or AWS
自作 or 実機購入 タイプ クラウド クラウド クラウド オンプレミス 長所 ・費用対性能高い ・メンテいらず ・共有しやすい ・TPUも使える ・無料 ・メンテいらず ・TPUも使える ・性能高い ・メンテいらず ・使用時間制限なし ・高いカスタマイズ性 (性能,料金) ・使用時間制限なし ・dockerでライブラリ 統一可能 短所 ・通信不安定 ・最長24時間まで ・ライブラリの Ver.設定が煩雑 ・メモリ制限きつめ ・最長9時間まで ・値段かなり割高 ・環境構築するのは自分 ・導入後もメンテが必要 ・故障への恐怖心 ・騒音や電気代 クラウドかオンプレミスか
Google Colab (Pro, Pro Plus) Kaggle Notebook GCP or AWS
自作 or 実機購入 タイプ クラウド クラウド クラウド オンプレミス 長所 ・費用対性能高い ・メンテいらず ・共有しやすい ・TPUも使える ・無料 ・メンテいらず ・TPUも使える ・性能高い ・メンテいらず ・使用時間制限なし ・高いカスタマイズ性 (性能,料金) ・使用時間制限なし ・dockerでライブラリ 統一可能 短所 ・通信不安定 ・最長24時間まで ・ライブラリの Ver.設定が煩雑 ・メモリ制限きつめ ・最長9時間まで ・値段かなり割高 ・環境構築するのは自分 ・導入後もメンテが必要 ・故障への恐怖心 ・騒音や電気代 クラウドかオンプレミスか ここを詳しく
PCのパーツ一覧
PCのパーツ一覧 説明 グラボ GPU性能に関係.マシンを買う主目的.ニューラルネットを動かす場合に重要. プロセッサ CPU性能に関系.軽視しがちだがニューラルネット部分 (と一部のライブラリ )以外は基本的に CPU上で 動くため侮れない.
EDA, 画像前処理, table dataに対する機械学習 (GBDTほか)などなど... メモリ CPUを使用する際に関係するメモリ.自作する場合にカスタマイズできるパーツのひとつ SSD ストレージ ※その他,自作するなら電源,マザーボード,ファン, PCケースなどもカスタマイズする
各パーツの詳細
各パーツの詳細 (グラボ編) ・グラボはNVIDIAとAMDの2社が大きなシェアを占めるが,機械学習用 GPUだとNVIDIAが主流 (CUDAのシステム構築が迅速だったことに起因 ) ・NVIDIAの商品ブランドは以下の通り - GeForce …
一般PC用.ゲームに使われるが機械学習界隈でもよく聞く - Quadro … 業務ワークステーション用. - Tesla … 業務サーバー用.Google Colabでも採用されている ・現在では名前に Quadro, Teslaの使用は廃止されており, Quadro後継機(ワークステーション用) - NVIDIA RTX A6000 / NVIDIA RTX A5000 Tesla後継機(サーバー用) - NVIDIA A100 / NVIDIA A40 / NVIDIA V100 のようなネーミングに変わった
各パーツの詳細 (グラボ編) ・NVIDIAのGPUには世代があり,原則として世代が進むほど性能が高くなる (全例ではない) Kepler(2012-) → Maxwell(2014-) → Pascal(2016-) →
Volta(2017-) → Turing(2018-) → Ampere(2020-) → Hopper(2022-) ・製品名に世代の頭文字が付いていることが多い (ex. NVIDIA RTX A6000, NVIDIA V100, …) ・GeForceには世代頭文字が付いていないが, GeForce GTX 10XX系がPascal GeForce GTX 16XX系やGeforce RTX 20XX系がTuring, GeForce RTX 30XX系がAmpere といった具合になっている
各パーツの詳細 (グラボ編) なお,GeForceは以下の命名規則により名前がつけられている NVIDIA GeForce RTX 3080 Ti GeForce …
ブランド名 RTX … クラス(等級).RTX > GTX.RTXには”Real Time Ray Tracing”という技術や Tensor Coresという機械学習の行列演算を高速化する仕組みが適応されている 30 … シリーズ.30XXや20XXなどがある.数字が大きいほうが新しい. 80 … 同一シリーズ内の性能差.数字が大きいほうが性能が高い. Ti … 同一型番内での性能差. Ti > Super > 無印. 3080より性能が良いけど 3090ほどじゃないときに困るので 3080Tiにしてみた,というノリ.
各パーツの詳細 (グラボ編) 主なNVIDIA製GPUの機械学習用ベンチマークは以下の通り (https://bizon-tech.com/gpu-benchmarks/NVIDIA-RTX-2080-Ti-vs-NVIDIA-Titan-RTX/529vs530 より数値を参照) ※上記URLでは他にも様々な NVIDIA製GPUで様々なモデル (InceptionやVGGなど)を使用した際のベンチマークスコアが確認可
各パーツの詳細 (グラボ編) 主なNVIDIA製グラボのGPUメモリ(VRAM)は以下の通り 製品名 H100 (SXM, PCle, CNX) A100 RTX
A6000 A40 GeForce RTX 3090 V100 Quadro RTX 8000 VRAM [GB] 80 80 or 40 48 48 24 32 or 16 48 参考として,Kaggle NotebookのGPU使用時における VRAMは16GB程度.これだと足りなくなることも多い.
各パーツの詳細 (グラボ編) 自宅PC ワークステーション サーバー Pascal (2016-) GeForce GTX 10XX
Quadro P6000 P100 Volta (2017-) TITAN V Quadro GV100 V100 Turing (2018-) GeForce GTX 16XX GeForce RTX 20XX Quadro RTX 8000 T4 Ampere (2020-) GeForce RTX 30XX RTX A6000 A40, A100 Hopper (2022-) H100 (SXM, PCle, CNX) ※世代が新しい方が必ずしも性能が高い訳ではない.例えば T4はColab Pro, V100はColab Pro +で採用されている ここまでのまとめ (用途と世代ごとにNVIDIA製品の一部を分類)
各パーツの詳細 (プロセッサ編) ・プロセッサの大手はIntelとAMDの2社.今回はIntelに絞って調べる. ・Intel製のブランドとしてCoreとXeonのふたつがある.Xeonは業務用(サーバーやワークステーション ) ・プロセッサのスペック表にはコア数,スレッド数,クロック数などの要素がある コア数 … CPUの中核となる構成単位の数.シェフの人数に例えられる. スレッド数
… コアをさらに細かく区切った部屋の数.ソフトウェアはこの部屋をもとに稼働し, コア内のスペースを無駄なく有効活用.シェフが使用するコンロの数に例えられる. クロック数 … CPU内で1秒間に生じる信号の数.多い方が性能が高い.シェフの機敏さに例えられる.
各パーツの詳細 (プロセッサ編) ・Coreに関して言うと以下のような命名規則 Intel Core i9-10980XE Core … ブランド名.Core or
Xeon. i9 … シリーズ名.i3, i5, i7, i9などがあり,数字が大きいほどハイエンドモデル. 10 … 世代.この例では 10世代.数字が大きいほど新しいモデル. 980 … 同一シリーズ同一世代内での minor version. 数字が大きいほど性能が高いと考えてよいが シリーズや世代の違いほど大きな変化はもたらさない. XE … 末尾のアルファベットでそのプロセッサの想定使用用途を何となく把握できる 詳細は他に譲るが,例えば XEなら高性能高価格.なお, XやKなどのハイエンドモデルは その高い発熱性ゆえに冷却ファンが付いておらず,自作の場合には自前で用意が必要らしい.
各パーツの詳細 (プロセッサ編) 「型落ち世代の i9と最新世代の i7だとどちらが性能が良いか?」 → このような場合に重宝するのが PassMarkを始めとしたベンチマーク ・「(プロセッサ型番) passmark」とググるとベンチマークスコアが出てくる
・プロセッサだけでなくグラフィックボードでも上記の方法でベンチマークスコアが分かるが, ここで出てくるスコアはもしかしたら機械学習には最適化されていないかもしれない.
各パーツの詳細 (メモリ編) ・CPUメモリは以下のようなケースで必要となる A. 変数に巨大な容量のデータを代入する場合 (扱うテーブルデータが巨大な場合など ) B. 高速化のため一度使ったデータをメモリにキャッシュして再利用するとき ・参考として,Kaggle
NotebookでGPU使用時のCPUメモリは13GB.これだと足りなくなることも多い. ・例えば16GB×1枚と8GB×2枚だったら後者の方がデータ転送速度の点で優れる (デュアルチャンネルという.データの通り道が広くなるため早くなる. ) ・PCパーツの中では相対的に安い部類なので迷ったら多めに積んどいた方がよさそう?
各パーツの詳細 (SSD編) ・ストレージのこと ・機械学習のプロセスそのものにはあまり関係ないが,大量のデータを保存できた方がストレスフリー ・CPUメモリと同様,比較的安い部類のパーツなので迷ったら多めに積めばいいのではないか?
その他の注意点 ・GeForceはデータセンターでの使用が禁止されているそうなので注意 ・のんびりしているエンジニアの日記 ・グラボの性能比較に役立つサイト ・その他多数 参考文献
ありがとうございました!