مرحبًا بعودتك 👋
في المنشورين الأخيرين (الجزء الأول والجزء الثاني)، استكشفنا مجموعة واسعة من الحيل المعمارية والتدريبية لنماذج الانتشار. لقد حاولنا تقييم كل فكرة على حدة، وقياس الإنتاجية، وسرعة التقارب، وجودة الصورة النهائية، وحاولنا فهم ما يحرك الإبرة فعليًا.
في هذه التدوينة، نريد الإجابة على سؤال عملي أكثر:
ماذا يحدث عندما نجمع كل الحيل التي نجحت؟
بدلاً من تحسين بُعد واحد في كل مرة، سنقوم بتجميع المكونات الواعدة معًا ونرى إلى أي مدى يمكننا دفع الأداء في ظل ميزانية حسابية صارمة.
لجعل الأمور ملموسة، نحن نفعل سباق السرعة على مدار 24 ساعة:
- 32 ح200
- ~إجمالي ميزانية الحوسبة 1500 دولار (2 دولار/ساعة/وحدة معالجة الرسومات)
وهذا بعيد جدًا عما كان عليه الحال في أيام الانتشار الأولى، حيث كان تدريب النماذج التنافسية قد يكلف ملايين الدولارات. الهدف هنا هو إظهار مدى تطور هذا المجال وإلى أي مدى يمكن للهندسة الدقيقة أن تأخذك في يوم واحد فقط من التدريب.
إن سباق السرعة هذا ليس مجرد تجربة ممتعة. ومن المرجح أن يكون بمثابة الأساس لوصفة التدريب واسعة النطاق الخاصة بنا للمضي قدمًا.
إلى جانب النتائج، نحن أيضًا نفتح مصدر الكود الخاص بنا (رابط Github)، والذي يحتوي على:
- رمز التدريب المستخدم لهذا السباق السريع
- الإطار التجريبي من منشور المدونة السابق
حتى تتمكن من إعادة إنتاج كل شيء وتعديله وتوسيعه بنفسك.
وصفة التدريب
الآن دعونا نتعرف على ما حدث في هذه الجولة التي استمرت 24 ساعة.
التنبؤ X والتدريب في مساحة البكسل
نحن نستخدم صيغة التنبؤ x من العودة إلى الأساسيات: دع النماذج التوليدية تقلل الضوضاء [Li and He, 2025]. كما رأينا في الجزء 2، وهذا يتيح التدريب مباشرة في مساحة البكسل ويلغي الحاجة إلى VAE تمامًا. نستخدم حجم تصحيح يبلغ 32 ونستخدم عنق الزجاجة ذو 256 بُعدًا في طبقة إسقاط الرمز المميز الأولية. يحافظ هذا التصميم على طول التسلسل تحت السيطرة، مما يجعل التدريب على مساحة البكسل قابلاً للإدارة حسابيًا حتى عند الدقة الأعلى.
عند 512 بكسل، يكون طول التسلسل:
(512/32)^2 = 256
عند 1024 بكسل، يصبح طول التسلسل:
(1024 / 32)^2 = 1024
بدلاً من اتباع الجدول المعتاد 256 بكسل → 512 بكسل → 1024 بكسل، نبدأ مباشرة عند 512 بكسل ثم نضبطه بدقة عند 1024 بكسل.
بفضل التحكم في عدد الرموز المميزة والأجهزة الحديثة، لم يعد التدريب على مساحة البكسل أمرًا محظورًا. إنها ببساطة صيغة أنظف وأكثر مباشرة.
الخسائر الإدراكية
أحد الآثار الجانبية اللطيفة جدًا للتنبؤ مباشرة في مساحة البكسل هو أنه يمكننا إعادة استخدام صندوق أدوات كامل من رؤية الكمبيوتر الكلاسيكية.
عندما يقوم نموذجك بإخراج العناصر الكامنة، يصبح الإشراف الإدراكي أمرًا غريبًا. يتعين عليك إما فك التشفير مرة أخرى إلى وحدات البكسل أو تحديد الخسائر في مساحة كامنة مكتسبة قد تتوافق أو لا تتوافق مع الإدراك البشري. بمجرد توقع وحدات البكسل مباشرة، يصبح كل شيء واضحًا مرة أخرى. يمكنك سد الخسائر الإدراكية تمامًا كما تم تصميمها في الأصل.
نحن نستلهم من الورقة PixelGen: يتفوق انتشار البكسل على الانتشار الكامن مع فقدان الإدراك الحسي [Ma et al.]، حيث يقدم المؤلفون أهدافًا إدراكية إضافية بالإضافة إلى خسارة الانتشار. لقد أظهروا أن إضافة الإشارات الإدراكية يمكن أن يحسن بشكل ملحوظ سرعة التقارب والجودة البصرية النهائية.
لهذا المدى 24 ساعة، نضيف خسارتين إضافيتين:
الفكرة بسيطة: بالإضافة إلى هدف مطابقة التدفق القياسي، فإننا نشجع الصورة النظيفة المتوقعة على مطابقة الصورة المستهدفة في مساحة الميزات الإدراكية. يلتقط LPIPS تشابهًا إدراكيًا منخفض المستوى، بينما توفر ميزات DINO إشارة دلالية أقوى.
نحن نحتفظ بنفس الفكرة العامة للورقة، ولكننا قمنا بتعديل بعض التفاصيل. في تجاربنا، وجدنا تجريبيًا أنه يعمل بشكل أفضل من أجل:
- قم بتطبيق الخسائر الإدراكية على الصور الكاملة المجمعة بدلاً من ميزات التصحيح
- تطبيقها على جميع مستويات الضوضاء
هذه تفاصيل تنفيذ صغيرة، لكنها أعطت باستمرار نتائج أفضل في بيئتنا.
استخدمنا وزن 0.1 لخسارة LPIPS و 0.01 لخسارة DINO الإدراكية، مطابقة القيم الموصى بها في الورقة الأصلية.
تعتبر هذه الخسائر خفيفة الوزن مقارنة بالتمرير الأمامي للمحول الرئيسي، وفي إعدادنا تضيف فقط حملًا صغيرًا مع توفير تعزيز ثابت للجودة.
توجيه الرمز المميز مع TRAD
لجعل كل خطوة أرخص، نستخدم توجيه الرمز المميز مع مداس [Krause et al., 2025])، الذي يختار عشوائيًا جزءًا من الرموز المميزة ويسمح لها بتجاوز قطعة متجاورة من كتل المحولات، ثم يعيد حقنها لاحقًا حتى لا يتم إسقاط أي شيء.
لقد اخترنا TREAD بدلاً من SPRINT (Park et al., 2025) في الغالب من أجل البساطة، ولأن التعقيد الإضافي لـ SPRINT لا يبدو أنه يستحق توفير الحوسبة الإضافية الصغيرة إلى حد ما في إعدادنا (طول التسلسل 64 مقابل 128 مع TREAD عند 512 بكسل).
باتباع وصفة TRAD، نقوم بالتوجيه 50% من الرموز من الكتلة الثانية إلى الكتلة قبل الأخيرة من المحول.
يمكن أن تبدو النماذج الموجهة أسوأ في ظل CFG الفانيليا، خاصة عندما تكون غير مدربة، لذلك قمنا بتنفيذ مخطط توجيه ذاتي بسيط مستوحى من نماذج نشر الرموز المميزة المتفرقة (Krause et al., 2025)، والذي يرشد باستخدام التنبؤ الشرطي الكثيف مقابل التنبؤ المشروط الموجه بدلاً من الاعتماد على فرع غير مشروط.
محاذاة التمثيل مع REPA وDINOv3
استخدمنا ريبا [Yu et al., 2024] لمحاذاة التمثيل
للمعلم، ذهبنا مع دينوv3 [Siméoni et al. 2025] لأنه أعطى أفضل تحسينات الجودة في تجاربنا السابقة.
بشكل ملموس، نطبق خسارة المحاذاة مرة واحدة، عند كتلة المحولات الثامنة مع فقدان الوزن 0.5.
منذ أن جمعنا ريبا مع مداس التوجيه، فنحن نحسب فقط خسارة المحاذاة على الرموز غير الموجهة، وهذا يعني الرموز المميزة التي تمر فعليًا عبر الكتل التي نطبق فيها الخسارة. وهذا يحافظ على اتساق إشارة REPA ويتجنب مقارنة ميزات الرموز المميزة التي تخطت مسار الحساب.
محسن: مون
استخدمنا مون المحسن، باستخدام تطبيق FSDP من muon_fsdp_2، حيث أظهر تحسنًا واضحًا مقارنة بـ Adam في عمليات التشغيل السابقة.
يتم تطبيق Muon فقط على المعلمات ثنائية الأبعاد (المصفوفات بشكل أساسي). تم تحسين كل شيء آخر (التحيزات والمعايير والتضمينات وما إلى ذلك) مع Adam، ولهذا السبب يحتوي التكوين على مجموعتين من المعلمات.
| مجموعة | ما ينطبق عليه | المعلمات الرئيسية التي استخدمناها |
|---|---|---|
| مون | المعلمات ثنائية الأبعاد | lr=1e-4, momentum=0.95, nesterov=true, ns_steps=5 |
| آدم | جميع المعلمات غير ثنائية الأبعاد | lr=1e-4, betas=(0.9, 0.95), eps=1e-8 |
إعدادات التدريب
لقد تدربنا على ثلاث مجموعات بيانات تركيبية متاحة للجمهور:
الجدول هو في الأساس: انطلق سريعًا عند 512، ثم شحذ عند 1024:
- 512 بكسل ل 100 ألف خطوة مع حجم الدفعة 1024
- 1024 بكسل ل 20 ألف خطوة مع حجم الدفعة 512 بدون ريبا.
نحن نحتفظ أيضًا بـ إما من أوزان أخذ العينات والتقييم:
smoothing = 0.999update_interval = 10baema_start = 0ba
النتائج والأفكار الختامية
فيما يلي منحنيات التقييم التي قمنا بتتبعها طوال فترة التشغيل وبعض نماذج الشبكات من نقطة التفتيش النهائية:
بالنسبة للتدريب لمدة يوم واحد، يعد هذا بالفعل مكانًا قويًا جدًا. النموذج ليس خاليًا من العيوب حتى الآن (لا يزال بإمكانك اكتشاف بعض مواطن الخلل في النسيج، والتشريح الغريب في بعض الأحيان، ويمكن أن يصبح مهتزًا بعض الشيء عند المطالبات الصعبة للغاية)، ولكن من الواضح أنه قابل للاستخدام. المتابعة السريعة قوية، والجمالية الشاملة متسقة، والمرحلة 1024 تفعل في الغالب ما نريده: زيادة حدة التفاصيل دون كسر التركيب.
الوجبات الرئيسية هي أننا قريبون جدًا. تبدو المشكلات المتبقية أشبه بعناصر ناقصة التدريب وتنوع محدود في البيانات أكثر من كونها علامات على وجود خلل هيكلي في الوصفة. تتوافق أوضاع الفشل مع ما تتوقعه من نموذج لم يشاهد ما يكفي من البيانات المتنوعة حتى الآن. مع المزيد من الحوسبة والتغطية الأوسع، يجب أن يستمر هذا الإعداد الدقيق في التحسن بطريقة يمكن التنبؤ بها إلى حد ما.
من خلال التصغير، يسلط هذا الجري السريع الضوء أيضًا على المدى الذي وصل إليه تدريب الانتشار. من خلال الجمع بين التدريب على مساحة البكسل، والتوجيه الفعال، ومحاذاة التمثيل، والتوجيه الإدراكي خفيف الوزن، يمكنك الآن الحصول على نموذج ذي معنى في يوم واحد تقريبًا بميزانية كانت ستبدو غير واقعية منذ وقت ليس ببعيد.
ما هي الخطوة التالية؟
يعد هذا الجري لمدة 24 ساعة مجرد نقطة بداية، وليس خط النهاية. بعد ذلك، سنستمر في دفع نفس الوصفة بمقياس أكبر قليلاً ونكررها على مزيج مجموعة البيانات والتعليقات التوضيحية.
جميع التعليمات البرمجية والتكوينات وراء هذا التشغيل السريع، بالإضافة إلى الإطار التجريبي الكامل المستخدم خلال الجزء الأول والجزء الثاني، متاحة في مستودع PRX: https://github.com/Photoroom/PRX.
على الرغم من أننا لا نقوم بإعادة توزيع مجموعات بيانات التدريب الدقيقة المستخدمة في هذا التشغيل، إلا أن المسار قابل للتكوين بالكامل ومصمم ليتم تكييفه بسهولة مع بياناتك الخاصة. يمكنك توصيل مجموعات بيانات مختلفة، وتعديل المكونات الفردية (TRAD، وREPA، وفقدان الإدراك الحسي، وMuon، وما إلى ذلك)، وإجراء تجارب مضبوطة بأقل قدر من الاحتكاك. هدفنا هو جعل هذا الملعب عمليًا لأبحاث الانتشار السريع، ونأمل أن يستخدمه المجتمع لاستكشاف هذه التقنيات وقياسها وتكرارها في إعداداتهم الخاصة.
إذا وصلت إلى هذا الحد، شكرا لك على القراءة. نود أيضًا أن تنضم إلى مجتمع Discord الخاص بنا، حيث نشارك تقدم PRX ونتائجه، ونناقش أي شيء متعلق بالنشر وتحويل النص إلى صورة.
وداعًا الآن، وترقبوا الجولة القادمة من التجارب! 🚀
شكر وتقدير.
تم استلهام هذا السباق السريع من العديد من الجهود الأخيرة لاستكشاف التدريب السريع ومنخفض التكلفة لنماذج الانتشار. إذا كنت مهتمًا بنماذج تحويل النص إلى صورة سريعة التشغيل، فنحن نشجعك على الاطلاع على الأعمال التالية:
- هاريداس، A.، شين، T.، يو، J. Nitro-T: تدريب نموذج نشر النص إلى الصورة من الصفر في يوم واحد.
https://rocm.blogs.amd.com/artificial-intelligence/nitro-t-diffusion/README.html - بهاند، س. سرعة تشغيل ImageNet الانتشار.
https://arxiv.org/abs/2512.12386 - سيهواج، V.، كونغ، X.، لي، J.، سبرينجر، M.، ليو، L. تمديد كل دولار: التدريب على الانتشار من الصفر بميزانية صغيرة.
https://arxiv.org/abs/2407.15811 - نعم، س.-ي. نموذج انتشار محلي الصنع من الصفر إلى الفتحة.
https://arxiv.org/abs/2509.06068
