لعقود من الزمن، صمم مطورو البرامج منهجيات وعمليات وأدوات تساعدهم على تحسين جودة التعليمات البرمجية وزيادة الإنتاجية. على سبيل المثال، أصبح التطوير السريع القائم على الاختبار ومراجعات التعليمات البرمجية وCI/CD من العناصر الأساسية في صناعة البرمجيات.

في “كيف تختبر Google البرامج” (Addison-Wesley, 2012)، تفيد Google أن إصلاح الخلل أثناء اختبارات النظام – مرحلة الاختبار النهائية – أغلى بـ 1000 مرة من إصلاحه في مرحلة اختبار الوحدة. وهذا يضع الكثير من الضغط على المطورين – الحلقة الأولى في السلسلة – لكتابة تعليمات برمجية عالية الجودة منذ البداية.

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

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

في هذا المنشور، سنقوم بمقارنة SafeCoder بالخدمات مغلقة المصدر ونسلط الضوء على الفوائد التي يمكنك توقعها من الحل الذي نقدمه.

أحدث الموديلات

تم إنشاء SafeCoder حاليًا بناءً على نماذج StarCoder، وهي عائلة من النماذج مفتوحة المصدر تم تصميمها وتدريبها ضمن مشروع BigCode التعاوني.

StarCoder هو نموذج مكون من 15.5 مليار معلمة تم تدريبه لتوليد التعليمات البرمجية بأكثر من 80 لغة برمجة. ويستخدم مفاهيم معمارية مبتكرة، مثل Multi-Query Attention (MQA)، لتحسين الإنتاجية وتقليل زمن الوصول، وهي تقنية موجودة أيضًا في Falcon وتم تكييفها مع نماذج LLaMa 2.

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

وأخيرًا، مثل HuggingChat، ستقدم SafeCoder نماذج جديدة ومتطورة بمرور الوقت، مما يمنحك مسارًا سلسًا للترقية.

لسوء الحظ، لا تشارك خدمات مساعد التعليمات البرمجية مغلقة المصدر معلومات حول النماذج الأساسية وقدراتها وبيانات التدريب الخاصة بها.

الشفافية

تماشيًا مع قانون Chinchilla Scaling Law، يعد SafeCoder نموذجًا حوسبةً مثاليًا تم تدريبه على 1 تريليون (1000 مليار) رمز مميز. يتم استخراج هذه الرموز المميزة من The Stack، وهي مجموعة بيانات بحجم 2.7 تيرابايت تم إنشاؤها من مستودعات مفتوحة المصدر مرخصة بشكل مسموح. يتم بذل كل الجهود لتلبية طلبات إلغاء الاشتراك، وقمنا ببناء أداة تتيح لأصحاب المستودعات التحقق مما إذا كان الكود الخاص بهم جزءًا من مجموعة البيانات.

انطلاقًا من روح الشفافية، تكشف ورقتنا البحثية عن بنية النموذج وعملية التدريب والمقاييس التفصيلية.

لسوء الحظ، تلتزم الخدمات مغلقة المصدر بالمعلومات الغامضة، مثل “[the model was trained on] مليارات الأسطر من التعليمات البرمجية.” على حد علمنا، لا توجد مقاييس متاحة.

التخصيص

تم تصميم نماذج StarCoder خصيصًا لتكون قابلة للتخصيص، وقد قمنا بالفعل ببناء إصدارات مختلفة:

  • StarCoderBase: النموذج الأصلي الذي تم تدريبه على أكثر من 80 لغة من The Stack.
  • StarCoder: تم تدريب StarCoderBase بشكل أكبر على لغة Python.
  • StarCoder+: تم تدريب StarCoderBase بشكل أكبر على بيانات الويب باللغة الإنجليزية من أجل تشفير المحادثات.

لقد شاركنا أيضًا كود الضبط الدقيق على GitHub.

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

لسوء الحظ، لا يمكن تخصيص الخدمات مغلقة المصدر.

مرونة تكنولوجيا المعلومات

يعتمد SafeCoder على حاويات Docker للضبط الدقيق والنشر. من السهل تشغيلها محليًا أو في السحابة على أي خدمة لإدارة الحاويات.

بالإضافة إلى ذلك، يتضمن SafeCoder مكتبات تسريع الأجهزة الأمثل لدينا. سواء كنت تعمل مع وحدة المعالجة المركزية (CPU) أو وحدة معالجة الرسومات (GPU) أو مسرعات الذكاء الاصطناعي (AI)، فسوف يعمل Optimum تلقائيًا لمساعدتك على توفير الوقت والمال في التدريب والاستدلال. نظرًا لأنك تتحكم في الأجهزة الأساسية، يمكنك أيضًا ضبط نسبة التكلفة إلى الأداء للبنية الأساسية لديك وفقًا لاحتياجاتك.

ولسوء الحظ، لا تتوفر الخدمات مغلقة المصدر إلا كخدمات مُدارة.

الأمن والخصوصية

يعد الأمان دائمًا مصدر قلق كبير، ويزداد الأمر سوءًا عندما يتعلق الأمر بالكود المصدري. ويجب حماية الملكية الفكرية والخصوصية بأي ثمن.

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

لا يتجسس SafeCoder على أي من بياناتك. مطالباتك واقتراحاتك هي لك وحدك فقط. لا يتصل SafeCoder بالمنزل ويرسل بيانات القياس عن بعد إلى Hugging Face أو أي شخص آخر. لا أحد غيرك بحاجة إلى معرفة كيف ومتى تستخدم SafeCoder. لا يتطلب SafeCoder حتى الاتصال بالإنترنت. يمكنك (ويجب عليك) تشغيله بالكامل.

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

خاتمة

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

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

شكرا للقراءة!

شاركها.
اترك تعليقاً