ControlNet وStarCoder: التطورات البحثية في Roblox للذكاء الاصطناعي التوليدي - مدونة Roblox

ControlNet وStarCoder: التطورات البحثية في Roblox للذكاء الاصطناعي التوليدي - مدونة Roblox

عقدة المصدر: 2864546

نحن ملتزمون بشدة بمتابعة الأبحاث المسؤولة والمجتمعية المشاركة في جميع المجالات، بما في ذلك الذكاء الاصطناعي (AI). نحقق ذلك من خلال الشفافية والتحقق الخارجي ودعم المؤسسات الأكاديمية من خلال التعاون والرعاية. يتيح لنا هذا النهج تسريع تحقيق أكبر التطورات في مجالات التركيز الثلاثة لدينا: الذكاء الاصطناعي التوليدي، وتوسيع نطاق مراكز البيانات، والسلامة عبر الإنترنت. اليوم، نشارك الأفكار والنتائج من اثنين من مشاريعنا البحثية في مجال الذكاء الاصطناعي. كونترول نت هي شبكة عصبية مفتوحة المصدر تضيف تحكمًا مشروطًا إلى نماذج توليد الصور للحصول على مخرجات صور أكثر دقة. ستاركودير هو نموذج لغة كبير مفتوح المصدر (LLM) متطور لإنشاء التعليمات البرمجية. 

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

كونترول نت

لقد أدت الإنجازات الحديثة في مجال الذكاء الاصطناعي - وخاصة أساليب التعلم الآلي المبنية على البيانات (ML) باستخدام الشبكات العصبية العميقة - إلى تحقيق تقدمات جديدة في أدوات الإنشاء. وتشمل هذه التطورات لدينا مساعدة التعليمات البرمجية و مولد المواد الميزات المتوفرة للعامة في أداتنا المجانية، Roblox Studio. تحتوي أنظمة الذكاء الاصطناعي التوليدي الحديثة على هياكل بيانات تسمى النماذج التي يتم تنقيحها من خلال مليارات العمليات التدريبية. أقوى النماذج اليوم هي النماذج المتعددة الوسائط، مما يعني أنها مدربة على مزيج من الوسائط مثل النصوص والصور والصوت. يتيح لهم ذلك العثور على المعاني الأساسية المشتركة عبر الوسائط بدلاً من تركيبها على عناصر محددة في مجموعة البيانات، مثل لوحات الألوان أو التهجئة. 

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

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

  1. تطوير واجهة مستخدم أفضل لأدوات الذكاء الاصطناعي التوليدية. تجاوز التلاعب الفوري الغامض وقم بالبناء على طرق أكثر طبيعية لتوصيل فكرة أو مفهوم إبداعي.
  2. توفير تحكم مكاني أكثر دقة، لتجاوز إنشاء "صورة مثل" أو "صورة بأسلوب..." لتمكين تحقيق الصورة التي يحملها المبدع في ذهنه بالضبط.
  3. قم بتحويل تدريب الذكاء الاصطناعي التوليدي إلى عملية حسابية أكثر كفاءة يتم تنفيذها بسرعة أكبر، وتتطلب ذاكرة أقل، وتستهلك طاقة كهربائية أقل.
  4. قم بتوسيع الذكاء الاصطناعي المولد للصور إلى كتلة بناء قابلة لإعادة الاستخدام. ويمكن بعد ذلك دمجها مع معالجة الصور القياسية وخطوط العرض ثلاثية الأبعاد. 

من خلال السماح للمبدعين بتقديم صورة إضافية للتحكم المكاني، تمنح ControlNet تحكمًا أكبر في الصورة النهائية التي تم إنشاؤها. على سبيل المثال، أدت المطالبة "ذكر غزال مع قرون" في مولد تحويل النص إلى صورة موجود إلى إنتاج مجموعة واسعة من الصور، كما هو موضح أدناه:

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

مع ControlNet، أصبح لدى المبدع الآن المزيد من القوة. إحدى طرق استخدام ControlNet هي توفير كل من الموجه وصورة المصدر لتحديد الشكل العام الذي يجب اتباعه. في هذه الحالة، ستظل الصور الناتجة تقدم تنوعًا، ولكن الأهم من ذلك أنها تحتفظ بالشكل المحدد:

يمكن للمنشئ أيضًا تحديد مجموعة من الحواف، أو صورة بدون مطالبة على الإطلاق، أو العديد من الطرق الأخرى لتوفير مدخلات معبرة للنظام.

لإنشاء ControlNet، نقوم باستنساخ الأوزان داخل شبكة نموذج الانتشار الكبير إلى نسختين. واحد هو شبكة قابلة للتدريب (وهذا يوفر التحكم؛ وهو "ControlNet") والآخر هو شبكة مقفلة. تحافظ الشبكة المقفلة على القدرة المستفادة من مليارات الصور ويمكن أن تكون أي مولد صور سابق. نقوم بعد ذلك بتدريب الشبكة القابلة للتدريب على مجموعات البيانات الخاصة بالمهمة لمعرفة التحكم الشرطي من الصورة الإضافية. ترتبط النسخ القابلة للتدريب والمقفلة بنوع فريد من طبقة الالتواء التي نسميها الإلتواء صفر، حيث تنمو أوزان الالتفاف تدريجيًا من الأصفار إلى المعلمات المحسنة بطريقة مدروسة، مما يعني أنه ليس لها أي تأثير في البداية ويستمد النظام المستوى الأمثل من التحكم لممارسته على الشبكة المقفلة.

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

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

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

ستاركودير

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

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

تعمل شهادات LLM المستخدمة في إخراج النص بشكل جيد مع التطبيقات الذاتية والمستمرة مثل برامج الدردشة الآلية. ويبدو أيضًا أنها تعمل بشكل جيد في توليد النثر في العديد من اللغات البشرية، مثل الإنجليزية والفرنسية. ومع ذلك، لا يبدو أن برامج LLM الحالية تعمل بشكل جيد البرمجة اللغات كما يفعلون مع تلك اللغات البشرية. الكود هو شكل من أشكال الرياضيات وهو طريقة موضوعية مختلفة تمامًا للتعبير عن المعنى عن اللغة الطبيعية. إنها مساحة نتيجة منفصلة بدلاً من مساحة نتيجة مستمرة. لتحقيق أعلى جودة في إنشاء أكواد لغة البرمجة لمبدعي Roblox، نحتاج إلى طرق لتطبيق LLMs التي يمكن أن تعمل بشكل جيد في هذا الفضاء الموضوعي المنفصل. نحتاج أيضًا إلى أساليب قوية للتعبير عن وظائف التعليمات البرمجية بشكل مستقل عن بناء جملة لغة معينة، مثل Lua أو JavaScript أو Python. 

يعد StarCoder، وهو برنامج LLM جديد ومتطور ومفتوح المصدر لإنشاء الأكواد البرمجية، بمثابة تقدم كبير لهذا التحدي التقني وبرنامج LLM مفتوح حقًا للجميع. StarCoder هي إحدى نتائج كود كبير اتحاد الأبحاث، الذي يضم أكثر من 600 عضو من مختبرات الأبحاث الأكاديمية والصناعية. ساعد الباحث في Roblox والأستاذ في جامعة نورث إيسترن أرجون جوها في قيادة هذا الفريق لتطوير StarCoder. تركز هذه النتائج المنشورة لأول مرة حصريًا على جانب الكود، وهو المجال الذي يحتاج فيه المجال إلى نمو جديد نظرًا للنجاح النسبي للطرق الذاتية. 

لتقديم الذكاء الاصطناعي التوليدي من خلال LLMs التي تدعم النظام البيئي الأكبر للذكاء الاصطناعي ومجتمع Roblox، نحتاج إلى نماذج تم تدريبها حصريًا على مجموعات البيانات المرخصة بشكل مناسب والمجمعة بشكل مسؤول. ويجب أن تحمل هذه أيضًا تراخيص غير مقيدة حتى يتمكن أي شخص من استخدامها والبناء عليها والمساهمة مرة أخرى في النظام البيئي. واليوم، أصبحت أقوى برامج الماجستير في القانون مملوكة أو مرخصة لأشكال محدودة من الاستخدام التجاري، مما يحظر أو يحد من قدرة الباحثين على تجربة النموذج نفسه. في المقابل، يعد StarCoder نموذجًا مفتوحًا حقًا، تم إنشاؤه من خلال تحالف من الباحثين الصناعيين والأكاديميين وتم ترخيصه دون قيود للتطبيق التجاري على أي نطاق. يتم تدريب StarCoder حصريًا على المحتوى الذي تم جمعه بطريقة مسؤولة ومرخص بشكل مناسب. تم تدريب النموذج في البداية على الكود العام، وتتوفر عملية إلغاء الاشتراك لأولئك الذين يفضلون عدم استخدام الكود الخاص بهم للتدريب.

اليوم، يعمل StarCoder على 86 لغة برمجة مختلفة، بما في ذلك Python وC++ وJava. اعتبارًا من تاريخ نشر الورقة، كانت تتفوق في الأداء على كل LLM ذات التعليمات البرمجية المفتوحة التي تدعم لغات متعددة وكانت حتى قادرة على المنافسة مع العديد من النماذج المغلقة والمسجلة الملكية. 

يعد برنامج StarCoder LLM بمثابة مساهمة في النظام البيئي، ولكن هدفنا البحثي يذهب إلى ما هو أعمق من ذلك بكثير. التأثير الأكبر لهذا البحث هو تطوير النمذجة الدلالية لكل من النماذج المتعددة الوسائط الموضوعية والذاتية، بما في ذلك التعليمات البرمجية والنصوص والصور والكلام والفيديو، وزيادة كفاءة التدريب من خلال تقنيات نقل المجال. نتوقع أيضًا الحصول على رؤى عميقة حول إمكانية الصيانة والتحكم في الذكاء الاصطناعي التوليدي للمهام الموضوعية مثل إنشاء كود المصدر. هناك فرق كبير بين العرض المثير للاهتمام للتكنولوجيا الناشئة والمنتج الآمن والموثوق والفعال الذي يجلب قيمة لمجتمع مستخدميه. بالنسبة لنماذج ML الخاصة بنا، نقوم بتحسين الأداء من حيث حجم الذاكرة والحفاظ على الطاقة ووقت التنفيذ. لقد قمنا أيضًا بتطوير بنية تحتية قوية، وأحاطنا قلب الذكاء الاصطناعي ببرنامج لتوصيله ببقية النظام، وقمنا بتطوير نظام سلس للتحديثات المتكررة عند إضافة ميزات جديدة. 

يعد الجمع بين علماء ومهندسي Roblox مع بعض من ألمع العقول في المجتمع العلمي عنصرًا أساسيًا في سعينا لتحقيق اختراقات تقنية. نحن فخورون بمشاركة هذه النتائج المبكرة وندعو مجتمع البحث للمشاركة معنا والبناء على هذه التطورات.

الطابع الزمني:

اكثر من Roblox