SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor · 已更新 2026-08-07

自架 Stable Diffusion 需要什麼硬體?實測規格

比較 CPU VPS、8 GB 至 24 GB VRAM 執行 SDXL 的實際速度,含 6.94 GB checkpoint、ComfyUI 安裝指令,以及應預留的磁碟空間。

自架 AI 圖像生成器實際需要什麼

自架 AI 圖像生成器就是一個 Web 應用程式加上一個模型檔案。應用程式是 ComfyUI,可在任何 Linux 主機上執行。硬體需求取決於模型。SDXL 類別的 checkpoint 是一個 6.94 GB 的檔案,而且需要放在 GPU 記憶體中。這項條件決定整體預算,因此在租用任何主機前,請先閱讀下方的硬體選擇。

簡單說明:僅使用 CPU 的 VPS 可以安裝並提供這套軟體,也能使用較舊的 Stable Diffusion 1.5 模型,以 512x512 解析度在每張 1 到 2 分鐘內產生圖像。同一台主機使用 SDXL 以 1024x1024 解析度產生圖像時,每張需要 10 到 20 分鐘。這不是設定故障,而是運算量造成的結果。本指南將說明原因。

模型大小決定所需機器

影像生成會執行去噪迴圈。30 步的渲染會將完整模型套用到影像上 30 次,而每次都會讀取所有權重。半精度的 SDXL 約有 6.9 GB 的權重,因此在看到影像前,30 步的渲染大約會在記憶體中搬移 200 GB 的資料。

配備 24 GB 顯示記憶體(VRAM,即焊接在圖形晶片旁的記憶體)的 GPU,每秒可讀取數百 GB 的資料,並能一次容納完整的 6.9 GB 模型。CPU VPS 每秒只能讀取數十 GB 的系統 RAM,且沒有用於執行卷積運算的矩陣硬體,因此相同的迴圈會慢 1 到 2 個數量級。這與決定文字模型效能的記憶體頻寬原理相同,建議一併閱讀何時租用具備 GPU 的 VPS 才真正划算

影像生成與文字生成有一項重要差異。聊天模型會串流輸出 token,因此即使機器速度較慢,文字仍會在閱讀時持續出現,使用感受尚可。影像必須等到最後一步完成後才會顯示。速度慢時,就只能盯著進度列等待。

硬體階梯:實際數字

以下區塊列出截至 2026 年 7 月,產生一張 1024x1024、30 steps、使用 Euler sampler 的 SDXL 圖片時,常見的典型數值。這些數值僅供判斷量級。使用的 sampler、步數與解析度都會影響結果。

ChartOne SDXL image, 1024x1024, 30 steps (typical, July 2026)
The data behind this chart
[
  {
    "label": "8 vCPU VPS, no GPU",
    "seconds_per_image": 780
  },
  {
    "label": "8GB VRAM GPU",
    "seconds_per_image": 32
  },
  {
    "label": "12GB VRAM GPU",
    "seconds_per_image": 18
  },
  {
    "label": "24GB VRAM GPU",
    "seconds_per_image": 9
  }
]

CPU 的數值是 780 秒,約 13 分鐘。24 GB 顯示卡則是 9 秒。這就是你付費升級硬體所換來的差距。

請依下列方式閱讀這個階梯。在 8 GB VRAM 以下,SDXL 仍可執行,因為 ComfyUI 會自動將 layer offload 至系統 RAM,甚至能使用只有 1 GB 的顯示卡。Offload 會在每個步驟增加耗時,因此 6 GB 顯示卡每張圖片的產生時間更接近 1 分鐘,而不是 30 秒。8 GB 時,base model 可以完整載入,產生圖片的過程也較為順暢。12 GB 時,可以在不進行 offload 的情況下,同時載入一個或兩個 ControlNet 與 checkpoint。24 GB 時,可以在同一個 workflow 中執行 SDXL、refiner 與 upscaling,也可以開始訓練 LoRA adapter;訓練所需的記憶體遠高於產生圖片。

CPU VPS 能做什麼,以及不能做什麼

它能做的事情比多數人預期的多,但比行銷宣稱的少。請明確區分兩者的界線。

CPU VPS 可以安裝 ComfyUI、提供 Web 介面、儲存模型庫、執行佇列,也可以在完全沒有 GPU 的情況下產生影像。使用 Stable Diffusion 1.5、512x512、20 steps 時,在配備 8 個現代 vCPU 與 16 GB RAM 的環境中,每張影像約需 60 到 150 秒。對於整晚執行的批次工作,或是放在佇列後方、流量較低的影像端點,這樣的效能確實可以接受。

CPU VPS 無法提供互動式工作流程。提示詞迭代代表一小時產生 20 張影像,而每張需要 13 分鐘時,實際上只能產生 4 張。它也無法執行訓練。在 CPU 上進行 LoRA 微調通常需要以天計算,而不是以小時計算,因此應視為不可用。

CPU-only 的記憶體規則不同於 GPU。模型權重會載入系統 RAM,因此需要模型大小加上工作空間:SDXL 約需 16 GB RAM,SD 1.5 約需 8 GB。4 GB 的主機可以啟動 ComfyUI,但在第一次產生影像的過程中,會被 out-of-memory killer 終止。此時程序會消失,並在 dmesg 中顯示 Killed,且不會留下 Python traceback。

在 GPU 機器上安裝 ComfyUI

以下是上游提供的指令。請從已安裝 NVIDIA driver 的全新 Ubuntu 24.04 開始。先確認 driver,因為沒有這項檢查,後續所有錯誤看起來都一樣。

nvidia-smi

此指令必須列印包含顯示卡與 CUDA 版本的表格。若出現 command not foundNVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver,表示 driver 遺失,或升級後 kernel module 未載入。請先修正此問題再繼續,否則 ComfyUI 會靜默退回使用 CPU,最後會誤以為是軟體本身的問題。

sudo apt update
sudo apt install -y git python3-venv python3-pip wget
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
python3 -m venv venv
. venv/bin/activate
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130
pip install -r requirements.txt

虛擬環境不是可有可無的建議。PyTorch 會拉取大量相依套件;若在還執行其他工作的主機上全域安裝,可能會破壞其他服務。繼續之前,先確認 PyTorch 能偵測到顯示卡。

python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"

True 加上顯示卡名稱表示整個軟體堆疊正常運作。False 表示已安裝的 wheel 與 driver 不相容,通常是因為先前已快取僅支援 CPU 的 torch wheel。請使用上方的 index URL 重新安裝。

取得模型,並規劃磁碟空間

ComfyUI 不附帶模型權重。Checkpoint 放在 models/checkpoints,VAE 檔案放在 models/vae,LoRA adapter 放在 models/loras

cd ~/ComfyUI/models/checkpoints
wget https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors

請一律優先使用 .safetensors,不要使用 .ckpt.ckpt 檔案是經過 pickle 序列化的 Python 物件,載入時會執行建立該檔案者提供的程式碼。safetensors 格式只包含 tensor,因此惡意檔案無法執行任何程式。

儲存空間是最容易被忽略的成本。單一 SDXL base checkpoint 需要 6.94 GB。refiner 另外需要 6 GB。單一 ControlNet model 需要 1.4 到 2.5 GB,upscaler 需要 60 到 350 MB,而 LoRA 需要 20 到 400 MB。喜歡使用這類工具的人,通常會在一週內再下載第 2 個和第 3 個 base model。請為可正常運作的安裝預留 100 GB 磁碟空間,也要監控 outputs 目錄:1024x1024 PNG 檔案每個約 1 到 2 MB,未受監控的批次工作可能會悄悄填滿小容量磁碟。請將 models/output/ 放在可擴充的 volume 上,並使用類似 加密的物件儲存增量備份 來備份 workflow JSON 檔案。模型權重可以重新下載,但你調整過的 workflow 無法取回。

執行並安全存取

cd ~/ComfyUI
. venv/bin/activate
python main.py --listen 127.0.0.1 --port 8188

ComfyUI 使用 8188 埠。在僅使用 CPU 的主機上,加入 --cpu,強制使用 CPU 路徑,避免因找不到 CUDA 裝置而失敗。

繫結至 127.0.0.1,不要繫結至 0.0.0.0。ComfyUI 沒有登入畫面,也沒有使用者帳號。任何能連到該埠的使用者,都能排入工作、讀取你產生的所有影像,以及安裝自訂節點;這等同於在伺服器上執行任意程式碼。請改用筆記型電腦建立 SSH tunnel 存取。

ssh -N -L 8188:127.0.0.1:8188 you@your-server

接著在本機開啟 http://127.0.0.1:8188。如果需要真正的多使用者存取,請在前方設定具備驗證功能的反向代理,並讓應用程式持續繫結至 localhost。同樣的原則也適用於任何未經驗證的自架服務,這也是 VPS 上的 Docker Compose 部署所採用的標準模式。

讓服務在 systemd 下持續執行

SSH 工作階段關閉後就停止的轉譯佇列,不算服務。建立 /etc/systemd/system/comfyui.service

[Unit]
Description=ComfyUI
After=network-online.target

[Service]
User=comfy
WorkingDirectory=/home/comfy/ComfyUI
ExecStart=/home/comfy/ComfyUI/venv/bin/python main.py --listen 127.0.0.1 --port 8188
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now comfyui
systemctl status comfyui

active (running),且日誌中出現 To see the GUI go to: http://127.0.0.1:8188,表示服務已啟動。請注意,ExecStart 會直接指定虛擬環境中的直譯器,因為 systemd 不會執行 shell profile,因此不會發生 activate

依預算提供務實建議

如果你想嘗試影像生成,且成本比速度更重要,請選擇配備 16 GB RAM 的 CPU VPS,使用 SD 1.5 生成 512x512 影像,並接受每張影像需要 1 到 2 分鐘。這是實際可行的入門方案,成本也只是配備 GPU 方案的一小部分。你也可以先在這台 VPS 上存放模型庫與工作流程,之後再決定是否升級。

如果你每天都會反覆調整提示詞,請向 GPU cloud 按小時租用至少配備 12 GB VRAM 的 GPU,停止使用時就關閉執行個體。影像生成通常是突發性工作;閒置的 GPU 卻按月計費,是最常見的超支原因。請將 checkpoints 存放在低成本的 block storage 上,並掛載使用。

如果你要服務其他使用者,或訓練 LoRA adapters,就需要 24 GB VRAM,以及一台持續保留的機器。到了這個階段,同一台機器通常也能同時執行 local language model,這就是 使用 Ollama 自架 LLM 所介紹的設定。

無論選擇哪個方案,在相信任何已發布的數據前,請先測量自己的機器。對相同提示詞排入 5 次佇列,並讀取 ComfyUI 在主控台輸出的每次迭代秒數。這個數字才是你實際所在的效能層級。

FAQ

我可以在沒有 GPU 的情況下執行 Stable Diffusion 嗎?

可以。ComfyUI 使用 python main.py --cpu 執行,即使沒有顯示卡也能產生實際影像。使用 8 個現代 vCPU 時,Stable Diffusion 1.5 以 512x512 產生每張影像約需 60 到 150 秒;SDXL 以 1024x1024 產生每張影像約需 10 到 20 分鐘。這適合執行隔夜批次工作和低流量端點,但不適合反覆調整提示詞,完全無法用於訓練。

SDXL 需要多少 VRAM?

8 GB 可讓 SDXL 在 1024x1024 下穩定執行。低於此容量時,ComfyUI 會自動將部分 layer 卸載到系統 RAM,最低約 1 GB VRAM 仍可運作,但每個卸載步驟都會增加執行時間。12 GB 可在載入 checkpoint 的同時保留一個 ControlNet,24 GB 則可在同一個工作流程中容納 base、refiner 和放大處理,也是訓練 LoRA adapter 的實用最低容量。

模型需要多少磁碟空間?

僅 SDXL base checkpoint 就需要 6.94 GB,refiner 會再增加約 6 GB。每個 ControlNet 模型需要 1.4 到 2.5 GB,LoRA adapter 需要 20 到 400 MB,upscaler 最多需要 350 MB。建議為包含數個 base model 的可用安裝預留 100 GB,並另外監控輸出目錄,因為 1024x1024 的 PNG 檔案每個約為 1 到 2 MB。

將 ComfyUI 暴露在公用網際網路上是否安全?

不安全。ComfyUI 完全沒有任何驗證機制,而其 custom-node 系統會從介面安裝並執行 Python 程式碼,因此開放連接埠等同於允許遠端在伺服器上執行程式碼。請將其繫結至 127.0.0.1,使用 SSH tunnel 搭配 ssh -N -L 8188:127.0.0.1:8188 you@your-server 存取;如果需要讓多個人員使用,請在前方設定具備驗證功能的反向代理。

為什麼我的 render 被終止,卻沒有錯誤訊息?

如果程序在 dmesg 中出現 Killed 後消失,且沒有 Python traceback,原因是 Linux out-of-memory killer,而不是 ComfyUI 錯誤。在僅使用 CPU 的主機上,權重會載入系統 RAM,因此 SDXL 約需 16 GB,SD 1.5 約需 8 GB,另外還需要工作空間。請增加 RAM、增加 swap,或改用較小的模型與較低的解析度。