Keperluan Perkakasan Sebenar Stable Diffusion Sendiri
Ketahui spesifikasi perkakasan sebenar untuk menjalankan Stable Diffusion. Kami terangkan had CPU VPS, keperluan VRAM untuk model SDXL, dan panduan pemasangan ComfyUI.
Keperluan sebenar penjana imej AI yang dihoskan sendiri
Penjana imej AI yang dihoskan sendiri terdiri daripada satu aplikasi web dan satu fail model. Aplikasinya ialah ComfyUI, dan ia boleh dijalankan pada mana-mana mesin Linux. Model tersebut adalah faktor yang menentukan perkakasan anda. Checkpoint kelas SDXL ialah satu fail bersaiz 6.94 GB, dan ia perlu dimuatkan ke dalam memori GPU. Fakta tunggal ini menentukan keseluruhan bajet anda, jadi baca tangga perkakasan di bawah sebelum anda menyewa apa-apa.
Ringkasan jujur: VPS yang hanya menggunakan CPU boleh memasang dan menghoskan perisian tersebut, serta mampu menjana imej pada resolusi 512x512 dengan model Stable Diffusion 1.5 yang lebih lama dalam masa satu atau dua minit bagi setiap imej. Mesin yang sama menjalankan SDXL pada 1024x1024 mengambil masa sepuluh hingga dua puluh minit bagi setiap imej. Ini bukan tetapan yang rosak. Ini adalah pengiraan matematik, dan panduan ini menerangkannya.
Mengapa saiz model menentukan keperluan mesin
Penjanaan imej menjalankan gelung penyahbisingan (denoising loop). Render 30 langkah melalukan model penuh ke atas imej sebanyak 30 kali, dan setiap laluan membaca setiap pemberat (weight). SDXL pada ketepatan separuh (half precision) mempunyai kira-kira 6.9 GB pemberat, jadi render 30 langkah memindahkan sekitar 200 GB melalui memori sebelum anda melihat gambar.
GPU dengan 24 GB memori video (VRAM, memori yang dipateri bersebelahan cip grafik) membaca pada kelajuan ratusan gigabait sesaat, dan ia memuatkan kesemua 6.9 GB tersebut serentak. VPS CPU membaca RAM sistem pada kelajuan puluhan gigabait sesaat, dan ia tidak mempunyai perkakasan matriks untuk konvolusi, jadi gelung yang sama berjalan satu hingga dua gandaan magnitud lebih perlahan. Ini adalah hujah lebar jalur memori yang sama yang mengawal model teks, dan ia wajar dibaca bersama bila VPS dengan GPU benar-benar berbaloi dengan harganya.
Penjanaan imej berbeza daripada penjanaan teks dalam satu aspek yang penting. Model sembang menstrim token, jadi mesin yang perlahan masih terasa boleh digunakan kerana perkataan muncul semasa anda membaca. Imej hanya muncul apabila langkah terakhir selesai. Perlahan bermakna anda hanya merenung bar kemajuan.
Hierarki perkakasan, dengan angka sebenar
Blok di bawah mengandungi angka tipikal untuk satu imej SDXL pada 1024x1024, 30 langkah, sampler Euler, setakat Julai 2026. Anggap ia sebagai magnitud pesanan. Sampler, kiraan langkah dan resolusi anda akan mengubah angka ini.
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
}
]Baris CPU ialah 780 saat, kira-kira tiga belas minit. Kad 24 GB ialah 9 saat. Itulah jurang yang anda beli.
Baca hierarki ini seperti berikut. Di bawah 8 GB VRAM, SDXL masih boleh berjalan, kerana ComfyUI memindahkan lapisan ke RAM sistem secara automatik dan akan memacu kad dengan memori serendah 1 GB. Pemindahan ini memakan masa pada setiap langkah, jadi kad 6 GB mengambil masa lebih dekat kepada seminit bagi setiap imej berbanding tiga puluh saat. Pada 8 GB, model asas boleh dimuatkan dan proses render berjalan dengan selesa. Pada 12 GB, anda boleh memuatkan satu atau dua ControlNet di samping checkpoint tanpa perlu melakukan pemindahan. Pada 24 GB, anda boleh menjalankan SDXL berserta refiner dan upscaling dalam satu aliran kerja, dan anda boleh mula melatih adapter LoRA, yang memerlukan memori jauh lebih banyak berbanding penjanaan.
Apa yang boleh dan tidak boleh dilakukan oleh CPU VPS
Ia mampu melakukan lebih daripada jangkaan orang ramai, namun kurang daripada apa yang digambarkan oleh pemasaran. Tentukan batasan tersebut dengan jelas.
CPU VPS boleh memasang ComfyUI, menyediakan antara muka web, menyimpan pustaka model anda, menjalankan baris gilir, dan menjana imej tanpa kehadiran GPU sama sekali. Dengan Stable Diffusion 1.5 pada resolusi 512x512 dan 20 langkah, jangkakan masa sekitar 60 hingga 150 saat bagi setiap imej pada 8 vCPU moden dengan 16 GB RAM. Bagi tugasan kelompok yang dijalankan sepanjang malam, atau titik akhir imej volum rendah di sebalik baris gilir, prestasi ini sebenarnya memadai.
CPU VPS tidak dapat memberikan anda pengalaman kerja interaktif. Iterasi prompt bermaksud dua puluh render dalam satu jam, dan dengan tempoh tiga belas minit bagi setiap satu, anda hanya mendapat empat. Ia juga tidak boleh melakukan latihan model. Fine-tuning LoRA pada CPU diukur dalam hari, bukan jam, jadi anggaplah ia sebagai tidak tersedia.
Peraturan memori untuk penggunaan CPU sahaja adalah berbeza daripada peraturan GPU. Weight dimuatkan ke dalam RAM sistem, jadi anda memerlukan saiz model ditambah ruang kerja: kira-kira 16 GB RAM untuk SDXL, dan kira-kira 8 GB untuk SD 1.5. Pelayan dengan 4 GB RAM akan memulakan ComfyUI kemudian ditamatkan oleh out-of-memory killer di pertengahan render pertama, yang akan kelihatan sebagai proses yang hilang begitu sahaja dalam Killed di dmesg tanpa sebarang traceback Python.
Memasang ComfyUI pada mesin GPU
Ini adalah arahan huluan. Mulakan daripada pemasangan bersih Ubuntu 24.04 dengan pemacu NVIDIA yang sudah tersedia. Sahkan pemacu terlebih dahulu, kerana setiap kegagalan selepas ini akan kelihatan sama tanpa pemeriksaan ini.
nvidia-smiArahan tersebut mesti memaparkan jadual yang mengandungi kad anda dan versi CUDA. command not found, atau NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver, bermaksud pemacu tiada atau modul kernel tidak dimuatkan selepas naik taraf. Selesaikan masalah itu sebelum meneruskan, kerana ComfyUI akan beralih secara senyap ke CPU dan anda akan menyalahkan perisian tersebut.
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.txtPersekitaran maya (virtual environment) bukanlah nasihat pilihan. PyTorch menarik pepohon dependensi yang besar, dan memasangnya pada peringkat sistem dalam mesin yang menjalankan aplikasi lain adalah punca kerosakan aplikasi lain tersebut. Sahkan PyTorch boleh mengesan kad anda sebelum anda pergi lebih jauh.
python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"True berserta nama kad anda bermaksud tindanan (stack) tersebut berfungsi. False bermaksud wheel yang anda pasang tidak sepadan dengan pemacu, biasanya kerana wheel torch khusus CPU telah pun disimpan dalam cache. Pasang semula dengan URL indeks di atas.
Dapatkan model dan rancang penggunaan cakera
ComfyUI tidak disertakan dengan sebarang pemberat (weights). Fail checkpoint perlu diletakkan dalam models/checkpoints, fail VAE dalam models/vae, dan penyesuai LoRA dalam models/loras.
cd ~/ComfyUI/models/checkpoints
wget https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensorsSentiasa utamakan .safetensors berbanding .ckpt. Fail .ckpt merupakan objek Python yang dipickle, dan memuatkan fail tersebut akan melaksanakan kod daripada pembina fail itu. Format safetensors hanya menyimpan tensor, jadi fail berniat jahat tidak boleh menjalankan sebarang kod.
Storan adalah kos yang sering dilupakan oleh pengguna. Satu checkpoint asas SDXL bersaiz 6.94 GB. Model refiner pula bersaiz 6 GB. Satu model ControlNet bersaiz antara 1.4 hingga 2.5 GB, upscaler antara 60 hingga 350 MB, dan LoRA antara 20 hingga 400 MB. Sesiapa yang meminati bidang ini biasanya akan memuat turun model asas kedua dan ketiga dalam masa seminggu. Sediakan bajet 100 GB ruang cakera untuk pemasangan yang berfungsi, dan pantau juga direktori output: fail PNG bersaiz 1024x1024 adalah antara 1 hingga 2 MB setiap satu, dan pemprosesan kelompok (batch) tanpa pengawasan boleh memenuhi cakera kecil dengan cepat. Letakkan models/ dan output/ pada volum yang boleh ditambah saiznya, dan buat sandaran fail JSON aliran kerja anda menggunakan kaedah seperti sandaran tambahan tersulit ke storan objek. Fail pemberat boleh dimuat turun semula. Aliran kerja yang telah anda tala tidak boleh.
Jalankan dan akses dengan selamat
cd ~/ComfyUI
. venv/bin/activate
python main.py --listen 127.0.0.1 --port 8188ComfyUI beroperasi pada port 8188. Pada pelayan yang hanya menggunakan CPU, tambahkan --cpu, yang memaksa penggunaan laluan CPU dan mengelakkan kegagalan akibat ketiadaan peranti CUDA.
Lakukan binding pada 127.0.0.1, bukan pada 0.0.0.0. ComfyUI tidak mempunyai skrin log masuk atau akaun pengguna. Sesiapa sahaja yang mencapai port tersebut boleh menyenaraikan tugasan, membaca setiap imej yang telah anda jana, dan memasang custom nodes, yang bermaksud pelaksanaan kod sewenang-wenangnya (arbitrary code execution) pada pelayan anda. Akses aplikasi tersebut melalui SSH tunnel dari komputer riba anda sebagai gantinya.
ssh -N -L 8188:127.0.0.1:8188 you@your-serverKemudian buka http://127.0.0.1:8188 secara setempat. Jika anda memerlukan akses berbilang pengguna yang sebenar, letakkan reverse proxy dengan pengesahan di hadapannya dan kekalkan aplikasi tersebut terikat pada localhost. Logik yang sama terpakai untuk mana-mana servis yang dihoskan sendiri tanpa pengesahan, dan ini merupakan corak standard dalam penggunaan Docker Compose pada VPS.
Pastikan ia terus berjalan di bawah systemd
Barisan giliran pemprosesan (render queue) yang terhenti apabila sesi SSH anda ditutup bukanlah satu servis. Tulis /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.targetsudo systemctl daemon-reload
sudo systemctl enable --now comfyui
systemctl status comfyuiactive (running) dan baris log yang membaca To see the GUI go to: http://127.0.0.1:8188 bermakna ia sedang berjalan. Ambil perhatian bahawa ExecStart menamakan penterjemah di dalam persekitaran maya secara terus, kerana systemd tidak menjalankan profil shell anda dan activate tidak akan berlaku.
Syor pragmatik mengikut bajet
Jika anda ingin mencuba penjanaan imej dan kos lebih penting daripada kelajuan, gunakan VPS CPU dengan 16 GB RAM, jalankan SD 1.5 pada 512x512, dan terima tempoh seminit atau dua minit bagi setiap imej. Ini adalah titik permulaan yang jujur, dan kosnya jauh lebih murah berbanding mana-mana pelayan dengan GPU. Ia juga merupakan tempat yang sesuai untuk menempatkan pustaka model dan aliran kerja sementara anda membuat keputusan.
Jika anda membuat lelaran pada prompt setiap hari, sewa GPU dengan sekurang-kurangnya 12 GB VRAM mengikut jam daripada penyedia awan GPU, dan matikan ia apabila anda berhenti. Penjanaan imej adalah kerja yang tidak menentu, dan GPU yang melahu dengan bil bulanan adalah cara paling lazim orang berbelanja lebih di sini. Simpan checkpoint pada storan blok yang murah dan lekapkan (mount) ia.
Jika anda menyediakan perkhidmatan kepada orang lain, atau anda melatih adapter LoRA, anda memerlukan 24 GB VRAM dan mesin yang anda miliki sendiri. Pada tahap itu, mesin yang sama biasanya mampu menampung kos operasinya sendiri dengan menjalankan model bahasa tempatan juga, iaitu persediaan yang diterangkan dalam self-hosting an LLM with Ollama.
Tidak kira tahap mana yang anda pilih, ukur mesin anda sendiri sebelum mempercayai sebarang angka yang diterbitkan. Masukkan prompt yang sama ke dalam baris gilir sebanyak lima kali dan baca saat-per-lelaran yang dicetak oleh ComfyUI dalam konsolnya. Angka tersebut adalah kedudukan sebenar anda dalam hierarki prestasi.
FAQ
Bolehkah saya menjalankan Stable Diffusion tanpa GPU?
Ya. ComfyUI boleh dijalankan dengan python main.py --cpu dan menghasilkan imej sebenar tanpa kad grafik. Jangkakan masa sekitar 60 hingga 150 saat bagi setiap imej untuk Stable Diffusion 1.5 pada resolusi 512x512, dan sepuluh hingga dua puluh minit untuk SDXL pada 1024x1024, menggunakan 8 vCPU moden. Ini sesuai untuk pemprosesan kelompok (batch) semalaman dan titik akhir (endpoint) dengan volum rendah. Ia tidak sesuai untuk lelaran prompt, dan latihan model (training) adalah mustahil untuk dilakukan.
Berapakah VRAM yang diperlukan untuk SDXL?
8 GB membolehkan SDXL berjalan dengan lancar pada 1024x1024. Di bawah kapasiti tersebut, ComfyUI akan memindahkan lapisan (layer) ke RAM sistem secara automatik dan masih berfungsi sehingga sekitar 1 GB VRAM, namun setiap langkah yang dipindahkan akan mengambil masa. 12 GB membolehkan anda memuatkan ControlNet bersama checkpoint, manakala 24 GB mencukupi untuk model asas, refiner, dan upscaling dalam satu aliran kerja, serta merupakan tahap minimum yang praktikal untuk melatih adapter LoRA.
Berapakah ruang cakera yang diperlukan oleh model-model tersebut?
Checkpoint asas SDXL sahaja bersaiz 6.94 GB, dan refiner menambah kira-kira 6 GB lagi. Model ControlNet bersaiz antara 1.4 hingga 2.5 GB setiap satu, adapter LoRA antara 20 hingga 400 MB, dan upscaler sehingga 350 MB. Sediakan 100 GB untuk pemasangan kerja dengan beberapa model asas, dan pantau direktori output secara berasingan, memandangkan fail PNG 1024x1024 bersaiz antara 1 hingga 2 MB setiap satu.
Adakah selamat untuk mendedahkan ComfyUI kepada internet awam?
Tidak. ComfyUI tidak mempunyai sebarang bentuk pengesahan, dan sistem custom-node miliknya memasang serta menjalankan kod Python daripada antara muka tersebut, jadi port yang terbuka bermakna pelaksanaan kod jauh (remote code execution) pada pelayan anda. Ikat (bind) ia kepada 127.0.0.1, akses melalui terowong SSH dengan ssh -N -L 8188:127.0.0.1:8188 you@your-server, dan letakkan reverse proxy yang mempunyai pengesahan di hadapannya jika lebih daripada seorang pengguna memerlukan akses.
Mengapa render saya dihentikan tanpa mesej ralat?
Proses yang hilang dengan Killed dalam dmesg tanpa sebarang traceback Python adalah disebabkan oleh Linux out-of-memory killer, bukannya pepijat ComfyUI. Pada mesin yang hanya menggunakan CPU, pemberat (weights) disimpan dalam RAM sistem, jadi SDXL memerlukan kira-kira 16 GB dan SD 1.5 memerlukan kira-kira 8 GB, ditambah dengan ruang kerja. Tambah RAM, tambah swap, atau gunakan model yang lebih kecil dan resolusi yang lebih rendah.