نموذج انتشار فيديو عملي، يحقق استخدامًا ثابتًا لذاكرة الوصول العشوائي (VRAM) من خلال ضغط سياق الإطار، ويتطلب 6 جيجابايت فقط من ذاكرة الوصول العشوائي لإنشاء مقاطع فيديو عالية الجودة تصل إلى 60 ثانية.
FramePack - نموذج انتشار الفيديو العملي
نظرة عامة على المشروع
FramePack هو هيكل شبكة عصبية رائد للتنبؤ بالإطار التالي، مصمم خصيصًا لتوليد الفيديو العملي. تم تطوير هذا المشروع بواسطة فرق بحثية من جامعة ستانفورد ومعهد ماساتشوستس للتكنولوجيا، ويهدف إلى جعل نماذج انتشار الفيديو خفيفة الوزن وسهلة الاستخدام مثل نماذج انتشار الصور.
الميزات الأساسية
1. استهلاك ثابت لذاكرة الفيديو (تعقيد الذاكرة O(1))
أكبر ابتكار في FramePack هو ضغط سياق إطار الإدخال إلى طول ثابت، مما يجعل عبء عمل التوليد مستقلاً عن طول الفيديو. هذا يعني:
- 6 جيجابايت فقط من ذاكرة الفيديو كافية لتوليد فيديو مدته 60 ثانية (1800 إطار، 30 إطارًا في الثانية).
- توليد فيديو مدته ثانية واحدة يستهلك نفس ذاكرة الفيديو التي يستهلكها فيديو مدته دقيقة واحدة.
- يدعم تشغيل نموذج بمعلمات 13B على وحدات معالجة الرسوميات المحمولة (مثل RTX 3060/3070Ti).
- يمكن أن يصل حجم الدفعة التدريبية إلى 64 (عقدة واحدة 8×A100/H100)، وهو ما يعادل تدريب انتشار الصور.
2. تقنية ضغط سياق الإطار
يستخدم FramePack أحجام رقع متغيرة لترميز كل إطار تاريخي، مع تخصيص أطوال سياق مختلفة بناءً على أهمية الإطار:
- وزن القرب الزمني: تحصل الإطارات الأقرب إلى الإطار الحالي على سياق أطول.
- وزن تشابه الميزات: تحتفظ الإطارات ذات الصلة بالمحتوى الحالي بمزيد من التفاصيل.
- مقياس مختلط: يجمع بين الاستراتيجيتين المذكورتين أعلاه لتحسين تأثير الضغط.
مثال: في HunyuanVideo، ينتج إطار بدقة 480p باستخدام نواة رقعة (1, 2, 2) عادةً 1536 رمزًا.
3. تقنية مكافحة الانجراف (Anti-Drifting)
يقدم FramePack طرقًا متعددة لمكافحة الانجراف لمعالجة مشكلة تراكم الأخطاء في توليد الفيديو التراجعي:
FramePack-F1 (إصدار التوليد الأمامي)
- تنبؤ أحادي الاتجاه بالإطار الأمامي.
- مناسب لسيناريوهات البث المباشر.
- يمنع تراكم الأخطاء من خلال تنظيم جديد لمكافحة الانجراف.
FramePack-P1 (إصدار التوليد المخطط)
يتضمن تصميمين أساسيين:
أ) مكافحة الانجراف المخطط (Planned Anti-Drifting)
- يتم أولاً توليد نقاط نهاية الإطارات الرئيسية البعيدة.
- ثم يتم ملء الأجزاء الوسطى.
- يضمن عدم انجراف الإطارات بين نقاط النهاية المخطط لها.
ب) التقطيع التاريخي (History Discretization)
- تحويل جميع الإطارات التاريخية إلى رموز مقطعة (تطبيق K-Means على مجموعة البيانات بأكملها).
- تقليل الاختلافات في التمثيل التاريخي بين التدريب والاستدلال.
- يمنع انجراف نقاط النهاية نفسها.
4. استراتيجية أخذ العينات ثنائية الاتجاه
- يدعم التوليد العكسي من الإطار النهائي إلى الإطار الأولي.
- يجمع بين السياق ثنائي الاتجاه لنقاط ربط الإطار الأول والأخير.
- يكسر سلسلة التنبؤ السببي، مما يقلل بشكل فعال من تحيز الملاحظة.
أداء الأداء
سرعة التوليد
- RTX 4090 لسطح المكتب:
- غير مُحسّن: 2.5 ثانية/إطار
- باستخدام teacache: 1.5 ثانية/إطار
- وحدة معالجة الرسوميات المحمولة (3070Ti/3060): أبطأ بحوالي 4-8 مرات من RTX 4090.
- يدعم التغذية الراجعة المرئية في الوقت الفعلي (ميزة التنبؤ بالإطار التالي).
متطلبات ذاكرة الفيديو
- الحد الأدنى: 6 جيجابايت VRAM.
- موصى به: سلسلة RTX 30XX/40XX/50XX (تدعم fp16 و bf16).
- نظام التشغيل: Windows أو Linux.
كفاءة التدريب
- يمكن أن يصل حجم الدفعة إلى 64 على عقدة واحدة 8×A100-80G.
- دقة 480p، نموذج HunyuanVideo 13B، تدريب LoRA.
- حجم الدفعة 64 عند حجم النافذة 2 أو 3، وحجم الدفعة 32 عند حجم النافذة 4 أو 5.
- مناسب للتدريب على نطاق فردي أو معملي.
طريقة الاستخدام
تثبيت Windows (حزمة بنقرة واحدة)
قم بتنزيل حزمة التثبيت بنقرة واحدة:
https://github.com/lllyasviel/FramePack/releases/download/windows/framepack_cu126_torch26.7zفك ضغط الملفات.
قم بتشغيل برنامج التحديث:
update.batابدأ البرنامج:
run.bat
ملاحظة: يتطلب التشغيل الأول تنزيل ملفات نموذج تزيد عن 30 جيجابايت من HuggingFace.
تثبيت Linux
يتطلب بيئة Python 3.10:
# تثبيت PyTorch
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
# تثبيت التبعيات
pip install -r requirements.txt
# بدء واجهة المستخدم الرسومية (GUI)
python demo_gradio.py
معلمات سطر الأوامر المدعومة:
--share: تمكين مشاركة الرابط العام.--port: تحديد رقم المنفذ.--server: تحديد عنوان الخادم.
مكونات التسريع الاختيارية
يدعم المشروع تحسينات متعددة لآلية الانتباه:
- PyTorch attention (افتراضي)
- xformers
- flash-attn
- sage-attention
مثال على تثبيت sage-attention (Linux):
pip install sageattention==1.0.6
واجهة المستخدم
سير العمل الأساسي
- اللوحة اليسرى: تحميل الصورة الأولية وكتابة المطالبة.
- اللوحة اليمنى: عرض الفيديو الذي تم إنشاؤه ومعاينة الفضاء الكامن.
- عرض التقدم: عرض شريط تقدم في الوقت الفعلي لكل مقطع ومعاينة كامنة للمقطع التالي.
آلية توليد الفيديو
نظرًا لاستخدام نموذج التنبؤ بمقطع الإطار التالي، يتم توليد الفيديو مقطعًا تلو الآخر:
- في البداية، قد ترى فيديو قصيرًا مدته ثانية واحدة فقط.
- استمر في الانتظار، وسيتم توليد المزيد من المقاطع تباعًا.
- في النهاية، سيتم إكمال الفيديو بطوله الكامل.
سير العمل الموصى به
النماذج الأولية السريعة:
- تشغيل تسريع teacache.
- اختبار الأفكار والمطالبات بسرعة.
الإخراج النهائي:
- إيقاف تشغيل teacache.
- استخدام عملية الانتشار الكاملة للحصول على نتائج عالية الجودة.
ملاحظة: تؤثر طرق التحسين مثل teacache و sage-attention و bnb quantization و gguf على جودة النتائج، ويوصى باستخدامها فقط أثناء التكرار السريع.
نصائح لكتابة المطالبات
التنسيق الموصى به
المطالبات الموجزة الموجهة نحو الحركة تعمل بشكل أفضل:
الموضوع + وصف الحركة + تفاصيل أخرى
أمثلة:
- "The girl dances gracefully, with clear movements, full of charm." (الفتاة ترقص برشاقة، بحركات واضحة، مليئة بالسحر.)
- "The man dances powerfully, with clear movements, full of energy." (الرجل يرقص بقوة، بحركات واضحة، مليء بالطاقة.)
- "The woman spins elegantly among cherry blossoms, with flowing sleeves." (المرأة تدور بأناقة بين أزهار الكرز، بأكمام متدفقة.)
قالب توليد المطالبات لـ ChatGPT
يمكنك استخدام القالب التالي لمساعدة ChatGPT في توليد المطالبات:
You are an assistant that writes short, motion-focused prompts for animating images.
When the user sends an image, respond with a single, concise prompt describing visual motion
(such as human activity, moving objects, or camera movements). Focus only on how the scene
could come alive and become dynamic using brief phrases.
Larger and more dynamic motions (like dancing, jumping, running, etc.) are preferred over
smaller or more subtle ones (like standing still, sitting, etc.).
Describe subject, then motion, then other things.
For example: "The girl dances gracefully, with clear movements, full of charm."
If there is something that can dance (like a man, girl, robot, etc.), then prefer to
describe it as dancing.
Stay in a loop: one image in, one motion prompt out. Do not explain, ask questions,
or generate multiple options.
سجل الإصدارات
14 يوليو 2025
- تم تحميل نتائج اختبار الضغط لمكافحة الانجراف من نص إلى فيديو لـ FramePack-P1.
- باستخدام مطالبات شائعة، بدون صور مرجعية.
26 يونيو 2025
- تم إصدار عرض نتائج FramePack-P1.
- تقديم تصميم مكافحة الانجراف المخطط والتقطيع التاريخي.
3 مايو 2025
- تم إصدار FramePack-F1، إصدار التوليد الأمامي.
- يوفر تنبؤًا أحادي الاتجاه بنطاق ديناميكي أكبر وقيود أقل.
البنية التقنية
النماذج الأساسية
يمكن دمج FramePack مع نماذج انتشار الفيديو الحالية:
- HunyuanVideo: منصة الاختبار الرئيسية (نسخة محسنة).
- Wan 2.1: دعم نموذج Wan الرسمي.
تحسينات النموذج (إصدار HunyuanVideo)
- إضافة نموذج SigLip-Vision (google/siglip-so400m-patch14-384) كمشفر بصري.
- إزالة الاعتماد على MLLM الداخلي لشركة Tencent.
- تجميد LLama3.1 كنموذج نصي بحت.
- مواصلة التدريب على بيانات عالية الجودة.
توافق البنية
- يدعم تحويل النص إلى فيديو (Text-to-Video) وتحويل الصورة إلى فيديو (Image-to-Video).
- يدعم كلا الوضعين بشكل طبيعي دون الحاجة إلى تعديلات معمارية.
- يمكن ضبط نماذج انتشار الفيديو المدربة مسبقًا.
سيناريوهات التطبيق
1. تحويل الصورة إلى فيديو (Image-to-Video)
تحويل الصور الثابتة إلى فيديوهات ديناميكية، مع دعم وصف تفصيلي للحركة.
2. توليد الفيديو الطويل
- توليد فيديوهات متماسكة تصل مدتها إلى 60 ثانية.
- يدعم قدرة معالجة آلاف الإطارات.
- يحافظ على الاتساق الزماني والمكاني.
3. التنقل بالمطالبات (Prompt Travelling)
مناسب بشكل خاص لإصدار F1، يدعم التدرج في المطالبات أثناء توليد الفيديو.
4. البث المباشر
يدعم إصدار F1 التوليد المتدفق، وهو مناسب لتطبيقات الوقت الفعلي.
موارد المجتمع
تكامل ComfyUI
- ComfyUI-FramePackWrapper: https://github.com/kijai/ComfyUI-FramePackWrapper
- ComfyUI_RH_FramePack: https://github.com/HM-RunningHub/ComfyUI_RH_FramePack
الاستخدام عبر الإنترنت
- توفر منصة RunningHub استخدامًا مجانيًا عبر الإنترنت.
- تتضمن سير عمل مُعد مسبقًا.
ملاحظات هامة
بيان الموقع الرسمي
الموقع الرسمي الوحيد: https://github.com/lllyasviel/FramePack
النطاقات التالية هي مواقع مزيفة وغير مرغوب فيها، يرجى عدم زيارتها أو الدفع لها:
- framepack.co, frame_pack.co
- framepack.net, frame_pack.net
- framepack.ai, frame_pack.ai
- framepack.pro, frame_pack.pro
- framepack.cc, frame_pack.cc
- framepackai.co وجميع المتغيرات الأخرى
حساسية الأجهزة
نموذج التنبؤ بمقطع الإطار التالي حساس للغاية للفروق الدقيقة في الضوضاء والأجهزة:
- قد تنتج الأجهزة المختلفة نتائج مختلفة قليلاً.
- يجب أن يظل التأثير البصري العام متشابهًا.
- في بعض الحالات، يمكن الحصول على نتائج متطابقة تمامًا.
نصائح لتحسين الأداء
إذا كانت سرعة التوليد أبطأ بكثير من السرعة المرجعية:
- تحقق مما إذا كان CUDA و PyTorch مثبتين بشكل صحيح.
- تأكد من أن برنامج تشغيل وحدة معالجة الرسوميات هو أحدث إصدار.
- أغلق البرامج الخلفية غير الضرورية.
- راجع دليل استكشاف الأخطاء وإصلاحها في Issue #151.
معلومات الاستشهاد
إذا كنت تستخدم FramePack في بحثك، يرجى الاستشهاد بالأوراق التالية:
@inproceedings{zhang2025framepack,
title={Frame Context Packing and Drift Prevention in Next-Frame-Prediction Video Diffusion Models},
author={Lvmin Zhang and Shengqu Cai and Muyang Li and Gordon Wetzstein and Maneesh Agrawala},
booktitle={The Thirty-ninth Annual Conference on Neural Information Processing Systems},
year={2025},
}
@article{zhang2025framepackv1,
title={Packing Input Frame Contexts in Next-Frame Prediction Models for Video Generation},
author={Lvmin Zhang and Maneesh Agrawala},
journal={Arxiv},
year={2025}
}
أهمية المشروع
من خلال تقنيات ضغط سياق الإطار المبتكرة ومكافحة الانجراف، نجح FramePack في خفض تكلفة ذاكرة انتشار الفيديو إلى مستوى ثابت، مما يجعل توليد الفيديو الطويل ممكنًا على الأجهزة الاستهلاكية. هذا الاختراق يسمح بما يلي:
- يمكن للمبدعين الأفراد توليد فيديوهات طويلة عالية الجودة على أجهزة الكمبيوتر المحمولة.
- يمكن للباحثين إجراء تدريب نماذج الفيديو على أجهزة بحجم المختبر.
- يمكن للمطورين دمج قدرات توليد الفيديو في التطبيقات بسهولة أكبر.
يجعل FramePack توليد الفيديو عمليًا حقًا، تمامًا كما جعل Stable Diffusion توليد الصور في متناول الجميع.