【2023年12月最新】機械学習用PCの選び方：研究開発の経験から

# はじめに
こんにちは！私は28歳で、あるメーカーにて画像系の機械学習に関する研究開発を行っています。
今年、仕事上で研究開発用のPCやその部品を選んだり、個人用の機械学習用パソコンを購入しました。これらの経験を通じて、機械学習に最適なパソコンの選び方についていろいろ勉強できました。

インターネットにはゲーミングPCに関する情報はいっぱいありますが、機械学習用のPCに関する情報は意外と少ないですよね。。。そこで、私が学んだことを共有し、PC選びに悩んでいる方々の役に立てればと思います。

# PC選定の重要な4つの要素
- 予算
- 性能（CPU、GPU、メモリ、ストレージ、電源等）
- タイプ（据え置き型 or ノートPC）
- ノートPCの場合、サイズと重量

# 予算 - 現実を直視しよう
PC選びにおいて、予算は非常に大切です！！！どれだけの金額を投じるかによって、手に入るPCの性能が大きく変わります。もちろん、高いPCを買えば性能も上がりますが、みんなが大金を用意できるわけではないですよね。。まずは実際に使える予算を決めましょう。ここに、私の**独断と偏見**でPCの予算感をまとめてみました。（2023年12月現在）

## 予算の大まかなラインナップ（個人的所感）
| 予算範囲     | CPUのみ             | CPU+GPU      |
|--------------|------------------|----------------|
| ~10万円      | 超安い！          |  大丈夫？  |
| 10~15万円    | コスパ◎           |    ちょっと心配かも   |
| 15~20万円    | まあまあ高い       | 超安い！   |
| 20~25万円    |        | そこそこハイスペック。基本的な機械学習の開発できそう       |
| 25~30万円    |        | 画像系もある程度開発できる！ほぼハイスペック |
| 30万円以上   |        | 個人で持っているのは富豪。自然言語、3D系の開発はこれくらいのスペックのPCは必要     |

特に画像系の学習を行う場合、GPUの性能が超重要です。ローカル環境でスムーズに学習させたいなら、最低でも15万円以上の予算が必要です。もっと快適にやりたいなら、20万円以上が目安だと思います。


# 性能（CPU、GPU、メモリ、電源等）
スペックの話、これ大事です！どのくらいのスペックがいいのか、簡単に説明します。お金はかければかけるほどスペックアップはできますが、無限にあるわけじゃないので、上の予算感を念頭に置きましょう。詳しくは、これからのアドベントカレンダーでアップデート予定です。
デスクトップの場合はGPU、メモリは比較的に簡単で交換することができるため、予算がない場合はそこを最低性能で買うという方法もあります。

## CPU
処理の全てはCPUが関わってくるので、購入の際はこれが一番大事です。

### IntelとAMDどちらか？
機械学習用には少し高くてもIntel製がおすすめです。機械学習環境はintel製のCPUで構築されたものが多いからです。具体例でいうと、AMD製のCPUは場合によってPythonの数値計算ライブラリnumpyがIntel製より動作が遅いという例もあるそうです。

https://engineer-milione.com/programming/ryzen-numpyl.html

### intelのCPUどれを選べばいいのか？
core-i5/i7/i9があるけど、i7やi9が常にいいわけではないです。世代もチェックしてくださいね。例えば、Cinebench R23のベンチマークでは、Core i5-13600KがCore i7-12700Kよりスコアが高いです。PCを買う時は、どの世代かも大事です！

https://pcfreebook.com/article/corei-series-gen13-gen12-comparison-broadly.html#introduction

## GPU
下のNVIDIAのGPU性能比較表を見てください。画像処理するならVRAM 8GB以上が欲しいですね。画像生成系をやるなら12GB以上がいいかもです。詳しくは後日のアドベントカレンダーに書きます。

https://pcfreebook.com/article/459993300.html

## メモリ(RAM)
カスタムPCを買うとき、よく16GBや32GBのメモリが標準でついてきますが、画像処理や3Dモデル系の開発をする場合は最低32GBメモリが必要です。できれば、128GBを目指すのがベストです。ただし、増設する時はマザーボードとの相性を忘れずにチェックしてください。詳細は後日のアドベントカレンダーに書きます！

## ストレージ
速さを求めるなら、HDDよりSSDです。作業するファイルはSSD上に置いたほうがいいので、できれば SSD 1TBを用意しましょう。もちろん後で、SSDを増設することもできます。

## 電源(据え置き型の場合)
ここは、意外と見落としがちですが、特に後でGPUをグレードアップする予定がある人は要注意。電源の容量が足りるかどうか、ドスパラのサイトで確認してみるといいです。これで、予期せぬトラブルを回避できると思います。

https://www.dospara.co.jp/5info/cts_str_power_calculation_main.html

# タイプ（据え置き型 or ノートPC） 
使用目的と使用場所、価格と性能、リモート接続の必要性を考えて、どっちを選ぶか決めましょう。同じスペックを求めるなら、デスクトップに比べてノートPCは一般的に高価になりがちです。
でも、もし「高性能なデスクトップPCを持っているが、外出先でも同じ能力のパソコンを作りたい」と思った場合は、ノートPCの購入も考える必要があります。
ノートPCを用意する必要です。これによって予算は増えることもあります。
既に持っているPCをリモート接続で利用できる場合は新しく購入する必要はないですが、PCが古いとリモート接続時に新しく買ったデスクトップの性能をフルに活用できないこともあるので注意してください。
このような点も踏まえて、デスクトップかノートPCかを慎重に選びましょう。（私の経験談です！）

## 据え置き型 or ノートPCの比較
|              | 据え置き型                      | ノートPC                                   |
|--------------|----------------------------------|-------------------------------------------|
| 使用目的      | ローカルで、高性能なGPUを使ってがっつり学習したい！ | GPUはそこそこでOK。重い処理はクラウドで、どこでも快適開発！ |
| 使用場所      | デスクがメイン。                 | 電源さえあればどこでも作業可能。      |
| 価格と性能のバランス | コスパ最高！後で部品交換して、コスパよくスペック向上することも可能！             | 高性能GPUを入れると、デスクトップより少し高くつくかも。 |
| リモート接続の検討 | 持ち運びを考える場合、別途ノートPCが必要。（予算増加あり）      | 既に持ち運び可能なので、そのままでOK。     |

# ノートPCの場合のサイズと重量-コスパ◎だが、コンパクトさ△の場合も
ノートPC選びで、サイズと重量はめちゃくちゃ大事です。特に、高性能なGPUが搭載されたモデルは、大きくて重たいことが多いので注意です。安くて高性能なノートPCを購入して届いたら、意外と大きくて重くて使いにくいこともあるかもです。。。
特に、オンラインで買うときは注意です。持ち運びを考えてる場合は、サイズと重量の確認を絶対にしましょう。

## 個人的おすすめノートPCサイズと重量
-持ち運びやすさ重視の場合
    - 12～14インチ
    - 1.0~1.5kg　

https://www.e-qix.jp/contents/pc-select/laptop/knowledge/


# 参考
ほかに、PCのスペックの紹介されたサイトがありました

https://qiita.com/yuki_2020/items/c233d903fe41d98bfff3

# 最後に
これが初めてのアドベントカレンダーでした。
詳しいスペックの話は後日、アドベントカレンダーでさらに深堀りする予定です。最後まで読んでいただいてありがとうございます！