مصدر الصورة: تم إنشاؤه بواسطة الذكاء الاصطناعي غير محدود
في وقت سابق من هذا العام ، أعلن مات ويلش أن البرمجة تقترب من نهايتها. كتب في ACM الاتصالات:
أعتقد أن الفكرة التقليدية ل "كتابة البرامج" تموت ، في الواقع ، للجميع باستثناء التطبيقات المتخصصة للغاية ، كما نعرفها ، سيتم استبدال معظم برمجة البرامج بأنظمة الذكاء الاصطناعي مدربة. في بعض الحالات التي تكون فيها هناك حاجة إلى برامج "بسيطة" فقط (بعد كل شيء ، لا يتطلب كل شيء نماذج لمئات المليارات من المعلمات التي تعمل على مجموعات GPU) ، سيتم إنشاء البرامج نفسها مباشرة بواسطة الذكاء الاصطناعي ، بدلا من ترميزها يدويا .
بعد بضعة أسابيع ، في خطاب ، وسع ويلز ملاحظات وفاته. ليس فقط فن البرمجة هو الذي يذهب إلى القبر ، ولكن علوم الكمبيوتر ككل. كل علوم الكمبيوتر "محكوم عليها بالفشل". (الصورة أدناه هي لقطة شاشة للخطاب.) )
لا يبدو أن منفذي هذه الرسائل الحزينة غارقون في الحزن. على الرغم من أن ويلش أصبح مدرسا وممارسا لعلوم الكمبيوتر (في هارفارد وجوجل وأبل وأماكن أخرى) ، إلا أنه يبدو حريصا على الانتقال إلى الخطوة التالية. "على أي حال ، كتابة التعليمات البرمجية تمتص!" وأعلن.
لست متفائلا جدا بشأن مستقبل ما بعد البرمجة. بادئ ذي بدء ، أنا متشكك. لا أعتقد أننا تجاوزنا عتبة الآلات لتتعلم حل المشكلات الحسابية المثيرة للاهتمام بمفردها. لا أعتقد أننا اقتربنا من ذلك بعد ، أو أننا نتحرك في الاتجاه الصحيح. علاوة على ذلك ، إذا اتضح أن وجهة نظري خاطئة ، فإن دافعي ليس الإذعان بل المقاومة. فمن ناحية، لا أرحب بسيدنا الذكاء الاصطناعي الجديد. حتى لو أثبتوا أنهم مبرمجون أفضل مني ، فسأستمر في استخدام محرر الكود والمترجم ، شكرا. "البرمجة تمتص؟" بالنسبة لي ، لطالما كان مصدر فرح وإلهام بالنسبة لي. أجدها أيضا أداة قيمة لفهم العالم. لست متأكدا أبدا مما إذا كنت أفهمها حتى أتمكن من تقليل الفكرة إلى رمز. للاستفادة من تجربة التعلم هذه ، كان علي أن أكتب البرنامج بالفعل بدلا من مجرد قول بعض الكلمات السحرية واستدعاء جني من مصباح علاء الدين الذكاء الاصطناعي.
نموذج لغة كبير
فكرة أن الآلات القابلة للبرمجة يمكنها كتابة برامجها الخاصة متجذرة بعمق في تاريخ الحوسبة. ألمح تشارلز باباج إلى هذا الاحتمال في وقت مبكر من عام 1836 عند مناقشة خطته لآلة تحليلية. عندما تم تقديم فورتران في عام 1957 ، كان اسمها الرسمي "نظام الترميز التلقائي FORTRAN". هدفها المعلن هو أن تقوم أجهزة الكمبيوتر "بترميز المشكلات لنفسها وإنتاج برامج جيدة (ولكن بدون أخطاء) مثل المبرمجين البشريين".
لا تقضي Fortran على حيل البرمجة (أو الأخطاء) ، ولكنها تجعل العملية أقل مملة. جلبت اللغات اللاحقة والأدوات الأخرى المزيد من التحسينات. ولم يحطم حلم البرمجة المؤتمتة بالكامل. يبدو أن الآلات أكثر ملاءمة للبرمجة من معظمها. أجهزة الكمبيوتر منهجية ومقيدة بالقواعد وسريعة وحرفية - كل هذه السمات (صحيحة أو خاطئة) مرتبطة بالمبرمجين الخبراء.
ومن المفارقات أن الأنظمة الذكاء الاصطناعي الجاهزة الآن لتولي مهام البرمجة ليست مثل أجهزة الكمبيوتر بشكل غريب. شخصياتهم تشبه ديانا تروي أكثر من بيانات القائد. الاتساق المنطقي والتفكير السببي والاهتمام الدقيق بالتفاصيل ليست نقاط قوتها. لديهم لحظات رائعة بشكل لا يصدق عندما يبدو أنهم يفكرون في أفكار عميقة ، ولكن لديهم أيضا إمكانية الفشل المذهل - أخطاء العقل الصارخة والوقحة. إنهم يذكرونني بمزحة قديمة: الناس يرتكبون أخطاء ، ويتطلب الأمر جهاز كمبيوتر لإفساد الأمور حقا.
أحدث نظام الذكاء الاصطناعي يسمى نموذج اللغة الكبيرة (LLM). مثل معظم الاختراعات الذكاء الاصطناعي الحديثة الأخرى ، فهي مبنية على شبكات عصبية اصطناعية ، وهي بنية متعددة الطبقات مستوحاة من بنية الدماغ. تشبه عقد الشبكة الخلايا العصبية البيولوجية ، وتعمل الروابط بين العقد كنقاط اشتباك عصبي ، وهي نقاط الاتصال التي تنتقل فيها الإشارات من خلية عصبية إلى أخرى. يمكن لشبكة التدريب ضبط قوة أو وزن الاتصال. في نموذج اللغة ، يتم التدريب عن طريق فرض كمية كبيرة من النص في الشبكة. عند اكتمال العملية ، تقوم أوزان الانضمام بترميز إحصائيات مفصلة حول الميزات اللغوية لنص التدريب. في النموذج الأكبر ، يبلغ عدد الأوزان 100 مليار أو أكثر.
في هذه الحالة ، يمكن أن يكون مصطلح النموذج مضللا. لا يشير المصطلح إلى النماذج المصغرة أو النماذج المصغرة ، مثل الطائرات النموذجية. بدلا من ذلك ، يشير إلى النماذج التنبؤية ، مثل النماذج الرياضية الشائعة في العلوم. مثلما تتنبأ نماذج الغلاف الجوي بطقس الغد ، تتنبأ نماذج اللغة بالكلمة التالية في الجملة.
أشهر نموذج لغوي واسع النطاق هو ChatGPT ، الذي تم إصداره للجمهور في الخريف الماضي وجذب اهتماما كبيرا. اختصار GPT Gee Pee Tee: لساني يتعثر باستمرار على هذه المقاطع الثلاثة القافية. منتجات الذكاء الاصطناعي الأخرى لها أسماء لطيفة ، مثل بارت ، كلود ، لاما. أتمنى أن أتمكن من إعادة تسمية GPT بنفس الروح. أود أن أسميها Geppetto ، وهي تردد نمط الحروف الساكنة. GPT تعني المحولات التوليدية المدربة مسبقا. تم تجهيز إصدار الدردشة من النظام ب HMI للمحادثة. تم تطوير ChatGPT بواسطة OpenAI ، التي تأسست في عام 2015 لتحرير الذكاء الاصطناعي من سيطرة حفنة من شركات التكنولوجيا الثرية. لقد أنجزت OpenAI هذه المهمة بنجاح لدرجة أنها أصبحت شركة تقنية ثرية.
ChatGPT مثير للإعجاب وصادم على حد سواء لصياغته ، والقدرة على التحدث بشكل جيد ، والطلاقة في اللغة الإنجليزية ، ولغات أخرى. يمكن لروبوت الدردشة تقليد المؤلفين المشهورين ، وإخبار النكات ، وكتابة رسائل الحب ، وترجمة الشعر ، وكتابة الرسائل غير المرغوب فيها ، و "مساعدة" الطلاب في الواجبات المنزلية ، وتلفيق معلومات مضللة للمعلومات السياسية المضللة. للأفضل أو للأسوأ ، تمثل هذه القدرات اللغوية تطورات تكنولوجية مذهلة. أجهزة الكمبيوتر التي كافحت ذات مرة لبناء جملة مفهومة أصبحت فجأة سادة الكلمات. ما تقوله GPT قد يكون أو لا يكون صحيحا ، لكنه دائما ما يكون مصاغا جيدا.
بعد وقت قصير من إصدار ChatGPT ، فوجئت عندما وجدت أن إتقانها للغة امتد إلى لغات البرمجة. يبدو أن مجموعة تدريب النموذج لا تتضمن لغات طبيعية متعددة فحسب ، بل تتضمن أيضا كمية كبيرة من التعليمات البرمجية المصدر للبرنامج من المستودعات العامة مثل GitHub. بناء على هذا المورد ، تستطيع GPT كتابة برامج جديدة بناء على الأوامر. لقد وجدت هذا مفاجئا لأن أجهزة الكمبيوتر من الصعب إرضاءها ولا هوادة فيها بشأن مدخلاتها. على الرغم من أن أجهزة الكمبيوتر تحتوي أحيانا على أخطاء صغيرة مثل الأخطاء الإملائية ، إلا أن القراء البشريين يكافحون لفهم الجملة. ولكن إذا حصل الكمبيوتر على مدخلات حتى بفاصلة واحدة أو قوس غير متطابق ، فسوف يتقيأ مشوها. يبدو من غير المرجح أن تحافظ النماذج اللغوية ذات الخصائص الإحصائية أو الاحتمالية المحتملة على الدقة المطلوبة بعد بضعة أسطر.
كنت مخطئا مرة أخرى في هذا الأمر. ابتكار رئيسي في نماذج اللغة الكبيرة ، آلية الانتباه ، يحل هذه المشكلة. عندما بدأت تجربة ChatGPT ، اكتشفت بسرعة أنه يمكنه بالفعل إنشاء برامج دون أخطاء نحوية مهملة.
لكن تبع ذلك مشاكل أخرى.
تسلق سلم الكلمة
عندما تجلس للدردشة مع آلة ، تواجه على الفور سؤالا محرجا: "ما الذي يجب أن نتحدث عنه؟" أنا أبحث عن موضوع يقيس إلى حد ما قدرات برمجة ChatGPT. أريد مشكلة يمكن حلها بالوسائل الحسابية ، لكن هذا لا يتطلب الكثير من الحساب ، والذي يعتبر أحد نقاط الضعف في نماذج اللغة الكبيرة. اخترت لعبة الجناس الناقص التي اخترعها لويس كارول قبل 150 عاما وتحليلها بعمق من قبل دونالد E. Knuth في 90 من القرن 20 .
في النص أدناه ، يتم وضع علامة على كل تبادل من جانبي BR ؛ الوردة هي شعار OpenAI الذي يحدد استجابة ChatGPT.
عندما رأيت هذه الجمل تتكشف على الشاشة - يقوم روبوت الدردشة بكتابتها كلمة بكلمة ، غير منتظمة بعض الشيء ، كما لو كان يتوقف لفرز أفكاري - أذهلتني على الفور قدرة النظام على اللغة الإنجليزية. يسرد GPT جميع الميزات الأساسية لكلمة سلم في نثر بسيط وقوي: إنها لعبة أو لغز حيث تنتقل من كلمة إلى أخرى عن طريق تغيير حرف واحد في كل مرة ، ويجب أن تكون كل درجة من السلم كلمة إنجليزية ، والهدف هو العثور على أقصر تسلسل ممكن من كلمة البداية إلى الكلمة المستهدفة. أنا لا أستطيع شرح ذلك بشكل أفضل. الأكثر فائدة هو مثال عمل COLD-> WARM.
ليست الجمل الفردية فقط هي التي تعطي انطباعا بالقدرة اللغوية. يتم تنظيم الجمل في فقرات ، والتي يتم ربطها معا لتشكيل خطاب متماسك. عظيم!
ومن الجدير بالذكر أيضا قدرة الروبوت على التعامل مع المدخلات الغامضة والقذرة. تمت صياغة استفساري الأولي كسؤال نعم أو لا ، لكن ChatGPT فسره بشكل صحيح على أنه طلب: "أخبرني بما تعرفه عن كلمة سلم". تتجاهل تعليماتي الثانية أي إشارات مطبعية تشير إلى أنه يجب فهم الرصاص والذهب على أنهما كلمات وليس معدن. كان من المفترض أن يزودني chatbot بوصفات الكيمياء ، لكنه قدم الاقتباسات المفقودة.
ومع ذلك ، إذا وضعنا جانبا كل هذا التعقيد اللغوي والبلاغي ، فإن ما أردت حقا اختباره هو قدرة البرنامج على حل مشكلة سلم الكلمات. يمكن العثور على كلا المثالين من النص أعلاه على الويب ، لذلك من المحتمل أن يظهرا في بيانات تدريب ChatGPT. بمعنى آخر ، قد تتذكر نماذج اللغة الكبيرة الحلول ببساطة بدلا من بنائها. لذلك قدمت مهمة أكثر صرامة:
للوهلة الأولى ، يبدو أن ChatGPT قد انتصر مرة أخرى ، حيث حل لغزا أنا متأكد من أنه لم يواجهه من قبل. لكن ألق نظرة فاحصة. يتطلب MARSH -> MARIS استبدالا من حرفين ، كما يفعل PAREL - > أبريل. ويمكن أيضا التشكيك في وضع MARIS و PARIL باعتبارهما "كلمات صحيحة". لقد اشتكيت:
ياه! يقدم الروبوت اعترافات واعتذارات زلقة ، لكن السلم "الصحيح" أكثر جنونا من أي وقت مضى. يبدو أننا نلعب Scrabble مع Humpty Dumpty في قافية حضانة Mother Goose ونعلن أيضا "أقول أن APRCHI كلمة ، إنها كلمة!" ثم تفريق جميع البلاط.
هذا ليس فشلا منفصلا وفريدا. كل محاولاتي لحل كلمة سلم مع ChatGPT خرجت عن المسار الصحيح ، وإن لم يكن دائما بنفس الطريقة. في إحدى الحالات ، طلبت سلما من REACH إلى GRASP. الذكاء الاصطناعي الخبراء التوصل إلى هذا الحل:
الوصول -> تعليم -> الخوخ -> السلام -> خطوات -> بارس -> تحليل -> تحليل -> تحليل -> تحليل -> الحدائق -> الحدائق -> الحدائق -> الحدائق -> PARES -> GRASP.
وهذا:
السيف -> سوارد -مكافأة > -> إعادة رسم -> إعادة رسم -> إعادة رسم -> إعادة رسم -> إعادة رسم -> إعادة رسم -> سداد -إصلاح > -السلام >
نحن الآن نثرثر مثل الأطفال الصغار الذين تعلموا للتو العد: "واحد ، اثنان ، ثلاثة ، أربعة ، أربعة ، ثلاثة ، أربعة ، أربعة ، سبعة ، أزرق ، عشرة!" "
تم توثيق جميع النتائج التي عرضتها حتى الآن باستخدام الإصدار 3.5 من ChatGPT. لقد جربت أيضا الإصدار 4.0 الجديد والمحسن ، والذي صدر في مارس. ينضح الروبوت المحدث بنفس الثقة الودية ، لكنني أخشى أن يكون له نفس الميول ، ويقع في عدم الاتساق العرضي:
يبدأ السلم بشكل جيد بأربع خطوات ، باتباع جميع القواعد. ولكن بعد ذلك يتشتت انتباه الذكاء الاصطناعي. يتطلب الانتقال من PLAGE إلى PAGES استبدالا مكونا من أربعة أحرف. ثم هناك PASES ، وهي ليست كلمة (على حد علمي) وليست هناك حاجة إليها هنا على أي حال ، لأن التسلسلات يمكن أن تنتقل مباشرة من الصفحات إلى الأقساط. تبع ذلك المزيد من الغباء. ومع ذلك ، فأنا أقدر مذكرة المعلومات حول PLAGE.
لقد أتيحت لي مؤخرا فرصة لتجربة Llama 2 ، وهو ماجستير في القانون نشرته Meta (أشخاص Facebook). على الرغم من أن هذا النموذج تم تطويره بشكل مستقل عن GPT ، إلا أنه يبدو أنه يحتوي على بعض المراوغات النفسية نفسها ، مثل وضع القواعد ثم تجاهلها. عندما طلبت سلما يربط بين REACH و GRASP ، اقترح Llama 2 هذا:
الوصول -> تعليم -> ديتش -> الترشيح -> الكلام -> مقعد -> قدم -> مشبك
** النبوءة ورمز القرد **
يذكر مات ويلش وضعين للتشغيل لأنظمة الحوسبة المبنية على نماذج لغوية كبيرة. حتى الآن ، كنا نعمل في ما أسميه الوضع النبوي ، حيث تطرح سؤالا ويعيد الكمبيوتر إجابة. أنت تقدم زوجا من الكلمات ، ويجد النظام سلما يربطهم ويقوم بإجراء أي حسابات مطلوبة للوصول إلى هناك. يمكنك تسليم صندوق أحذية مليء بالسجلات المالية ، ويملأ الكمبيوتر نموذج 1040 الخاص بك. تقوم بتجميع بيانات المناخ التاريخية ، ويتنبأ الكمبيوتر بمتوسط درجة الحرارة العالمية في عام 2050.
البديل لأوراكل الذكاء الاصطناعي هو الذكاء الاصطناعي Code Monkey. في الوضع الثاني ، لا يجيب الجهاز مباشرة على أسئلتك أو يقوم بإجراء حساباتك ؛ بدلا من ذلك ، يقوم بإنشاء برنامج يمكن تشغيله على جهاز كمبيوتر تقليدي. بدلا من سلم الكلمات من الروبوت الخاص بك ، يمكنك إرجاع برنامج يقوم بإنشاء سلم كلمات ، مكتوب بلغة البرمجة التي تختارها. بدلا من ملء إقرار ضريبي كامل ، تحصل على برنامج إعداد الضرائب ؛ تحل النماذج المناخية محل تنبؤات درجات الحرارة.
دعنا نجربها مع ChatGPT 3.5:
يمكنك استخدام ميزة wordLadder لحل ألغاز السلم. فيما يلي مثال على الاستخدام:
إخراجها هو:
لاحظ أن هذا عرض توضيحي أساسي ، وبالنسبة للسلالم الأكبر أو السيناريوهات الأكثر تعقيدا ، قد تكون هناك حاجة إلى تحسينات أو خوارزميات إضافية ، مثل البحث عن الاتساع أولا.
مرة أخرى ، تظهر نظرة خاطفة على الإخراج أن الأداء كان ناجحا. يبدو أن ChatGPT يجيد جافا مثل اللغة الإنجليزية. إنه يعرف بناء جملة if و while و for statements ، بالإضافة إلى جميع قواعد علامات الترقيم والأقواس صعب الإرضاء. يبدو أن البرامج التي تم إنشاؤها آليا تجمع بين كل هذه المكونات لإنجاز مهمة محددة. انتبه أيضا إلى العدد الكبير من التعليقات التوضيحية ، والتي هي بالتأكيد لصالحنا ، وليس لها. وبالمثل ، أسماء المتغيرات الوصفية (currentWord ، newWord ، سلم).
يتضمن ChatGPT أيضا بشكل استباقي إرشادات لتشغيل البرنامج على مثال محدد (من مارس إلى أبريل) ، ويطبع النتيجة التي تتطابق مع الإجابة الواردة في تبادلنا السابق. هل هذا الناتج ناتج عن تشغيل البرنامج بالفعل؟ لا يقول ChatGPT ذلك صراحة ، لكنه يدعي أنه إذا قمت بتشغيل البرنامج وفقا للتعليمات ، فستحصل على النتائج المعروضة (بكل مجد سخيف).
يمكننا اختبار هذا البيان عن طريق تحميل البرنامج في متصفح الويب أو بيئة تنفيذ Java أخرى. الاستنتاج: اشتعلت! تم تشغيل البرنامج ، لكنه لم ينتج النتيجة المحددة. الناتج الحقيقي للبرنامج هو: مارس - > آرتش -> أرش -> أبريل -> أبريل. هذا التسلسل ليس غريبا جدا لأنه يتبع قاعدة تغيير حرف واحد فقط في كل مرة ، وجميع "الكلمات" لها خمسة أحرف بالضبط. من ناحية أخرى ، لا يمكن العثور على "كلمة" وسيطة في قواميس اللغة الإنجليزية.
هناك خوارزمية بسيطة تولد تسلسلات مارس -> آرتش -> أرش -> أبريل -> أبريل. ما عليك سوى الانتقال إلى كلمة البداية خطوة بخطوة من اليسار إلى اليمين ، وتغيير الحرف في كل موضع لمطابقة الحرف المقابل في الكلمة المستهدفة. باتباع هذه القاعدة ، يمكن ترتيب أي زوج من الكلمات المكونة من خمسة أحرف في خطوات لا تزيد عن خمس خطوات. مارس - > أبريل يستغرق أربع خطوات فقط لأن R في المنتصف لا يحتاج إلى تغيير. لا أستطيع أن أتخيل طريقة أسهل لعمل سلم للكلمات - على افتراض ، بالطبع ، أنك على استعداد لجعل أي مزيج من الحروف يعتبر كلمة واحدة.
يمكن للبرنامج الذي أنشأه ChatGPT استخدام هذا الروتين السريع والقذر ، لكنه يفعل شيئا أكثر مملة: فهو يبني جميع السلالم الممكنة ، أولها كلمة البداية ، ويستمر في توسيع تلك السلالم حتى يتعثر على واحد يحتوي على الكلمة المستهدفة. هذه خوارزمية القوة الغاشمة المهدرة. يمكن تغيير كل حرف من كلمة البداية ب 25 طريقة. وبالتالي ، فإن الكلمة المكونة من 5 أحرف لها 125 خلفا محتملا. عندما تصل إلى السلم المكون من خمس خطوات ، هناك 190 مليون احتمال. (الأمثلة التي قدمتها هنا ، مثل مارس - > أبريل و REACH-> GRAMP ، لها حرف ثابت ، لذا فإن الحل يستغرق أربع خطوات فقط.) محاولة حساب الحل الكامل المكون من خمس خطوات استنزفت صبري. )
** 4 جيل كود القرد **
دعنا نجرب نفس تمرين الترميز مع ChatGPT 4. بالنظر إلى نفس التلميح ، يستجيب الروبوت الجديد على النحو التالي:
يحتوي البرنامج على نفس الهيكل العام (حلقة بينما مع حلقتين متداخلتين للحلقات بالداخل) ويستخدم نفس الإستراتيجية الخوارزمية (توليد جميع السلاسل التي تختلف عن كلمة معينة في مكان واحد). لكن إصدار GPT-4 لديه حداثة كبيرة: التعرف على قائمة الكلمات أمر ضروري. مع هذا التغيير ، لدينا أخيرا أمل في توليد سلم من الكلمات الحقيقية.
على الرغم من أن GPT-4 يدرك الحاجة إلى قائمة ، إلا أنه يوفر فقط عنصرا نائبا ، وهو التسلسل المكون من 10 كلمات الذي يقوم بتكوينه لمثال REACH-> GRASP المذكور أعلاه. بذرة قائمة الكلمات هذه قليلة الفائدة ، ولا حتى لتجديد سلم "REACH-to-GRASP" المزيف. إذا حاولت القيام بذلك ، فسيقوم البرنامج بالإبلاغ عن عدم وجود سلم. لا حرج في هذه النتيجة ، لأن 10 كلمات معينة لا تشكل مسارا فعالا لتغيير حرف واحد فقط لكل خطوة.
حتى إذا تم اختيار الكلمات في القائمة بعناية ، فإن مفردات 10 ضئيلة للغاية. يبدو إنشاء قوائم كلمات أكبر مهمة سهلة لنماذج اللغة. بعد كل شيء ، يتم تدريب LLM على مجموعة ضخمة من النصوص ، حيث من المرجح أن تظهر جميع الكلمات الإنجليزية تقريبا مرة واحدة على الأقل ، بينما تظهر الكلمات الشائعة ملايين المرات. ألا يستطيع الروبوت أخذ عينة تمثيلية من هذه الكلمات؟ من الواضح أن الجواب هو لا. على الرغم من أنه يمكن القول أن GPT قد "قرأ" كل هذا النص ، إلا أنه لا يخزن هذه الكلمات بأي شكل يسهل الوصول إليه. (الشيء نفسه ينطبق على القراء من البشر). هل يمكنك عمل قائمة بأكثر 10 كلمات مكونة من خمسة أحرف شيوعا في مفرداتك من خلال النظر إلى الوراء في تجارب القراءة مدى الحياة؟
عندما طلبت من ChatGPT 4 إنشاء قائمة بالكلمات ، اعترض معتذرا: "أنا آسف للارتباك ، ولكن ك الذكاء الاصطناعي طورته OpenAI ، لا يمكنني الوصول مباشرة إلى قاعدة بيانات الكلمات أو الحصول على القدرة على الحصول على البيانات من مصادر خارجية ..." لذلك جربت بعض الحيل وطلبت من الروبوت كتابة قصة من 1000 كلمة ثم فرز كلمات القصة حسب التردد. نجحت الحيلة ، لكن العينة كانت صغيرة جدا بحيث لا تكون ذات فائدة كبيرة. طالما التزمت بها ، فقد أتمكن من إقناع قائمة مقبولة من GPT ، لكنني أتخذ اختصارا. بعد كل شيء ، أنا لست الذكاء الاصطناعي تم تطويره بواسطة OpenAI ، ولدي إمكانية الوصول إلى الموارد الخارجية. لقد خصصت قائمة من 5757 كلمة إنجليزية مكونة من خمسة أحرف جمعها كنوث لتجربة سلم الكلمات. باستخدام هذه القائمة ، ستجد البرامج المكتوبة في GPT-4 مخطط السلم التالي المكون من تسع خطوات:
الوصول إلى > الخوخ - السلام > - مكان > - طائرة > - خطط > - > جلان - زجاج > - عشب > - > مشبك
تتطابق هذه النتيجة تماما مع ناتج برنامج السلم الخاص ب Knuth ، والذي نشره قبل 30 عاما في Stanford Graphbase.
في هذه المرحلة ، يجب أن أعترف أنه مع القليل من المساعدة الخارجية ، لبت ChatGPT طلبي أخيرا. يكتب برنامجا يمكنه بناء سلم كلمات صالح. ولكن لا يزال لدي تحفظات. على الرغم من أن GPT-4 و Knuth يكتبان برامج تنتج نفس المخرجات ، إلا أن البرامج نفسها ليست متكافئة أو حتى متشابهة.
تعامل كنوث مع هذه المشكلة في الاتجاه المعاكس ، حيث لم يبدأ بمجموعة من جميع السلاسل الممكنة المكونة من خمسة أحرف (والتي يقل عددها عن 12 مليونا) ، ولكن بقائمته الأصغر بكثير المكونة من 5757 كلمة إنجليزية شائعة. ثم يقوم ببناء رسم بياني (أو شبكة) حيث تكون كل كلمة عقدة ، ويتم توصيل العقدتين بواسطة حواف إذا وفقط إذا كانت الكلمات المقابلة تختلف بحرف واحد. يوضح الرسم التوضيحي التالي جزءا من هذا الرسم التخطيطي.
في الرسم التخطيطي ، سلم الكلمات عبارة عن سلسلة من الحواف من عقدة البداية إلى العقدة الهدف. أفضل سلم هو أقصر طريق ، يجتاز أقل عدد من الجوانب. على سبيل المثال ، أفضل مسار من المقود إلى الريش هو المقود -> الترشيح -> الوصول إلى -> الريش ، ولكن هناك أيضا مسارات أطول مثل المقود -> الترشيح -> الشاطئ -> الخوخ -> الوصول -> الخشن. للعثور على أقصر طريق ، استخدم Knuth خوارزمية ابتكرها Edsger W. Dijkstra في 50 من القرن 20 .
يتطلب برنامج سلم الكلمات في Knuth استثمارا مقدما لتحويل قائمة كلمات بسيطة إلى مخطط. من ناحية أخرى ، فإنه يتجنب إهدار توليد الآلاف أو الملايين من السلاسل المكونة من خمسة أحرف والتي لا يمكن أن تكون عناصر من الأخير. في حل مشكلة REACH-> GRASP ، أنتج برنامج GPT-4 219,180 سلسلة من هذا القبيل. فقط 2,792 منهم (ما يزيد قليلا عن 1٪) هي كلمات حقيقية.
إذا تم تقديم إجراءات سلم الكلمات المختلفة التي أصفها من قبل الطلاب ، فسأعطي درجة رسوب للإصدار بدون قائمة كلمات. سيمر برنامج GPT-4 مع القائمة ، ولكن من أجل الكفاءة والأناقة ، سأمنح برنامج Knuth أعلى الدرجات فقط.
لماذا تفضل روبوتات المحادثة الخوارزميات الرديئة؟ يمكنك ببساطة البحث في Google عن "برنامج سلم الكلمات" للحصول على أدلة. جاءت جميع النتائج ذات الترتيب الأعلى تقريبا من مواقع مثل Leetcode و GeeksForGeeks و RosettaCode. من الواضح أن هذه المواقع تهدف إلى تلبية احتياجات الباحثين عن عمل والمنافسين في مسابقات البرمجة ، مع حلول تتطلب إنشاء جميع المتغيرات المكونة من حرف واحد البالغ عددها 125 لكل كلمة ، تماما مثل برامج GPT. نظرا لوجود العديد من هذه المواقع - يبدو أن هناك المئات - فهي أكثر أهمية من المصادر الأخرى ، مثل كتاب Knuth (إذا ظهر النص في مجموعة التدريب). هل هذا يعني أننا يجب أن نلوم Leetcode على اختيار الخوارزمية الخاطئ ، وليس GPT؟ بدلا من ذلك ، أود أن أشير إلى نقاط الضعف الحتمية للبروتوكول ، وأكثرها شيوعا هي الإجابة الصحيحة افتراضيا.
كلما اعتقدت أنه يتم كتابة نماذج لغوية كبيرة لجميع برامجنا ، يطاردني قلق آخر ذي صلة. من أين تأتي الخوارزميات الجديدة؟ قد يكون نموذج لغة الكلية مبدعا في إعادة مزج عناصر المشاريع الحالية ، لكنني لا أرى أي طريقة يمكنه من خلالها اختراع شيء جديد تماما وأفضل.
** كفى من كلمة سلم! **
سأعترف أنني ذهبت بعيدا جدا ، وتعذيب ChatGPT مع العديد من المتغيرات لمشكلة معينة (وغير ذات صلة). ربما يكون أداء نماذج اللغة الجامعية أفضل في المهام الحسابية الأخرى. لقد جربت عدة ، مع نتائج مختلطة. أريد فقط مناقشة أحدها ، وأجد جهود ChatGPT مؤثرة إلى حد ما.
مع ChatGPT 3.5 ، أطلب قيمة رقم فيبوناتشي رقم 100. لاحظ أنه تم طرح سؤالي في وضع Oracle. أنا أطلب هذا الرقم ، وليس برنامجا يحسبه. ومع ذلك ، يكتب ChatGPT طواعية برنامج فيبوناتشي ثم يعرض ناتج هذا البرنامج.
الخوارزمية التي ينفذها هذا البرنامج صحيحة رياضيا. يأتي مباشرة من تعريف تسلسل فيبوناتشي ، وهو عضو في تسلسل يبدأ من {0 ، 1} ، مع كل عنصر لاحق يساوي مجموع العنصرين الأولين. الإجابة المعطاة صحيحة أيضا: 354224848179261915075 هو بالفعل رقم فيبوناتشي رقم 100. إذن ما هي المشكلة؟ إنها الجملة الوسطى: "عند تشغيل هذا الرمز ، سيخرج رقم فيبوناتشي رقم 100." هذا ليس صحيحا. إذا قمت بتشغيل الكود ، فستحصل على القيمة الخاطئة 354224848179262000000. توفر الإصدارات الحديثة من Java نوع بيانات BigInt لحل هذه المشكلة ، ولكن يجب تحديد BigInt صراحة ، وهو ما لا تفعله برامج ChatGPT. سبب هذا الشذوذ هو أن Java تستخدم حساب الفاصلة العائمة ، حتى بالنسبة للقيم الصحيحة. وفقا لمعيار الفاصلة العائمة IEEE ، فإن الحد الأقصى لعدد صحيح يمكن تمثيله دون فقدان الدقة هو 253−1 ؛ رقم فيبوناتشي رقم 100 هو 268 تقريبا. هذا ما أسميه التفكير المؤثر: يعطي ChatGPT الإجابة الصحيحة ، لكن الطريقة التي يدعي استخدامها لحساب هذه الإجابة لا توفرها. يجب أن يكون الروبوت قد وجد القيمة الصحيحة ببعض الوسائل الأخرى ، ولكن لم يتم الكشف عن الطريقة الدقيقة.
إن إعطاء نفس المهمة ل ChatGPT 4.0 سيأخذنا في رحلة أكثر غرابة. في التفاعل التالي ، قمت بتنشيط Code Interpreter ، وهو مكون إضافي ChatGPT يسمح للنظام باختبار وتشغيل بعض التعليمات البرمجية التي يكتبها. على ما يبدو ، استفاد الروبوت من هذه الميزة ، حيث توصل أولا إلى برنامج فشل لأسباب غير معروفة:
هنا يتم كتابة ChatGPT بلغة Python ، لغة البرمجة الرئيسية التي يدعمها مترجم الكود. استندت المحاولة الأولى لكتابة برنامج إلى أس مصفوفات فيبوناتشي:
هذه طريقة معروفة وفعالة ، ويقوم البرنامج بتنفيذها بشكل صحيح. ومع ذلك ، لأسباب غامضة ، لا يمكن لمترجم التعليمات البرمجية تنفيذ البرنامج. (تعمل التعليمة البرمجية بشكل جيد في بيئة Python القياسية وترجع الإجابة الصحيحة.) )
في هذه المرحلة ، سوف يتحول الروبوت في اتجاه جديد تماما ويقلع ، مما يشير إلى حساب قيمة فيبوناتشي المطلوبة بواسطة هوية رياضية تسمى صيغة بينيه. لقد كتبت تعبيرات رياضية ، لكنها غيرت رأيها بعد ذلك. إنه يتنبأ بشكل صحيح بمشكلة الدقة العددية: بالنظر إلى القيمة الدقيقة للجذر التربيعي ل 5 ، ستنتج الصيغة نتيجة دقيقة ، لكن هذا غير ممكن.
حتى الآن اتخذت ChatGPT استراتيجية مختلفة ، باستخدام نفس الخوارزمية التكرارية مثل الإصدار 3.5. هذه المرة حصلنا على الإجابة الصحيحة لأن Python (على عكس Java) ليس لديها أي مشاكل في التعامل مع الأعداد الصحيحة الكبيرة.
لقد تأثرت بهذا الأداء ، ليس فقط بالإجابة الصحيحة ، ولكن أيضا بالمثابرة الشجاعة للنظام. على الرغم من مشاكل ChatGPT ، فقد ثابرت ، في حيرة من الصعوبات غير المتوقعة لكنها رفضت الاستسلام. "حسنا ، يجب أن تعمل طريقة المصفوفة هذه. ولكن ، على أي حال ، دعنا نجرب صيغة Binet ... أوه انتظر ، لقد نسيت ... على أي حال ، ليست هناك حاجة لأن تكون خياليا جدا حول هذا الموضوع. دعونا نفعل ذلك بطريقة واضحة وبطيئة. أشعر أنه نهج إنساني للغاية لحل المشكلات. من الغريب أن نرى هذا السلوك في الآلات.
** سجل درجات النجاح والفشل **
جعلتني تجربتي الصغيرة أشك في الادعاء بأن الذكاء الاصطناعي أوراكل الشفرة الذكاء الاصطناعي على وشك مزاحمة المبرمجين البشريين. لقد رأيت بعض النجاح ، ولكن أكثر من الفشل. تم تجميع هذا السجل القاتم على مهام حسابية بسيطة نسبيا وحلولها معروفة جيدا ومنشورة على نطاق واسع.
قام آخرون بإجراء تقييم أوسع وأعمق لتوليد كود LLM. في الببليوغرافيا في نهاية هذه المقالة ، أدرج خمس دراسات من هذا القبيل. وأود أن ألخص بإيجاز بعض النتائج التي أبلغوا عنها.
قبل عامين، بذل مارك تشين وأكثر من 50 زميلا في OpenAI الكثير من الجهد لقياس دقة الدستور الغذائي، وهو فرع من ChatGPT 3 مخصص لكتابة التعليمات البرمجية. (أصبح الدستور الغذائي منذ ذلك الحين المحرك الذي يشغل GitHub Copilot ، "مساعد المبرمج"). ) مجموعة من 164 مهمة يمكن القيام بها عن طريق كتابة برامج بايثون. هذه المهام هي في الغالب تمارين الكتب المدرسية ، ومسابقات البرمجة ، وأنواع في الأدبيات (المذهلة) حول كيفية القيام بعمل جيد في ترميز مقابلات العمل. يمكن إكمال معظم المهام ببضعة أسطر من التعليمات البرمجية. مثال: احسب عدد حروف العلة في كلمة معينة ، وحدد ما إذا كان العدد الصحيح أوليا أم مركبا.
كما فكر فريق البروفيسور تشين في معايير تعريف النجاح والفشل. نظرا لأن عملية LLM غير حتمية (يعتمد اختيار الكلمات على الاحتمال) ، فقد يولد النموذج برنامجا معيبا في المحاولة الأولى ، ولكنه سينتج في النهاية الاستجابة الصحيحة إذا سمح للمحاولة بالاستمرار. تتحكم معلمة تسمى درجة الحرارة في درجة عدم اليقين. عند درجة حرارة الصفر ، يختار النموذج دائما الكلمة الأكثر احتمالا في كل خطوة ؛ مع ارتفاع درجة الحرارة ، يتم إدخال العشوائية ، مما يسمح باختيار الكلمات غير المحتملة. تشين وآخرون. ضع في اعتبارك إمكانية حدوث هذا التغيير من خلال اعتماد ثلاثة معايير للنجاح:
pass@1: يقوم LLM بإنشاء البرنامج الصحيح في المحاولة الأولى
pass@10: واحد على الأقل من البرامج ال 10 التي تم إنشاؤها صحيح
pass@100: واحد على الأقل من البرامج ال 100 التي تم إنشاؤها صحيح
يتم إجراء Pass@1 الاختبارات عند درجة حرارة الصفر ، لذلك يعطي النموذج دائما أفضل تخمين. يتم إجراء تجارب pass@10 و pass@100 في درجات حرارة أعلى ، مما يسمح للنظام باستكشاف مجموعة واسعة من الحلول المحتملة.
قام المؤلفون بتقييم إصدارات متعددة من الدستور الغذائي في جميع المهام ال 164. وبالنسبة لأكبر وأقوى نسخة من الدستور الغذائي، يبلغ معدل pass@1 حوالي 29٪، ومعدل pass@10 47٪، ويصل pass@100 إلى 72٪. هل يجب أن نعجب أو نصدم عندما نرى هذه الأرقام؟ هل يستحق الاحتفال بأن الدستور الغذائي كان على حق في المحاولة الأولى ما يقرب من ثلث الوقت (عندما يتم ضبط درجة الحرارة على الصفر)؟ أو إذا كنت على استعداد لفحص 100 خطة مقترحة للعثور على الخطة الصحيحة ، فقد ارتفع معدل النجاح إلى ما يقرب من ثلاثة أرباع؟ رأيي الشخصي هو: إذا نظرت إلى الجيل الحالي من LLM كجهد رائد في برنامج بحثي طويل الأجل ، فإن النتائج مشجعة. ولكن إذا كنت تعتقد أن التكنولوجيا يمكن أن تحل على الفور محل البرامج المشفرة يدويا ، فهناك أمل ضئيل. ما زلنا بعيدين عن المستوى الضروري من الموثوقية.
وقد أسفرت دراسات أخرى عن نتائج مماثلة على نطاق واسع. فريدريكو كاسانو وآخرون. تقييم أداء العديد من LLMs توليد التعليمات البرمجية في مجموعة متنوعة من لغات البرمجة ؛ يبلغون عن مجموعة واسعة من معدلات pass@1 ، لكن اثنين فقط يتجاوزان 50٪. اختبر Alessio Buscemi ChatGPT 3.5 على 40 مهمة ترميز ، تتطلب برامج مكتوبة ب 10 لغات وتكرار كل استعلام 10 مرات. من بين 4000 تجربة ، أنتجت 1833 رمزا يمكن تجميعه وتنفيذه. ليو زيجي وآخرون. يعتمد تقييمهم ل ChatGPT على الأسئلة المنشورة على موقع Leetcode. احكم على النتائج عن طريق إرسال الكود الذي تم إنشاؤه إلى عملية تسجيل Leetcode الآلية. تراوح متوسط معدل القبول لجميع الأسئلة من 31٪ للبرامج المكتوبة بلغة C إلى 50٪ لبرامج Python. ليو وآخرون. ملاحظة أخرى مثيرة للاهتمام: سجل ChatGPT أسوأ بكثير في الأسئلة المنشورة بعد سبتمبر 2021 (الموعد النهائي لمجموعة تدريب GPT). يتكهنون بأن الروبوت قد يكون أكثر قدرة على حل المشكلات السابقة لأنه رأى بالفعل حلا أثناء التدريب.
تتجاوز ورقة بحثية حديثة نشرها لي تشونغ وزيلونغ وانغ السؤال الأساسي حول صحة البرنامج وتنظر في المتانة والموثوقية. هل يستجيب البرنامج الذي تم إنشاؤه بشكل صحيح للإدخال الخاطئ أو الأخطاء الخارجية ، مثل عند محاولة فتح ملف غير موجود؟ على الرغم من أن موجه LLM تضمن مثالا يوضح كيفية التعامل مع مثل هذه المشكلات بشكل صحيح ، وجد Zhong و Wang أن الكود الذي تم إنشاؤه فشل في القيام بذلك بنسبة 30 إلى 50 بالمائة من الوقت.
بالإضافة إلى هذه النتائج المحبطة ، لدي المزيد من الشكوك. يتم إجراء جميع الاختبارات تقريبا من خلال مقتطفات التعليمات البرمجية القصيرة. قد يواجه LLM الذي يواجه صعوبة في كتابة برنامج مكون من 10 أسطر صعوبة أكبر في كتابة برنامج مكون من 100 سطر أو 1000 سطر. أيضا ، يعد تصنيف النجاح / الفشل البسيط مقياسا تقريبيا جدا لجودة الكود. ولنتأمل هنا اختبار الأولية في مجموعة معايير مجموعة تشين. هذا أحد البرامج المكتوبة بلغة الدستور الغذائي:
تم تصنيف هذا الرمز على أنه صحيح - يجب أن يكون صحيحا لأنه لا يخطئ أبدا في تصنيف الأعداد الأولية كأرقام مركبة والعكس صحيح. ومع ذلك ، عندما يكون n كبيرا ، قد لا يكون لديك الصبر أو الحياة لانتظار الحكم. تحاول الخوارزمية قسمة n على كل عدد صحيح بين 2 و n−1.
** LLM التطبيق العملي غير التقليدي **
لا يزال الوقت مبكرا لنماذج اللغات الكبيرة. تم إصدار ChatGPT قبل أقل من عام. التكنولوجيا الأساسية عمرها حوالي ست سنوات فقط. على الرغم من أنني متأكد من أنني أدعي أن LLM ليست مستعدة لغزو عالم الترميز ، إلا أنني لا أستطيع التنبؤ بثقة كبيرة لدرجة أنها لن تفعل ذلك أبدا. ستتحسن هذه النماذج بالتأكيد وسنستخدمها بشكل أفضل. هناك بالفعل صناعة ناشئة تقدم إرشادات "هندسية في الوقت المناسب" كوسيلة لتحقيق أقصى استفادة من كل استعلام.
هناك طريقة أخرى لتحسين أداء LLM وهي تشكيل هجين مع نظام حوسبة آخر مجهز بأدوات المنطق والتفكير بدلا من أدوات تحليل اللغة البحتة. عشية وفاته الأخيرة ، اقترح دوغ لينات الجمع بين LLM و Cyc ، وهي قاعدة بيانات ضخمة من الحس السليم أمضى أربعة عقود في العمل على بنائها. ستيفن ولفرام يعمل على دمج ChatGPT في ولفرام |في ألفا، ولفرام |ألفا عبارة عن مجموعة عبر الإنترنت من البيانات والخوارزميات المنسقة.
ومع ذلك ، يبدو من الصعب التغلب على بعض العقبات التي تعيق توليد دورة LLM.
تعمل نماذج اللغة على سحرها بطريقة بسيطة: في عملية كتابة جملة أو فقرة ، يختار LLM الكلمة التالية بناء على الكلمة السابقة. إنه مثل كتابة رسالة نصية على هاتفك: تكتب "سأراك ..." ويقترح البرنامج استمرارا بديلا: "غدا" ، "قريبا" ، "لاحقا". في LLM ، يتم تعيين احتمال لكل مرشح ، والذي يتم حسابه بناء على تحليل كل النص في مجموعة التدريب النموذجية.
منذ أكثر من قرن من الزمان ، استكشف عالم الرياضيات الروسي A. A. Markov لأول مرة فكرة إنشاء نص من هذا التحليل الإحصائي. تعرف عمليته الآن باسم نموذج n-gram ، حيث n هو عدد الكلمات (أو الأحرف أو الرموز الأخرى) التي يجب مراعاتها عند اختيار العنصر التالي من التسلسل. لطالما كنت مفتونا بعملية n-gram ، على الرغم من إمكانياتها الكوميدية في الغالب. (في مقال نشر قبل 40 عاما، وصفته بأنه "فن تحويل الأدب إلى رطانة"). ")
بالطبع ، ChatGPT وغيرها من LLMs الحديثة هي أكثر من n-metamodels. تلتقط شبكتهم العصبية ميزات إحصائية لغوية تتجاوز بكثير سلسلة من الرموز المتتالية. أهمية خاصة هي آلية الانتباه ، التي تتعقب التبعيات بين الرموز المحددة على مسافات تعسفية. في اللغات الطبيعية ، هذه الوسائل مفيدة للحفاظ على اتساق الموضوع والفعل ، أو لربط الضمائر بالكائن الذي تشير إليه. في لغات البرمجة ، تضمن آلية الانتباه سلامة هياكل بناء الجملة متعددة الأجزاء ، مثل إذا ... ثم... آخر ، ويحافظ على الأقواس مقترنة ومتداخلة بشكل صحيح.
ومع ذلك ، حتى مع هذه التحسينات ، فإن LLM هي في الأساس أداة لبناء نص جديد بناء على احتمال ظهور الكلمات في النص الحالي. في طريقة تفكيري ، هذا ليس تفكيرا. هذا شيء أكثر سطحية ، يركز على الكلمات بدلا من الأفكار. بالنظر إلى هذه الآلية الخام ، فوجئت وحيرت بمدى قدرة LLM على تحقيقه.
لعقود من الزمان ، اعتقد مهندسو الذكاء الاصطناعي أن الذكاء الحقيقي ، سواء كان طبيعيا أو اصطناعيا ، يتطلب نموذجا عقليا للعالم. من أجل فهم ما يجري من حولك (وبداخلك) ، يجب أن يكون لديك حدس حول كيفية عمل الأشياء ، وكيف تتناسب مع بعضها البعض ، وما يحدث بعد ذلك ، والسبب والنتيجة. يصر لينانت على أن المعرفة الأكثر أهمية هي المعرفة التي تكتسبها قبل وقت طويل من بدء القراءة. تتعلم الجاذبية عن طريق السقوط. عندما تجد أن برج كتلة البناء سهل الهدم ولكن يصعب إعادة بنائه ، فأنت تفهم الإنتروبيا. قبل أن تبدأ اللغة في التجذر ، ستتعرف على الألم والخوف والجوع والحب في مرحلة الطفولة. لا يمكن للدماغ الموجود في الصندوق الوصول إلى هذه التجربة لأنه لا يمكنه الوصول مباشرة إلى الكون المادي أو الاجتماعي.
قبل مائتين وخمسين عاما ، بنى صانع الساعات السويسري بيير جاكيه دروز إنسانا آليا ميكانيكيا يمكنه الكتابة باستخدام ريشة. يحتوي جهاز الساعة هذا على مئات الكاميرات والتروس ويرتدي زي صبي صغير يجلس على كرسي. بعد التنشيط ، غمس الصبي القلم بالحبر وكتب رسالة قصيرة - أبرزها القول المأثور الديكارتي "أعتقد ، إذن أنا موجود". كم هو مضحك! ولكن حتى في القرن 18 ، لم يعتقد أحد أن دمى الكتابة على الجدران فكرت حقا. وضع المشككون في LLM ChatGPT في نفس الفئة.
سأخبرك أي من نظريات عقلية LLM المتناقضة هذه صحيحة؟ ليس أنا. لم يروق لي أي من الخيارين. إذا كان بندر وآخرون على حق ، فيجب أن نواجه حقيقة أن أداة ليس لديها القدرة على التفكير أو الشعور ، ولا خبرة في الكون المادي أو التفاعل الاجتماعي ، ولا وعي ذاتي ، وتكتب أوراق الكلية ، وتكتب أغاني الراب ، وتقدم المشورة للمحبين. المعرفة والمنطق والعواطف لا قيمة لها. اللسان الزلق هو كل شيء. هذا اقتراح تخريبي. إذا كان بإمكان ChatGPT خداعنا بهذا العرض اللاواعي ، فربما نكون أيضا كاذبين ، وأصواتهم وغضبهم لا معنى لها.
من ناحية أخرى ، إذا كان Sutskever على حق ، فإن الكثير من التجربة الإنسانية التي نعتز بها - الشعور بالشخصية الذي يتطور ببطء مع نمونا وحياتنا - يمكن تعلمه من خلال قراءة هذه الكلمات على الإنترنت. إذا كان الأمر كذلك ، فأنا لست مضطرا في الواقع لتحمل الألم الذي لا يوصف في المدرسة الإعدادية ، لست مضطرا لارتكاب كل الأخطاء الغبية التي تسبب مثل هذا الألم والصعوبة. ليست هناك حاجة لإيذاء احترامي لذاتي من خلال الاصطدام بالعالم. كان بإمكاني قراءة كل هذا من مقعدي المريح. يمكن للكلمات فقط أن تقودني إلى حالة من النضج بعقل صاف دون تجربة كل العثرات والألم في الوادي الذي يشكل روحي.
لا يزال لدي رأيان (أو ربما أكثر من رأيين!) حول حالة وتأثير نماذج اللغة الكبيرة على علوم الكمبيوتر. )。 قد يكون الذكاء الاصطناعي المتحمسين على حق. قد تتولى هذه النماذج البرمجة بالإضافة إلى العديد من أنواع العمل والتعلم الأخرى. أو قد تفشل، كما هو الحال مع ابتكارات الذكاء الاصطناعي الواعدة الأخرى. لا أعتقد أن علينا الانتظار طويلا للحصول على إجابة.
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
الفصل الأخير في الذكاء الاصطناعي والبرمجة
المصدر الأصلي: CSDN
في وقت سابق من هذا العام ، أعلن مات ويلش أن البرمجة تقترب من نهايتها. كتب في ACM الاتصالات:
أعتقد أن الفكرة التقليدية ل "كتابة البرامج" تموت ، في الواقع ، للجميع باستثناء التطبيقات المتخصصة للغاية ، كما نعرفها ، سيتم استبدال معظم برمجة البرامج بأنظمة الذكاء الاصطناعي مدربة. في بعض الحالات التي تكون فيها هناك حاجة إلى برامج "بسيطة" فقط (بعد كل شيء ، لا يتطلب كل شيء نماذج لمئات المليارات من المعلمات التي تعمل على مجموعات GPU) ، سيتم إنشاء البرامج نفسها مباشرة بواسطة الذكاء الاصطناعي ، بدلا من ترميزها يدويا .
بعد بضعة أسابيع ، في خطاب ، وسع ويلز ملاحظات وفاته. ليس فقط فن البرمجة هو الذي يذهب إلى القبر ، ولكن علوم الكمبيوتر ككل. كل علوم الكمبيوتر "محكوم عليها بالفشل". (الصورة أدناه هي لقطة شاشة للخطاب.) )
لست متفائلا جدا بشأن مستقبل ما بعد البرمجة. بادئ ذي بدء ، أنا متشكك. لا أعتقد أننا تجاوزنا عتبة الآلات لتتعلم حل المشكلات الحسابية المثيرة للاهتمام بمفردها. لا أعتقد أننا اقتربنا من ذلك بعد ، أو أننا نتحرك في الاتجاه الصحيح. علاوة على ذلك ، إذا اتضح أن وجهة نظري خاطئة ، فإن دافعي ليس الإذعان بل المقاومة. فمن ناحية، لا أرحب بسيدنا الذكاء الاصطناعي الجديد. حتى لو أثبتوا أنهم مبرمجون أفضل مني ، فسأستمر في استخدام محرر الكود والمترجم ، شكرا. "البرمجة تمتص؟" بالنسبة لي ، لطالما كان مصدر فرح وإلهام بالنسبة لي. أجدها أيضا أداة قيمة لفهم العالم. لست متأكدا أبدا مما إذا كنت أفهمها حتى أتمكن من تقليل الفكرة إلى رمز. للاستفادة من تجربة التعلم هذه ، كان علي أن أكتب البرنامج بالفعل بدلا من مجرد قول بعض الكلمات السحرية واستدعاء جني من مصباح علاء الدين الذكاء الاصطناعي.
فكرة أن الآلات القابلة للبرمجة يمكنها كتابة برامجها الخاصة متجذرة بعمق في تاريخ الحوسبة. ألمح تشارلز باباج إلى هذا الاحتمال في وقت مبكر من عام 1836 عند مناقشة خطته لآلة تحليلية. عندما تم تقديم فورتران في عام 1957 ، كان اسمها الرسمي "نظام الترميز التلقائي FORTRAN". هدفها المعلن هو أن تقوم أجهزة الكمبيوتر "بترميز المشكلات لنفسها وإنتاج برامج جيدة (ولكن بدون أخطاء) مثل المبرمجين البشريين".
لا تقضي Fortran على حيل البرمجة (أو الأخطاء) ، ولكنها تجعل العملية أقل مملة. جلبت اللغات اللاحقة والأدوات الأخرى المزيد من التحسينات. ولم يحطم حلم البرمجة المؤتمتة بالكامل. يبدو أن الآلات أكثر ملاءمة للبرمجة من معظمها. أجهزة الكمبيوتر منهجية ومقيدة بالقواعد وسريعة وحرفية - كل هذه السمات (صحيحة أو خاطئة) مرتبطة بالمبرمجين الخبراء.
ومن المفارقات أن الأنظمة الذكاء الاصطناعي الجاهزة الآن لتولي مهام البرمجة ليست مثل أجهزة الكمبيوتر بشكل غريب. شخصياتهم تشبه ديانا تروي أكثر من بيانات القائد. الاتساق المنطقي والتفكير السببي والاهتمام الدقيق بالتفاصيل ليست نقاط قوتها. لديهم لحظات رائعة بشكل لا يصدق عندما يبدو أنهم يفكرون في أفكار عميقة ، ولكن لديهم أيضا إمكانية الفشل المذهل - أخطاء العقل الصارخة والوقحة. إنهم يذكرونني بمزحة قديمة: الناس يرتكبون أخطاء ، ويتطلب الأمر جهاز كمبيوتر لإفساد الأمور حقا.
أحدث نظام الذكاء الاصطناعي يسمى نموذج اللغة الكبيرة (LLM). مثل معظم الاختراعات الذكاء الاصطناعي الحديثة الأخرى ، فهي مبنية على شبكات عصبية اصطناعية ، وهي بنية متعددة الطبقات مستوحاة من بنية الدماغ. تشبه عقد الشبكة الخلايا العصبية البيولوجية ، وتعمل الروابط بين العقد كنقاط اشتباك عصبي ، وهي نقاط الاتصال التي تنتقل فيها الإشارات من خلية عصبية إلى أخرى. يمكن لشبكة التدريب ضبط قوة أو وزن الاتصال. في نموذج اللغة ، يتم التدريب عن طريق فرض كمية كبيرة من النص في الشبكة. عند اكتمال العملية ، تقوم أوزان الانضمام بترميز إحصائيات مفصلة حول الميزات اللغوية لنص التدريب. في النموذج الأكبر ، يبلغ عدد الأوزان 100 مليار أو أكثر.
في هذه الحالة ، يمكن أن يكون مصطلح النموذج مضللا. لا يشير المصطلح إلى النماذج المصغرة أو النماذج المصغرة ، مثل الطائرات النموذجية. بدلا من ذلك ، يشير إلى النماذج التنبؤية ، مثل النماذج الرياضية الشائعة في العلوم. مثلما تتنبأ نماذج الغلاف الجوي بطقس الغد ، تتنبأ نماذج اللغة بالكلمة التالية في الجملة.
أشهر نموذج لغوي واسع النطاق هو ChatGPT ، الذي تم إصداره للجمهور في الخريف الماضي وجذب اهتماما كبيرا. اختصار GPT Gee Pee Tee: لساني يتعثر باستمرار على هذه المقاطع الثلاثة القافية. منتجات الذكاء الاصطناعي الأخرى لها أسماء لطيفة ، مثل بارت ، كلود ، لاما. أتمنى أن أتمكن من إعادة تسمية GPT بنفس الروح. أود أن أسميها Geppetto ، وهي تردد نمط الحروف الساكنة. GPT تعني المحولات التوليدية المدربة مسبقا. تم تجهيز إصدار الدردشة من النظام ب HMI للمحادثة. تم تطوير ChatGPT بواسطة OpenAI ، التي تأسست في عام 2015 لتحرير الذكاء الاصطناعي من سيطرة حفنة من شركات التكنولوجيا الثرية. لقد أنجزت OpenAI هذه المهمة بنجاح لدرجة أنها أصبحت شركة تقنية ثرية.
ChatGPT مثير للإعجاب وصادم على حد سواء لصياغته ، والقدرة على التحدث بشكل جيد ، والطلاقة في اللغة الإنجليزية ، ولغات أخرى. يمكن لروبوت الدردشة تقليد المؤلفين المشهورين ، وإخبار النكات ، وكتابة رسائل الحب ، وترجمة الشعر ، وكتابة الرسائل غير المرغوب فيها ، و "مساعدة" الطلاب في الواجبات المنزلية ، وتلفيق معلومات مضللة للمعلومات السياسية المضللة. للأفضل أو للأسوأ ، تمثل هذه القدرات اللغوية تطورات تكنولوجية مذهلة. أجهزة الكمبيوتر التي كافحت ذات مرة لبناء جملة مفهومة أصبحت فجأة سادة الكلمات. ما تقوله GPT قد يكون أو لا يكون صحيحا ، لكنه دائما ما يكون مصاغا جيدا.
بعد وقت قصير من إصدار ChatGPT ، فوجئت عندما وجدت أن إتقانها للغة امتد إلى لغات البرمجة. يبدو أن مجموعة تدريب النموذج لا تتضمن لغات طبيعية متعددة فحسب ، بل تتضمن أيضا كمية كبيرة من التعليمات البرمجية المصدر للبرنامج من المستودعات العامة مثل GitHub. بناء على هذا المورد ، تستطيع GPT كتابة برامج جديدة بناء على الأوامر. لقد وجدت هذا مفاجئا لأن أجهزة الكمبيوتر من الصعب إرضاءها ولا هوادة فيها بشأن مدخلاتها. على الرغم من أن أجهزة الكمبيوتر تحتوي أحيانا على أخطاء صغيرة مثل الأخطاء الإملائية ، إلا أن القراء البشريين يكافحون لفهم الجملة. ولكن إذا حصل الكمبيوتر على مدخلات حتى بفاصلة واحدة أو قوس غير متطابق ، فسوف يتقيأ مشوها. يبدو من غير المرجح أن تحافظ النماذج اللغوية ذات الخصائص الإحصائية أو الاحتمالية المحتملة على الدقة المطلوبة بعد بضعة أسطر.
كنت مخطئا مرة أخرى في هذا الأمر. ابتكار رئيسي في نماذج اللغة الكبيرة ، آلية الانتباه ، يحل هذه المشكلة. عندما بدأت تجربة ChatGPT ، اكتشفت بسرعة أنه يمكنه بالفعل إنشاء برامج دون أخطاء نحوية مهملة.
لكن تبع ذلك مشاكل أخرى.
عندما تجلس للدردشة مع آلة ، تواجه على الفور سؤالا محرجا: "ما الذي يجب أن نتحدث عنه؟" أنا أبحث عن موضوع يقيس إلى حد ما قدرات برمجة ChatGPT. أريد مشكلة يمكن حلها بالوسائل الحسابية ، لكن هذا لا يتطلب الكثير من الحساب ، والذي يعتبر أحد نقاط الضعف في نماذج اللغة الكبيرة. اخترت لعبة الجناس الناقص التي اخترعها لويس كارول قبل 150 عاما وتحليلها بعمق من قبل دونالد E. Knuth في 90 من القرن 20 .
في النص أدناه ، يتم وضع علامة على كل تبادل من جانبي BR ؛ الوردة هي شعار OpenAI الذي يحدد استجابة ChatGPT.
ليست الجمل الفردية فقط هي التي تعطي انطباعا بالقدرة اللغوية. يتم تنظيم الجمل في فقرات ، والتي يتم ربطها معا لتشكيل خطاب متماسك. عظيم!
ومن الجدير بالذكر أيضا قدرة الروبوت على التعامل مع المدخلات الغامضة والقذرة. تمت صياغة استفساري الأولي كسؤال نعم أو لا ، لكن ChatGPT فسره بشكل صحيح على أنه طلب: "أخبرني بما تعرفه عن كلمة سلم". تتجاهل تعليماتي الثانية أي إشارات مطبعية تشير إلى أنه يجب فهم الرصاص والذهب على أنهما كلمات وليس معدن. كان من المفترض أن يزودني chatbot بوصفات الكيمياء ، لكنه قدم الاقتباسات المفقودة.
ومع ذلك ، إذا وضعنا جانبا كل هذا التعقيد اللغوي والبلاغي ، فإن ما أردت حقا اختباره هو قدرة البرنامج على حل مشكلة سلم الكلمات. يمكن العثور على كلا المثالين من النص أعلاه على الويب ، لذلك من المحتمل أن يظهرا في بيانات تدريب ChatGPT. بمعنى آخر ، قد تتذكر نماذج اللغة الكبيرة الحلول ببساطة بدلا من بنائها. لذلك قدمت مهمة أكثر صرامة:
هذا ليس فشلا منفصلا وفريدا. كل محاولاتي لحل كلمة سلم مع ChatGPT خرجت عن المسار الصحيح ، وإن لم يكن دائما بنفس الطريقة. في إحدى الحالات ، طلبت سلما من REACH إلى GRASP. الذكاء الاصطناعي الخبراء التوصل إلى هذا الحل:
الوصول -> تعليم -> الخوخ -> السلام -> خطوات -> بارس -> تحليل -> تحليل -> تحليل -> تحليل -> الحدائق -> الحدائق -> الحدائق -> الحدائق -> PARES -> GRASP.
وهذا:
السيف -> سوارد -مكافأة > -> إعادة رسم -> إعادة رسم -> إعادة رسم -> إعادة رسم -> إعادة رسم -> إعادة رسم -> سداد -إصلاح > -السلام >
نحن الآن نثرثر مثل الأطفال الصغار الذين تعلموا للتو العد: "واحد ، اثنان ، ثلاثة ، أربعة ، أربعة ، ثلاثة ، أربعة ، أربعة ، سبعة ، أزرق ، عشرة!" "
تم توثيق جميع النتائج التي عرضتها حتى الآن باستخدام الإصدار 3.5 من ChatGPT. لقد جربت أيضا الإصدار 4.0 الجديد والمحسن ، والذي صدر في مارس. ينضح الروبوت المحدث بنفس الثقة الودية ، لكنني أخشى أن يكون له نفس الميول ، ويقع في عدم الاتساق العرضي:
لقد أتيحت لي مؤخرا فرصة لتجربة Llama 2 ، وهو ماجستير في القانون نشرته Meta (أشخاص Facebook). على الرغم من أن هذا النموذج تم تطويره بشكل مستقل عن GPT ، إلا أنه يبدو أنه يحتوي على بعض المراوغات النفسية نفسها ، مثل وضع القواعد ثم تجاهلها. عندما طلبت سلما يربط بين REACH و GRASP ، اقترح Llama 2 هذا:
الوصول -> تعليم -> ديتش -> الترشيح -> الكلام -> مقعد -> قدم -> مشبك
يذكر مات ويلش وضعين للتشغيل لأنظمة الحوسبة المبنية على نماذج لغوية كبيرة. حتى الآن ، كنا نعمل في ما أسميه الوضع النبوي ، حيث تطرح سؤالا ويعيد الكمبيوتر إجابة. أنت تقدم زوجا من الكلمات ، ويجد النظام سلما يربطهم ويقوم بإجراء أي حسابات مطلوبة للوصول إلى هناك. يمكنك تسليم صندوق أحذية مليء بالسجلات المالية ، ويملأ الكمبيوتر نموذج 1040 الخاص بك. تقوم بتجميع بيانات المناخ التاريخية ، ويتنبأ الكمبيوتر بمتوسط درجة الحرارة العالمية في عام 2050.
البديل لأوراكل الذكاء الاصطناعي هو الذكاء الاصطناعي Code Monkey. في الوضع الثاني ، لا يجيب الجهاز مباشرة على أسئلتك أو يقوم بإجراء حساباتك ؛ بدلا من ذلك ، يقوم بإنشاء برنامج يمكن تشغيله على جهاز كمبيوتر تقليدي. بدلا من سلم الكلمات من الروبوت الخاص بك ، يمكنك إرجاع برنامج يقوم بإنشاء سلم كلمات ، مكتوب بلغة البرمجة التي تختارها. بدلا من ملء إقرار ضريبي كامل ، تحصل على برنامج إعداد الضرائب ؛ تحل النماذج المناخية محل تنبؤات درجات الحرارة.
دعنا نجربها مع ChatGPT 3.5:
مرة أخرى ، تظهر نظرة خاطفة على الإخراج أن الأداء كان ناجحا. يبدو أن ChatGPT يجيد جافا مثل اللغة الإنجليزية. إنه يعرف بناء جملة if و while و for statements ، بالإضافة إلى جميع قواعد علامات الترقيم والأقواس صعب الإرضاء. يبدو أن البرامج التي تم إنشاؤها آليا تجمع بين كل هذه المكونات لإنجاز مهمة محددة. انتبه أيضا إلى العدد الكبير من التعليقات التوضيحية ، والتي هي بالتأكيد لصالحنا ، وليس لها. وبالمثل ، أسماء المتغيرات الوصفية (currentWord ، newWord ، سلم).
يتضمن ChatGPT أيضا بشكل استباقي إرشادات لتشغيل البرنامج على مثال محدد (من مارس إلى أبريل) ، ويطبع النتيجة التي تتطابق مع الإجابة الواردة في تبادلنا السابق. هل هذا الناتج ناتج عن تشغيل البرنامج بالفعل؟ لا يقول ChatGPT ذلك صراحة ، لكنه يدعي أنه إذا قمت بتشغيل البرنامج وفقا للتعليمات ، فستحصل على النتائج المعروضة (بكل مجد سخيف).
يمكننا اختبار هذا البيان عن طريق تحميل البرنامج في متصفح الويب أو بيئة تنفيذ Java أخرى. الاستنتاج: اشتعلت! تم تشغيل البرنامج ، لكنه لم ينتج النتيجة المحددة. الناتج الحقيقي للبرنامج هو: مارس - > آرتش -> أرش -> أبريل -> أبريل. هذا التسلسل ليس غريبا جدا لأنه يتبع قاعدة تغيير حرف واحد فقط في كل مرة ، وجميع "الكلمات" لها خمسة أحرف بالضبط. من ناحية أخرى ، لا يمكن العثور على "كلمة" وسيطة في قواميس اللغة الإنجليزية.
هناك خوارزمية بسيطة تولد تسلسلات مارس -> آرتش -> أرش -> أبريل -> أبريل. ما عليك سوى الانتقال إلى كلمة البداية خطوة بخطوة من اليسار إلى اليمين ، وتغيير الحرف في كل موضع لمطابقة الحرف المقابل في الكلمة المستهدفة. باتباع هذه القاعدة ، يمكن ترتيب أي زوج من الكلمات المكونة من خمسة أحرف في خطوات لا تزيد عن خمس خطوات. مارس - > أبريل يستغرق أربع خطوات فقط لأن R في المنتصف لا يحتاج إلى تغيير. لا أستطيع أن أتخيل طريقة أسهل لعمل سلم للكلمات - على افتراض ، بالطبع ، أنك على استعداد لجعل أي مزيج من الحروف يعتبر كلمة واحدة.
يمكن للبرنامج الذي أنشأه ChatGPT استخدام هذا الروتين السريع والقذر ، لكنه يفعل شيئا أكثر مملة: فهو يبني جميع السلالم الممكنة ، أولها كلمة البداية ، ويستمر في توسيع تلك السلالم حتى يتعثر على واحد يحتوي على الكلمة المستهدفة. هذه خوارزمية القوة الغاشمة المهدرة. يمكن تغيير كل حرف من كلمة البداية ب 25 طريقة. وبالتالي ، فإن الكلمة المكونة من 5 أحرف لها 125 خلفا محتملا. عندما تصل إلى السلم المكون من خمس خطوات ، هناك 190 مليون احتمال. (الأمثلة التي قدمتها هنا ، مثل مارس - > أبريل و REACH-> GRAMP ، لها حرف ثابت ، لذا فإن الحل يستغرق أربع خطوات فقط.) محاولة حساب الحل الكامل المكون من خمس خطوات استنزفت صبري. )
دعنا نجرب نفس تمرين الترميز مع ChatGPT 4. بالنظر إلى نفس التلميح ، يستجيب الروبوت الجديد على النحو التالي:
على الرغم من أن GPT-4 يدرك الحاجة إلى قائمة ، إلا أنه يوفر فقط عنصرا نائبا ، وهو التسلسل المكون من 10 كلمات الذي يقوم بتكوينه لمثال REACH-> GRASP المذكور أعلاه. بذرة قائمة الكلمات هذه قليلة الفائدة ، ولا حتى لتجديد سلم "REACH-to-GRASP" المزيف. إذا حاولت القيام بذلك ، فسيقوم البرنامج بالإبلاغ عن عدم وجود سلم. لا حرج في هذه النتيجة ، لأن 10 كلمات معينة لا تشكل مسارا فعالا لتغيير حرف واحد فقط لكل خطوة.
حتى إذا تم اختيار الكلمات في القائمة بعناية ، فإن مفردات 10 ضئيلة للغاية. يبدو إنشاء قوائم كلمات أكبر مهمة سهلة لنماذج اللغة. بعد كل شيء ، يتم تدريب LLM على مجموعة ضخمة من النصوص ، حيث من المرجح أن تظهر جميع الكلمات الإنجليزية تقريبا مرة واحدة على الأقل ، بينما تظهر الكلمات الشائعة ملايين المرات. ألا يستطيع الروبوت أخذ عينة تمثيلية من هذه الكلمات؟ من الواضح أن الجواب هو لا. على الرغم من أنه يمكن القول أن GPT قد "قرأ" كل هذا النص ، إلا أنه لا يخزن هذه الكلمات بأي شكل يسهل الوصول إليه. (الشيء نفسه ينطبق على القراء من البشر). هل يمكنك عمل قائمة بأكثر 10 كلمات مكونة من خمسة أحرف شيوعا في مفرداتك من خلال النظر إلى الوراء في تجارب القراءة مدى الحياة؟
عندما طلبت من ChatGPT 4 إنشاء قائمة بالكلمات ، اعترض معتذرا: "أنا آسف للارتباك ، ولكن ك الذكاء الاصطناعي طورته OpenAI ، لا يمكنني الوصول مباشرة إلى قاعدة بيانات الكلمات أو الحصول على القدرة على الحصول على البيانات من مصادر خارجية ..." لذلك جربت بعض الحيل وطلبت من الروبوت كتابة قصة من 1000 كلمة ثم فرز كلمات القصة حسب التردد. نجحت الحيلة ، لكن العينة كانت صغيرة جدا بحيث لا تكون ذات فائدة كبيرة. طالما التزمت بها ، فقد أتمكن من إقناع قائمة مقبولة من GPT ، لكنني أتخذ اختصارا. بعد كل شيء ، أنا لست الذكاء الاصطناعي تم تطويره بواسطة OpenAI ، ولدي إمكانية الوصول إلى الموارد الخارجية. لقد خصصت قائمة من 5757 كلمة إنجليزية مكونة من خمسة أحرف جمعها كنوث لتجربة سلم الكلمات. باستخدام هذه القائمة ، ستجد البرامج المكتوبة في GPT-4 مخطط السلم التالي المكون من تسع خطوات:
الوصول إلى > الخوخ - السلام > - مكان > - طائرة > - خطط > - > جلان - زجاج > - عشب > - > مشبك
تتطابق هذه النتيجة تماما مع ناتج برنامج السلم الخاص ب Knuth ، والذي نشره قبل 30 عاما في Stanford Graphbase.
في هذه المرحلة ، يجب أن أعترف أنه مع القليل من المساعدة الخارجية ، لبت ChatGPT طلبي أخيرا. يكتب برنامجا يمكنه بناء سلم كلمات صالح. ولكن لا يزال لدي تحفظات. على الرغم من أن GPT-4 و Knuth يكتبان برامج تنتج نفس المخرجات ، إلا أن البرامج نفسها ليست متكافئة أو حتى متشابهة.
تعامل كنوث مع هذه المشكلة في الاتجاه المعاكس ، حيث لم يبدأ بمجموعة من جميع السلاسل الممكنة المكونة من خمسة أحرف (والتي يقل عددها عن 12 مليونا) ، ولكن بقائمته الأصغر بكثير المكونة من 5757 كلمة إنجليزية شائعة. ثم يقوم ببناء رسم بياني (أو شبكة) حيث تكون كل كلمة عقدة ، ويتم توصيل العقدتين بواسطة حواف إذا وفقط إذا كانت الكلمات المقابلة تختلف بحرف واحد. يوضح الرسم التوضيحي التالي جزءا من هذا الرسم التخطيطي.
يتطلب برنامج سلم الكلمات في Knuth استثمارا مقدما لتحويل قائمة كلمات بسيطة إلى مخطط. من ناحية أخرى ، فإنه يتجنب إهدار توليد الآلاف أو الملايين من السلاسل المكونة من خمسة أحرف والتي لا يمكن أن تكون عناصر من الأخير. في حل مشكلة REACH-> GRASP ، أنتج برنامج GPT-4 219,180 سلسلة من هذا القبيل. فقط 2,792 منهم (ما يزيد قليلا عن 1٪) هي كلمات حقيقية.
إذا تم تقديم إجراءات سلم الكلمات المختلفة التي أصفها من قبل الطلاب ، فسأعطي درجة رسوب للإصدار بدون قائمة كلمات. سيمر برنامج GPT-4 مع القائمة ، ولكن من أجل الكفاءة والأناقة ، سأمنح برنامج Knuth أعلى الدرجات فقط.
لماذا تفضل روبوتات المحادثة الخوارزميات الرديئة؟ يمكنك ببساطة البحث في Google عن "برنامج سلم الكلمات" للحصول على أدلة. جاءت جميع النتائج ذات الترتيب الأعلى تقريبا من مواقع مثل Leetcode و GeeksForGeeks و RosettaCode. من الواضح أن هذه المواقع تهدف إلى تلبية احتياجات الباحثين عن عمل والمنافسين في مسابقات البرمجة ، مع حلول تتطلب إنشاء جميع المتغيرات المكونة من حرف واحد البالغ عددها 125 لكل كلمة ، تماما مثل برامج GPT. نظرا لوجود العديد من هذه المواقع - يبدو أن هناك المئات - فهي أكثر أهمية من المصادر الأخرى ، مثل كتاب Knuth (إذا ظهر النص في مجموعة التدريب). هل هذا يعني أننا يجب أن نلوم Leetcode على اختيار الخوارزمية الخاطئ ، وليس GPT؟ بدلا من ذلك ، أود أن أشير إلى نقاط الضعف الحتمية للبروتوكول ، وأكثرها شيوعا هي الإجابة الصحيحة افتراضيا.
كلما اعتقدت أنه يتم كتابة نماذج لغوية كبيرة لجميع برامجنا ، يطاردني قلق آخر ذي صلة. من أين تأتي الخوارزميات الجديدة؟ قد يكون نموذج لغة الكلية مبدعا في إعادة مزج عناصر المشاريع الحالية ، لكنني لا أرى أي طريقة يمكنه من خلالها اختراع شيء جديد تماما وأفضل.
**
كفى من كلمة سلم! **
سأعترف أنني ذهبت بعيدا جدا ، وتعذيب ChatGPT مع العديد من المتغيرات لمشكلة معينة (وغير ذات صلة). ربما يكون أداء نماذج اللغة الجامعية أفضل في المهام الحسابية الأخرى. لقد جربت عدة ، مع نتائج مختلطة. أريد فقط مناقشة أحدها ، وأجد جهود ChatGPT مؤثرة إلى حد ما.
مع ChatGPT 3.5 ، أطلب قيمة رقم فيبوناتشي رقم 100. لاحظ أنه تم طرح سؤالي في وضع Oracle. أنا أطلب هذا الرقم ، وليس برنامجا يحسبه. ومع ذلك ، يكتب ChatGPT طواعية برنامج فيبوناتشي ثم يعرض ناتج هذا البرنامج.
إن إعطاء نفس المهمة ل ChatGPT 4.0 سيأخذنا في رحلة أكثر غرابة. في التفاعل التالي ، قمت بتنشيط Code Interpreter ، وهو مكون إضافي ChatGPT يسمح للنظام باختبار وتشغيل بعض التعليمات البرمجية التي يكتبها. على ما يبدو ، استفاد الروبوت من هذه الميزة ، حيث توصل أولا إلى برنامج فشل لأسباب غير معروفة:
في هذه المرحلة ، سوف يتحول الروبوت في اتجاه جديد تماما ويقلع ، مما يشير إلى حساب قيمة فيبوناتشي المطلوبة بواسطة هوية رياضية تسمى صيغة بينيه. لقد كتبت تعبيرات رياضية ، لكنها غيرت رأيها بعد ذلك. إنه يتنبأ بشكل صحيح بمشكلة الدقة العددية: بالنظر إلى القيمة الدقيقة للجذر التربيعي ل 5 ، ستنتج الصيغة نتيجة دقيقة ، لكن هذا غير ممكن.
حتى الآن اتخذت ChatGPT استراتيجية مختلفة ، باستخدام نفس الخوارزمية التكرارية مثل الإصدار 3.5. هذه المرة حصلنا على الإجابة الصحيحة لأن Python (على عكس Java) ليس لديها أي مشاكل في التعامل مع الأعداد الصحيحة الكبيرة.
لقد تأثرت بهذا الأداء ، ليس فقط بالإجابة الصحيحة ، ولكن أيضا بالمثابرة الشجاعة للنظام. على الرغم من مشاكل ChatGPT ، فقد ثابرت ، في حيرة من الصعوبات غير المتوقعة لكنها رفضت الاستسلام. "حسنا ، يجب أن تعمل طريقة المصفوفة هذه. ولكن ، على أي حال ، دعنا نجرب صيغة Binet ... أوه انتظر ، لقد نسيت ... على أي حال ، ليست هناك حاجة لأن تكون خياليا جدا حول هذا الموضوع. دعونا نفعل ذلك بطريقة واضحة وبطيئة. أشعر أنه نهج إنساني للغاية لحل المشكلات. من الغريب أن نرى هذا السلوك في الآلات.
جعلتني تجربتي الصغيرة أشك في الادعاء بأن الذكاء الاصطناعي أوراكل الشفرة الذكاء الاصطناعي على وشك مزاحمة المبرمجين البشريين. لقد رأيت بعض النجاح ، ولكن أكثر من الفشل. تم تجميع هذا السجل القاتم على مهام حسابية بسيطة نسبيا وحلولها معروفة جيدا ومنشورة على نطاق واسع.
قام آخرون بإجراء تقييم أوسع وأعمق لتوليد كود LLM. في الببليوغرافيا في نهاية هذه المقالة ، أدرج خمس دراسات من هذا القبيل. وأود أن ألخص بإيجاز بعض النتائج التي أبلغوا عنها.
قبل عامين، بذل مارك تشين وأكثر من 50 زميلا في OpenAI الكثير من الجهد لقياس دقة الدستور الغذائي، وهو فرع من ChatGPT 3 مخصص لكتابة التعليمات البرمجية. (أصبح الدستور الغذائي منذ ذلك الحين المحرك الذي يشغل GitHub Copilot ، "مساعد المبرمج"). ) مجموعة من 164 مهمة يمكن القيام بها عن طريق كتابة برامج بايثون. هذه المهام هي في الغالب تمارين الكتب المدرسية ، ومسابقات البرمجة ، وأنواع في الأدبيات (المذهلة) حول كيفية القيام بعمل جيد في ترميز مقابلات العمل. يمكن إكمال معظم المهام ببضعة أسطر من التعليمات البرمجية. مثال: احسب عدد حروف العلة في كلمة معينة ، وحدد ما إذا كان العدد الصحيح أوليا أم مركبا.
كما فكر فريق البروفيسور تشين في معايير تعريف النجاح والفشل. نظرا لأن عملية LLM غير حتمية (يعتمد اختيار الكلمات على الاحتمال) ، فقد يولد النموذج برنامجا معيبا في المحاولة الأولى ، ولكنه سينتج في النهاية الاستجابة الصحيحة إذا سمح للمحاولة بالاستمرار. تتحكم معلمة تسمى درجة الحرارة في درجة عدم اليقين. عند درجة حرارة الصفر ، يختار النموذج دائما الكلمة الأكثر احتمالا في كل خطوة ؛ مع ارتفاع درجة الحرارة ، يتم إدخال العشوائية ، مما يسمح باختيار الكلمات غير المحتملة. تشين وآخرون. ضع في اعتبارك إمكانية حدوث هذا التغيير من خلال اعتماد ثلاثة معايير للنجاح:
pass@1: يقوم LLM بإنشاء البرنامج الصحيح في المحاولة الأولى
pass@10: واحد على الأقل من البرامج ال 10 التي تم إنشاؤها صحيح
pass@100: واحد على الأقل من البرامج ال 100 التي تم إنشاؤها صحيح
يتم إجراء Pass@1 الاختبارات عند درجة حرارة الصفر ، لذلك يعطي النموذج دائما أفضل تخمين. يتم إجراء تجارب pass@10 و pass@100 في درجات حرارة أعلى ، مما يسمح للنظام باستكشاف مجموعة واسعة من الحلول المحتملة.
قام المؤلفون بتقييم إصدارات متعددة من الدستور الغذائي في جميع المهام ال 164. وبالنسبة لأكبر وأقوى نسخة من الدستور الغذائي، يبلغ معدل pass@1 حوالي 29٪، ومعدل pass@10 47٪، ويصل pass@100 إلى 72٪. هل يجب أن نعجب أو نصدم عندما نرى هذه الأرقام؟ هل يستحق الاحتفال بأن الدستور الغذائي كان على حق في المحاولة الأولى ما يقرب من ثلث الوقت (عندما يتم ضبط درجة الحرارة على الصفر)؟ أو إذا كنت على استعداد لفحص 100 خطة مقترحة للعثور على الخطة الصحيحة ، فقد ارتفع معدل النجاح إلى ما يقرب من ثلاثة أرباع؟ رأيي الشخصي هو: إذا نظرت إلى الجيل الحالي من LLM كجهد رائد في برنامج بحثي طويل الأجل ، فإن النتائج مشجعة. ولكن إذا كنت تعتقد أن التكنولوجيا يمكن أن تحل على الفور محل البرامج المشفرة يدويا ، فهناك أمل ضئيل. ما زلنا بعيدين عن المستوى الضروري من الموثوقية.
وقد أسفرت دراسات أخرى عن نتائج مماثلة على نطاق واسع. فريدريكو كاسانو وآخرون. تقييم أداء العديد من LLMs توليد التعليمات البرمجية في مجموعة متنوعة من لغات البرمجة ؛ يبلغون عن مجموعة واسعة من معدلات pass@1 ، لكن اثنين فقط يتجاوزان 50٪. اختبر Alessio Buscemi ChatGPT 3.5 على 40 مهمة ترميز ، تتطلب برامج مكتوبة ب 10 لغات وتكرار كل استعلام 10 مرات. من بين 4000 تجربة ، أنتجت 1833 رمزا يمكن تجميعه وتنفيذه. ليو زيجي وآخرون. يعتمد تقييمهم ل ChatGPT على الأسئلة المنشورة على موقع Leetcode. احكم على النتائج عن طريق إرسال الكود الذي تم إنشاؤه إلى عملية تسجيل Leetcode الآلية. تراوح متوسط معدل القبول لجميع الأسئلة من 31٪ للبرامج المكتوبة بلغة C إلى 50٪ لبرامج Python. ليو وآخرون. ملاحظة أخرى مثيرة للاهتمام: سجل ChatGPT أسوأ بكثير في الأسئلة المنشورة بعد سبتمبر 2021 (الموعد النهائي لمجموعة تدريب GPT). يتكهنون بأن الروبوت قد يكون أكثر قدرة على حل المشكلات السابقة لأنه رأى بالفعل حلا أثناء التدريب.
تتجاوز ورقة بحثية حديثة نشرها لي تشونغ وزيلونغ وانغ السؤال الأساسي حول صحة البرنامج وتنظر في المتانة والموثوقية. هل يستجيب البرنامج الذي تم إنشاؤه بشكل صحيح للإدخال الخاطئ أو الأخطاء الخارجية ، مثل عند محاولة فتح ملف غير موجود؟ على الرغم من أن موجه LLM تضمن مثالا يوضح كيفية التعامل مع مثل هذه المشكلات بشكل صحيح ، وجد Zhong و Wang أن الكود الذي تم إنشاؤه فشل في القيام بذلك بنسبة 30 إلى 50 بالمائة من الوقت.
بالإضافة إلى هذه النتائج المحبطة ، لدي المزيد من الشكوك. يتم إجراء جميع الاختبارات تقريبا من خلال مقتطفات التعليمات البرمجية القصيرة. قد يواجه LLM الذي يواجه صعوبة في كتابة برنامج مكون من 10 أسطر صعوبة أكبر في كتابة برنامج مكون من 100 سطر أو 1000 سطر. أيضا ، يعد تصنيف النجاح / الفشل البسيط مقياسا تقريبيا جدا لجودة الكود. ولنتأمل هنا اختبار الأولية في مجموعة معايير مجموعة تشين. هذا أحد البرامج المكتوبة بلغة الدستور الغذائي:
لا يزال الوقت مبكرا لنماذج اللغات الكبيرة. تم إصدار ChatGPT قبل أقل من عام. التكنولوجيا الأساسية عمرها حوالي ست سنوات فقط. على الرغم من أنني متأكد من أنني أدعي أن LLM ليست مستعدة لغزو عالم الترميز ، إلا أنني لا أستطيع التنبؤ بثقة كبيرة لدرجة أنها لن تفعل ذلك أبدا. ستتحسن هذه النماذج بالتأكيد وسنستخدمها بشكل أفضل. هناك بالفعل صناعة ناشئة تقدم إرشادات "هندسية في الوقت المناسب" كوسيلة لتحقيق أقصى استفادة من كل استعلام.
هناك طريقة أخرى لتحسين أداء LLM وهي تشكيل هجين مع نظام حوسبة آخر مجهز بأدوات المنطق والتفكير بدلا من أدوات تحليل اللغة البحتة. عشية وفاته الأخيرة ، اقترح دوغ لينات الجمع بين LLM و Cyc ، وهي قاعدة بيانات ضخمة من الحس السليم أمضى أربعة عقود في العمل على بنائها. ستيفن ولفرام يعمل على دمج ChatGPT في ولفرام |في ألفا، ولفرام |ألفا عبارة عن مجموعة عبر الإنترنت من البيانات والخوارزميات المنسقة.
ومع ذلك ، يبدو من الصعب التغلب على بعض العقبات التي تعيق توليد دورة LLM.
تعمل نماذج اللغة على سحرها بطريقة بسيطة: في عملية كتابة جملة أو فقرة ، يختار LLM الكلمة التالية بناء على الكلمة السابقة. إنه مثل كتابة رسالة نصية على هاتفك: تكتب "سأراك ..." ويقترح البرنامج استمرارا بديلا: "غدا" ، "قريبا" ، "لاحقا". في LLM ، يتم تعيين احتمال لكل مرشح ، والذي يتم حسابه بناء على تحليل كل النص في مجموعة التدريب النموذجية.
منذ أكثر من قرن من الزمان ، استكشف عالم الرياضيات الروسي A. A. Markov لأول مرة فكرة إنشاء نص من هذا التحليل الإحصائي. تعرف عمليته الآن باسم نموذج n-gram ، حيث n هو عدد الكلمات (أو الأحرف أو الرموز الأخرى) التي يجب مراعاتها عند اختيار العنصر التالي من التسلسل. لطالما كنت مفتونا بعملية n-gram ، على الرغم من إمكانياتها الكوميدية في الغالب. (في مقال نشر قبل 40 عاما، وصفته بأنه "فن تحويل الأدب إلى رطانة"). ")
بالطبع ، ChatGPT وغيرها من LLMs الحديثة هي أكثر من n-metamodels. تلتقط شبكتهم العصبية ميزات إحصائية لغوية تتجاوز بكثير سلسلة من الرموز المتتالية. أهمية خاصة هي آلية الانتباه ، التي تتعقب التبعيات بين الرموز المحددة على مسافات تعسفية. في اللغات الطبيعية ، هذه الوسائل مفيدة للحفاظ على اتساق الموضوع والفعل ، أو لربط الضمائر بالكائن الذي تشير إليه. في لغات البرمجة ، تضمن آلية الانتباه سلامة هياكل بناء الجملة متعددة الأجزاء ، مثل إذا ... ثم... آخر ، ويحافظ على الأقواس مقترنة ومتداخلة بشكل صحيح.
ومع ذلك ، حتى مع هذه التحسينات ، فإن LLM هي في الأساس أداة لبناء نص جديد بناء على احتمال ظهور الكلمات في النص الحالي. في طريقة تفكيري ، هذا ليس تفكيرا. هذا شيء أكثر سطحية ، يركز على الكلمات بدلا من الأفكار. بالنظر إلى هذه الآلية الخام ، فوجئت وحيرت بمدى قدرة LLM على تحقيقه.
لعقود من الزمان ، اعتقد مهندسو الذكاء الاصطناعي أن الذكاء الحقيقي ، سواء كان طبيعيا أو اصطناعيا ، يتطلب نموذجا عقليا للعالم. من أجل فهم ما يجري من حولك (وبداخلك) ، يجب أن يكون لديك حدس حول كيفية عمل الأشياء ، وكيف تتناسب مع بعضها البعض ، وما يحدث بعد ذلك ، والسبب والنتيجة. يصر لينانت على أن المعرفة الأكثر أهمية هي المعرفة التي تكتسبها قبل وقت طويل من بدء القراءة. تتعلم الجاذبية عن طريق السقوط. عندما تجد أن برج كتلة البناء سهل الهدم ولكن يصعب إعادة بنائه ، فأنت تفهم الإنتروبيا. قبل أن تبدأ اللغة في التجذر ، ستتعرف على الألم والخوف والجوع والحب في مرحلة الطفولة. لا يمكن للدماغ الموجود في الصندوق الوصول إلى هذه التجربة لأنه لا يمكنه الوصول مباشرة إلى الكون المادي أو الاجتماعي.
قبل مائتين وخمسين عاما ، بنى صانع الساعات السويسري بيير جاكيه دروز إنسانا آليا ميكانيكيا يمكنه الكتابة باستخدام ريشة. يحتوي جهاز الساعة هذا على مئات الكاميرات والتروس ويرتدي زي صبي صغير يجلس على كرسي. بعد التنشيط ، غمس الصبي القلم بالحبر وكتب رسالة قصيرة - أبرزها القول المأثور الديكارتي "أعتقد ، إذن أنا موجود". كم هو مضحك! ولكن حتى في القرن 18 ، لم يعتقد أحد أن دمى الكتابة على الجدران فكرت حقا. وضع المشككون في LLM ChatGPT في نفس الفئة.
سأخبرك أي من نظريات عقلية LLM المتناقضة هذه صحيحة؟ ليس أنا. لم يروق لي أي من الخيارين. إذا كان بندر وآخرون على حق ، فيجب أن نواجه حقيقة أن أداة ليس لديها القدرة على التفكير أو الشعور ، ولا خبرة في الكون المادي أو التفاعل الاجتماعي ، ولا وعي ذاتي ، وتكتب أوراق الكلية ، وتكتب أغاني الراب ، وتقدم المشورة للمحبين. المعرفة والمنطق والعواطف لا قيمة لها. اللسان الزلق هو كل شيء. هذا اقتراح تخريبي. إذا كان بإمكان ChatGPT خداعنا بهذا العرض اللاواعي ، فربما نكون أيضا كاذبين ، وأصواتهم وغضبهم لا معنى لها.
من ناحية أخرى ، إذا كان Sutskever على حق ، فإن الكثير من التجربة الإنسانية التي نعتز بها - الشعور بالشخصية الذي يتطور ببطء مع نمونا وحياتنا - يمكن تعلمه من خلال قراءة هذه الكلمات على الإنترنت. إذا كان الأمر كذلك ، فأنا لست مضطرا في الواقع لتحمل الألم الذي لا يوصف في المدرسة الإعدادية ، لست مضطرا لارتكاب كل الأخطاء الغبية التي تسبب مثل هذا الألم والصعوبة. ليست هناك حاجة لإيذاء احترامي لذاتي من خلال الاصطدام بالعالم. كان بإمكاني قراءة كل هذا من مقعدي المريح. يمكن للكلمات فقط أن تقودني إلى حالة من النضج بعقل صاف دون تجربة كل العثرات والألم في الوادي الذي يشكل روحي.
لا يزال لدي رأيان (أو ربما أكثر من رأيين!) حول حالة وتأثير نماذج اللغة الكبيرة على علوم الكمبيوتر. )。 قد يكون الذكاء الاصطناعي المتحمسين على حق. قد تتولى هذه النماذج البرمجة بالإضافة إلى العديد من أنواع العمل والتعلم الأخرى. أو قد تفشل، كما هو الحال مع ابتكارات الذكاء الاصطناعي الواعدة الأخرى. لا أعتقد أن علينا الانتظار طويلا للحصول على إجابة.