概要
- SOTA LLMs をローカルで動かすためのハードウェア選定と構成ガイド
- $2,000から$40,000 までの予算別おすすめ構成
- PCIeスイッチやBIOS設定 などの詳細なチューニング方法
- Dockerを活用したモデル運用法 やSTT環境構築例
- トラブルシューティングや参考リソース も網羅
ローカルでSOTA LLMを動かすためのガイド
- AltmanやDario のクラウドAIに不安を感じるユーザー向けの、ローカルAI運用ノウハウ集
- 自作PCでSOTA LLM・STT を動かすための、筆者の実践的な構成例と理由
- 現行最高クラスのモデル(例:GLM-5.2-594B) をローカルで運用するためのノウハウ
- Docker Compose を用いたモデルごとの独立運用手法
- Speech-to-Text(Whisper-large-v3) のローカル運用例
予算別おすすめ構成
- 約$2,000構成
- 2枚のRTX 3090(合計48GB VRAM) 運用
- Qwen3.6-27B や Whisper-large-v3 のローカル実行が可能
- stt harness を使ったSTTも高精度で運用
- 11GB VRAM 搭載のNvidia GPUがあればSTT運用可能
- 約$40,000構成
- 4枚のRTX 6000 Pro(合計384GB VRAM) で、ほぼClaude Opus相当のモデルも運用可能
- GLM-5.2-Int8Mix-NVFP4-REAP-594B 等の巨大モデルも対応
- PCIe Gen4スイッチ を活用し、GPU間P2P通信を最大化
ベースシステム詳細
- 中古パーツ(eBay中心) でコストを抑えつつ、DDR4世代のEPYC構成
- ASRock Rack ROMED8-2T マザーボード(PCIe 4.0 x16×7、10GbE×2)
- AMD EPYC Milan 7313P (16コア3.0GHz)
- Crucial DDR4 ECC RDIMM 128GB
- PCIeスイッチ(c-payne Microchip Switchtec PM40100 Gen4) でGPU間P2P通信を強化
- NVMe SSD 4TB+8TB×2 でモデル重みをローカル保存&ZFSで冗長化
- Super Flower 1700W PSU×2 で十分な電源供給
GPU構成
- NVIDIA RTX PRO 6000 Blackwell Workstation ×4(各96GB、計384GB VRAM)
- PCIe Gen4スイッチ関連部品 をc-payne.comで調達
- 木製自作ケース でGPUとスイッチを安定配置、ファンノイズ対策も実施
モデル運用・Docker活用
- モデルごとに専用ディレクトリ+docker-compose.yml で独立運用
- ~/storage/models をread-onlyで各Dockerコンテナにマウント
- opencode を別VMで走らせ、http://clank.j.co:5000 経由でモデルAPI化
- 内部DNS でclank.j.coをLLMマシンに割り当て、もしくはIP直指定も可
- tmux+opencode で各ディレクトリごとにセッション生成、バックエンドAPIとして活用
- 各種ツール連携 (camofox、kagi.com API、searXNG、Telegramボット、Gitea等)で運用効率化
BIOS・カーネル・GRUB設定
- BIOSでPCIe Link Widthをx16固定 (x8/x8分割を回避、SlimSASケーブル2本必須)
- PCIe Link SpeedはGen4固定 (AutoだとGen1にダウングレードすることがあるため)
- ASPM無効化 (アイドル時の速度低下やリンク再トレイン遅延を防止)
- Re-Size BAR有効化 (全VRAMへのアクセス、P2P通信に必須)
- SR-IOV無効化 (IOMMUによるオーバーヘッドやP2P干渉を防ぐ)
- Preferred IOはAuto推奨 (バス番号が変更されるため)
- c-payneツールでリドライバのゲインを調整 (SASケーブル長に応じて最適化)
- SASケーブルは純正品推奨 (互換品だと不具合が出やすい)
カーネル・GRUBパラメータ
- /etc/default/grub
- GRUB_CMDLINE_LINUX="iommu=off amd_iommu=off nomodeset"
- sudo update-grub
- nvidia_uvm P2P fix
- echo 'options nvidia_uvm uvm_disable_hmm=1' | sudo tee /etc/modprobe.d/uvm.conf
- sudo update-initramfs -u
- ACS(Access Control Services)無効化
- setpciでランタイム無効化スクリプトを作成し、systemd oneshotで自動実行
- lspci -vvv | grep ACSCtlで全て「-」になっていることを確認
- nvidia-smi topo -mで全GPU間がPIXになっていることを確認
GPU電力制限
- 110V回路で運用するため、GPUごとに350Wにパワーリミット
- nvidia-smiでPersistence mode+Power Cap設定
- nvidia-smi --query-gpu=index,power.limit,power.draw --format=csvで確認
性能・ベンチマーク
- Gen4 x16でCPU⇔GPU間30GB/s
- スイッチ経由P2P通信で27.5GB/s(単方向)、50.4GB/s(双方向)、0.37–0.45μsレイテンシ
- ASPM有効時はlspciで2.5GT/sと表示されるが、実際は負荷時にGen4へ復帰
参考リソース
- 4/6/8 RTX 6000 Pro運用の最新情報リポジトリ https://github.com/local-inference-lab/rtx6kpro
- c-payne製Indie PCIeスイッチ https://c-payne.com
- RTX6kPRO Discordコミュニティ https://discord.gg/QMNvFkuDN
まとめ
- $2,000から$40,000までの幅広い予算で、ローカルSOTA LLM/STT環境を構築可能
- 中古パーツやPCIeスイッチ活用でコストパフォーマンス最大化
- Dockerや各種ツール連携で、運用・開発効率も大幅向上
- 詳細なBIOS/カーネル/電源設定で、最大限の性能を引き出すことが可能
- 最新情報やトラブルシューティングはリポジトリ・Discordで随時アップデート