خطوات الاستخدام
أدخل عرض الصورة المطلوبة (width) بالبكسل: هذا هو البعد الأفقي للصورة النهائية التي ترغب في توليدها. على سبيل المثال، إذا كنت تخطط لإنشاء صورة بدقة 512×512، أدخل 512. يحدد هذا الإدخال حجم المساحة الكامنة (latent space) التي سيعمل عليها النموذج، حيث يتم ضغط الصورة بواسطة الشبكة العصبية المشفرة (VAE) بعامل اختزال مقداره 8. أي أن العرض في المساحة الكامنة يساوي width ÷ 8 (مع تقريب للأسفل).
أدخل ارتفاع الصورة (height) بالبكسل: مثل العرض، هذا هو البعد الرأسي للصورة النهائية. أدخل 512 إذا كنت تريد صورة مربعة. مع العامل 8، يصبح الارتفاع في المساحة الكامنة هو height ÷ 8. لذا، بالنسبة لصورة 512×512، تكون أبعاد المساحة الكامنة 64×64 بكسل. هذا الحجم يؤثر مباشرة على عدد العمليات الحسابية المطلوبة أثناء عملية إزالة الضوضاء (denoising).
أدخل عدد خطوات أخذ العينات (steps): هذه هي عدد مرات التكرار التي سيقوم بها نموذج الانتشار لتحويل الضوضاء العشوائية إلى صورة واضحة. كل خطوة تقوم بتطبيق عملية تصحيح وتحسين بناءً على توجيه النص (prompt) ومعامل CFG. القيم الشائعة تتراوح بين 20 و50 خطوة. كلما زاد عدد الخطوات، زادت جودة الصورة عادةً، لكن ذلك يزيد من الوقت الحسابي.
حساب عدد عمليات إزالة الضوضاء الكلية: هنا تكمن العملية الحسابية الأساسية. يتم حساب المساحة الإجمالية للمساحة الكامنة بضرب العرض في الارتفاع بعد الاختزال: (width ÷ 8) × (height ÷ 8). ثم نضرب هذه المساحة بعدد الخطوات (steps) للحصول على إجمالي عمليات إزالة الضوضاء. الصيغة الرياضية: total_operations = steps × ((width ÷ 8) × (height ÷ 8)). هذا الرقم يمثل تقديرًا لعدد الوحدات الحسابية (tensor operations) التي سيجريها النموذج، وهو مؤشر على التكلفة الحسابية والوقت المستغرق.
أمثلة محلولة
تطبيقات عملية على خطوات أخذ العينات في Stable Diffusion بخطوات الحل كاملة.
الحل
لنحسب أولاً أبعاد المساحة الكامنة: العرض بعد الاختزال = 1024 ÷ 8 = 128 بكسل، والارتفاع = 1024 ÷ 8 = 128 بكسل. إذن المساحة الكلية = 128 × 128 = 16384 بكسل. ثم نضرب ذلك في عدد الخطوات: 40 × 16384 = 655,360 عملية إزالة ضوضاء. هذا الرقم بحد ذاته قد لا يعني الكثير، لكنه يساعد في مقارنة التكلفة بين الإعدادات المختلفة. مثلاً، لو قارنت ذلك مع صورة 512×512 بنفس الخطوات: المساحة = 64×64 = 4096، والناتج = 40×4096 = 163,840 عملية، أي أن الصورة الأكبر تستهلك 4 أضعاف العمليات (لأن المساحة زادت 4 مرات). هذا يفسر لماذا تستغرق الصور عالية الدقة وقتًا أطول في التوليد.
الحل
أبعاد المساحة الكامنة: 768 ÷ 8 = 96 بكسل لكل بعد، المساحة = 96 × 96 = 9216 بكسل. مع 50 خطوة: العمليات = 50 × 9216 = 460,800. مع 25 خطوة: العمليات = 25 × 9216 = 230,400. أي أن تقليل الخطوات إلى النصف يخفض إجمالي العمليات إلى النصف تمامًا. هذا يقلل من استخدام الذاكرة (VRAM) ويزيد سرعة التوليد. لكن يجب ملاحظة أن الجودة قد تتأثر: مع 50 خطوة تكون الصورة أكثر تفصيلاً، بينما مع 25 خطوة قد تظهر بعض القطع أو عدم الوضوح. يُنصح باستخدام جداول جدولة (scheduler) مثل DPM++ أو Euler a التي تنتج نتائج جيدة بعدد خطوات أقل (20-30). لذا، إذا كانت الذاكرة محدودة، يمكن البدء بـ 20 خطوة واختبار النتائج، ثم زيادة الخطوات تدريجيًا حسب الحاجة.
أمثلة محسوبة
قيم مُدخَلة ونتيجة محسوبة فعليًا بواسطة خطوات أخذ العينات في Stable Diffusion.
مثال 1: 1024×1024 مع 40 خطوة = 655,360
- العرض (بكسل)
- 1,024
- الارتفاع (بكسل)
- 1,024
- خطوات أخذ العينات
- 40
512×512 بنفس الخطوات: 163,840 أي ربع العمل
- العرض (بكسل)
- 512
- الارتفاع (بكسل)
- 512
- خطوات أخذ العينات
- 40
مثال 2: 768×768 و50 خطوة = 460,800، ومع 25 = 230,400
- العرض (بكسل)
- 768
- الارتفاع (بكسل)
- 768
- خطوات أخذ العينات
- 50
قارنة FAQ 4: 819,200 مقابل 81,920 = عشرة أضعاف
- العرض (بكسل)
- 1,024
- الارتفاع (بكسل)
- 1,024
- خطوات أخذ العينات
- 50
القسمة الصحيحة: 149 → 18 بدل 18.625 والمجموع 12,240
- العرض (بكسل)
- 149
- الارتفاع (بكسل)
- 64
- خطوات أخذ العينات
- 85
74×64 مع 10 خطوات: 720 لا 740
- العرض (بكسل)
- 74
- الارتفاع (بكسل)
- 64
- خطوات أخذ العينات
- 10