ذكاء اصطناعي جديد من جوجل يولد أكثر من 1000 رمز في الثانية (DiffusionGemma)

BBetter Stack
컴퓨터/소프트웨어게임/e스포츠

Transcript

00:00:00جوجل كانت في حالة تألق مؤخراً. في الأسبوع الماضي قمت بعمل فيديو عن نموذجهم الرائد
00:00:05Gemma 4 الخالي من المشفرات، وهذا الأسبوع أطلقوا نموذجاً آخر مبتكراً بشكل صادم. يسمى Diffusion
00:00:11Gemma وهذا النموذج سريع للغاية. فهو قادر على توليد أكثر من ألف رمز
00:00:18في الثانية، والسبب في قدرته على القيام بذلك هو أنه يولد النص بطريقة مختلفة
00:00:23تماماً عن أي نموذج آخر استخدمته من قبل. لذا في هذا الفيديو سنلقي نظرة
00:00:29على Diffusion Gemma، ونرى كيف يعمل، وسأوضح لك كيف يمكنك تجربته بنفسك أيضاً.
00:00:35سيكون الأمر ممتعاً للغاية، لذا دعونا نبدأ.
00:00:41كل نموذج لغوي تحدثت إليه من قبل يعمل بنفس الطريقة الأساسية. فهي نماذج ذاتية التراجع
00:00:48وهي كلمة معقدة تعني أنها تولد رمزاً واحداً في كل مرة من اليسار إلى اليمين. تكتب كلمة
00:00:54ثم تنظر إلى كل ما كُتب حتى الآن، ثم تتنبأ بالكلمة التالية، وتتكرر هذه الدورة
00:00:59ببساطة. والطريقة التي تعمل بها النماذج التجارية الكبيرة مثل Claude أو GPT هي أنه عندما يقوم الخادم
00:01:06بتوليد رمز، فإن معظم الوقت لا يُقضى في الحوسبة، بل في تحميل أوزان النموذج
00:01:12من الذاكرة. وهذا يعتبر مضيعة إذا كنت تخدم مستخدماً واحداً فقط. لذا تقوم الخوادم بتجميع مئات
00:01:19المستخدمين معاً، وتحميل الأوزان مرة واحدة، وتشغيلها للجميع في نفس الوقت. وبهذه الطريقة،
00:01:25يمكنك خدمة 256 مستخدماً بحمل واحد للذاكرة. ولكن عندما تشغل نموذجاً محلياً، فأنت مستخدم واحد فقط،
00:01:33لذا لا يوجد أحد لتجمعه معه. يقوم معالج الرسوميات (GPU) بتحميل جزء ضخم من الأوزان، ويقوم بعملية حسابية
00:01:39صغيرة جداً لإنتاج رمز واحد، ثم يبقى خاملاً قبل أن يعيد الكرة مرة أخرى. من الناحية التقنية،
00:01:46يسمى هذا بكونه مقيداً بالذاكرة. يقضي معالج الرسوميات باهظ الثمن معظم حياته في انتظار الرمز
00:01:52التالي بدلاً من الحوسبة الفعلية. لذا نظرت جوجل ديب مايند (Google DeepMind) إلى هذه المشكلة وطرحت سؤالاً
00:01:58ذكياً. إذا كانت السحابة تملأ وقت الخمول بخدمة 256 مستخدماً في وقت واحد، ماذا لو ملأنا هذا الوقت الخامل
00:02:07لمستخدم واحد بدلاً من ذلك؟ فبدلاً من رمز واحد لـ 256 شخصاً، ماذا لو قمنا بتوليد 256 رمزاً لشخص واحد
00:02:16في وقت واحد؟ وهذه هي الفكرة بالكامل وراء Diffusion Gemma. فبدلاً من الكتابة كلمة بكلمة،
00:02:23يبدأ النموذج بلوحة (Canvas)، وهي عبارة عن صف من 256 رمزاً عشوائياً تماماً. لذا فهي مجرد
00:02:31ضوضاء. ومهمته هي إصلاح تلك اللوحة في جميع المواضع في وقت واحد وتحويلها إلى نص حقيقي. لذا من خلال التنبؤ بجميع
00:02:38الرموز الـ 256 في لقطة واحدة، فأنت تعطي معالج الرسوميات قدراً كبيراً من العمل الحقيقي بدلاً من تركه خاملاً. وبهذه الطريقة،
00:02:46تحول النموذج من كونه مقيداً بالذاكرة إلى مقيد بالحوسبة، وأخيراً يتم استخدام كل تلك القوة المهدرة.
00:02:53ولكن هذا ليس بالبساطة التي يبدو عليها. التنبؤ بـ 256 رمزاً في وقت واحد أمر صعب للغاية حقاً.
00:03:01لأنه كيف يمكن للنموذج تخمين الرمز رقم 254 عندما لا تكون لديه أي فكرة عما آلت إليه الرموز من 1 إلى 253؟
00:03:09وهذا بالضبط ما يحدث. الرموز القليلة الأولى تخرج بشكل جيد، ولكن كلما تقدم للأمام،
00:03:15زادت احتمالية تحوله إلى هراء. ولكن ماذا لو قام النموذج بتمريرات متعددة بدلاً من تمريرة واحدة؟
00:03:21وهذه هي الحيلة الأساسية. يمر النموذج فوق اللوحة مراراً وتكراراً، ولكن الآن
00:03:28يمكنه رؤية تخميناته السابقة. الرموز التي تنبأ بها بثقة تصبح أدلة سياقية
00:03:35تساعد في إصلاح الرموز الأكثر اضطراباً. وأروع شيء هو أنه يحتاج فقط إلى بضع تمريرات. عدد تمريرات أقل بكثير من
00:03:42إجمالي عدد الرموز البالغ 256. وهذا هو بالضبط مصدر سرعة النموذج. وربما رأيت
00:03:49هذه الحيلة من قبل. إنها تسمى الانتشار (Diffusion). تبدأ بضوضاء ثم تنقحها خطوة بخطوة. و
00:03:55هذه هي نفس الفكرة التي تشغل مولدات الصور بالذكاء الاصطناعي. والطريقة التي يتعلم بها النموذج ذلك هي من خلال
00:04:01إضافة ضوضاء متعمدة إلى الصور الحقيقية أثناء التدريب، ثم تعلم التنبؤ بتلك الضوضاء وطرحها
00:04:07مرة أخرى. ولكن كيف تطبق نفس المفهوم على النص؟ هذا هو الجزء الصعب. لأنه في الصورة،
00:04:14الضوضاء سهلة. اجعل البكسل أكثر زرقة أو احمراراً بقليل. ولكن في النص، كيف تجعل الكلمة
00:04:19أن نجعل كلمة “ال” أقل “ال” نوعاً ما؟ ماذا تعني الضوضاء بالنسبة للكلمة؟ حسناً، ابتكرت ديب مايند
00:04:27شيئاً يسمى انتشار الحالة الموحدة (Uniform State Diffusion). لذا بدلاً من العبث بالحروف، أنت تعامل الكلمة
00:04:32التي تم استبدالها عشوائياً على أنها ضوضاء. ولتفسيد نص التدريب، تقوم باستبدال بعض الكلمات الحقيقية بكلمات
00:04:38عشوائية. ومهمة النموذج هي معرفة أي الكلمات هي مجرد خردة وإصلاحها في النهاية عبر تمريرات متعددة.
00:04:45هناك في الواقع نسخة أبسط للقيام بذلك تسمى انتشار القناع (mask diffusion) والتي تقوم فقط بمسح الرموز.
00:04:51لكن تلك النسخة بها عيب كبير. فبمجرد أن يلتزم النموذج بكلمة، يتم تثبيتها للأبد. فهي تعاني من نفس
00:04:57المشكلة التي تواجهها النماذج التراجعية الذاتية (auto-aggressive). لكن انتشار الحالة الموحدة يحل هذه المشكلة من خلال الاحتفاظ دائماً بنوع من الرموز في
00:05:04كل موقع. لذا يمكن للنموذج أن ينظر إلى كلمة قبلها قبل ثلاث خطوات، ويقرر أنها لم تعد مناسبة
00:05:10ويقوم باستبدالها. لذا يمكننا أساساً تصحيحها ذاتياً طوال العملية. لكن هذا الحل
00:05:15له أيضاً عقبة. يحتاج الانتشار إلى مُشفر لفهم مطالبتك ومُزيل للضوضاء لتنظيف
00:05:23اللوحة. لذا طورت ديب مايند رقعة مُشفر-مُزيل للضوضاء. وهي مبنية فوق نموذجهم الحالي الذي يضم 26 مليار
00:05:30GEMMA4 وهو يتبدل بين الوضعين عندما يقوم بتوليد ردك. في وضع المشفر،
00:05:36يقرأ النموذج طلبك، ويحاول استخراج بعض السياق والتوجيه منه. يجمع كل ذلك
00:05:42في ذاكرة التخزين المؤقت (KV cache) ثم يمرره مباشرة إلى مزيل الضوضاء. ومهمة مزيل الضوضاء هي في الأساس
00:05:49تنظيف اللوحة. وهو يفعل ذلك من خلال أمرين. أولاً، تذكر كيف ينتج نموذج لغوي كبير (LLM) عادي
00:05:56درجة ثقة أو قيمة لوجيت (logit) لكل موضع ولكنه يتخلص منها جميعاً باستثناء الأخيرة؟ بالمناسبة،
00:06:02إذا كنت تشعر بالارتباك هنا، فقد قمت أيضاً بعمل فيديو منذ فترة أشرح فيه كيف تعمل النماذج اللغوية الكبيرة بمزيد
00:06:07من التفصيل. لذا تحقق من ذلك الفيديو إذا كنت مهتماً. لذا بشكل أساسي لا يتخلص Diffusion GEMMA
00:06:13من الدرجات. إنه يحتفظ بكل درجات الثقة تلك لأن كل موضع في اللوحة يحتاج إلى تنبؤ خاص به.
00:06:19وثانياً، لا يستخدم مزيل الضوضاء هذا الانتباه السببي (causal attention)، وهي القاعدة التي تقول إن الكلمة يمكنها فقط
00:06:25النظر إلى الوراء، وهي الطريقة التي تعمل بها النماذج ذاتية التراجع. لذا بدلاً من ذلك، يستبدلها بانتباه ثنائي الاتجاه
00:06:31(bi-directional attention). والآن يمكن لكل رمز رؤية كل رمز آخر في جميع الاتجاهات. لذا لكل موضع،
00:06:38تطبق درجات الثقة تلك، وتنظر إلى الرموز الأخرى، وتنظف اللوحة ببطء، خطوة بخطوة.
00:06:44وهكذا تمكن Diffusion GEMMA من تحقيق سرعته المذهلة التي تزيد عن 1000 رمز في الثانية
00:06:51على معالج رسوميات H100. الآن يجب أن أكون صريحاً معك. هذا ليس حلاً سحرياً. مع هذه التكتيكات الجديدة،
00:06:58يقوم Diffusion GEMMA بشكل أساسي بمقايضة الجودة بالسرعة. للحصول على عمل بأقصى جودة، يظل طراز GEMMA 4 القياسي
00:07:05هو الخيار الأفضل. تم بناء هذا النموذج خصيصاً للأشياء المحلية المهمة مثل التحرير المضمن أو ملء الأكواد
00:07:13أو التكرار السريع. وهو قوي بشكل خاص في المهام غير الخطية مثل ملء منتصف
00:07:19كتلة كود أو حتى حل لغز سودوكو، وهو ما تكون النماذج العادية التي تعمل من اليسار إلى اليمين سيئة فيه حقاً.
00:07:26كل هذا يبدو رائعاً، ولكن دعونا نجربه بأنفسنا ونرى كيف يعمل في الواقع.
00:07:33لذا قامت جوجل بجعل الأوزان مفتوحة المصدر تحت رخصة Apache 2.0 على Hugging Face.
00:07:38لذا إذا كان لديك معالج رسوميات قوي مثل RTX 5090، يمكنك محاولة تشغيله محلياً. وهناك أيضاً
00:07:44وصفة خاصة لـ VLLM يمكنك تشغيلها على Docker لتبسيط تلك العملية. لكني أشعر بفضول شديد
00:07:51لمعرفة ما إذا كان هذا النموذج يمكنه حقاً الوصول إلى أكثر من 1000 رمز في الثانية. لذا في هذا الاختبار، سأحاول فعلياً
00:07:58تشغيله على معالج رسوميات H100 باستخدام حاوية run pod ومعرفة كيف ستسير الأمور. وبالمناسبة، لقد قمت أيضاً
00:08:04بنشر قالب Diffusion GEMMA لتشغيله على run pod. لذا إذا كنت ترغب في تكرار هذا الاختبار،
00:08:10كل ما عليك فعله هو تشغيل ذلك القالب عند إنشاء pod جديد. لذا للقيام بهذا الاختبار على run pod،
00:08:15سأختار حاوية H100. وكما ذكرت من قبل، لقد أنشأت قالب Diffusion GEMMA
00:08:22يمكنك إعادة استخدامه. يمكنك فقط النقر على القرص ثم النقر فوق “توزيع عند الطلب” (deploy on demand).
00:08:28سيستغرق الأمر بضع دقائق حتى يتم تنزيل الحاوية وتشغيل كل شيء.
00:08:34وإذا ذهبنا إلى السجلات، وإذا رأيت “اكتمال بدء تشغيل التطبيق”، فهذا يعني أن VLLM جاهز
00:08:40وأنه أصبح الآن قابلاً للوصول عبر المنفذ 8000. إذا فتحنا هذا، فسترى “التفاصيل غير موجودة”،
00:08:46لكن لا تقلق بشأن ذلك. هذا يعني أنه يعمل بالفعل. نحن نحتاج فقط إلى نسخ هذا الرابط. لذا لتهيئة
00:08:52Diffusion GEMMA للتشغيل في محطة وكيل ذكاء اصطناعي (AI agent terminal)، مثل open code، تحتاج إلى
00:08:58تهيئة إعدادات open code الخاصة بك للوصول إلى الخادم البعيد. لذا يمكنك القيام بذلك باستخدام هذا الأمر البسيط
00:09:04وسيفتح هذا ملف التكوين. وهنا، سأقوم فقط بتحديد خادم run pod الخاص بنا
00:09:11وقد تم اختيار نموذج Diffusion GEMMA فيه. يمكنك فقط حفظ هذا الملف وتشغيل open code.
00:09:17لذا في هذا الاختبار، سأطلب منه إنشاء لوحة تحكم لتتبع التمويل الشخصي تسمى “ledger”.
00:09:24ولنرى مدى سرعة قدرته على توليد ذلك. انظر إلى ذلك. يبدأ البث فوراً.
00:09:34انظر كم هو سريع للغاية. يا إلهي. واو. هذا جنون. وهنا في السجلات،
00:09:43يمكننا أن نرى أنه يبلغ متوسط 700 رمز في الثانية. لذا بالنسبة لمرحلة الإخراج، انخفض قليلاً،
00:09:50ولكن خلال مرحلة التفكير، وصل إلى 700 رمز في الثانية. هذا جنون. لذا دعونا
00:09:58نفتحه. حسناً. يبدو أن هذه لوحة تحكم. هذا جميل. حسناً. لدينا بالفعل بعض الفئات
00:10:06وأشياء تحدث هنا. إذا أضفنا شيئاً هنا. أوه، إنه يضيفه بالفعل كمصروف. لذا
00:10:13النفقات لا يتم تحديثها فعلياً. لذا فهي ليست وظيفية بالكامل، ولكن على الأقل بعض الأجزاء تفاعلية.
00:10:20بالنسبة للمهمة التالية، دعونا نرى ما إذا كان بإمكانه صنع لعبة بأسلوب الأركيد.
00:10:26لذا دعونا نشغله. مرة أخرى، السرعة جنونية. حسناً. هذه تستغرق وقتاً أطول قليلاً.
00:10:36لدينا في الواقع ملفان هنا. مثير للاهتمام، مثير للاهتمام. حسناً. لذا فقد لاحظ خطأ مطبعياً ثم
00:10:44قام بمعالجة ملف HTML مرة أخرى، وهو أمر جيد جداً. حسناً. حسناً. دعونا نفتح هذا الملف. إعادة التشغيل.
00:10:52أوه، واو. هذا يعمل. أوه، واو. هذا رائع. واو. جميل جداً. هذا مثير للإعجاب. لذا فاللعبة
00:11:03وظيفية تماماً واستغرق توليد هذه اللعبة 14 ثانية. 14 ثانية لتوليد لعبة كهذه.
00:11:11لذا على الرغم من أن صفحة التسويق الخاصة بهم قالت إنه يمكننا توقع سرعات تبلغ ألف رمز في الثانية على الـ H
00:11:18100. لم يكن ذلك ما لاحظته. مم، لا أعرف. ربما هناك شيء يجب أن أقوم بتعديله في
00:11:26القالب أو في مطالباتي، ومع ذلك، أنا معجب حقاً. إنه وحش. لذا ها قد حصلت على ذلك،
00:11:33يا رفاق. هذا هو diffusion Gemma باختصار. أعتقد أن هذا الإصدار هو أحد أكثر الإصدارات إثارة للاهتمام
00:11:38هذا العام لأنه يثبت أنه يمكنك أخذ نموذج توليد مختلف تماماً من عالم الصور،
00:11:44ووضعه على نموذج موجود قمت بتدريبه بالفعل وفتح مكاسب سرعة حقيقية لإعدادات المستخدم
00:11:51المحلي الفردي. وأعتقد أن هذا يفتح أيضاً الباب أمام عائلة جديدة كاملة من النماذج المحلية التفاعلية السريعة
00:11:58التي تستخدم الإمكانات الكاملة لجهازك بدلاً من تركه خاملاً. فما رأيك
00:12:04في diffusion Gemma؟ هل جربته؟ هل ستستخدمه؟ أخبرنا في قسم التعليقات أدناه.
00:12:09ويا رفاق، إذا أعجبتكم هذه الأنواع من التحليلات التقنية، يرجى إخباري بذلك عن طريق الضغط على
00:12:14زر الإعجاب الموجود أسفل الفيديو. وأيضاً لا تنسوا الاشتراك في قناتنا. لقد كان معكم
00:12:19أندروس من Betterstack وسأراكم في الفيديوهات القادمة.

Key Takeaway

يحقق DiffusionGemma سرعات توليد تصل إلى 1000 رمز في الثانية من خلال استبدال التوليد التسلسلي بآلية الانتشار التي تعالج 256 رمزاً في وقت واحد.

Highlights

  • نموذج DiffusionGemma يولد أكثر من 1000 رمز في الثانية على معالج الرسوميات H100.

  • يعتمد النموذج تقنية 'انتشار الحالة الموحدة' لتوليد 256 رمزاً دفعة واحدة بدلاً من التوليد التسلسلي التقليدي.

  • يستبدل النموذج 'الانتباه السببي' التقليدي بـ 'انتباه ثنائي الاتجاه' لتحسين تصحيح الرموز أثناء التوليد.

  • يغير DiffusionGemma عملية الحوسبة من مقيدة بالذاكرة (Memory-bound) إلى مقيدة بالحوسبة (Compute-bound)، مما يستغل قدرات GPU بشكل كامل.

  • يُعد النموذج مثالياً للمهام غير الخطية مثل ملء الأكواد البرمجية أو حل الألغاز المعقدة التي تفشل فيها النماذج التراجعية الذاتية.

Timeline

محدودية النماذج التراجعية التقليدية

  • تعمل النماذج التقليدية بأسلوب التراجع الذاتي الذي يولد رمزاً واحداً في كل مرة.
  • تنتظر معالجات الرسوميات (GPU) تحميل أوزان النموذج من الذاكرة لكل رمز، مما يجعلها مقيدة بالذاكرة.

تعتمد النماذج اللغوية مثل GPT أو Claude على توليد الكلمات من اليسار إلى اليمين بناءً على السياق السابق. عند التشغيل المحلي، يهدر معالج الرسوميات معظم وقته في انتظار البيانات بدلاً من إجراء العمليات الحسابية، لأن المستخدم الواحد لا يكفي لملء قدرة الخادم.

آلية عمل DiffusionGemma

  • يستخدم النموذج لوحة من 256 رمزاً عشوائياً ويقوم بإصلاحها جميعاً في آن واحد.
  • يستخدم النموذج تمريرات متعددة لتقليل احتمالية تحول المخرجات إلى نصوص غير مفهومة.
  • تعتمد التقنية على انتشار الحالة الموحدة لاستبدال الكلمات الخاطئة بكلمات صحيحة سياقياً.

بدلاً من كتابة كلمة بكلمة، يقوم النموذج بتوليد 256 رمزاً دفعة واحدة. ومع كل تمريرة إضافية، تعمل الرموز التي تم التنبؤ بها بثقة كأدلة سياقية تساعد في تنقيح الرموز المضطربة، وهو مفهوم مستوحى من مولدات الصور بالذكاء الاصطناعي.

البنية التقنية والتنفيذ

  • يتبدل النموذج بين وضعي المشفر ومزيل الضوضاء للتعامل مع المطالبات وتنظيف المخرجات.
  • يستخدم النموذج الانتباه ثنائي الاتجاه للسماح لكل رمز برؤية السياق في جميع الاتجاهات.
  • يضحي النموذج بجودة المخرجات النهائية قليلاً مقابل زيادة السرعة الكبيرة.

يعتمد النموذج على نسخة 26 مليار من Gemma4، حيث يقوم المشفر باستخراج السياق ثم يمرره لمزيل الضوضاء الذي لا يتخلص من درجات الثقة (logits). هذا النهج يمنح النموذج القدرة على التصحيح الذاتي أثناء العملية، وهو ما يجعله متفوقاً في المهام غير الخطية.

اختبار السرعة والأداء العملي

  • تم اختبار النموذج على حاوية H100 باستخدام إطار عمل VLLM.
  • وصل النموذج إلى سرعة فعلية تقارب 700 رمز في الثانية أثناء التفكير.
  • نجح النموذج في توليد لعبة أركيد وظيفية بالكامل في غضون 14 ثانية.

عبر تجربة عملية لتوليد لوحة تحكم ولعبة بسيطة، أثبت DiffusionGemma سرعة فائقة في الأداء البرمجي. رغم أن الأرقام الفعلية قد تقل عن 1000 رمز في الثانية حسب إعدادات الجهاز والمطالبة، إلا أن السرعة تظل استثنائية مقارنة بالنماذج القياسية.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video