تدريب LoRA لـ SDXL أو لنموذج Flux صغير يكلّف أقل بكثير من $10 على GPU مستأجر. في سبتمبر 2026 تُستأجر RTX 4090 بنحو $0.31 في الساعة على Vast.ai و$0.74 في الساعة على RunPod، وجلسة LoRA واحدة لـ SDXL، بالإعداد والاختبار، تستغرق أكثر من ساعة بقليل. أي من $0.34 إلى $0.80 للمحاولة الواحدة، فميزانية $10 تكفي لدزينة محاولات.
المال ليس الجزء الصعب. الصعب هو الصور، والأوصاف، ومعرفة متى تتوقف. يغطي هذا الدليل ذلك كله، مع أوامر جاهزة للنسخ. راجعنا الأسعار وإصدارات الأدوات في سبتمبر 2026، والمصادر في آخر المقال.
سير العمل في خمس خطوات
ما هي LoRA ولماذا هي رخيصة
تجمّد LoRA (Low-Rank Adaptation) النموذج الأساسي وتدرّب مصفوفتين صغيرتين بجانب بعض طبقاته. أفادت الورقة الأصلية بأنها خفّضت عدد المعاملات القابلة للتدريب 10,000 مرة وذاكرة GPU ثلاث مرات مقارنةً بالضبط الدقيق الكامل لـ GPT-3 175B. ونماذج الصور تعمل بالطريقة نفسها: نقطة الحفظ الأساسية لـ SDXL ملف حجمه 6.9 GB، أما LoRA التي تدرّبها فملف صغير منفصل تحمّله فوقه بالقوة التي تريد.
لهذا تكفي بطاقة GPU استهلاكية واحدة، ولهذا تستغرق الجولة عشرات الدقائق لا أياماً.
اختر GPU حسب VRAM
الـ VRAM يحدد ما تستطيع تدريبه. والسرعة تحدد عدد الدقائق المدفوعة التي تستغرقها الجولة، فالبطاقة الأسرع التي تكلّف أكثر في الساعة قد تكلّف في النهاية القدر نفسه تقريباً للجولة الواحدة.
| عائلة النموذج | الحد الأدنى الموثّق | المريح | ملاحظات |
|---|---|---|---|
| SD 1.5 | 8 GB | 12 GB فأكثر | يُدرَّب بدقة 512x512، الأرخص والأسرع |
| SDXL | 8 GB (يُنصح بـ 10 GB) | 24 GB | U-Net وحده، مع تخزين الـ latents ومخرجات مُرمِّز النص مسبقاً |
| FLUX.1 [dev] (12B) | 8 GB مع تبديل مكثّف للكتل | 24 GB | يذكر sd-scripts إعدادات لـ 24 و16 و12 و10 و8 GB |
| FLUX.2 [klein] 4B/9B | غير مذكور | 24 GB | BFL: نحو 13 GB من أوزان bf16، وجولة LoRA تتسع في أقل من 24 GB |
إعدادات الـ VRAM المنخفضة تعمل، لكنها بطيئة. تبديل كتل الـ transformer بين GPU وذاكرة النظام هو الطريقة التي يُدخل بها sd-scripts نموذج FLUX.1 في 8 إلى 16 GB، وكل تبديل يكلّف وقتاً تدفع ثمنه. على جهاز مستأجر، البطاقة ذات 24 GB هي الخيار الافتراضي المعقول: RTX 3090 أو 4090. وRTX 5090 (32 GB) تعمل أيضاً، لكن sd-scripts ينبّه إلى أنها تحتاج إلى PyTorch 2.8.0 مع CUDA 12.8 أو 12.9، فتأكد أن القالب الذي تستخدمه يأتي بحزمة حديثة بما يكفي.

بطاقات مراكز البيانات أسرع، لكن RunPod تعرض A100 80 GB بسعر $1.59 في الساعة، أي أكثر من ضعف 4090. في LoRA على 20 أو 30 صورة، نادراً ما تعوّض السرعة الإضافية هذا الفرق؛ هي أنسب لمجموعات البيانات الكبيرة أو للضبط الدقيق الكامل.
أين تستأجر، وكم يكلّف
تحتاج إلى منصة تعطيك جهازاً: سطر أوامر أو دفتر Jupyter، وقرصاً، وطريقة لنسخ الملفات منه وإليه. Vast.ai وRunPod هما الخياران الأكثر شيوعاً لهذا النوع من العمل.
| GPU | VRAM | Vast.ai (يبدأ من) | صفحة أسعار RunPod | أرخص سعر مرصود على RunPod |
|---|---|---|---|---|
| RTX 3090 | 24 GB | نحو $0.11–0.13 في الساعة | $0.50 في الساعة | $0.22 في الساعة |
| RTX 4090 | 24 GB | نحو $0.31–0.33 في الساعة | $0.74 في الساعة | $0.34 في الساعة |
| RTX 5090 | 32 GB | نحو $0.41–0.47 في الساعة | $0.99 في الساعة | $0.69 في الساعة |
الأسعار حتى سبتمبر 2026. عمودا “Vast.ai (يبدأ من)” و”أرخص سعر مرصود على RunPod” مأخوذان من أداة تتبّع الأسعار في getdeploying.com؛ والعمود الأوسط من صفحة أسعار RunPod نفسها. مضيفو Vast.ai يحددون أسعارهم بأنفسهم، فالعروض التي تراها ستختلف حسب الموقع ودرجة الموثوقية.
كلتا المنصتين تفوتر بالثانية. أما الإضافات فتختلف، وهي في مهمة مدتها ساعة أهم مما يوحي به السعر بالساعة:
- Vast.ai تتقاضى رسوم التخزين “ما دام مثيلك موجوداً، أياً كانت حالة تشغيله”، وتتقاضى رسوم نقل البيانات لكل بايت، بسعر يحدده كل مضيف. تنزيل نموذج أساسي بحجم 7 GB على مضيف سعر نقل البيانات لديه مرتفع يتراكم. احذف المثيل، ولا تكتفِ بإيقافه.
- RunPod تتقاضى $0.10 لكل GB شهرياً لقرص الحاوية أثناء التشغيل، ولا شيء عنه بعد الإيقاف، و$0.20 لكل GB شهرياً لقرص وحدة التخزين المتوقف. ولا تتقاضى شيئاً على البيانات الواردة أو الصادرة.
لدى المنصتين قوالب جاهزة. مطوّر ai-toolkit يحافظ على قالب رسمي على RunPod، وملف README في kohya_ss يذكر RunPod بيئةً مدعومة. القالب يوفّر عليك عشر دقائق أو أكثر من تثبيت PyTorch على وقت مدفوع. لمقارنة أسعار أوسع، راجع GPUFlow مقابل Vast.ai وRunPod وSaladCloud والتكاليف الخفية لاستئجار GPU.
جهّز مجموعة البيانات والأوصاف
افعل هذا كله على كمبيوترك قبل أن تستأجر أي شيء.
الصور
- العدد. من 15 إلى 40 صورة لشخص أو غرض أو أسلوب واحد. توصي Black Forest Labs بـ “15–40 صورة يجمعها مظهر واحد” لـ FLUX.2 [klein]. الأكثر ليس أفضل إذا كانت الصور الإضافية أضعف.
- الاتساق والتنوع. يجب أن تُظهر كل صورة المفهوم نفسه. وكل ما عدا ذلك ينبغي أن يتنوع: الزاوية، والإضاءة، والخلفية، والتأطير. إذا كانت كل صور منتجك على الطاولة البيضاء نفسها، فستتعلم LoRA الطاولة.
- الجودة. صور حادة، بتعريض جيد، بلا علامات مائية أو نصوص فوقها. تتعلم LoRA الضوضاء وكتل JPEG بالأمانة نفسها التي تتعلم بها أي شيء آخر.
- الدقة. 1024 بكسل على الأقل في الضلع الأقصر لـ SDXL وFlux، و512 لـ SD 1.5. لا تحتاج إلى قصّ الصور إلى مربعات: مع تفعيل الـ bucketing، يجمّع sd-scripts الصور حسب نسبة الأبعاد.
الأوصاف
لكل صورة ملف نصي بالاسم نفسه (photo01.jpg، photo01.txt). يخبر الوصف النموذج بما تفسّره الكلمات أصلاً، فتتعلم LoRA ما لا تفسّره. ضع كلمة تفعيل نادرة أولاً، ثم صِف كل ما تريده أن يبقى قابلاً للتغيير:
zxq_mug, a ceramic coffee mug on a wooden desk, morning light from the left, shallow depth of field
أداتان تكتبان لك مسودة أولى:
-
WD14 tagger، المضمّنة في sd-scripts، تنتج وسوماً مفصولة بفواصل. جيدة للنماذج ذات أسلوب الأنمي ولنماذج SDXL المضبوطة على الوسوم:
python finetune/tag_images_by_wd14_tagger.py --onnx \ --repo_id SmilingWolf/wd-swinv2-tagger-v3 --batch_size 4 /workspace/dataset/img -
JoyCaption، نموذج مفتوح (Apache 2.0) لكتابة الأوصاف صُمّم لتدريب نماذج الانتشار، يكتب جملاً بلغة طبيعية، وهي أنسب لـ Flux من الوسوم. يقول ملف README الخاص به إنه يحتاج إلى نحو 17 GB من VRAM بدقة bf16، مع نسخ 8-bit و4-bit للبطاقات الأصغر.
ولدى OneTrainer أيضاً أداة مدمجة لكتابة الأوصاف تستخدم BLIP وBLIP2 وWD-1.4. أياً كانت الأداة التي كتبت المسودة، اقرأ كل وصف وصحّحه. هذه أثمن نصف ساعة في المشروع كله.
اختر أداة التدريب
أربع أدوات تكفي الجميع تقريباً. كلها مجانية ومفتوحة المصدر.
| الأداة | الواجهة | النماذج (سبتمبر 2026) | تناسب |
|---|---|---|---|
| kohya-ss/sd-scripts | سطر الأوامر | SD 1.x/2.x، SDXL، SD3/3.5، FLUX.1، Lumina، HunyuanImage-2.1، Anima | جولات قابلة للتكرار، تحكم كامل |
| bmaltais/kohya_ss | واجهة ويب فوق sd-scripts | مثل sd-scripts | sd-scripts دون حفظ الخيارات |
| Nerogar/OneTrainer | واجهة سطح مكتب وCLI | من SD 1.5 إلى 3.5، SDXL، FLUX.1، FLUX.2، Chroma، Qwen Image وغيرها | كتابة أوصاف وأقنعة مدمجة |
| ostris/ai-toolkit | واجهة ويب وملفات إعداد YAML | SD 1.5، SDXL، FLUX.1، FLUX.2، Qwen-Image، Wan للفيديو وغيرها | Flux والنماذج الأحدث، قالب RunPod |
sd-scripts في الإصدار 0.11.1 (يونيو 2026)، ومختبَر مع Python 3.10 ويحتاج إلى PyTorch 2.6.0 أو أحدث. ويوصي ai-toolkit بـ Python 3.12 ويثبّت حالياً PyTorch 2.13.0 المبني لـ CUDA 13.0. ويحتاج OneTrainer إلى Python من 3.10 إلى 3.13.
أستخدم sd-scripts لـ SDXL لأن سطر الأوامر هو الإعداد كله، ما يجعل الجولات سهلة التكرار والمقارنة، وai-toolkit لـ Flux.
درّب LoRA لـ SDXL باستخدام sd-scripts
على مثيل Linux جديد فيه تعريف NVIDIA، الإعداد بضعة أوامر:
git clone https://github.com/kohya-ss/sd-scripts.git
cd sd-scripts
python -m venv venv && source venv/bin/activate
pip install torch==2.6.0 torchvision==0.21.0 --index-url https://download.pytorch.org/whl/cu124
pip install --upgrade -r requirements.txt
accelerate config default --mixed_precision bf16
# SDXL base model (not gated, CreativeML Open RAIL++-M license)
hf download stabilityai/stable-diffusion-xl-base-1.0 sd_xl_base_1.0.safetensors \
--local-dir /workspace/models
انسخ مجلد الصور وأوصاف .txt إلى /workspace/dataset/img باستخدام scp أو rsync أو متصفح الملفات في المنصة. ثم صِف مجموعة البيانات في /workspace/dataset.toml:
[general]
caption_extension = ".txt"
enable_bucket = true
[[datasets]]
resolution = 1024
batch_size = 1
[[datasets.subsets]]
image_dir = "/workspace/dataset/img"
num_repeats = 10
وابدأ التدريب:
accelerate launch --num_cpu_threads_per_process 1 sdxl_train_network.py \
--pretrained_model_name_or_path=/workspace/models/sd_xl_base_1.0.safetensors \
--dataset_config=/workspace/dataset.toml \
--output_dir=/workspace/output --output_name=zxq_mug \
--save_model_as=safetensors \
--network_module=networks.lora --network_dim=16 --network_alpha=8 \
--network_train_unet_only \
--optimizer_type=AdamW8bit --learning_rate=1e-4 \
--lr_scheduler=constant_with_warmup --lr_warmup_steps=100 \
--max_train_epochs=8 --save_every_n_epochs=2 \
--mixed_precision=bf16 --save_precision=bf16 \
--cache_latents --cache_latents_to_disk --cache_text_encoder_outputs \
--gradient_checkpointing --sdpa --seed=42 \
--sample_prompts=/workspace/prompts.txt --sample_every_n_epochs=2
يحتوي prompts.txt على موجّه اختبار واحد في كل سطر، مع خيارات sd-scripts المضمّنة للحجم والبذرة (seed) وعدد الخطوات:
zxq_mug, a ceramic coffee mug on a kitchen counter --w 1024 --h 1024 --d 42 --s 28
zxq_mug, a ceramic coffee mug held by a hiker on a mountain top --w 1024 --h 1024 --d 42 --s 28
ماذا تفعل الإعدادات
- الخطوات. الصور × التكرارات × الحقب ÷ حجم الدفعة. مع 25 صورة: 25 × 10 × 8 = 2,000 خطوة.
network_dim16، وnetwork_alpha8. سعة LoRA. الرقم 16 أكثر من كافٍ لغرض أو وجه واحد؛ والأساليب تحتاج أحياناً إلى 32. الرتب الأعلى تفرط في التعلّم (overfit) أسرع وتنتج ملفات أكبر.--network_train_unet_only. إلزامي هنا: يرفض sd-scripts تخزين مخرجات مُرمِّز النص مسبقاً إذا كان يدرّب مُرمِّزات النص في الوقت نفسه، ووثائقه تصف تدريب U-Net وحده بأنه “موصى به بشدة” لـ LoRA على SDXL على أي حال.- التخزين المسبق وgradient checkpointing. هذان ما يجعل SDXL يتسع في 8 إلى 10 GB. والتخزين المسبق يعطّل أيضاً خلط الأوصاف وإسقاطها (caption shuffling وcaption dropout)، ولهذا لا يظهران في ملف مجموعة البيانات.
learning_rate1e-4 مع AdamW8bit. القيمة المستخدمة في مثال LoRA لـ SDXL في sd-scripts نفسه. إذا كادت العينات لا تتغير بعد أربع حقب، جرّب 2e-4. وإذا صارت نسخاً من صور التدريب، اخفضها أو توقف أبكر.- نقاط حفظ كل حقبتين. ستحصل على ملفات للحقب 2 و4 و6 و8، وتختار أفضلها. أفضل LoRA كثيراً ما لا تكون الأخيرة.
كم يستغرق
أفاد مستخدمون في نقاش على kohya_ss بسرعة نحو 1.1 إلى 1.4 تكرار في الثانية لتدريب LoRA لـ SDXL بدقة 1024x1024 وحجم دفعة 1، على RTX 4090 مع gradient checkpointing. بهذه السرعة تستغرق 2,000 خطوة من 24 إلى 30 دقيقة، مضافاً إليها بضع دقائق لتخزين الـ latents. ويُظهر النقاش نفسه مدى سوء الأمور عندما تنفد VRAM من البطاقة وتنتقل إلى الذاكرة المشتركة: 50 ثانية أو أكثر للخطوة. إذا كانت سرعتك أقل بكثير من النطاق المتوقع، افحص nvidia-smi قبل أن تلوم الإعدادات.
Flux والنماذج الأحدث باستخدام ai-toolkit
لـ Flux، ai-toolkit هو الطريق الأسهل. على جهاز مستأجر:
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
python3 -m venv venv && source venv/bin/activate
pip3 install --no-cache-dir torch==2.13.0 torchvision==0.28.0 torchaudio==2.11.0 \
--index-url https://download.pytorch.org/whl/cu130
pip3 install -r requirements.txt
cp config/examples/train_lora_flux_24gb.yaml config/zxq_mug.yml
# edit the dataset path, trigger word and steps, then:
python run.py config/zxq_mug.yml
أو شغّل واجهة الويب بـ cd ui && npm run build_and_start وافتح المنفذ 8675. على خادم يستطيع آخرون الوصول إليه، اضبط AI_TOOLKIT_AUTH على كلمة مرور أولاً، كما يوصي ملف README.
أمران تحتاج إلى معرفتهما عن التراخيص قبل أن تختار نموذج Flux:
- FLUX.1 [dev] محميّ بموافقة على Hugging Face. تقبل ترخيص FLUX.1 [dev] Non-Commercial License وتستخدم توكن قراءة من Hugging Face لتنزيله. تقول بطاقة النموذج إن المخرجات المولّدة يمكن استخدامها تجارياً؛ أما الأوزان وLoRA التي تدرّبها فتخضع للترخيص غير التجاري.
- FLUX.2 [klein] 4B مرخّص بـ Apache 2.0 وغير محميّ. أما نسخة 9B فتستخدم FLUX Non-Commercial License.
نشرت Black Forest Labs في يونيو 2026 دليلاً لتدريب LoRA لـ FLUX.2 [klein] باستخدام ai-toolkit: جولة من 1,800 خطوة على RTX 4090 “تستغرق أقل من ساعة”، ويقترحون فحص نقاط الحفظ حول الخطوات من 750 إلى 1,500. لم أجد توقيتاً منشوراً بالمتانة نفسها لـ FLUX.1 [dev]، وهو أكبر من klein 4B ثلاث مرات؛ خصّص وقتاً أطول وقِس جولتك الأولى.
اختبر LoRA قبل أن تتوقف عن الدفع
انظر إلى الصور التجريبية من كل حقبة محفوظة والجهاز لا يزال يعمل. فهي تُظهر لك، دون تكلفة إضافية، هل تعلّمت LoRA المفهوم ومتى بدأت تفرط في التعلّم. ثم نزّل نقاط الحفظ التي أعجبتك:
rsync -avP user@your-instance:/workspace/output/*.safetensors ./loras/
على جهازك، ضع الملف في مجلد models/loras في ComfyUI أو models/Lora في Forge، واختبر ببذور ثابتة:
- القوة. جرّب 0.6 و0.8 و1.0. بعض LoRA تبدو أفضل تحت 1.0.
- المرونة. ضع كلمة التفعيل في مشاهد لم تكن في بياناتك. كوب على قمة جبل، وجه في لوحة زيتية. إذا لم تعمل إلا في مشاهد تشبه صور التدريب، فهي مفرطة في التعلّم: استخدم حقبة أبكر أو تكرارات أقل.
- التسرّب. ولّد صوراً دون كلمة التفعيل. إذا ظهر المفهوم على أي حال، فأوصافك لم تصف ما يكفي من الصورة.
عندما تكون النتيجة خاطئة، يكون الإصلاح عادةً في مجموعة البيانات: حذف بضع صور ضعيفة، أو أوصاف تسمّي الأشياء التي تريدها أن تتنوع. تغيير معدل التعلّم هو الأمر الثاني الذي تجرّبه، لا الأول.
حساب التكلفة الفعلي
LoRA واحدة لـ SDXL، 25 صورة، 2,000 خطوة، على RTX 4090:
| الخطوة | الوقت |
|---|---|
| البدء من قالب وتثبيت sd-scripts | 10 دقائق |
| تنزيل SDXL الأساسي ورفع البيانات والتخزين المسبق | 10 دقائق |
| التدريب (2,000 خطوة بسرعة 1.1 إلى 1.4 تكرار/ث) | 30 دقيقة |
| فحص العينات وتنزيل نقاط الحفظ وحذف المثيل | 15 دقيقة |
| الإجمالي | 65 دقيقة (1.08 ساعة) |
- Vast.ai بسعر $0.31 في الساعة: 1.08 × $0.31 = $0.34، مضافاً إليها التخزين وسعر نقل البيانات لدى المضيف.
- RunPod بسعر $0.74 في الساعة: 1.08 × $0.74 = $0.80. قرص حاوية بحجم 50 GB لتلك الساعة يضيف 50 × $0.10 ÷ 730 ساعة = أقل من سنت واحد.
LoRA لـ FLUX.2 [klein] بساعة من التدريب و30 دقيقة من الإعداد والاختبار تكلّف 1.5 × $0.74 = $1.11 على RunPod، أو 1.5 × $0.31 = $0.47 على Vast.ai.
ما يفجّر ميزانية $10 فعلاً نادراً ما يكون التدريب. إنه مثيل تُرك يعمل طوال الليل (12 ساعة بسعر $0.74 تساوي $8.88)، أو مثيل متوقف على Vast.ai لا يزال يدفع مقابل التخزين، أو ساعة قضيتها في كتابة أوصاف الصور على وقت مدفوع. الفوترة بالثانية لا تفيد إلا إذا حذفت الجهاز عند الانتهاء.
أين يقع GPUFlow من هذا
لا مكان له في هذه المهمة. يؤجّر GPUFlow الوصول إلى نموذج لغوي يشغّله مزوّد (عادةً باستخدام Ollama) على GPU الخاص به، عبر مفتاح API متوافق مع OpenAI. لا سطر أوامر، ولا SSH، ولا وصول إلى الملفات، فلا يمكنك تثبيت أداة تدريب أو رفع صور أو تنزيل LoRA. كما أنه يقدّم نماذج محادثة لا نماذج صور. درّب على Vast.ai أو RunPod أو منصة مماثلة تؤجّرك الجهاز نفسه.
إذا كنت تعمل على النصوص لا الصور، فالنهج نفسه، استأجر ثم درّب ثم احذف، ينطبق على النماذج اللغوية: راجع الضبط الدقيق لنموذج لغوي بشكل خاص على GPU مستأجر.
المصادر
راجعناها كلها في سبتمبر 2026.
- ورقة LoRA: Hu وآخرون، LoRA: Low-Rank Adaptation of Large Language Models
- sd-scripts: README والإصدارات، تدريب LoRA لـ SDXL، ملاحظات SDXL وVRAM، إعداد مجموعة البيانات، تدريب LoRA لـ FLUX.1، WD14 tagger
- bmaltais/kohya_ss، Nerogar/OneTrainer، ostris/ai-toolkit، JoyCaption
- سرعات SDXL على 4090: نقاش kohya_ss رقم 1288
- Black Forest Labs: الضبط الدقيق لـ FLUX.2 [klein] باستخدام LoRA في أقل من 60 دقيقة، وبطاقات النماذج FLUX.1 [dev]، FLUX.2 [klein] 4B، FLUX.2 [klein] 9B
- بطاقة نموذج Stable Diffusion XL base 1.0
- الأسعار: أسعار RunPod، أسعار الـ Pods والتخزين في RunPod، أسعار Vast.ai، وgetdeploying.com لـ RTX 3090 وRTX 4090 وRTX 5090 وVast.ai
- GPUFlow: البدء السريع مع API