開発環境整備 for 深層強化学習
実物写真の用意が間に合わなかったので今週中に追記。
0. 必要な技術・環境(学べる事)
・自作PCを作ったことのある友人、もしくは高専出身の友人
・DIYが出来る環境(スペース、騒音の問題、道具など。道具は最低限で十分)
環境はHP Pavilion Aero 13bgを用いている。購入して10か月でマザーボードがいかれた。PCが悪いのか使い方が悪いのかは不明だが怖いのでそろそろデスクトップPCに移行したい。
・木材の水平を確実に取ろうとする気合い
・デスクシェルフ周り:\5000程度(板、細かい機能、ステインによる)
・自作PC:¥330,000(GPUが半分くらい占めてるので、GPU次第でだいぶ変わる)
1. はじめに
1.1 なんで開発環境の整備?
ただの身の上話なので飛ばしても問題ないです。
元々DIYは趣味でたまに(年一回くらい)していて、最近PC作業を家で行う機会が増えた。そんな折、デスクにモニタを導入したところデスクスペースの狭さとごちゃつき具合に頭を抱えたため、デスク上を丸ごと整えたくなった。
またAIに関しては、近年4脚歩行ロボットや人型ロボットの隆盛が目まぐるしい。アメリカや、特に中国の技術進歩はとんでもない。私は高専時代の研究室に丁度Unitree Go1が納品され、4脚ロボットに胸が躍った。しかしその制御には逆運動学やPID制御のような古典制御が含まれてはいるが、メインとなっているのは現代制御、特に深層強化学習であった。そんなことを思っていたタイミングで東京大学の松尾研究室が主催されている「深層強化学習 Deep Learning 応用講座2024」に参加し、深く知ることが出来たおかげでより深く学ぶ意欲がわいた。また同時に友人と一緒にロボットを作ろうという話になったためモチベーションが最高潮に達し、AI学習にどっぷりはまった。そのため最低限のVRAMとそれを活かすことのできるPC環境が必要だったため今に至る。

1.2 本記事の目的
ただのVlogみたいなものである。せっかく作ったので共有したいのが大半と、あとはついでにポートフォリオに掲載する。
1.3 制作の目標と開発フロー
必要なものは机を整えることが出来る設備とAI用デスクトップPC。僕の場合は必要になったタイミングがデスクの整理(デスクシェルフの導入)が1年ほど先に必要だったため、デスク整理が先になっている。まあ整理しないと新しいものも置けないので、以下の順序でいいと思う。
本制作の目標と制作の順序をまとめる.(上がデスクシェルフ周り、下がAI用PC。下は選定する順番でもある)
- テレビを置いても壊れない
- 液タブ、タブレットをそれぞれ収納するスペースを用意する
- 小物を収納する棚を用意する
- 充電用の配線へのアクセスを考慮する
- 見栄えがよく、整理整頓されていると感じるようなデザイン
- ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
- GPU:RTX5070Ti(VRAM:16GB) \150,000くらい
- メモリ(RAM):DDR4 32GB \40,000くらい
- CPU:Intel Core i7 14700 \52,980
- マザーボード:MSIマザーボード PRO Z790-P WIFI DDR5 \25,000くらい
- 電源:\10,000~\20,000の間
筐体:\10,000~\20,000の間
冷却器:\10,000以内でいけそう。
デスクシェルフ周りの制作の順序は以下のとおりである。
- 必要な寸法をまとめる
- デスクシェルフのデザインを決定する
- 寸法に見合う木材や棚を探す。なければ設計変更。
- 木材をカットする(必要に応じて)
- カットした木材の寸法と面を整える
- 接着もしくは接合
AI用PCは上に従って選ぶだけ。必要なスペックは調べてショップの店員さんに聞いたり、友人にHelpを出せばおそらく十分である。AI用PCに必要なスペックは2.2章で軽くまとめる。
以上のフローにもとづいて制作を進める。
2. 工程と詳細
2.1 デスクシェルフの制作
制作のフローに基づいて作業を進める。
1.必要な寸法をまとめる
僕は3DACD(Fusion)で3Dモデルを作成して寸法を管理したが全然手書きでいい。寸法は自分のデスクに乗る限界まで大きくした。こういうテイラーメイド感がDIYの良いところ。


2.デスクシェルフのデザインを決定する
上記設計目標を達成できるようなデザインを決める。僕の場合は以下のことを考えた。
①テレビを置いても壊れないように、テレビを置く真下の位置に支柱を置く設計とした。
②支柱が邪魔にならないかつデスクからはみ出ないようにスペースを確保した。
③向かって左側の余ったスペース(下図赤丸X)を小物を収納するスペースとした。
④充電器からデスクシェルフの裏を通って手前側(下図青丸X)に配線を持ってきた。
⑤ノリとテンション。
3.寸法に見合う木材や棚を探す。なければ設計変更。
この際に強度やデザインも考慮する。特に板厚はテレビを置けるかに大きくかかわるため、集めの木材を選定した。また木材の種類によっても強度は変わるのでご注意を。とりあえず密度の高い木材を選ぶとよいでしょう。以下に購入したものを示す。(全て手店舗で購入した)
・焼桐集成材
・グレインボード(ホワイト)
・DAISOのマグネットシート
・DAISOの配線ベルト
・DAISOのケーブルクリップ
・DAISOのパンチングボード:こんな感じ
・DAISOの重なる透明収納ケース
を選定した。これを2段に重ねてぴったりだった。
4.木材をカットする(必要に応じて)
ピッタリのサイズの木材があることはあまりないので木材をカットする必要がある。また電動工具を持ち合わせていなかったためのこぎりでゴリゴリした。
木材のカットが面倒な場合は、木材に合わせた寸法で設計をしましょう。これが許されるのはDIYの素晴らしいところです。
5.カットした木材の寸法と面を整える
これが地獄だった。結局この作業で3日潰れた。木材の断面がガタガタだっと接着がしづらかったり傾いたり隙間が出来たりと様々な問題が発生するため、丁寧に行う必要がある。また足の高さが揃っていないと傾いたりガタガタするので、慎重に調整した。手作業だと特にばらつきが生じるので、鉋とやすりと気合で面を整えなければならない。

(Nanobananaは流石だ)
6.接着もしくは接合
僕は面倒だったかつ横向きの荷重はかからないと割り切って木工用ボンドで接着した。
本来であれば三角金具などを用いて横方向の荷重に耐えられる設計をするべきだが、5番作業で心が折られたため妥協した。心配な方は必ず補強しましょう。
7.完成!
Beforeは汚過ぎたのでAfterのみ掲載する。

2.2 AI用PCの部品選定
メモ形式でまとめている。
GPU:Geforceは世代よりもVRAMを見る。VRAMは最低でも16GB、ちゃんとやるなら24GBは欲しい。だから4060より3090の方がBetterと言われる。実際Tron1を開発された現場ではrtx4090でAI学習をされていたそうな。現状だとAIをするならファームウェアの整っているNvidia製一択になる。
メモリ(RAM):AIにおいてはSSD一択とは言えない。AIはメモリへの書き込みが多いためSSDは壊れやすい。HDDのみもしくはHDDの併用が重要。SSDにおいてはDDR4とDDR5という規格があり、5の方が新しくもちろん優れているが、近年の特需のせいで「DDR4でもいいじゃん」という人もちらほら。またRAM>=2.0 * VRAMが求められる。
CPU:IntelとAMDでまず迷う。AIのような並列処理が求められる場合はコア、スレッドの多いAMDが多いと言われたりする。あとはIntelはi7あたりで設計ミス的なことが原因で発熱しまくって壊れまくっていたので、今は若干評判が悪い。詳しいことは僕も正直分からなかったので、今後両方試して検証してみたい。お金があれば...ね。
マザーボード:最近あんまり違いが無いとか。これはショップ店員にGPU、RAM、CPUに見合ったものを選んでもらうのが無難。RAMとCPUは規格が決まっているので注意。
電源装置:GPUによって電源容量が変わる。WがGPUごとに決まっているので、必ず見合ったものを確認する。多めに見積もっておくと、今後GPUを買い替えるときに安く済む、はず。
冷却器:簡易水冷にするとまあ安心。AI学習させる+Intelならちゃんとしたものの方がいい。最悪GPUに熱の影響が出る。
その他:相性の問題があるので、必ず購入するときはショップの店員に相談する。
RAM>=2.0 * VRAMであるべき。ゆえにGPU→RAM(メモリ)→CPU→マザーボード→電源、筐体、冷却器の順番で決める。
以上を基にpcパーツを売っている家電量販店に行き、rtx5070 Tiを見つけて取り置きしてもらいつつ、その他店舗も回ったが、BTOは軒並み売り切れ。次回入荷だと価格が4万ほど上がると言われ流石に自作pcのほうが明確に安くなる事態になったので、以下の製品を購入した。また金額が金額なので、組み立てと配送はプロにお任せした。怖かった。なので自作(他力本願&他作)PCである。
・GPU:Geforce rtx 5070 Ti , ¥155,000
・CPU:Intel Core ultra 7 , ¥47,200
・マザーボード:Z890AELITEWIFI7 , ¥27,000
・RAM:TED532G6400(32GB, 6400Mb/s) , ¥30,000
・SSD:GM7000-1TBWH , ¥15,000
・電源装置:MPGA1000GSPICE5 , ¥20,000
・ケース(筐体):P20CE , ¥10,000
・冷却器:DS360-BK , ¥16,000
Total:¥330,000
GPUが1番心配かつ迷ったが、2年保証+そんな激しい学習は当分しない+大学院卒業まで買い換える必要性がないだろうということで思い切った。これが1番怖い。
全体的にこのメモリ恐慌の時期にしては安く収まったと思う。ありがとうJ〇shinの親切な店員さん、今の値上がりをほとんど無視した価格設定をしてくれて。いやマジで。今後とも懇意にしようと決めました。
ついでにチープなキーボードを購入。そのうち左右分割キーボードにしたいが、Fnキーが必要だった場合困るので様子見のために購入。
rtx5060tiと迷ったが、学習速度にまあまあな影響が出るということで上位機種に。今後市販に出回る数も減ると考えると、悪い投資ではないだろう。
2.3 PCのLinux環境を導入する
高専在学時に卒業研究でデュアルブート環境を使用していた際、デュアルブート環境をWindowsアップデートに壊されて以来WindowsアンチなのでLinux(Ubuntu24.04)をインストールする。手順はこちら。もっとのめり込みたい人はこちらも確認すると良い。
2.3.1 そんなに甘くなかった。
どうやらnvidia用のGPUドライバをインストールする必要があったらしい。アホみたいにラグかった。一回ノリでドライバをダウンロードして再起動したところ、画面が真っ黒になって呆気なくUbuntuの再インストールが必要に。ふと思った。linuxってクソだるいのでは...?とか思って再インストールしたubuntuを開くとドライバがインストールされていた。うん意味が分からん。ダウンロードデータがGPUに保存されたのだろうか。あるいはストレージに残り、不都合を起こしていたUbuntu環境だけ消え去ったのだろうか。とりあえずきもいラグは消えたので、GPUドライバをインストールすれば解決することがわかった。
とはいえノリで高級GPUに負荷をかけるなんて以ての外なので、なるべくオフィシャルな文献に基づいて作業を進めたい。以下サイトはメモ。
2.3.2 iPadをサブディスプレイにする
とりあえずdeskreenというアプリを使用する。
2.3.3 CPU温度を監視する
IntelはCore i7周辺で発熱問題があったため、特に注意をしながら作業する。CPUが死ぬだけならまああれだが、GPUに悪影響が出たら恐らく立ち直れない。ということでダウンロードする。
CUIとGUIそれぞれあるっぽい。GUIの方で一旦やりつつ、不満が出た場合はCUI情報をPythonから読み取り、TkinterでGUI化するのも手だなと思いつつ。
2.3.4 日本語に対応させる
ubuntuは基本英語ベースで設計されているため、個人的には日本語環境をわざわざ導入したくなかったが、このような記事や作業ログを残すときに英語だとだるい。書けなくはないが読みづらいし、開発の仲間と共有してもうざいだけである。そのため日本語環境を入れた。
基本はmozcとFcitx5をインストールすればいい感じに設定できる。
Discussion