پرش به محتوا
← همهٔ یادداشت‌ها

نصب مدل و LoRA از Civitai در ComfyUI روی GPU ابری

·۸ دقیقه مطالعه·تیم جی‌پی‌یو

شابلون حروف پلاستیکی خاکستری با حروف بزرگ و کوچک لاتین، ارقام و نشانه‌های بریده‌شده، روی سطح سفید.

قالب ComfyUI ابزار را نصب‌شده تحویل می‌دهد، اما فقط با یک مدل پایه خیلی زود به سقف می‌خورید. مدل‌های تخصصی و LoRAها همان چیزی هستند که سبک تصویر را عوض می‌کنند: یک LoRA می‌تواند خروجی شما را به سبک نقاشی آبرنگ، عکس محصول استودیویی یا تصویرسازی خطی تبدیل کند. در این آموزش ComfyUI یاد می‌گیرید چطور چک‌پوینت‌ها و LoRAهای دلخواهتان را از Civitai مستقیم روی ماشین اجاره‌ای دانلود کنید، در پوشهٔ درست بگذارید و در ورک‌فلو به کار ببرید.

کل کار حدود ۲۰ دقیقه طول می‌کشد و روی یک کارت اقتصادی چند هزار تومان خرج دارد. نکتهٔ اصلی این است که دانلود روی خودِ ماشین انجام می‌شود، نه روی اینترنت خانگی شما؛ ماشین‌ها خارج از ایران‌اند و یک چک‌پوینت شش گیگابایتی معمولاً در کمتر از دو دقیقه می‌آید. شما حتی یک بایت هم دانلود نمی‌کنید.

پیش‌نیازها

سه چیز باید از قبل آماده باشد:

  • حساب جی‌پی‌یو. اگر هنوز حساب ندارید، از صفحهٔ ثبت‌نام شروع کنید.
  • کلید SSH ثبت‌شده. ورود به ماشین فقط با کلید SSH انجام می‌شود و رمز عبوری در کار نیست.
  • موجودی کیف پول دست‌کم به اندازهٔ یک ساعت از نرخ ماشینی که می‌خواهید اجاره کنید. برای این آموزش ۳۰ تا ۵۰ هزار تومان کافی است.

اگر با ComfyUI تازه آشنا شده‌اید، بهتر است اول پست آموزش ComfyUI روی GPU ابری: اولین تصویر با SDXL را بخوانید؛ این پست ادامهٔ مستقیم آن است.

یک نکته هم بگوییم: هر مدلی در Civitai لایسنس خودش را دارد؛ قبل از استفادهٔ تجاری شرط‌های همان صفحه را بخوانید.

انتخاب ماشین مناسب

نیاز VRAM شما را نوع مدل تعیین می‌کند، نه تعداد LoRAها. LoRAها فایل‌های کوچکی‌اند (معمولاً ۱۰ تا ۳۰۰ مگابایت) و تقریباً حافظهٔ اضافی نمی‌خواهند؛ این چک‌پوینت پایه است که جا می‌گیرد.

  • اقتصادی — RTX 3060 با ۱۲ گیگابایت VRAM: برای مدل‌های پایهٔ SD 1.5 و SDXL و چند LoRA هم‌زمان کاملاً کافی است. در زمان نوشتن این مطلب از حدود ۱۵ هزار تومان در ساعت شروع می‌شود.
  • میانی — RTX A4000 با ۱۶ گیگابایت: وقتی می‌خواهید چند مدل مختلف را پشت سر هم امتحان کنید. در زمان نوشتن این مطلب از حدود ۲۱ هزار تومان در ساعت.
  • سریع — RTX 3090 با ۲۴ گیگابایت: برای مدل‌های سنگین‌تر و ورک‌فلوهای شلوغ. در زمان نوشتن این مطلب از حدود ۴۲ هزار تومان در ساعت.

کارت مناسب خودتان را با فیلتر مدل و حافظه در بازار GPU پیدا کنید. اگر مطمئن نیستید چقدر VRAM لازم دارید، پست انتخاب کارت گرافیک هوش مصنوعی: راهنمای VRAM هر کار جدول کاملش را دارد. یادتان باشد قیمت ساعتی موقع اجاره قفل می‌شود.

اجاره و راه‌اندازی

در صفحهٔ بازار ماشین موردنظرتان را باز کنید و موقع اجاره از فهرست قالب‌ها، قالب ComfyUI را انتخاب کنید. دکمهٔ اجاره را بزنید و صبر کنید تا وضعیت ماشین «آماده» شود.

بعد از آماده‌شدن، صفحهٔ ماشین دستور SSH آماده، لینک Jupyter و توکن آن، دستور «تونل امن» و دکمهٔ «پنل ماشین» را یک‌کلیک در اختیارتان می‌گذارد. برای کار این پست به دو چیز نیاز دارید: یک ترمینال SSH برای دانلود فایل‌ها، و «پنل ماشین» برای دیدن رابط ComfyUI.

با دستور SSH صفحهٔ ماشین وارد شوید. شکل کلی‌اش چنین است:

ssh -i ~/.ssh/id_ed25519 user@ADDRESS -p PORT

کدام فایل در کدام پوشه؟

ComfyUI فایل‌ها را بر اساس پوشه تشخیص می‌دهد، نه بر اساس نام. اگر فایل را جای اشتباه بگذارید، در فهرست گره‌ها اصلاً دیده نمی‌شود. مسیرهای مهم، همه زیر پوشهٔ models:

  • models/checkpoints — مدل‌های پایه (چک‌پوینت)، فایل‌های چند گیگابایتی
  • models/loras — فایل‌های LoRA
  • models/vae — فایل‌های VAE
  • models/embeddings — امبدینگ‌ها (Textual Inversion)
  • models/controlnet — مدل‌های ControlNet
  • models/upscale_models — مدل‌های بزرگ‌نمایی

اول ریشهٔ نصب ComfyUI را پیدا کنید تا بقیهٔ مسیرها دستتان بیاید:

find / -type d -path "*ComfyUI/models/loras" 2>/dev/null

در بیشتر ماشین‌ها نتیجه /workspace/ComfyUI/models/loras است. در ادامه همین مسیر را به کار می‌بریم؛ اگر خروجی find چیز دیگری داد، آن را جایگزین کنید.

گرفتن توکن Civitai

Civitai برای دانلود بیشتر فایل‌ها یک توکن API می‌خواهد. یک بار از تنظیمات حساب کاربری‌تان در Civitai بسازیدش. توکن مثل رمز عبور است؛ روی ماشین آن را در یک متغیر محیطی بگذارید تا در تاریخچهٔ دستورها نماند:

read -s -p "Civitai token: " CIVITAI_TOKEN
export CIVITAI_TOKEN

پیدا کردن شناسهٔ نسخهٔ مدل

هر مدل در Civitai چند نسخه دارد و آنچه دانلود می‌شود نسخه است، نه مدل. شناسهٔ نسخه را از نشانی صفحهٔ مدل بردارید: وقتی روی یک نسخه کلیک می‌کنید، به انتهای نشانی چیزی مثل ?modelVersionId=128713 اضافه می‌شود. همان عدد، شناسهٔ نسخه است. در دستورهای زیر هر جا <VERSION_ID> دیدید، عدد خودتان را بگذارید.

برای مطمئن شدن از اینکه شناسه درست است و فایلش چیست، قبل از دانلود یک‌بار از API بپرسید:

curl -s "https://civitai.com/api/v1/model-versions/<VERSION_ID>" | python3 -c "
import sys, json
v = json.load(sys.stdin)
print(v['name'], '|', v['baseModel'])
for f in v['files']:
    print(f['type'], f['name'], round(f['sizeKB']/1024), 'MB')
"

خروجی نام نسخه، مدل پایه (مثلاً SD 1.5 یا SDXL 1.0) و فهرست فایل‌ها با حجمشان را نشان می‌دهد. مدل پایه را حتماً چک کنید: یک LoRA که برای SD 1.5 ساخته شده روی چک‌پوینت SDXL کار نمی‌کند.

دانلود چک‌پوینت و LoRA روی ماشین

نشانی دانلود هر نسخه ثابت است: https://civitai.com/api/download/models/<VERSION_ID>. این نشانی به یک لینک موقت هدایت می‌شود، پس ابزار دانلود باید ریدایرکت را دنبال کند.

برای یک چک‌پوینت:

cd /workspace/ComfyUI/models/checkpoints
wget --content-disposition "https://civitai.com/api/download/models/<VERSION_ID>?token=$CIVITAI_TOKEN"

سوییچ --content-disposition باعث می‌شود فایل با نام اصلی خودش ذخیره شود، نه با نام عددی. برای یک LoRA هم دقیقاً همین کار را می‌کنید، فقط در پوشهٔ دیگری:

cd /workspace/ComfyUI/models/loras
wget --content-disposition "https://civitai.com/api/download/models/<LORA_VERSION_ID>?token=$CIVITAI_TOKEN"

اگر curl را ترجیح می‌دهید، توکن را در هدر بفرستید و نام فایل را خودتان بدهید:

curl -L -H "Authorization: Bearer $CIVITAI_TOKEN" \
  -o /workspace/ComfyUI/models/loras/my-style.safetensors \
  "https://civitai.com/api/download/models/<LORA_VERSION_ID>"

در پایان با ls -lh مطمئن شوید حجم فایل منطقی است. اگر فایل چند کیلوبایتی دیدید، آن یک صفحهٔ خطای HTML است و نه مدل؛ یعنی توکن یا شناسه اشتباه بوده.

ls -lh /workspace/ComfyUI/models/checkpoints /workspace/ComfyUI/models/loras

استفاده از LoRA در ورک‌فلو

رابط ComfyUI را با دکمهٔ «پنل ماشین» باز کنید. اگر رابط از قبل باز بود، یک‌بار دکمهٔ Refresh را بزنید تا فایل‌های تازه در فهرست‌ها دیده شوند.

حالا گرهٔ LoRA را اضافه کنید:

  • افزودن گره: روی فضای خالی بوم راست‌کلیک کنید و از Add Node گرهٔ Load LoRA را اضافه کنید.
  • ورودی‌ها: این گره را بین گرهٔ Load Checkpoint و بقیهٔ ورک‌فلو بگذارید؛ خروجی MODEL چک‌پوینت را به ورودی model گرهٔ LoRA وصل کنید و خروجی CLIP را به ورودی clip آن.
  • خروجی‌ها: خروجی MODEL گرهٔ LoRA را به KSampler بدهید و خروجی CLIP آن را به هر دو گرهٔ CLIP Text Encode (متن مثبت و منفی).
  • تنظیم شدت: در خودِ گره فایل LoRA را از فهرست انتخاب کنید و دو عدد strength_model و strength_clip را تنظیم کنید. مقدار 1.0 اثر کامل است؛ در عمل بین 0.6 تا 0.8 معمولاً نتیجهٔ طبیعی‌تری می‌دهد.

نکتهٔ مهم: بیشتر LoRAها یک کلمهٔ کلیدی فعال‌ساز (trigger word) دارند که در صفحهٔ همان مدل نوشته شده است؛ اگر آن کلمه در متن مثبت نباشد، LoRA تقریباً هیچ اثری نمی‌گذارد. برای زنجیر کردن چند LoRA، چند گرهٔ Load LoRA را پشت سر هم وصل کنید. مستندات رسمی ComfyUI هم نمونهٔ ورک‌فلوی LoRA را دارد.

اگر به مشکل خوردید

  • مدل در فهرست گره پیدا نمی‌شود: یا فایل در پوشهٔ اشتباه است یا دکمهٔ Refresh را نزده‌اید. با ls -lh مسیر را چک کنید و بعد Refresh بزنید. اگر باز هم نبود، ComfyUI را از صفحهٔ ماشین یک‌بار Restart کنید.
  • فایل دانلودشده چند کیلوبایت است: دانلود شکست خورده و محتوای فایل HTML است. با head -c 200 FILENAME نگاهش کنید؛ معمولاً یعنی توکن نامعتبر است یا آن نسخه اجازهٔ دانلود با API ندارد.
  • دانلود نیمه‌کاره ماند: دستور را با سوییچ ادامه دوباره بزنید: wget -c --content-disposition "...".
  • خطای CUDA out of memory بعد از افزودن LoRA: معمولاً تقصیر LoRA نیست. اندازهٔ تصویر را کم کنید، تعداد LoRAهای هم‌زمان را کاهش دهید، یا کارتی با VRAM بیشتر اجاره کنید.
  • تصویر هیچ فرقی نکرد: کلمهٔ فعال‌ساز را در متن مثبت ننوشته‌اید، یا مدل پایهٔ LoRA با چک‌پوینت شما یکی نیست.

هزینه و صرفه‌جویی

دانلود چند مدل و امتحان کردنشان معمولاً کمتر از یک ساعت کار می‌برد؛ روی کارت اقتصادی یعنی چند هزار تومان. سه عادت که پول‌تان را نگه می‌دارد:

  • همهٔ مدل‌ها را یک‌جا دانلود کنید، نه اینکه هر بار ماشین را روشن کنید تا یک فایل بگیرید. هزینه دقیقه‌ای حساب می‌شود و ماشین متوقف‌شده هزینه‌ای ندارد.
  • قبل از حذف ماشین، خروجی‌ها را بردارید. دیسک ماشین با حذف آن پاک می‌شود و ذخیره‌سازی دائمی وجود ندارد. روش انتقال فایل را در پست دانلود مدل هوش مصنوعی روی سرور GPU: scp و rsync توضیح داده‌ایم.
  • فهرست دستورهای دانلودتان را نگه دارید. دفعهٔ بعد همان چند خط را کپی می‌کنید و ماشین تازه در یک دقیقه آماده است.

قدم بعدی

حالا دو مسیر جلوی شماست: ساختن استایل اختصاصی خودتان با آموزش یک LoRA، یا رفتن سراغ مدل‌های نسل جدید که VRAM بیشتری می‌خواهند. برای هر دو، کارت مناسب را از بازار GPU انتخاب کنید.

پرسش‌های متداول

LoRA را کجای ComfyUI باید بگذارم؟

فایل LoRA باید داخل پوشهٔ models/loras در مسیر نصب ComfyUI باشد (معمولاً /workspace/ComfyUI/models/loras). بعد از کپی کردن فایل، در رابط وب دکمهٔ Refresh را بزنید تا در فهرست گرهٔ Load LoRA ظاهر شود.

آیا برای استفاده از LoRA به کارت گرافیک قوی‌تری نیاز است؟

نه چندان. LoRAها فایل‌های کوچکی‌اند و حافظهٔ اضافی قابل‌توجهی مصرف نمی‌کنند؛ آنچه VRAM می‌خواهد چک‌پوینت پایه است.

فرق چک‌پوینت و LoRA چیست؟

چک‌پوینت مدل کامل تولید تصویر است و چند گیگابایت حجم دارد. LoRA یک فایل کوچک است که روی چک‌پوینت سوار می‌شود و سبک، شخصیت یا جزئیات خاصی به آن اضافه می‌کند. LoRA به‌تنهایی کار نمی‌کند و همیشه به یک چک‌پوینت سازگار نیاز دارد.

چرا دانلود مدل روی ماشین اجاره‌ای این‌قدر سریع‌تر است؟

چون دانلود روی خودِ ماشین انجام می‌شود و ماشین‌ها خارج از ایران با پهنای باند گیگابیتی‌اند. یک چک‌پوینت شش گیگابایتی معمولاً در کمتر از دو دقیقه دانلود می‌شود و اینترنت خانگی شما اصلاً درگیر نمی‌شود.

مدل‌هایی که دانلود کرده‌ام بعد از حذف ماشین می‌مانند؟

نه. دیسک ماشین با حذف آن پاک می‌شود و فضای ذخیره‌سازی دائمی وجود ندارد. اگر می‌خواهید بعداً ادامه بدهید ماشین را فقط متوقف کنید، ولی روی ماندگاری دائمی حساب نکنید.

تصویر کاور: «Lettering stencil» اثر Jahobr، از ویکی‌مدیا کامنز، لایسنس CC0.