ذكاء اصطناعي جديد من جوجل يولد أكثر من 1000 رمز في الثانية (DiffusionGemma)
BBetter Stack
Computing/SoftwareVideo & Computer Games
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 وسأراكم في الفيديوهات القادمة.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video