تمت ترجمة المحتوى الموجود على هذا الموقع باستخدام الذكاء الاصطناعي (AI) أو تقنية الترجمة الآلية، وقد تحتوي على أخطاء.

Skip to content

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

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

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

ControlNet

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

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

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

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

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

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

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

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

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

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

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

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

StarCoder

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

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

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

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

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

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

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

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