
بقلم: نور | محررة الأبحاث والدراسات · صوت تحريري بإشراف بشري
منذ سنوات ونماذج الانتشار تُقاس بـ FID على ImageNet وكأنها الحكم الأعلى والأخير. DiffusionBench يكسر هذه الأحادية: إطار مفتوح المصدر يجمع التدريب والتقييم في واجهة واحدة، يغطي توليد الصور من نص وتوليداً مشروطاً بالفئات، ويدعم أكثر من 30 encoder للتمثيل و10 VAEs مختلفة ضمن تسلسل تدريب واضح من مرحلتين.
الفكرة المحورية هي أن تقييم نماذج الانتشار الحديثة — خاصةً Diffusion Transformers — بات يتطلب مقاييس متعددة الأبعاد لا رقماً واحداً. المشروع المنشور على arXiv يضع أمام الباحثين منظومة متكاملة: المرحلة الأولى تقيس جودة الـ tokenizer عبر rFID وPSNR وSSIM وLPIPS، والمرحلة الثانية تقيس جودة التوليد عبر FID وIS لمهام ImageNet، وعبر GenEval وDPGBench وGenAIBench وVQAScore لمهام النص إلى صورة.
ما يجعل هذا المشروع عملياً للمطوّرين هو تصميمه المعياري: يمكنك تبديل مهمة التدريب بين ImageNet وT2I بمجرد تغيير مسار ملف الإعدادات. والنماذج المدعومة تمتد عبر أربع عائلات — RAE (أكثر من 30 encoder بينها DINOv2 وSigLIP2 وWebSSL وPE وLangPE)، وRAEv2 بنفس الـ encoders، وVAE (أكثر من 10 نماذج تشمل FLUX.2 وFLUX.1 وSD3.5 وVA-VAE وE2E-VAE)، إضافةً إلى التوليد في الـ Pixel Space مباشرةً. على صعيد التنبؤ والخسائر، يدعم الإطار x-prediction وv-prediction وRectified Flow وMeanFlow وImproved-MeanFlow وPixel-MeanFlow وDrifting، مع تقنيات تدريب REPA وiREPA. أما البنى المعمارية فتشمل LightningDiT وJiT وDDT.
مسار التدريب الكامل يسير على مرحلتين متتاليتين. الأولى لتدريب الـ RAE tokenizer، والثانية لتدريب نموذج الانتشار فوق فضاء VAE أو RAE أو Pixel، مع إمكانية التقييم الفوري أثناء التدريب أو التقييم المستقل لاحقاً عبر checkpoints جاهزة. النماذج المدرّبة مسبقاً متاحة على Hugging Face، وبعض العينات النصية إلى صورة الظاهرة في المستودع جاءت من نماذج دُرِّبت لـ 200 ألف iteration فقط بدقة 256×256.
للبدء فعلياً مع DiffusionBench، اتبع الخطوات التالية:
- ثبّت مدير المشاريع
uvعبر الأمر:curl -LsSf https://astral.sh/uv/install.sh | sh، ثم نفّذuv syncلتثبيت جميع التبعيات. - جهّز البيانات باختيار أحد الخيارات:
uv run python scripts/prepare.py --data allلكل شيء، أو حدّدimagenetأوt2iأوevalحسب الحاجة. - حمّل النماذج المدرّبة مسبقاً من Hugging Face:
uv run hf download diffusion-bench/diffusion-bench --local-dir pretrained_models --exclude .gitattributes. - حدّد متغيرات البيئة الأربعة قبل التدريب:
EXPERIMENT_NAMEوENTITYوPROJECTوWANDB_KEYلربط التجارب بـ Weights & Biases. - درّب الـ RAE tokenizer (المرحلة الأولى) عبر:
torchrun --standalone --nproc_per_node=8 src/train_stage1.py --config [STAGE1_CONFIG_PATH] --precision bf16 --compile --wandb. - درّب نموذج الانتشار (المرحلة الثانية) باستخدام الأمر المقابل مع
src/train.pyوإعداد المرحلة الثانية المناسب. - قيّم النماذج بشكل مستقل عبر
src/offline_eval_stage1.pyلمقاييس المرحلة الأولى (rFID/PSNR/SSIM/LPIPS)، وsrc/offline_eval.pyلمقاييس المرحلة الثانية (FID/IS/GenEval/DPGBench).
ثمة ملاحظة عملية مهمة: configs المرحلة الثانية تشمل 24 إعداداً موزّعة بين VAE (11)، وRAE (6)، وREG (4)، وPixel (3) — وكلها مكررة بشكل متطابق عبر مهمتَي ImageNet وT2I. لتجربة الـ ImageNet، يمكنك اختيار الـ baseline بدون CFG، أو الإصدار المحسّن مع أفضل scale لكل نموذج عبر صيغة -cfg<scale>-t0.0-0.9.yaml. دعم FSDP لا يزال قيد التطوير ضمن قائمة المهام المعلّقة، وكذلك التكامل مع AutoResearch، مما يعني أن المشروع في مرحلة نشطة ولم يستقر بعد على صيغته النهائية.
المشروع مبني فوق أعمال مفتوحة المصدر من RAE وRAEv2 وREPA وREPA-E وJiT، ويرحّب بمساهمات الباحثين عبر قناة Discord الخاصة به. إذا كنت تعمل على تقييم نماذج الانتشار أو مقارنة بنى الـ DiT، فهذا الإطار يوفّر عليك إعادة بناء منظومة التقييم من الصفر — وهو بحد ذاته يستحق التجربة.







