هندسة المحفزات

استكشاف مترجم كود ChatGPT من OpenAI: غوص عميق في قدراته

mm

تحقق OpenAI من تقدم في معالجة اللغة الطبيعية (NLP) مع ظهور نماذج اللغة الكبيرة (LLMs) ، والتي تشكل أساس المنتجات التي يستخدمها الملايين ، بما في ذلك مساعد الترميز GitHub Copilot ومحرك البحث Bing. هذه النماذج ، من خلال khảية فريدة في تذكر ودمج المعلومات ، قد وضعت معايير غير مسبوقة في مهام مثل توليد الكود والنص.

فهم مترجم كود ChatGPT

للفهم أهمية مترجم كود ChatGPT ، من الضروري أولاً فهم ما هو وكيف تم بناؤه.

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

تدريب GPT للترميز: نهج Codex

كلاً من GitHub Copilot و مترجم كود ChatGPT يستخدمان نموذج Codex الذي طوّره OpenAI.

Codex هو نموذج لغة GPT متخصص ، مصمم ليكون ماهراً في كتابة كود Python. تم تدريبه على كود عام من GitHub ، ويظهر Codex إمكانياته من خلال تمكينه ميزات في GitHub Copilot. عند تقييمه لability في تحليل البرامج من وثائق ، مقياس للصواب الوظيفي ، يتفوق Codex على GPT-3 و GPT-J.

ملاحظة ملفتة هي أن العينة المتكررة تعزز كفاءة Codex. عند استخدام ما يصل إلى 100 عينة لكل مشكلة ، يزيد معدل نجاح النموذج إلى 70.2%. هذه الكفاءة توحي بإمكانية استخدام التصنيف العشوائي لاختيار عينات كود دقيقة ، دون الحاجة إلى تقييم كامل لكل عينة.

为了 تقييم قدراته ، تم تكليف النموذج بإنشاء دوال Python مستقلة بناءً على وثائق فقط. ثم تم تقييم دقة الكود المنشأ باستخدام اختبارات وحدة. في مجموعة بيانات تتكون من 164 مشكلة برمجة أصلية ، بما في ذلك فهم اللغة و الخوارزميات واختبارات الرياضيات الأساسية ، حل Codex مع 12B 매개변ر 28.8% منهم في محاولة واحدة.

بيانات التدريب لنموذج Codex - مترجم كود ChatGPT

بيانات التدريب لنموذج Codex: https://arxiv.org/abs/2107.03374

من خلال تحسين النموذج بشكل أكبر من خلال تعديل الدوال المنفذة بشكل صحيح ، تم تعزيز كفاءته ، مما أدى إلى حل Codex-S 37.7% من التحديات في المحاولة الأولى. ومع ذلك ، في المجال العملي للبرمجة ، فإن نهج التجربة والخطأ شائع. في تقليد هذا السيناريو الحقيقي ، تمكنت نموذج Codex-S ، عند منحه 100 فرصة ، من حل 77.5% من التحديات بنجاح.

هيكل مترجم كود ChatGPT

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

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

تم تقديم مقياس pass@k كوسيلة لقياس الصواب الوظيفي. إنه يعني أساسًا أن إذا كان أي من عينات الكود “k” التي تم إنشاؤها تمر اختبارات الوحدة ، فإن المشكلة تعتبر محلولة. ومع ذلك ، بدلاً من استخدام هذا المقياس بشكل مباشر ، يتم استخدام مقدر غير متحيز لحساب pass@k لتجنب الانحراف العالي.

为了 تقييم قدرات ChatGPT في الكود ، تم استخدام مجموعة بيانات HumanEval. تتكون هذه المجموعة من مشاكل Python مكتوبة يدويًا ، كل واحدة مصحوبة باختبارات وحدة.

مثال على مجموعة بيانات HumanEval - مترجم كود ChatGPT

https://github.com/openai/code-align-evals-data/blob/main/human_eval

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

استخدام مترجم كود ChatGPT

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

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

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

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

ما يميز مترجم الكود ليس فقط قوته الفنية ، بل إمكانية الوصول إليه. يقدم OpenAI هذه الميزة لمشتركين ChatGPT Plus ، والتي تأتي مع نموذج GPT-4. وبالتالي ، فإن هذا الأداة التحويلية لا تُستخدم فقط للنخبة التقنية ، بل تصبح متاحة تدريجياً لجمهور أوسع.

الفرق بين نموذج ChatGPT القياسي ومترجم الكود يكمن في أنماط التفاعل. بينما يولد النموذج الأول استجابات نصية في الغالب ، يفهم وينفذ مترجم الكود الكود ، ويوفر نتائج مباشرة. هذا لا يجعلها فقط موردًا قيّمًا للمحترفين التقنيين ، بل también يمنح أولئك الذين لا يعرفون الترميز القدرة على أداء مهام حسابية معقدة.

يمكن أن تحول قدرات مترجم كود ChatGPT عدة جوانب من تطوير البرمجيات وعلوم البيانات:

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

استكشاف فوائد مترجم كود ChatGPT

تخيل البيانات وتحليلها

يذهب ChatGPT أبعد من نطاق الرسومات التقليدية ، ويوفر تمثيلات رسومية متقدمة وابتكارية. هذا يضمن للمستخدمين أن يتمكنوا من مشاهدة بياناتهم في تنسيقات توفر رؤى أكثر معنى.

ومع ذلك ، لا يتعلق الأمر فقط بتصوير البيانات الخام. نموذج ChatGPT ماهر في معالجة وتنقية البيانات. على الرغم من قوته ، يجب على المستخدمين توخي الحذر.

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

الفيديو أدناه يظهر كيف أنشأ مترجم كود ChatGPT تحليلًا شاملاً لأسهم TSLA.

النقاط الرئيسية:

  • واجهت أسهم TSLA تقلبات ولكن أظهرت أيضًا قدرة على الصمود مع فترات من النمو.
  • الكميات التجارية الكبيرة في أيام معينة تشير إلى اهتمام كبير بالسوق أو ردود فعل على أحداث رئيسية.
  • العودة السنوية الهابطة (YTD) تشير إلى أن المستثمرين يجب أن ي分析وا عوامل الشركة الداخلية والظروف السوقية الخارجية عند النظر في الاستثمارات المستقبلية.

تنفيذ رؤية الكمبيوتر و OCR

تم التعامل مع كشف الوجه ، وهو وظيفة أساسية في رؤية الكمبيوتر ، باستخدام تقنية كلاسيكية: مصنف Haar Cascade من OpenCV.

الصورة أدناه تظهر استخدام مصنف Haar Cascade الكلاسيكي.

تم إنجاز عملية استخراج النص من الصور ، المعروفة باسم رؤية الكمبيوتر ، بسهولة باستخدام Tesseract ، ثم تم تنظيم النص بواسطة GPT-4 ، مما حسّن القابلية للفهم.

في الفيديو التالي ، شاهد كيف يستخرج Tesseract (OCR) النص من صورة شهادة.

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

مكتبة Python الخارجية داخل مترجم كود ChatGPT

مترجم كود ChatGPT هو منصة برمجة ديناميكية مجهزة بمجموعة واسعة من مكتبات Python. هذه المكتبات تغطي كل شيء من تصور البيانات مع Seaborn إلى تعلم الآلة المتقدم عبر Torch. ومع ذلك ، لا تقتصر على أداة ثابتة.

ملهمًا بهذه صفحة ChatGPT من Korakot Chaovavanich.

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

بحثًا عن حل بديل ، طلبنا: “يرجى التأكد من تثبيت NLTK في بيئة Python وضمان إمكانية الوصول إليها بعد التثبيت”.

استجاب ChatGPT ، وقدم حلًا. اقترح إضافة الدليل المؤقت إلى sys.path ، مما يسمح لبيثون بالتعرف على استيراد وحدات من حزمة NLTK المضغوطة في ذلك الموقع. هذا التكتيك عمل بشكل رائع ، مما أدى إلى تثبيت NLTK بنجاح.

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

تثبيت مكتبات مخصصة في مترجم كود ChatGPT

في عرض مثير للاهتمام لقدرات المترجم ، أشار تويتر الأخير من @DominikPeters إلى عرض فريد. طلب Peters من GPT-4 إنشاء اختبار على أحياء باريس ، وقدم النموذج موقعًا عاملاً. يمكن الوصول إلى الاختبار العامل على dominik-peters.de/gpt-arrondissement-quiz/.

https://twitter.com/DominikPeters/status/1652630445639467008?s=20

الختام

انطلاق OpenAI مع مترجم كود ChatGPT هو تحول حقيقي للمبرمجين وغير المبرمجين على حد سواء. مرونته في التعامل مع مجموعة واسعة من المهام – من مساعدة المطورين في تصحيح الأخطاء إلى توليد اختبارات باريس بسهولة – هي شهادة على الإمكانيات غير المحدودة للذكاء الاصطناعي في تحسين تجاربنا الرقمية. هنا جوهر استكشافنا:

افهم أداتك: كما تفعل مع زميل ، تعرف على مترجم الكود. تم تصميمه على نموذج Codex ، الذي يتم تعدينه من GPT-4. تتنوع كفاءته عبر لغات برمجة متعددة ، مما يجعله رفيقًا مثاليًا لمغامرات الترميز.

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

ما وراء الكود فقط: لا تقتصر مساهمة المترجم على النص أو الكود. قدرته على التعامل مع صيغ ملفات متعددة ، من ملفات TXT البسيطة إلى نصوص PY المعقدة ، تبرز منفعةه عبر مجالات مختلفة.

لا تتوقف أبدًا عن التجربة: استكشافنا لتثبيت مكتبة NLTK يعكس أهمية الاستمرار والتعاون ، وهي قيم يتحلى بها مترجم الكود. إذا واجهت مشكلة ، فهناك دائمًا حل.

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

تم إنشاء الفيديو أعلاه باستخدام Gen-2 و Midjourney.

لتلخيص ، مترجم كود ChatGPT هو أكثر من مجرد أداة ؛ إنه يغير الطريقة التي نتواصل بها مع التكنولوجيا. لكل من المبتكرين والمتحمسين ، يpromises عالمًا مليئًا بإمكانيات الترميز.

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