لا يبدو فيديو الأفاتار مقنعًا إلا إذا ظل الشخص متسقًا مع نفسه بمرور الوقت. عندما ينحرف الوجه، أو تتغير الأسنان، أو تختل مزامنة الشفاه، أو تُعاد حركة الجسد بين المقاطع، يلاحظ الناس ذلك فورًا. ويزداد هذا الأمر أهمية في حالة الأفاتارات مقارنة بالعديد من مهام إنشاء الفيديو الأخرى، لأن المشاهد يراقب شخصًا محددًا يتحدث، غالبًا من مسافة قريبة، ولفترة طويلة.
في عالم إنشاء الفيديو بالذكاء الاصطناعي اليوم، ما زالت مدة الفيديو واحدة من أكثر القيود وضوحًا. كثير من النماذج والمنتجات تتيح عملية الإنشاء على شكل مقطع ثابت الطول — بضع ثوانٍ فقط، مع قلة من الأنظمة القادرة على إنشاء أكثر من بضع دقائق. بالنسبة لمنتجات الأفاتار، يظهر هذا القيد مباشرة في سير عمل العملاء. العملاء يريدون مشاهد/فيديوهات أطول ومتسقة لاستخدامها في فيديوهات التدريب، وعروض المبيعات، والجولات التعريفية بالمنتجات، والتعليم، والدعم، والوكلاء الذين ينبغي أن يواصلوا التحدث حتى إنجاز المهمة، كما يريدون أيضًا معاينة سريعة للتكرار على الموجّهات، والحركة، والنص.
في HeyGen، تَرجَم ذلك إلى ثلاثة متطلبات ملموسة:
- اتساق المشاهد الطويلةيجب أن يحافظ الأفاتار على الهوية، ومزامنة الشفاه، وتعبيرات الوجه، واستمرارية الحركة ليس فقط في مقطع قصير واحد، بل عبر العديد من مقاطع الفيديو المُنشأة.
- لا يوجد حد ثابت للمدةقد يستغرق الإنشاء عشر ثوانٍ، أو عشر دقائق، أو يكون جلسة مباشرة مفتوحة المدة
- معاينة سريعة، وإنشاء في الوقت الفعلي أو أسرع من الوقت الفعلي. يجب أن يبدأ النظام في إنتاج الإطارات بسرعة، وأن يتيح حتى بث الإطارات المُنشأة أثناء استمرار عملية الاستدلال
تستعرض هذه المقالة إطار الاستدلال الذي بنيناه لتلبية تلك المتطلبات.
البنية الأساسية للنموذج
تم بناء الإطار حول نماذج HeyGen لإنشاء فيديوهات الأفاتار، وهي عائلتا Avatar IV وAvatar V. على مستوى عالٍ، يستقبل النموذج صورة أو فيديو مرجعيًا، وصوتًا مُوجِّهًا، ونصًا اختياريًا أو تهيئة للمشهد، ثم ينشئ فيديو لهذا الأفاتار وهو يتحدث بالهوية والتعبير والحركة الصحيحة.
نموذج التوليد الأساسي هو Diffusion Transformer أو DiT، يتم تدريبه باستخدام تقنية flow matching. بدلاً من ضغط الشخص في تمثيل هوية صغير، يعتمد النموذج على رموز مرجعية غنية حتى يتمكن من الحفاظ على التفاصيل المهمة للأفاتار: شكل الوجه، الأسنان، نسيج البشرة، حركة الفم، أسلوب الإيماءات، وإيقاع الكلام.
مسار الاستدلال في بيئة الإنتاج يتكوّن من ثلاث مراحل رئيسية:
- إنشاء الفيديو من الصوتينشئ نموذج DiT أساسي تمثيلات فيديو منخفضة الدقة انطلاقًا من هوية مرجعية وميزات الصوت وإشارات التكييف. يركّز هذا المرحلة على الحركة، ومزامنة الشفاه، والتناسق الزمني.
- تحسين فائق مدرك للهويةيعمل نموذج ثانٍ على تحسين تلك التمثيلات الكامنة إلى مخرجات عالية الدقة، مع إيلاء اهتمام إضافي للمناطق التي يكون الناس أكثر حساسية فيها للعيوب، وخاصة الوجه والفم.
- Streaming VAE decode. A VAE decoder converts high-resolution latents into RGB frames chunk by chunk, so frames can be emitted before the full video is complete.
لإنشاء مقاطع فيديو طويلة، يعالج النظام البيانات على شكل أجزاء متتابعة. يعتمد الجزء الأول بالكامل على المرجع الثابت، بينما تستخدم الأجزاء اللاحقة بيانات الحدود من المقاطع السابقة. يتيح ذلك للأفاتار الاستمرار في التحدث بشكل طبيعي دون إعادة ضبط وضعيته أو هويته من البداية.
إطار البث الحي وحلقة خط الأنابيب
To accommodate chunk-based execution, the inference framework uses a modular, three-tier architecture that operates on localized windows of time, releasing resources immediately after a chunk is processed.
- الوحدة: غلاف يحيط بنموذج محدد ونقطة الحفظ الخاصة به (مثل A2V DiT، وSuper-Resolution DiT، ومكوّنات VAE، ومشفّرات النص/الصوت).
- المرحلة: وحدة تنفيذ ذات نوع محدد تنسّق واحدًا أو أكثر من الوحدات (مثل إنشاء السياق، وتحسين الدقة الفائقة).
- Pipeline: The execution graph that wires stages together, manages shared state, and coordinates streaming or batch execution modes.
تقوم مرحلة التهيئة بترميز الهوية المرجعية إلى متغيّرات كامنة مرة واحدة لكل طلب. بعد ذلك ينفّذ خط الأنابيب حلقة مستمرة عبر المراحل المتبقية حتى يتم استهلاك دفق الصوت الوارد بالكامل:

- توليد السياق: يحوّل مقاطع الصوت الواردة إلى خصائص، ويجمعها مع النص أو تهيئة المشهد، ويُعد مصفوفات الضوضاء المستهدفة.
- التحويل من الصوت إلى الفيديو: ينفّذ عملية انتشار متعددة المراحل لإنتاج تمثيلات كامنة منخفضة الدقة. في هذه المرحلة يتم تكييف المقطع الحالي مع الإطارات الحدّية للمقطع السابق للحفاظ على استمرارية الحركة.
- الوضوح الفائق: يقوم بترقية بيانات الحركة الكامنة إلى الدقة الكاملة في خطوة واحدة، مع إعطاء أولوية للتفاصيل المكانية في الوجه.
- VAE Decode-and-Publish: يفك ترميز البيانات الكامنة عالية الدقة إلى إطارات RGB ويكتبها مباشرة إلى مُرمِّز الإخراج (H.264 / AAC) للتخزين الفوري أو التشغيل المباشر.
استمرارية الحدود واتساق الأجزاء
إنشاء الفيديو في مقاطع منفصلة يطرح احتمال حدوث انقطاعات عند الحدود. يخفف هذا الإطار من ذلك من خلال استخدام تصنيفين متميزين للكتل:
- مقاطع N: مقاطع تُنشئ المخطط الزمني الأساسي للأفاتار.
- مقاطع I (الاستيفاء): مقاطع مصممة لتنعيم الانتقالات بين مقاطع N المتتالية.
يتم تنظيم تسلسل التنفيذ على النحو التالي:
N0 -> N1 -> I0 -> N2 -> I1 -> N3 -> I2 -> ...
يتم إنشاء مقطع I فقط بعد اكتمال مقطعي N السابق واللاحق له. يستخدم الإطار الأخير من مقطع N السابق وإطارًا مبكرًا من مقطع N الحالي كإطارات مرجعية لحساب الحركة الانتقالية. بعد عملية الإنشاء، يتم تجاهل التنبؤات المرجعية الزائدة، ولا يبقى إلا الانتقال الملس interpolated بسلاسة. تعمل هذه الآلية على ضبط حجم نافذة السياق المطلوبة مع الحفاظ على الاتساق الزمني.
استهلاك ثابت للذاكرة طوال المدة
تقوم سلسلة معالجة الفيديو التقليدية بتجميع المتغيّرات الكامنة، والإطارات المفككة، وسياق الانتباه أثناء التنفيذ، مما يؤدي إلى زيادة استهلاك ذاكرة GPU بشكل خطي مع مدة الفيديو.
لتمكين إنشاء مفتوح وغير محدود، يحافظ هذا الإطار على حالة متحركة صارمة. يحتفظ النظام فقط بتهيئة مرجعية ثابتة ومجموعة حدّية من موترات الارتكاز المطلوبة لانتقال المقاطع. ويتم حذف جميع الأصول الوسيطة — بما في ذلك ميزات الصوت، وموترات الضوضاء، والتفعيلات الداخلية، وإطارات RGB الخام — من الذاكرة مباشرة بعد فك ترميز المقطع وكتابته.
ونتيجة لذلك، يظل ملف استخدام ذاكرة GPU عند الذروة ثابتًا سواء تم إنشاء مقطع قصير أو تسلسل ممتد؛ إذ تتدرج الاستفادة من الموارد وفقًا لحجم الجزء المحدد بدلًا من إجمالي مدة الجلسة.
مراحل التحميل/إلغاء التحميل داخل خط الأنابيب
يعمل كل طلب عبر عقدة تحتوي على 8 وحدات GPU. نستخدم FSDP لتقسيم معاملات النماذج الكبيرة عبر وحدات GPU. يمتلك كل ترتيب جزءًا فقط من الأوزان، ويجمع المعاملات التي يحتاجها للحساب، ثم يحرّرها مرة أخرى. هذا ما يتيح لعدة نماذج كبيرة — نموذج DiT الأساسي، ونموذج DiT فائق الدقة، ومشفّر النص، ومشفّر الصوت، وVAE — أن تعمل جميعها على عقدة واحدة.
هناك مقايضة لا بد منها. يضيف FSDP عبئًا في الاتصال أثناء الاستدلال لأن المعلمات يجب تجميعها خلال عمليات المرور الأمامية. نستخدم مزيجًا من التقنيات لإخفاء هذا العبء والحفاظ على النماذج المشتركة في نفس الموقع خارج الـGPU عندما لا تكون قيد الاستخدام:
- الجلب المسبق في مرحلة التقدّم الأمامييتم تنفيذ عملية AllGather لمعاملات الكتلة التالية مسبقًا وتُشغَّل بالتوازي مع حساب الكتلة الحالية، مما يخفي زمن انتظار الجلب على المسار الحرج.
- إلغاء التجزئة الكسول لكل كتلة من وحدة المعالجة المركزيةعند استعادة نموذج من ذاكرة CPU المثبّتة، لا نقوم بتحميل مجموعة الأوزان الكاملة مسبقًا. يتم إلغاء تجزئة كل كتلة Transformer (نسخ من المضيف إلى الجهاز + AllGather) مباشرة قبل مرحلة التمرير الأمامي الخاصة بها، بحيث يتداخل نقل H2D للكتلة n+1 مع عملية الحساب للكتلة n.
- تفريغ تحميل المعالج المركزي (CPU) المثبّت بين المراحل تُحفَظ معاملات النموذج الذي لا يعمل حاليًا في ذاكرة CPU مثبّتة، بحيث لا تحتاج النماذج المتجاورة (base DiT، super-resolution DiT، text encoder، audio encoder، VAE) جميعها إلى الاحتفاظ بأوزانها على وحدة معالجة الرسومات GPU في الوقت نفسه. الذاكرة المثبّتة هي ما يجعل نسخ H2D سريعة بما يكفي لتتداخل مع عملية الحساب.
- توزيع العمليات مع مراعاة NUMA يُثبَّت كل إجراء على عقدة NUMA نفسها الخاصة بوحدة GPU المخصصة له، بحيث تعمل عمليات نقل البيانات بين CPU وGPU بأقصى عرض نطاق متاح عبر PCIe/NVLink من دون عبور وصلة الربط بين المقابس
تبديل النماذج بين المراحل في أقل من 10 مللي ثانية
الفائدة العملية للتقنيات المذكورة أعلاه هي أن تمرير الـGPU من نموذج مرحلة إلى المرحلة التالية — على سبيل المثال، من A2V DiT إلى Super-Resolution DiT، أو من SR DiT إلى VAE decoder — يصبح فعليًا بلا تكلفة تُذكر. نظرًا إلى أن النموذج الخارج يتم تفريغه من الذاكرة بشكل غير متزامن، وأن الكتلة الأولى من النموذج الداخل تُفكّك تجزئتها في اللحظة المناسبة، فإن عملية نسخ H2D وعملية AllGather تكونان مخفيتين خلف عمليات حسابية تعمل بالفعل. من البداية إلى النهاية، يكون الحمل الإضافي الملحوظ لكل عملية تبديل أقل من 10ms — أي أقل بكثير من ميزانية إطار واحد عند معدلات الإطارات المستهدفة لدينا. عمليًا، هذا ما يسمح لحلقة خط أنابيب البث (Context Gen → A2V → SR → VAE Decode-and-Publish) بأن تدور عبر عدة نماذج كبيرة لكل جزء دون أن يصبح تبديل النموذج نفسه عنق زجاجة.
نشر البث المباشر في الوقت الفعلي
من أجل جعل النموذج سريعًا بما يكفي للبث في الوقت الفعلي، قمنا بإجراء العديد من تحسينات الاستدلال، يُرجى الرجوع إلى https://www.heygen.com/research/avatar-v-inference لمزيد من التفاصيل حول هذا الجانب.
بمجرد أن يُنتج خط المعالجة مقاطع الفيديو جزءًا تلو الآخر في الوقت الفعلي، تصبح عملية البث امتدادًا طبيعيًا لمرحلة الاستدلال بدلًا من أن تكون خطوة معالجة لاحقة منفصلة.
في مسار البث المباشر بأسلوب القنوات، نقوم بنشر الإطارات المُنشأة إلى Amazon Kinesis Video Streams (KVS). غالبًا ما يُناقش KVS في سياق الكاميرات، وأجهزة إنترنت الأشياء، والوسائط المرفوعة. في حالتنا، تكون "الكاميرا" هي خط استدلال النماذج نفسه؛ حيث تُنشئ الإطارات بواسطة النموذج، وتُشفَّر فورًا، ثم تُدفَع إلى KVS كبث مباشر.
يتلقى كاتب المخرجات إطارات RGB مفككة الترميز من الـ VAE المتدفّق ويرسلها إلى خط أنابيب GStreamer. يتم ترميز الفيديو بصيغة H.264 والصوت بصيغة AAC، ثم تُدفَع المساران معًا إلى kvssink، وهو مخرج إنتاج KVS. من هناك يمكن للمشاهدين تشغيل الجلسة كبث مباشر بينما لا تزال قيد الإنشاء.
النتائج والدروس المستفادة
حوّل هذا الإطار عمل إنشاء Avatar IV وAvatar V من عرض ثابت للمشهد إلى إنشاء متدفّق مفتوح. النتيجة الأهم بسيطة: أزلنا قيود مدة المشهد لـ Avatar IV وAvatar V. في إنشاء Avatar IV في الزمن الحقيقي، حققنا زمنًا للوصول إلى الإطار الأول أقل من 5 ثوانٍ، وسرعة إنشاء تزيد عن 27 إطارًا في الثانية لفيديوهات Avatar IV بدقة 720p — أي أسرع من التشغيل في الزمن الحقيقي.