Smart AI Life Knowledge Base

格安ローカルLLM

生成AI、ローカルLLM、スマートホーム自動化で日々の暮らしをゆたかに整える実践ドキュメント。

  1. Smart AI Life
  2. 記事一覧
  3. 格安ローカルLLM

【PS5の心臓部を極限解放】約2万円の「AMD BC-250」を40 CU&8コア16スレッド化!Tailscale経由でMicrosoft Phi-4 (14B) を回すローカルLLMサーバ構築全記録

【Ubuntuの挫折からFedora 45で完全突破】24CU・6コア12スレッドの制限を突破し、PS5超えのフルダイ40CU(2560コア)&8コア16スレッドへ!ACPIリブートハング、RANDSTRUCT拒絶、LVM容量不足の全地雷を回避し、Phi-4 14Bを秒速9.3トークンで回す全コマンドと自律ゼロクォータ運用の全貌。

🚀 生成AI×リスキリングSponsored / PR
⚡ 自宅AIインフラ × ハードウェア極限ハック

PS5の心臓部を極限解放!
約2万円の「AMD BC-250」を40 CU&8コア16スレッド化して専用LLMサーバに仕立てる完全マニュアル

〜Ubuntuでの挫折、ACPIリブート地獄、カーネルビルド拒絶を乗り越え、Fedora 45でシリコン全開(2560基)へ。Microsoft Phi-4 (14B) が秒速9.3トークンで動くまでの全コマンド・失敗記録〜

🐿️
モコ
「ぽトル、最近巷で『PS5のAPUがヤフオクやAliExpressで2万円前後で買える』って大騒ぎになってるけど、本当にAIのサーバとして使い物になるの?グラボ買うと10万円以上するのに…」
🐼
ぽトル
「なるどころか、化け物マシンに変貌しちゃうんだよっ!工場出荷時はGPUが24 CU(1536コア)、CPUが6コア12スレッドに制限されてるんだけど、カーネルパッチとSMUレジスタ書き換えで、本家PS5(36 CU)すら超える『フルダイ40 CU(2560コア)&8コア16スレッド』に物理リミッター解除できちゃうんだ!」
🐢
ゲンさん
「うむ。ただし、ネットの古い記事通りにやると、再起動で画面が真っ暗になって死んだり、Ubuntuのカーネルセキュリティに弾かれたり、ディスクが15GBで溢れたりと、罠が地雷原のように埋まっておる。今回は我々が実際に踏み抜いたすべての失敗と、その確実な解決ルートを完全公開するぞ。」

1. なぜ今「AMD BC-250」なのか?破格の16GB GDDR6帯域とポテンシャル

ローカル環境でLLMを動かすとき、最大のボトルネックになるのは計算力以上に「VRAM容量」と「メモリ帯域(転送速度)」です。
通常のデスクトップPC(DDR4やDDR5)でCPU推論を行うと、メモリ帯域は40〜80GB/s程度にとどまり、7B〜14Bクラスのモデルを動かすと毎秒数トークンに落ち込みます。一方で、16GB以上のVRAMを持つグラフィックボード(RTX 4060 Ti 16GBやRTX 3090/4090)を導入すると、安くても8万円〜20万円以上の投資が必要です。

そこで登場したのが、暗号資産マイニング用にPS5のAPU(コードネーム:Oberon / Cyan Skillfish)を流用して作られた謎のマイニング基板、「AMD BC-250」です。

項目 通常のPS5 BC-250(工場出荷初期) BC-250(本記事の解放後)
CPU構成 8コア / 16スレッド (Zen 2) 6コア / 12スレッド (制限) 8コア / 16スレッド (全解放)
GPU CU数 (コア数) 36 CU (2304 SP) 24 CU (1536 SP) 40 CU (2560 SP フルダイ解放!)
メモリ仕様 16GB GDDR6 (256-bit) 16GB GDDR6 (256-bit) 16GB GDDR6 (実効VRAM 15.8GB利用)
メモリ帯域 448 GB/s 448 GB/s 448 GB/s(DDR5の約6倍!)
入手価格 約7万円〜8万円 約2万円前後 約2万円(圧倒的コスパ)

初期状態では24 CU・6コア12スレッドにデチューンされていますが、シリコンダイ自体は40 CU・8コア16スレッドの完全なフルダイ(欠損なし)が乗っています。これを適切にアンロックしてあげると、「PS5を超える演算器と448GB/sの爆速帯域を持った、実質VRAM 16GBの専用推論サーバ」がたった2万円で手に入ることになります。

2. 【失敗の全記録】私たちが遭遇した地獄の罠と挫折

しかし、この基板は一般PC用ではなくマイニングファーム用です。素直に動かそうとすると次々と罠に引っかかります。私たちが踏み抜いた失敗のすべてを赤裸々に記録します。

🚨 罠1: Ubuntu 24.04 でのカーネルモジュール拒絶(RANDSTRUCT)
最初に使い慣れた Ubuntu 24.04 LTS で 40 CU パッチ済み `amdgpu.ko` をコンパイルしたところ、ロード時に `Exec format error` が発生。Ubuntu公式カーネルはセキュリティ機構 `CONFIG_RANDSTRUCT`(構造体レイアウトのランダマイズ)が有効になっており、外部でビルドしたカーネルモジュールを一切受け付けない仕様になっていました。
🚨 罠2: 再起動するとブラックアウトして二度と上がってこない(ACPI問題)
BC-250のBIOSファームウェアはリセット信号の受け渡しに癖があり、Linuxから普通に `sudo reboot` を実行すると電源が入ったまま画面がブラックアウトし、ウォームリブートがハングします。電源ボタンを長押しして強制断するしかなくなる地獄に陥りました。(GRUB引数に `reboot=acpi,cold` を付与することで完全解決)。
🚨 罠3: GitHubスクリプトが Arch Linux(mkinitcpio)前提で作られている
有名な `GabriWar/bc250-core-cu-unlock` の中にある `bc250-acpi-fix.sh` をそのまま叩くと、`mkinitcpio: command not found` で即死します。FedoraやUbuntuなどのRedHat/Debian系は `dracut` や `initramfs-tools` を使うため、そのままでは通りません。
🚨 罠4: Fedora 45 での kernel-devel バージョン不一致
Ubuntuを諦めてRedHat系の Fedora 45 Server を導入。しかし `uname -r` は `7.2.15-300` なのに、通常リポジトリの `kernel-devel` は `7.2.14-300` までしか配信されておらず、「一致するものはありません」と拒絶されました(`updates-testing` リポジトリを一時的に有効化して解決)。
🚨 罠5: パッチを当てたのに「active CUs: 24」から変わらない
ビルドした `amdgpu.ko` を配置しても、Fedora起動時に「initramfs(初期RAMディスク)」の中にある古い無改造モジュールが先にロードされてしまうため、何回再起動しても24 CUのままでした。`sudo dracut --regenerate-all --force` で初期RAMディスクを完全再生成し、GRUBに直接 `amdgpu.bc250_cc_write_mode=3` を渡すことで40 CUへ化けました。
🚨 罠6: 500GB SSD なのに 15GB で「容量不足エラー」
9GBのモデルファイルをダウンロードしようとすると、4.98GBで `curl: (23) Failure writing output to destination` と停止。Fedora Serverのインストーラは、大容量SSDでも初期設定ではルート(`/`)に15GBしか割り当てず、残りを未割り当てLVMプールに残す仕様でした(`sudo lvextend -l +100%FREE /dev/mapper/fedora-root -r` で464GBへ一発拡張して解決)。
🚨 罠7: systemd サービス化すると SELinux に弾かれて起動しない
常時起動しようと `/home/bc250/llama.cpp/build/bin/llama-server` をsystemdに登録したところ、`status=203/EXEC` で落ちました。FedoraのSELinuxがホームディレクトリ直下のバイナリ実行を拒否したためです。バイナリを `/usr/local/bin` にコピーして `restorecon` することで完全解決しました。

3. 【完全成功ルート】1から構築する全コマンド完全手順

お待たせしました!ここからは、上記すべての罠をクリアし、「この手順通りに実行すれば絶対に失敗しない完全成功ルート」をコマンド付きで順を追って解説します。

ステップ0: 推奨OSのインストール

* OS: Fedora Server 41 / 42 / 45(x86_64) * 最小インストール(Minimal)でUSBからサクッとインストールしてください。

ステップ1: SSD全容量の開放(LVM拡張)

Fedora Serverの初期15GB制限を解除し、SSDの全容量をルート領域へ拡張します。
BASH
# LVM論理ボリュームとXFSファイルシステムをSSD全容量(残り100%)まで一括拡張
sudo lvextend -l +100%FREE /dev/mapper/fedora-root -r

容量が400GB以上空いていることを確認

df -h /

ステップ2: 再起動ハング防止&VRAM 14GB設定(GRUB)

ウォームリブートでのフリーズを防止し、VRAM空間を最大化します。
BASH
# 再起動ハング防止(reboot=acpi,cold)とVRAM 14GB確保(amdgpu.gttsize)をカーネル引数に追加
sudo grubby --update-kernel=ALL --args="reboot=acpi,cold amdgpu.gttsize=14336 ttm.pages_limit=3670016"

ステップ3: Tailscaleの導入とSSH通信の常時開放

Macや外部からパスワードなしで安全に接続できるようにします。
BASH
# Tailscale のインストールと自動起動
sudo dnf config-manager addrepo --from-repofile=https://pkgs.tailscale.com/stable/fedora/tailscale.repo
sudo dnf install -y tailscale
sudo systemctl enable --now tailscaled

Tailscale にログイン(SSH有効化)

sudo tailscale up --ssh --accept-routes

ファイアウォールでTailscaleインターフェースとSSH/ポート8080を開放

sudo firewall-cmd --permanent --zone=trusted --add-interface=tailscale0 sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --reload

ステップ4: GPU フルダイ 40 CU アンロックのビルド&有効化

Fedora専用パッチツールを使って `amdgpu` モジュールをビルドし、40 CU モードを適用します。
BASH
# 1. 必要な開発ツールのインストール(updates-testingからカーネルヘッダーを取得)
sudo dnf install -y git make gcc zstd curl
sudo dnf --enablerepo=updates-testing install -y kernel-devel-$(uname -r) kernel-headers

2. Fedora専用 40 CU 解放リポジトリのクローンとビルド

cd ~ git clone https://github.com/duggasco/bc250-40cu-unlock.git cd bc250-40cu-unlock sudo ./scripts/bc250-enable-40cu-fedora.sh build

3. 40CU有効化フラグをGRUBに追加

sudo grubby --update-kernel=ALL --args="amdgpu.bc250_cc_write_mode=3"

4. パッチ済みドライバを取り込んで initramfs を完全再生成!

sudo dracut --regenerate-all --force

5. 一旦再起動

sudo systemctl reboot
再起動後、ステータスを確認します:
BASH
cd ~/bc250-40cu-unlock
sudo ./scripts/bc250-enable-40cu-fedora.sh status
ここで `active CUs: 40 (full die)` と表示されれば、GPU 40CU 化は完了です!

ステップ5: CPU 8コア / 16スレッド化(SMUレジスタ書き換え)

SMU(System Management Unit)のレジスタ `0x0115A870` を `0x77` から `0xFF` に書き換え、眠っているコア3とコア7をたたき起こします。
BASH
# 1. コアリポジトリのクローン
cd ~
git clone https://github.com/GabriWar/bc250-core-cu-unlock.git
cd bc250-core-cu-unlock

2. 自動起動サービスをインストール(コールドブート時も自動でアンロック)

sudo ./bc250-8core-unlock.sh install

3. 8コアアンロックを適用してウォームリブート

sudo ./bc250-8core-unlock.sh apply --reboot

※もし起動後にまだ12スレッドのままの場合は、1度手動でウォームリブートしてください

sudo systemctl reboot
再起動後にスレッド数を確認します:
BASH
nproc

-> 「16」と表示されれば成功!


ステップ6: Mesa RADV Vulkan & llama.cpp の16スレッド並列ビルド

ROCmはBC-250のコア(`gfx1013`)を公式サポートしていませんが、MesaのオープンソースVulkanドライバ(`RADV`)は完璧にネイティブ動作します。
BASH
# 1. 必要なVulkanコンパイラとヘッダーを導入
sudo dnf install -y cmake gcc-c++ vulkan-loader-devel mesa-vulkan-drivers vulkan-tools \
  glslc spirv-headers-devel spirv-tools-devel

2. llama.cpp の取得と 16スレッド並列ビルド

cd ~ git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build -DGGML_VULKAN=ON cmake --build build --config Release -j16

3. SELinux対策のため、バイナリをシステム標準パス(/usr/local/bin)に配置

sudo cp build/bin/llama-server /usr/local/bin/ sudo chmod +x /usr/local/bin/llama-server sudo restorecon -v /usr/local/bin/llama-server

ステップ7: Microsoft Phi-4 (14B) のダウンロードと systemd 常時起動化

知能の高さで旧来70Bモデルを打ち破ったマイクロソフトの最新傑作 Phi-4 (14B Q4_K_M 約9.1GB) を配備し、OpenAI互換APIサーバとして常時稼働させます。
BASH
# 1. モデル保存ディレクトリ作成とダウンロード
mkdir -p ~/models
cd ~/models
curl -L -o phi-4-Q4_K_M.gguf \
  "https://huggingface.co/bartowski/phi-4-GGUF/resolve/main/phi-4-Q4_K_M.gguf"

2. systemd サービスファイルの作成

sudo tee /etc/systemd/system/llama-server.service << 'EOF' [Unit] Description=llama.cpp OpenAI-compatible API Server (Vulkan 40CU - Phi-4 14B) After=network.target tailscaled.service [Service] Type=simple User=bc250 WorkingDirectory=/home/bc250 ExecStart=/usr/local/bin/llama-server \ -m /home/bc250/models/phi-4-Q4_K_M.gguf \ --host 0.0.0.0 \ --port 8080 \ -ngl 99 \ -t 16 \ -c 8192 Restart=always RestartSec=5 [Install] WantedBy=multi-user.target EOF

3. 反映と即時起動

sudo systemctl daemon-reload sudo systemctl enable --now llama-server

4. 【実測ベンチマーク】24 CU vs 40 CU、そして最新モデル「Phi-4 (14B)」の威力

アンロック前後の実機ベンチマーク結果を公開します。

① 7Bモデルでの速度比較(Qwen2.5-Coder-7B Q4_K_M)

* 24 CU(工場出荷時): - Prefill: `76.7 tokens/s` - Generation: `14.25 tokens/s` * 40 CU(フルダイ解放後): - Prefill: `115.2 tokens/s` (+50.2% 爆速化!) - Generation: `18.31 tokens/s` (+28.5% 爆速化!) 演算器が24基から40基へ増えたことで、並列処理能力が向上し、生成速度が約1.3倍に跳ね上がりました。

② 14Bモデルでの実力(Microsoft Phi-4 14B Q4_K_M)

MacBookからTailscale経由で難関論理パズルを出題した実際の結果です:
【入力プロンプト】
「1本のロープの両端に同時に火をつけると、ちょうど30分で燃え尽きます。このロープが2本あるとき、45分を正確に測るにはどうすればよいですか?論理的に解説してください。」

【Phi-4の回答(一部抜粋)】
「1. ロープAの両端に同時に火をつけます(30分で燃え尽きる)。
2. 同時にロープBの片端だけに火をつけます(そのままなら60分持つ)。
3. 30分後、ロープAが燃え尽きた瞬間に、ロープBのもう片端にも火をつけます。
4. 残り30分分の長さだったロープBが両端から燃えるため、15分で燃え尽きます。
合計:30分+15分=45分を正確に測定できます。」

【実測速度】
生成速度: `9.28 tokens/sec`(全40レイヤーをVulkan GPU上に100%オフロード)
14Bという重厚なモデルでありながら、1秒間に9.3トークン(人間の読書速度以上)で淀みなく論理的に正解を導き出しました!

5. 【究極のゼロクォータAIクラスタ】Strata×BC-250×OpenRouterでGoogle AI Proを温存する自律運用

今回構築したBC-250は単体で使うだけでなく、既存のメインGPU機(Strata: RTX 4070 Ti Super + RTX 3060)およびOpenRouterの無料枠と連携させ、「Google AI Proのトークン消費を極小化するハイブリッド・ルーティング」を実現しています。

🌐 自宅ハイブリッド・ゼロクォータ・アーキテクチャ
① 高速ドラフト・ブレスト担当
Strata (z790-al Dual GPU)
Qwen 3.8 Flash Next (45〜80 tok/s)
費用: 完全無料 ($0.00)
② 難関論理・セカンドオピニオン担当
AMD BC-250 (40CU / 16T)
Microsoft Phi-4 14B (9.3 tok/s)
費用: 完全無料 ($0.00)
③ 100万トークン超長文担当
OpenRouter Free Tier
MiniMax M3.1 Flash (1M context)
費用: 完全無料 ($0.00)
④ 最終アーキテクチャ意思決定のみ
Google AI Pro (Gemini 4.0 Argon)
日常タスクはローカルで肩代わりし、最高難度の意思決定のみに厳選集中投下!

ルータープログラム(`model_router.py`)により、タスクの性質に合わせて自動的にローカルノードへ振り分けられます。日常のコーディングや調べ物でクラウドAPIのレートリミットを浪費することが一切なくなりました。

6. まとめとハードウェア運用の最重要注意点(M.2熱対策)

最後に、これからBC-250を導入する方に向けた最も重要なハードウェア面の注意点をお伝えします。

⚠️ M.2 SSD には必ずヒートシンクを装着し、ファン風を当てること!

BC-250の基板上にあるM.2スロットはエアフローがないと簡単に熱がこもります。今回、9GBのモデルファイルを連続ダウンロードした際、`SMART Disk monitor: Critical Warning: Temperature` が出ました。
市販のアルミ製ヒートシンクを取り付け、小型ファンやケースファンでそよ風程度でも風を当ててあげると、40℃〜50℃台で極めて安定して動作します。

🎉 2万円台で手に入る、最強のローカルAI専用サーバ

マイニング落ちの謎基板が、カーネルハックとオープンソースソフトウェア(Mesa RADV & llama.cpp)の力によって、最新14Bモデルを難なく回す最高のおもちゃ兼実用サーバに進化しました。
自宅にプライベートな推論環境を持ちたい方は、ぜひチャレンジしてみてください!🐼🛠️

🚀 生成AI×リスキリングSponsored / PR