Login

مجموعة نماذج الذكاء الاصطناعي التوليدية التي طورتها Stability AI، بما في ذلك Stable Diffusion XL و Stable Video Diffusion ونماذج أخرى لتوليد الصور والفيديو.

MITPython 26.2kStability-AIgenerative-models Last Updated: 2025-05-20

تفاصيل مشروع نماذج Stability AI التوليدية

نظرة عامة على المشروع

مكتبة النماذج التوليدية لـ Stability AI هي مشروع مفتوح المصدر يوفر مجموعة متنوعة من نماذج الذكاء الاصطناعي التوليدية المتقدمة، بما في ذلك توليد الصور وتوليد الفيديو والتوليف متعدد الزوايا. يعتمد المشروع على تصميم معياري ويدعم تدريب واستنتاج نماذج الانتشار المتعددة.

الميزات الأساسية

1. بنية معيارية

  • طريقة التشغيل القائمة على التكوين: بناء وتركيب الوحدات الفرعية عن طريق استدعاء الدالة instantiate_from_config()
  • فئة نموذج الانتشار المنقحة: إعادة هيكلة من LatentDiffusion إلى DiffusionEngine
  • معالجة موحدة للشروط: فئة GeneralConditioner تعالج جميع أنواع مدخلات الشروط

2. بنية النموذج المحسنة

  • إطار عمل مزيل التشويش: يدعم نماذج الوقت المستمر والوقت المنفصل
  • عينات مستقلة: فصل الموجه عن العينات
  • نماذج الترميز التلقائي المنقحة: بنية ترميز محسنة

النماذج المدعومة

سلسلة SDXL (Stable Diffusion XL)

  • SDXL-base-1.0: نموذج أساسي يدعم توليد صور بدقة 1024 × 1024
  • SDXL-refiner-1.0: نموذج تنقيح يستخدم لمعالجة الصور اللاحقة
  • SDXL-Turbo: نموذج توليد سريع

سلسلة SVD (Stable Video Diffusion)

  • SVD: نموذج صورة إلى فيديو، يولد 14 إطارًا بدقة 576 × 1024
  • SVD-XT: نسخة موسعة تدعم توليد 25 إطارًا

سلسلة SV3D (Stable Video 3D)

  • SV3D_u: توليد فيديو مداري يعتمد على صورة واحدة
  • SV3D_p: يدعم توليد فيديو ثلاثي الأبعاد مع تحديد مسار الكاميرا

سلسلة SV4D (Stable Video 4D)

  • SV4D: نموذج انتشار فيديو إلى 4D، يستخدم لتوليف فيديو بمنظور جديد
  • يولد 40 إطارًا (5 إطارات فيديو × 8 مناظر للكاميرا) بدقة 576 × 576

البنية التقنية

إطار عمل مزيل التشويش

  • نماذج الوقت المستمر: تدعم أخذ عينات أكثر مرونة للوقت
  • نماذج الوقت المنفصل: حالة خاصة لنماذج الانتشار التقليدية
  • مكونات قابلة للتكوين:
    • أوزان دالة الخسارة (denoiser_weighting.py)
    • تهيئة الشبكة المسبقة (denoiser_scaling.py)
    • أخذ عينات لمستوى الضوضاء (sigma_sampling.py)

التثبيت والاستخدام

متطلبات البيئة

  • Python 3.10+
  • PyTorch 2.0+
  • وحدة معالجة رسومات تدعم CUDA

خطوات التثبيت

git clone https://github.com/Stability-AI/generative-models.git
cd generative-models

# إنشاء بيئة افتراضية
python3 -m venv .pt2
source .pt2/bin/activate

# تثبيت التبعيات
pip3 install -r requirements/pt2.txt
pip3 install .
pip3 install -e git+https://github.com/Stability-AI/datapipelines.git@main#egg=sdata

بداية سريعة

توليد صورة من نص (SDXL)
# تنزيل أوزان النموذج إلى مجلد checkpoints/
# تشغيل عرض Streamlit التوضيحي
streamlit run scripts/demo/sampling.py --server.port <your_port>
توليد فيديو من صورة (SVD)
# تنزيل نموذج SVD
# تشغيل عينة فيديو بسيطة
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png>
توليف متعدد الزوايا (SV3D)
# SV3D_u (فيديو مداري)
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png> --version sv3d_u

# SV3D_p (تحديد مسار الكاميرا)
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png> --version sv3d_p --elevations_deg 10.0
توليف فيديو 4D (SV4D)
python scripts/sampling/simple_video_sample_4d.py --input_path assets/sv4d_videos/test_video1.mp4 --output_folder outputs/sv4d

تكوين التدريب

أنواع التدريب المدعومة

  • نماذج الانتشار على مستوى البكسل: التدريب مباشرة في مساحة البكسل
  • نماذج الانتشار الكامنة: التدريب في الفضاء الكامن، يتطلب VAE مدرب مسبقًا
  • نماذج التوليد الشرطي: تدعم النص والفئات وغيرها من الشروط المتعددة

مثال على التدريب

# تدريب توليد شرطي MNIST
python main.py --base configs/example_training/toy/mnist_cond.yaml

# تدريب نص إلى صورة
python main.py --base configs/example_training/txt2img-clipl.yaml

معالجة البيانات

خطوط أنابيب البيانات

  • دعم خطوط أنابيب البيانات للتدريب على نطاق واسع
  • ملفات tar بتنسيق WebDataset
  • دعم مجموعات البيانات بنمط Map

تنسيق البيانات

example = {
    "jpg": x, 
    "txt": "a beautiful image"  
}

ترخيص النموذج

  • SDXL-1.0: ترخيص CreativeML Open RAIL++-M
  • SDXL-0.9: ترخيص بحثي
  • سلسلة SVD: ترخيص للاستخدام البحثي

الكشف عن العلامة المائية

يستخدم المشروع مكتبة invisible-watermark لتضمين علامات مائية غير مرئية في الصور التي تم إنشاؤها:

# تثبيت بيئة الكشف عن العلامة المائية
python -m venv .detect
source .detect/bin/activate
pip install "numpy>=1.17" "PyWavelets>=1.1.1" "opencv-python>=4.1.0.25"
pip install --no-deps invisible-watermark

# الكشف عن العلامة المائية
python scripts/demo/detect.py <filename>

الميزات التقنية

1. توليد عالي الجودة

  • يدعم SDXL توليد صور عالية الدقة بدقة 1024 × 1024
  • يدعم SVD توليد فيديو عالي الجودة
  • يدعم SV3D/SV4D توليف فيديو متعدد الزوايا و 4D

2. تحكم مرن في الشروط

  • يدعم النص والصور والمتجهات وغيرها من مدخلات الشروط المتعددة
  • توجيه مستقل عن المصنف (Classifier-free Guidance)
  • معدل تسرب شرطي قابل للتكوين

3. تقنيات أخذ العينات المتقدمة

  • مجموعة متنوعة من الحلول العددية
  • خطوات أخذ العينات وطرق التقطيع القابلة للتكوين
  • دعم غلاف التوجيه

4. صديق للبحث

  • تقارير وأوراق تقنية مفصلة
  • كود المصدر وأوزان النموذج
  • دعم مجتمعي نشط

سيناريوهات التطبيق

  1. الإبداع الفني: توليد صور فنية من النص
  2. إنتاج المحتوى: توليد محتوى فيديو من الصور
  3. النمذجة ثلاثية الأبعاد: توليد صور متعددة الزوايا
  4. البحث والتطوير: البحث في خوارزميات نموذج الانتشار
  5. التعليم والتدريب: تعلم تقنيات توليد الذكاء الاصطناعي

مزايا المشروع

  • تصميم معياري: سهل التوسيع والتخصيص
  • أداء عالي: كود تدريب واستنتاج محسن
  • دعم متعدد الوسائط: مهام توليد متعددة مثل الصور والفيديو وثلاثي الأبعاد
  • تحديث مستمر: إصدار نماذج وميزات جديدة بانتظام
  • مجتمع نشط: وثائق وأمثلة برمجية غنية

يمثل هذا المشروع أحدث التقنيات في مجال الذكاء الاصطناعي التوليدي، ويوفر للباحثين والمطورين أدوات قوية لاستكشاف وتطبيق تقنيات الذكاء الاصطناعي التوليدي.

Star History Chart