適用對象:電腦白痴照著都會做 | 硬體:ASRock B550 Taichi × 1 | AMD Ryzen 7 5700X | DDR4 80GB | Samsung PM9A1 512GB | RX 6700 XT 12GB + RX 6600 8GB(共 20GB VRAM) | Ubuntu 24.04.5 LTS | 引擎:Strata(HIP 雙卡)
你有沒有想過,ChatGPT 那種會聊天、會寫程式、會看圖說故事的 AI,其實可以完全離線跑在自己家裡?不用月費、不用註冊、斷網也能用,資料也不會送到任何人的伺服器。
今天我們要做的,就是在下面這台「AMD 全家桶」老主機上:
| 零件 | 型號 | 白話說明 |
|---|---|---|
| 主機板 | ASRock B550 Taichi | 有 3 條顯卡槽,雙卡能各走 PCIe 4.0 x8 |
| CPU | AMD Ryzen 7 5700X | 8 核心 16 緒,跑 AI 的「工讀生」 |
| 記憶體 | DDR4 80GB | 跑大模型的命脈,越大越好 |
| 硬碟 | Samsung PM9A1 512GB | 一條 NVMe SSD,系統和模型都住這裡 |
| 顯示卡 | RX 6700 XT 12GB + RX 6600 8GB | 兩張共 20GB VRAM,都是 AMD 的卡 |
從一顆什麼都沒有的空白硬碟開始,一路做到:
全程不需要會寫程式,複製貼上指令即可。預計花費:一個下午 + 下載模型的等待時間(94GB,看你的網路速度)。
簡單說,它是阿里巴巴(阿里云)開放下載的旗艦級 AI 模型,屬於「Qwen」家族。它的特色:
原始模型大到 200 多 GB,家用電腦裝不下。社群大大 unsloth 把模型「壓縮」成各種尺寸的 GGUF 格式——就像把 WAV 無損音樂壓成 MP3,體積小很多、智力損失有限。
其中 UD-IQ4_XS(Unsloth Dynamic 動態量化)是 CP 值很高的選擇:總共 93.7GB,智力保留得不錯,是「80GB RAM + 20GB VRAM」這台機器日常跑得動的最大的尺寸。
我們直接用現成的,不用自己壓縮——這是本篇最省事的關鍵。
前篇用的 llama.cpp 是通用引擎,什麼模型都能跑;但它對 MoE 模型的「專家放記憶體、邊答邊搬」沒有特別優化。同機實測下來,改用專攻 MoE 的開源引擎 Strata 後差異很大:
| llama.cpp(前篇做法) | Strata(本篇做法) | |
|---|---|---|
| MoE 專家調度 | 通用方式,DDR4 頻寬容易打成瓶頸 | 專家設計:GPU/CPU 專家分流 + 雙卡自動分層 |
| 本機實測生成速度 | 約 20 token/秒 | 約 30 token/秒(含 MTP 投機解碼) |
| AMD 環境安裝 | 要自己裝 ROCm、還要「騙」顯卡型號 | 一條指令全自動,ROCm 自動裝進自己的環境 |
| 6700 XT 支援 | 要設 HSA_OVERRIDE_GFX_VERSION 冒充 6800 |
原生認得 gfx1031,不用騙 |
| API 介面 | OpenAI 相容 | OpenAI + Anthropic 雙相容 |
兩套可以並存,但 94GB 的 MoE 巨腦,這篇就用 Strata 來跑。llama.cpp 的 ROCm 版仍留作後備方案(見 FAQ)。
先潑冷水再潑熱水。跑大模型像開餐廳:
| 資源 | 本機配置 | 扮演角色 | 夠不夠? |
|---|---|---|---|
| 硬碟 PM9A1 512GB | NVMe,讀取 5GB/s 級,裝系統 + 模型 | 系統的「廚房」兼模型「倉庫」 | ✅ 實測整機已用約 216GB/468GB,還剩一半可用 |
| 記憶體 80GB DDR4 | 雙通道 | 模型的「工作檯」 | ✅ 模型 94GB 大於 80GB,但 MoE 是「邊用邊搬」,Strata 實測模型常駐約 65GB/80GB,撐得住 |
| VRAM 20GB(12+8) | RX 6700 XT + RX 6600 | 模型的「快取抽屜」 | ✅ 雙卡分層後,最常用的「專家」都進駐顯示卡 |
| CPU 5700X | 8C16T | 搬運工 | ✅ 夠用,瓶頸不在它 |
原理一句話:94GB 的模型不會全部塞進記憶體——最常用的「專家」進駐兩張卡的 VRAM,次常用的留在記憶體,其他的躺在 SSD 上「要用再搬」。所以這台能跑,但DDR4 雙通道的記憶體頻寬(理論 51.2 GB/s)就是速度天花板,生成速度約 30 token/秒,看文章綽綽有餘,別期待閃電。
開工前把這些備齊:
| 項目 | 需求 | 備註 |
|---|---|---|
| USB 隨身碟 | 8GB 以上 | 裝 Ubuntu 安裝檔用,內容會被清空 |
| Ubuntu 安裝檔 | Ubuntu 24.04 LTS Desktop ISO(約 6GB) | 官網免費下載 |
| 燒錄工具 | Rufus | 免費,Windows 上執行 |
| 網路 | 越快越好 | 總共要下載約 105GB(系統 + 引擎 + 模型) |
| 硬碟空間 | 單一磁碟淨空 150GB 以上 | 模型本體 94GB + 引擎環境 + 緩衝 |
| 另一台電腦或手機 | 看教學用 | 這台主機整個下午會被重灌 |
| 鍵盤、螢幕 | USB 鍵盤 | 裝完系統後 Linux 吃 USB 沒問題 |
下載清單(現在就可以先下載起來):
ubuntu-24.04.x-desktop-amd64.isoB550 Taichi 的按鍵跟其他板子不同,記好:
步驟:
Boot 頁籤:CSM (Compatibility Support Module) → Disabled(用純 UEFI 開機)Above 4G Decoding 和 Re-Size Support 這兩個選項根本不會出現,看到了也點不了Advanced → AMD CBS → NBIO Common Options:Above 4G Decoding → Enabled(讓系統認得兩張大顯卡)Re-Size Support(Resizable BAR / ReBAR)→ Enabled(讓 CPU 能一次看到整張卡的記憶體,跑 AI 有差)UEFI: 字樣)選 USB 開機後,會看到 Ubuntu 開機選單:
Please remove the installation medium 時拔掉 USB 按 Enter開機會直接進入 Ubuntu 桌面。恭喜,Linux 安裝完成,這是最難的一關已經過去了。
LVM(Logical Volume Manager,邏輯卷軸管理)就是在硬碤上面多墊一層「橡皮筋」。直接格式化的話,分區是死的——例如系統區切了 100GB,之後發現不夠用,就像整間房子要搬空了才能重新隔間;用 LVM 的話,調整大小是一條指令的事,以後還能再加一顆硬碤無縫併進來,甚至拍「快照」(像遊戲存檔,系統被玩壞了可以讀檔還原)。
| 直接格式化(不勾) | 勾選 LVM | |
|---|---|---|
| 結構 | 最單純,分區就是硬碤本體 | 多一層 LVM 包裝 |
| 日後調整割分大小 | 很痛,幾乎等於重裝 | lvextend 一行就擴大,立即生效 |
| 出事救資料 | 最容易,開機隨身碟直接抓檔案 | 要先會解 LVM,新手多一道門檻 |
| 快照(還原存檔) | ❌ 沒有 | ✅ 有 |
| 乗入新硬碤拓建 | ❌ 不行 | ✅ 可以 |
本機建議:不勾。單顆硬碤、專職跑 AI,越單純越不容易出錯,出事也最好救。建議勾 LVM 的情境:之後打算加第二顆硬碤當成同個空間用,或喜歡「動手腳前先拍快照、隨時讀檔」的安心感。
按 Ctrl + Alt + T 開啟終端機(Terminal),之後所有動作都在這裡打指令。每打完一行按 Enter。
4-1. 更新系統 + 安裝基礎工具:
sudo apt update && sudo apt upgrade -y
sudo apt install -y git build-essential cmake curl wget python3-venv
sudo 的指令會要求輸入密碼。輸入時螢幕不會出現任何字(不會有星號),打完直接按 Enter,這是正常的。4-2. 確認交換空間(swap):
free -h
Ubuntu 預設會建好約 8GB 的 /swap.img,對這台 80GB 記憶體的機器來說夠用了(94GB 模型採「邊用邊搬」模式,並不會整個塞進記憶體)。只要 Swap 那行不是 0,就跳過本節;真的擔心,可加到 16GB:
sudo fallocate -l 16G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
4-3. 重開機一次,讓更新生效:
sudo reboot
AMD 顯示卡跑 AI 靠的是 ROCm 運算環境(概念上類似 NVIDIA 的 CUDA)。前篇要你自己裝 ROCm、還要設環境變數把 6700 XT「冒充」成 6800;這一次全部交給 Strata——它會偵測你的顯卡、把需要的 ROCm 元件裝進自己的獨立環境(不動系統、不用 sudo)、再針對你的卡現場編譯引擎。
5-1. 抓下來:
cd ~
git clone https://github.com/Niko1221/Strata.git
cd Strata
5-2. 一條指令開始安裝(雙卡重點在 --gpus):
./setup.sh --backend hip --gpus 0,1
它會依序做這些事(都要下載,請耐心):
| 動作 | 時間 | 說明 |
|---|---|---|
| 偵測顯示卡 | 瞬間 | 認得 gfx1031(6700 XT)與 gfx1032(RX 6600),不用設任何冒充變數 |
| 安裝 ROCm 元件 | 10~20 分鐘 | 約 10GB,裝在 Strata 自己的 .venv 裡,不污染系統 |
| 編譯引擎 | 10~20 分鐘 | 針對你的卡現場編譯,一次就好 |
| 雙卡分層 | 自動 | --gpus 0,1 把模型圖層分給兩張卡,各管各的專家快取 |
is not an architecture this Strata engine was compiled for,代表引擎是照舊卡編譯的——重跑一次 ./setup.sh --backend hip --gpus 0,1 讓它為新卡重新編譯即可,模型和設定都不會不見。5-3. 驗證兩張卡都被抓到:
引擎編譯完,setup 會列出它看到的顯示卡。之後隨時可以用系統工具確認:
lspci | grep -i vga
✅ 成功標準:出現 Navi 22(RX 6700 XT)和 Navi 23(RX 6600)各一行。如果只看到一張,先關機檢查兩張卡的供電有沒有都插好(6700 XT 是 8pin+6pin、6600 是單 8pin)。
6-1. 選模型:
setup.sh 進行到模型下載時,會讓你選模型與量化尺寸——選 Qwen3.8-Flash-Next GGUF 的 UD-IQ4_XS(約 93.7GB,分 3 個檔案)。想手動下載、或之後想追加別的量化版,用這組指令:
python3 -m venv ~/hf-venv
source ~/hf-venv/bin/activate
pip install -U "huggingface_hub[cli]"
hf download unsloth/Qwen3.8-Flash-Next-GGUF \
--include "UD-IQ4_XS/*" \
--local-dir ~/models
6-2. 引擎附帶檔:
除了模型本體,Strata 還會自動準備兩樣東西(一起算在空間裡):
6-3. 確認檔案:
ls -lh ~/models/UD-IQ4_XS/
✅ 成功標準:3 個 .gguf 分卷檔案,加總約 94GB。實戰整組(模型 + pack + MTP)落地約 97GB——本機放在 ~/Strata-data。
7-1. 啟動:
setup 完成時會幫你生成一支啟動腳本(例:run-unsloth-ud-iq4_xs.sh),直接跑:
./run-unsloth-ud-iq4_xs.sh
7-2. 等待載入:
載入 94GB 需要數分鐘(從 NVMe 搬進記憶體 + 分給兩張卡),第一次還要加上一口氣解壓專家的時間。看到 server is listening 之類的訊息、或另一台終端機打:
curl http://127.0.0.1:8080/health
回傳 {"status": "ok", "max_context": 98304, "loaded": true, ...} 就是成功了。注意:本機預設埠號是 8080(不是 Ollama 的 11434)。
7-3. 開瀏覽器聊天:
打開 Firefox,網址列輸入:
http://127.0.0.1:8080
會看到 Strata 內建的聊天視窗,直接開始對話!問它「用繁體中文寫一首關於雙顯卡的七言絕句」試試。
7-4. 驗證 API(選做):
另開一個終端機(Ctrl+Shift+T),打:
curl http://127.0.0.1:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.8-flash-next-unsloth-ud-iq4_xs",
"messages": [{"role": "user", "content": "17乘以23等於多少?只回答數字。"}],
"max_tokens": 64
}'
看到回答 391 就大功告成。
8-1. 一台自架的 OpenAI:
這台伺服器同時是 OpenAI 相容 API(http://127.0.0.1:8080/v1)和 Anthropic 相容 API(/v1/messages)——任何支援這兩種格式的軟體(聊天前端 Open WebUI / LibreChat、程式庫 SDK、AI 助理工具),把網址填進去就能直接用,完全離線、零費用。
8-2. 看圖片:
視覺模組在 setup 時已經一起裝好,聊天視窗直接有上傳圖片的按鈕。小顯卡(VRAM 合計 24GB 以下)會自動改用 CPU 讀圖——不佔 VRAM、速度略慢(一張圖幾秒),對 12GB+8GB 共 20GB 的這組雙卡來說是正確的預設值,不用也不會調。
8-3. 上下文給多少?
本機實戰開 98,304 token(官方原生 262K,KV cache 用 int8 壓縮後,98K 是 80GB 記憶體的甜蜜點;KV 常駐層設 32K)。一般聊天、讀幾本書級的長文件都綽綽有餘。
每次都要開終端機打指令很煩?做成系統服務,開機自動跑。本機實戰用的就是這套(systemd unit,放在 /etc/systemd/system/strata.service):
sudo tee /etc/systemd/system/strata.service > /dev/null <<'EOF'
[Unit]
Description=Strata AI Server (RX 6700 XT + RX 6600)
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=你的帳號名稱
WorkingDirectory=/home/你的帳號名稱/Strata
Environment=PYTHONUNBUFFERED=1
ExecStart=/bin/sh /home/你的帳號名稱/Strata/run-unsloth-ud-iq4_xs.sh
Restart=on-failure
RestartSec=10
TimeoutStartSec=600
[Install]
WantedBy=multi-user.target
EOF
⚠️ 先把兩處 你的帳號名稱 改成你的 Linux 帳號(終端機打 whoami 可查)、run-...sh 換成 setup 幫你生成檔名,再執行:
sudo systemctl daemon-reload
sudo systemctl enable --now strata
TimeoutStartSec=600 是告訴系統「載入模型要十分鐘以內,別提前殺它」;Restart=on-failure 讓它掛掉自動重起。之後開機幾分鐘後直接開 http://127.0.0.1:8080 就能用。想手動開關:
sudo systemctl stop strata # 關掉
sudo systemctl start strata # 開啟
journalctl -u strata -f # 看它在幹嘛(效能數字都在這裡)
以下不是官方宣傳,是這台機器 2026-10 的日誌實測值(journalctl -u strata 隨手可查):
| 項目 | 實測表現 |
|---|---|
| 啟動到可聊天 | 數分鐘(載入 94GB,服務已預留 10 分鐘) |
| 生成速度 | 約 30 token/秒(2026-10-22 現行 6700 XT + 6600 實測穩定 30.0~30.4;雙 6700 XT 時代曾上看 40+;MTP 草稿接受率約六~七成) |
| 短問題第一個字 | 約 1~2 秒(暖身後) |
| 讀長篇文章(冷 prefill) | 約 110~140 token/秒——24K token 要等 3~4 分鐘,誠實說這是最大痛點 |
| 續聊(熱 prefill) | 200~380 token/秒,絕大部分上下文直接複用,幾秒接上 |
| 記憶體用量 | 模型常駐約 65GB / 80GB(可用仍剩約 13GB),free -h 隨時可查 |
| 雙卡狀態 | Strata 附的 Monitor 看兩張卡的負載、VRAM、溫度、功耗 |
瓶頸在哪? 不在 GPU、不在 CPU,而在 DDR4 雙通道的記憶體頻寬(理論 51.2 GB/s)——MoE 模型每次回答要在記憶體裡「翻箱倒櫃」找專家,頻寬就是天花板。同類非統一記憶體架構(含 NVIDIA DGX Spark,實測 26~28 token/秒)都一樣。Strata 的雙卡分層 + MTP 投機解碼已把這台老平台擠到平台極限之上,要再快只能改小量化版或加記憶體頻寬。
它適合做什麼? 寫文章、寫程式、翻譯、長文件摘要、看圖說故事、離線知識問答——「品質優先、速度其次」的活。 不適合做什麼? 即時語音對話、同時伺候十個人、當遊戲機。
在 Ubuntu 按 Ctrl + Alt + T 開啟終機機。先記兩個萬能急救:Ctrl + C = 停掉正在跑的指令;Tab = 指令打到一半自動補全。以下全部是系統內建,不用裝任何東西。
rocm-smi(最重要)rocm-smi # 單張快照:兩張卡的即時狀態
watch -n 1 rocm-smi # 每 1 秒更新,Ctrl+C 離開
本機邊跑 AI 邊實測的真實輸出:
Device Temp Power SCLK Fan VRAM% GPU%
0 55.0°C 32.0W 500Mhz 33.33% 98% 6% ← RX 6700 XT(主力,VRAM 98%)
1 43.0°C 19.0W 0Mhz 0% 92% 0% ← RX 6600(副卡,VRAM 92%)
只需看 3 個欄位:VRAM% 記憶體用量,AI 模型載入成功後長期 9x% 是正常(代表模型整坨塞滿,不是錯誤);GPU% 干活程度,等問題時 0%、生成回答時衝高;Temp / Fan 溫度不長期超 85°C 就健康,預設風扇曲線已夠用。
free -h # 記憶體:AI 常駐約 65GB,available 還剩多少?
df -h / # 硬碤:512GB 用量(超過 90% 就要清)
lsblk # 割分區結構(有勾 LVM 會多幾層)
uptime # load average 三個數字 = 排隊等 CPU 的工作,長期 < 16(8 核 16 緒)健康
systemctl status strata # 活著嗎?綠色 active (running) 才是正常
sudo journalctl -u strata -f # 即時尾隨服務 log,Ctrl+C 離開
sudo systemctl restart strata # 改完設定重啟 AI 服務
curl http://127.0.0.1:8080/health # 直接問 API:還回應嗎?
lspci | grep -i vga # 應該看到兩行:Navi 22(6700 XT)+ Navi 23(6600)
cat /proc/cpuinfo | grep -c processor # CPU 邏輯核心數(這台 = 16)
Q1:一定要先自己裝 ROCm 嗎?
A:不用。Strata 的 setup 會自動把需要的 ROCm 元件(TheRock wheels,gfx103X 系列)裝進自己的 .venv,不需要 sudo、不碰系統。系統裡已有 ROCm 7 的話它也會直接沿用。
Q2:聽說 6700 XT 要設 HSA_OVERRIDE_GFX_VERSION=10.3.0 冒充 6800?
A:那是 llama.cpp 時代的做法。Strata 從 0.1.39 起原生支援 gfx1031(6700 XT)與 gfx1032(RX 6600),不用設、設了反而多餘(本機啟動腳本甚至主動把它 unset 掉)。
Q3:我不想用 Strata,可以退回 llama.cpp 嗎?
A:可以,兩套可並存(不同 port)。llama.cpp 走 ROCm 路線需:系統裝 rocm-hip-sdk、設 HSA_OVERRIDE_GFX_VERSION=10.3.0(把 gfx1031 當 gfx1030)、編譯時開 HIP 後端;且 Qwen3.8-Flash-Next 是新架構,llama.cpp 要 b11429 版以後才認得,舊版會報 unknown model architecture: 'qwen4exp'。80GB 記憶體配 llama.cpp 建議改跑 UD-Q3 / IQ3 級量化(約 70~80GB)會比較從容;生成速度約 20 token/秒,比 Strata 慢一截。
Q4:模型載入到一半被杀掉(Killed)或整個系統卡死?
A:先 free -h 確認 swap 不是 0;再確認沒有別的吃記憶體的大程式在跑(瀏覽器幾十個分頁、別的 AI 服務)。這台 80GB 的日常上限就是「一次一個大模型」。
Q5:生成速度越來越慢、硬碟燈狂閃?
A:記憶體不夠、在交換檔反覆搬資料(thrashing)。關掉其他吃記憶體的程式;還是不行就改下載更小的量化版(例如 UD-Q3_K_XL、UD-IQ3_XXS,約 70~80GB,智力略降但更順)。
Q6:讀很長的東西第一個字要等很久?
A:冷 prefill 在這類平台上就是 110~140 token/秒,24K token 要 3~4 分鐘,這是物理限制。好在 Strata 有 checkpoint 複用:同一個話題接續問,第二次開始幾秒就接上。盡量在同一個對話串裡把事問完,別每次重開新對話重貼長文件。
Q7:可以多人同時用嗎?
A:一台伺服器是一個隊列(單 slot),多人會排隊,後面的人等到逾時。家用一兩個人輪流問沒問題;要多人同時用請加機器。
Q8:下載到一半斷線?
A:重新執行同一條指令,會自動接續,不會從頭下載。
Q9:瀏覽器打 http://127.0.0.1:8080 連不上?
A:先 curl http://127.0.0.1:8080/health——health 過得了代表伺服器活著,是瀏覽器問題;health 也連不上就 journalctl -u strata -f 看日誌。埠號確認是 8080,不是 Ollama 的 11434。
Q10:可以用 Ollama 之類的工具取代嗎?
A:Ollama 對這個新架構的支援還在早期,目前以 Strata(MoE 專用)或 llama.cpp 最穩。
Q11:官方不是說支援 262K 上下文?為什麼只用 98K?
A:上下文本身也要吃記憶體(KV cache)。80GB 記憶體上,int8 KV + 常驻 32K 的搭配把 98K 壓到合理體積;硬開 262K 會排擠模型本體的生存空間。
Q12:這樣跑 AI,合法嗎?
A:模型採 Qwen 社群授權條款,一般個人使用免費;商用請詳讀條款。本站教學與各開源專案僅供學習參考。
本篇教學與以下專案/文章相關,特此感謝並附上官方連結:
各軟體與模型的著作權與授權分屬原專案所有;若有侵權疑慮請來信告知,將立即處理。