空前の生成AIブームである。そこで遅ればせながら、自宅で機械学習にチャレンジしてみようと思い、パソコンを買おうと思ったが…
(今週の一枚)ちょっと前進(まだ遅筆)
今回は準備・お買い物編になります
金がないから工夫する
デスクトップPCを買おうと思ったのはいいが金がない。地獄だ👿。半導体関連はトランプショックでフラフラしているが、依然としてグラフィックボード(以下、GPU)は高価な買い物だ。状態のいいGPUを備えたパソコンを既製品で買おうとすると30万以上はする。いやぁ高い。
そこで、自分で組み立てることにしたけど、予算が10万くらいしかない。これだと3世代くらい型落ちになるので、機械学習どころか既存データからの生成もできない可能性もあり、それを買ったとしても金属の箱を眺めるだけになってしまう。
今使っているPCのGPUを入れ替えてもいいが、機械学習させている間はその他の作業ができなくなる。PCを使っていない外出中に遠隔で操作することも考慮したが、帯域割り込みや乗っ取りが怖いので、できるだけこのPCは独立した状態にしておきたい。そこで、今のPCにはRTX2080(生成AIに使うには若干力不足)が入っているが、これに加えてもう一本GPUを突っ込んでマルチGPUなんてロマンがあるかも…と思った。
しかし、冷却を考えると大型ヒートシンクは外せない上でケースの隙間やコネクタ(PCIe3.0スロットしか空いていない)のバランス、PCのATX電源が750Wしかないといった問題から、大型のGPUをいくつも入れられないことが分かった。
そこで何かないかと調べると、外付けハードディスクみたいにグラフィックボードをケーブルで繋げて使える技「eGPU」があることを知った。これならいける。
この方法は主に小型PCやノートパソコンで用いられるものだ。通常これらのPCはあまり重たい処理ができない。コンパクトである故、熱の問題が常にあり、高速処理できるダイをあまり積めないからだ。そこで高負荷処理は外付けにしようという発想となり、外部のGPUとATX電源(デスクトップ用の電源)の電源供給を前提として情報処理することになったみたいだ。
この方法を想定すると
1、GPU
3、ATX電源
4、ケーブル
5、PC側接続コネクタ(増設)
6、既存PC(すでに持っている)
を準備すればいい。
方針は決まった。次に具体的にどんなものが必要か考えて買ってみた。
GPU選び
Linuxベースでシステムを組んだり、小型サーバーを立てていくつかのeGPUに仕事を振り分けることを考えても楽しいけど、今回はあくまでWindowsPCの外付け機器としてのGPUを選ばなくてはならない。GPUには主にNVIDIA社とAMD社から出る商品があるが、Windowsにおける生成AIはNVIDIAのCUDAを前提にしたソフトが全盛なので、AMD Radeonは選外となる。
また、初心者がGPU一枚でできることとなると精々簡単な機械学習とローカル環境の構築くらいで、文字・画像・行動パターニングなんかを考慮するとCUDAコア数5000、VRAM12GBくらいあればギリギリ処理できるかなぁという感じだ。
NVIDIAのGPUにはRTXシリーズとQuadoroシリーズがある。RTXシリーズで現行の5000番台は大炎上中なので1世代前の4000番台が標的となる。Quadoroシリーズは業務用を意識した価格設定なので、必要スペックのGPUがそもそも高くて買えない(A4000以上は20万出しても買えない)。
…というわけで、金額的・性能的にギリギリ行けるRTX4070が対象候補に挙がった。定格200Wなのでお試しでやるにはちょうどいい省エネGPUだ。さらに、具体的な機種選定になるけど、4000番台から補助電源供給の方法が変わり、今までの6+2pin(8pin)から12VHPWRという規格になった。この規格がちょっと問題で、接続部分が焼損する(ケーブルの差し込み不足?)とか8pin2本以上→12VHPWRの変換ケーブルに不具合(ケーブルを曲げるとハンダがもげてちゃんと合流できず過電流であぼん?)なんかがあってちょっと怖い。新しい規格だからしょうがないけど今回は避けることにした。
RTX4070でも2次製造メーカーでいくつか種類があって、ラジエータ(冷やすアルミの塊と扇風機)の大小やLEDやデコレーション、補助電源の種類なんかで選べる。
ラジエータは大きめ、LEDはなしで地味でよい、補助電源は従来の8pinを選択するとASUS PROART-RTX4070-O12G(中古)になった。
8万円強したので買った時ちょっとドキドキした(;´Д`)
接続方式
デスクトップPCから外付けデバイス接続方法を考えるとUSBが有名だが、eGPUの場合どうなのだろうか?
調べられる限りではOculink4iとThunderbolt3(4は不安定らしく除く)という接続規格がある。転送速度ではOculink4iで8Gbps、Thunderbolt3で10Gbpsとなる。 パソコンの内部コネクタを変換してeGPUと接続することになる。転送速度を考えると内部コネクタはPCIe/NVMeを流用して接続するみたいだ。
比較的有名なThunderboltに関しての転送速度は最大40Gbpsとなっている。PCIeには電源レーンと情報用並列4レーン(1レーンが×4で4レーンで×16)があり、これにまとめて接続できるなら40Gbpsでる仕組みになっている。しかし、eGPUではPCIeの変換時に情報用1レーンしか使えないみたいなので速度は10Gbpsとなる(レーン数はOculink4iも同じ)。
一見、Thunderbolt3の方がいいかなと思うが、落とし穴があった。この規格は電源供給を前提とした転送方式なのだが高電圧負荷に耐えられないことが間々あるようだ。そのため、比較的よく壊れる。転送速度を早くするとその先の機械はたくさん電気を食うので結局不安定になる可能性もある。今回は転送先で電気をバカ食いするGPUを使うので、電気の供給元は絞りたい。そのため、Oculink4iを接続方式にすることとした。
接続の流れとしてはPCのPCIeコネクタかNVMeコネクタ(どっちもコネクタの形が違うだけで転送方式は同じ)の1レーンをOculink4i用のコネクタに変換して、そのケーブルをライザーカードに繋ぐ。カードを介してATX電源とGPUを接続して外付け化することになる。
AliexpressやAmazonを見ると結構な数のコネクタやライザーカードがあったが、コネクタはPCのスペースの都合からNVMe→Oculink4i変換でケーブル20cm、ライザーカードはスイッチ含めて半筐体化したもの(MINISFORUM DEG1)を選んだ。
併せて1.4万円弱で少し胃が痛い"(-""-)"
電源選び
これは結構悩んだ。先ほど書いたようにRTX4000番台から規格が変更されたため、新規の電源もそれに伴って型式が変わっている。しかし、AC/DC変換方式・効率に関しては何ら変更ないので旧型でも問題なく使える。今だけを考えると古い中古のものでも十分だ。一方で、これからを見据えるとコネクタ規格は当然新しいものでないと新規GPUには対応できない…が高い。
この電源の使い道は、お金ができたらこのeGPUを原型にしてPCを組むか、この計画が成功したらもう一台eGPUを横につけたりしようかと思っている(妄想)。そうなると少し大きめなワット数で新規格の方がいいだろう。旧型は有名メーカーのものが徐々にたたき売りに入ってきたが、先を見るとこれは買えない。
新型を調べてみると、有名メーカーでも初期ロット(?)は歩留まりが悪いらしく1%くらい揉めている感じだったので、謎メーカーでも同じ(大体OEMか同じ工場出荷だろう)だと踏んで安いものを調べて買うことにした。まぁレビューや口コミがないと不安だけどここは勝負だ!
その結果、darkFlash PMT850を選ぶことにした。
1.4万弱、むぐぐ予算が( ^ω^)・・・
お買い物まとめ
今回はとりあえずやってみようということ買えるものを買った。合計で11万強で予算を少しオーバーしてしまった。特にGPUが中古で8万以上したのが痛かった。セールなんかを狙えばある程度安いものがゲットできるかもしれないけど、GPU全体の品薄状態が続いており狙った機種がいつ市場に出るかわからないので思い切って買ってしまった。
さて、これがうまくいくかどうかは次回にお預け。
(その2に続く)
☆エロ同人CG販売中

