من فضلك تسجيل الدخول أو تسجيل لتفعل ذلك.

نعلن اليوم عن إطلاق SWE-1.7، النموذج الأكثر قدرة الذي دربناه حتى الآن. يمثل هذا النموذج قفزة نوعية في مجال الذكاء الاصطناعي، حيث يصل إلى مستوى الذكاء الحدودي بتكلفة أقل بكثير، مما يعيد تعريف منحنى باريتو للأداء والتكلفة في هندسة البرمجيات.

يأتي SWE-1.7 كثمرة لجهود تحسين مكثفة عبر خط أنابيب التعلم المعزز (RL) الخاص بنا، والتي شملت بنية تحتية محسّنة، وتدريبًا أكثر استقرارًا، وبيانات عالية الجودة، وتطوير تقنيات جديدة للمهام طويلة المدى. وبما أن SWE-1.7 تم تدريبه بالأساس على Kimi K2.7، الذي خضع بالفعل لتدريب مكثف بعد التعلم المعزز، فإن المكاسب الإضافية الكبيرة من تدريبنا تتحدى مفهوم ما يُعرف بـ منعطف التحسين ما بعد التدريب، وتشير إلى أن التعلم المعزز يمكن أن يدفع القدرات إلى أبعد مما كان يُعتقد سابقًا.

في Cognition، قمنا بصياغة وتحسين مبادئ هندسة البرمجيات الوكيلة الفعالة، سواء في التقييم أو مع FrontierCode. الآن، يواصل SWE-1.7 تعزيز هذه المبادئ من خلال التدريب. تم تحسين نموذجنا خصيصًا للمهام غير المتزامنة ذات الأفق الأطول، وهو عنصر حيوي في هندسة البرمجيات عالية الجودة.

يتوفر SWE-1.7 اليوم في ديفين (Devin)، عبر الويب وتطبيقات سطح المكتب وواجهة سطر الأوامر (CLI)، مقدمًا عبر Cerebras بسرعة 1000 معاملة في الثانية (TPS). ندعوكم لتجربته بأنفسكم.

نتائج قياس الأداء في الترميز

أظهر SWE-1.7 أداءً استثنائيًا في معايير الترميز الوكيل، مما يؤكد قدراته المتفوقة. ففي معيار FrontierCode 1.1 Main، حقق النموذج نسبة نجاح 42.3%، متجاوزًا Kimi K2.7 Code (30.1%) ويقترب بشكل كبير من GPT-5.5 (43.0%) و Opus 4.8 (46.5%).

كما برز SWE-1.7 في معيار Terminal 2.1 بنسبة نجاح بلغت 81.5%، متفوقًا على Kimi K2.7 Code (72.7%) ومنافسًا بقوة نماذج مثل GPT-5.5 (84.2%) و Opus 4.8 (86.9%). وفي معيار SWE-bench متعدد اللغات، حقق النموذج 77.8%، متجاوزًا Kimi K2.7 Code (73.5%) ومقتربًا من أداء GPT-5.5 (76.8%) و Opus 4.8 (84.4%). هذه النتائج تؤكد مكانة SWE-1.7 كواحد من أقوى النماذج في مهام هندسة البرمجيات.

مكونات رئيسية في تدريب SWE-1.7

يغطي الجزء المتبقي من هذا المقال كيفية تدريبنا على SWE-1.7، وذلك من خلال البنية التحتية، والخوارزميات، والبيانات التي تقف وراء نموذجنا. نركز على أربعة مكونات رئيسية بارزة:

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

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

الحفاظ على الإنتروبيا واستقرار التدريب

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

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

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

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

التدريب متعدد المجموعات

Cognition هو مختبر أبحاث سريع النمو يدخل إلى بيئة راسخة ومقيدة بشدة بالحوسبة. نهدف إلى تدريب نماذج تحتوي على تريليون معلمة، ولكن اليوم، تعد المجموعات الكبيرة التي تحتوي على 10 إلى 100 ألف شريحة على نسيج شبكة واحد موردًا نادرًا. في المقابل، فإن التجمعات الأصغر حول العالم وفيرة، إذا تم استخدامها معًا بشكل صحيح.

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

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

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

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

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

التسامح مع الخطأ

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

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

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

الضغط الذاتي الذكي للمهام طويلة المدى

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

نحن نعالج هذه القضايا من خلال التدريب على الضغط الذاتي و عقوبة الطول المتناوبة.

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

جودة البيانات

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

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

النتائج: السلوكيات النموذجية

نظرًا لنطاق التعلم المعزز الواسع، يُظهر SWE-1.7 سلوكًا مختلفًا بشكل ملحوظ عن نموذج Kimi K2.7، وهو نموذجه الأساسي. أولاً، إنه أكثر توافقًا وجدارة بالثقة من K2.7 أو النماذج الحدودية الأخرى مفتوحة المصدر. لقد توسعنا في هذا الأمر على نطاق واسع في منشور المدونة المصاحب لنا، قياس مدى موثوقية النماذج المشتقة من المصادر المفتوحة.

أحد الاختلافات السلوكية التي لاحظناها في SWE-1.7 هو سلسلة الأفكار المكثفة. بالمقارنة مع Kimi-K2.7-Code، فإن أول سلسلة فكرية لـ SWE-1.7 تحتوي على نسبة أقل بكثير من الكلمات الوظيفية (جزء من الكلمات التي تعمل بمثابة لاصق نحوي) وما يقرب من نصف متوسط عدد الكلمات لكل جملة. نعتقد أن هذا قد تأثر بشكل مباشر بمراحل الميزانية في عقوبة الطول المتناوبة.

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

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

منهجية التقييم

يتم تقييم كافة النماذج في إطار أقصى جهد منطقي. نستخدم ثلاثة معايير رئيسية:

  • المحطة الطرفية 2.1: نقوم بالتقييم وفقًا لإطار التقييم الداخلي الخاص بنا، باستخدام Claude Code للنماذج البشرية، وCodex لنماذج OpenAI، وDevin CLI للنماذج الأخرى، مع مهلة زمنية قدرها 4 ساعات.
  • SWE-مقعد متعدد اللغات: نستخدم الأرقام المبلغ عنها ذاتيًا عند توفرها ونقيمها على Devin CLI بخلاف ذلك.
  • كود الحدود 1.1: لقد قمنا بتفصيل منهجية التقييم لهذه المعيار في منشورات مدونتنا السابقة.

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

أمازون تعمل على مساعد Alexa أكثر قوة
تسريبات حصرية: سامسونج تكشف عن Galaxy Z Flip 8 وZ Fold 8 وWatch 9 وWatch Ultra 2 قبل حدث Unpacked

Reactions

0
0
0
0
0
0
بالفعل كان رد فعل لهذا المنصب.

ردود الفعل