1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

自宅で機械学習用PCを組むときにはまったことまとめ

Posted at

この記事って何?

新しいNVIDIAのグラフィックボードも出て、自宅に機械学習用のPCを組むかーと考えている全国5090万人の機械学習ビギナーに向けて、ハード面での落とし穴について共有します

書いた人

2020年にGeForce RTX 3090にて機械学習用の自作PCを組みました。
おおよその構成は以下の通りです

  • CPU: Ryzen 9 3900X
  • RAM: DDR4 64GB
  • GPU: GeForce RTX 3090 24GB
  • HDD: SATA 6TB + 4TB
  • SSD: SATA 2TB
  • PU: Corsair 950W

忙しい人向けの要約

やめとけ、おとなしくGCPとか使った方が幸せになれる

どうしても組みたい人向け

  • SSDはM2ではなくSATA 2.5インチタイプを使用せよ
  • 常にPCケースのサイドカバーを開けよ

何をやってたか・やらかしたか

kaggleのコンペティションで1回40時間ほどLLMのLoRAを学習させるタスクを実行させていました

が、熱暴走を起こしOSの入っているSSDを2回も壊す羽目になりました

得た教養

SSDはM2ではなくSATAを使用せよ

M2はマザーボードのPCI Expressポートの近くに設置されていることが多く、私が使用しているM/BではM2の上にPCI Express 16バスが来るためまんま上にグラボが乗る構成となっていました。
この状態で2時間ほどの機械学習を行った時点でM2 SSDの温度が80度を超えてしまい故障、データ復旧不可能状態となりました

M2は小型でデータ転送速度が速いという点で昨今のゲーミングPCで広く利用されていますが機械学習においては物理的に距離を置ける2.5インチベイに組み込むタイプを使用したほうが良いと思います

常にPCケースのサイドカバーを開けよ

○○90ぐらいのグラボであれば大体はファンが3つついており、場合によっては水冷を利用できることもあるでしょう。
基本的に利用率が100%の状態でもグラボから熱を冷却という点については問題ないと考えています
ボトルネックとなるのはグラボから外に出した排気がPCケース内にとどまりその中で温度が一気に上がってしまうパターンです。グラボの冷却効率が下がってしまったり、SSDの故障につながったりします。

機械学習を始めて18時間程度たった段階でグラボがオーバーヒートして強制終了したり、別の学習で26時間程度たった後にPCケース内がずっと70度を推移していたことがありました。その時はSATAでつないでいたSSDがやはりダメージを負ってしまいシステムが不安定になり最後は故障してしまう事態となりました。(幸いにもこのときはバックアップを取る猶予があったのが救いです…)

このパターンではPCケースに熱が出てしまう点がボトルネックなのでPCのサイドカバーを開けてその部分を取り除いてやることが大事になります。

なお、ケースを開けた時点でとんでもなくうるさいのでPCの設置場所を寝室にしない方がいいです(1敗)

グラボの状態を設定せよ

NVIDIAのグラボを使う場合はnvidia-smiというツールを導入し状態を管理できるようにしましょう。
nvidia-smiではシステムベースの使用量・温度・消費電力を監視できます

PS C:\Users\ikaros> nvidia-smi
Mon Mar 31 12:37:25 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.94                 Driver Version: 560.94         CUDA Version: 12.6     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                  Driver-Model | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3090      WDDM  |   00000000:07:00.0  On |                  N/A |
| 43%   56C    P8             36W /  350W |    4547MiB /  24576MiB |     29%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

また管理者権限にて-lgc(lock gpu clock)オプションで動作周波数を固定にすることもできます。
寝てるときや不在にしているときに、安定稼働させたい場合有用です。

PS C:\WINDOWS\system32> nvidia-smi -lgc 1155
GPU clocks set to "(gpuClkMin 1155, gpuClkMax 1155)" for GPU 00000000:07:00.0
All done.

リセットは-rgcオプションを使います

PS C:\WINDOWS\system32> nvidia-smi -rgc
All done.
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?