موجو ، لغة البرمجة الجديدة التي أنشأها كريس لاتنر ، مبتكر LLVM

موجو لانج

موجو هي لغة برمجة جديدة تعد بأداء أفضل لتطوير التعلم الآلي

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

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

حول موجو

لغة البرمجة الجديدة هذه يركز على الاستخدام لتطوير التعلم الآلي، ولكن، نعمتم تقديم ه كلغة للأغراض العامة الذي يوسع قدرات لغة Python مع برمجة الأنظمة ومناسب لمجموعة واسعة من المهام.

على سبيل المثال ، تنطبق اللغة على مجالات مثل الحوسبة عالية الأداء ومعالجة البيانات وتحويل البيانات. ميزة مثيرة للاهتمام في Mojo هي القدرة على تحديد رمز تعبيري "🔥" كامتداد لملفات التعليمات البرمجية.

تم تصميم المشروع ليشمل موارد الأجهزة من الأنظمة المتوفرة في النظام في الحسابات. على سبيل المثال ، يمكن استخدام وحدات معالجة الرسومات (GPU) ، ومسرعات التعلم الآلي المتخصصة ، وإرشادات معالجة المتجهات (SIMDs) لتشغيل تطبيقات Mojo وموازنة الحسابات.

يُشار إلى سبب تطوير مجموعة فرعية منفصلة من لغة Python ، بدلاً من الانضمام إلى أعمال تحسين CPython الحالية ، على النحو التالي:

نهج بناء ، وتكامل قدرات برمجة النظام ، واستخدام بنية داخلية مختلفة اختلافًا جذريًا تسمح بتنفيذ التعليمات البرمجية على وحدات معالجة الرسومات ومسرعات الأجهزة المختلفة. في الوقت نفسه ، يعتزم مطورو Mojo التمسك بدعم CPython قدر الإمكان.

يمكن استخدام Mojo في وضع تفسير JIT وللتجميع في ملفات قابلة للتنفيذ (AOT ، في وقت مبكر). يحتوي المترجم على تقنيات حديثة مدمجة للتحسين الذاتي والتخزين المؤقت والتجميع الموزع.

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

يتيح لك استخدام آليات الأجهزة الإضافية لتسريع العمليات الحسابية تحقيق أداء يفوق أداء تطبيقات C / C ++ من خلال الحسابات المكثفة.

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

ثم واصل إصدار Clang ، مترجم C و C ++ الذي يجلس على قمة LLVM ويستخدمه معظم مطوري البرامج في العالم (بما في ذلك توفير العمود الفقري لرمز الأداء الحرج). من Google). 

عند تقييم الأداء في مجال استكشاف أخطاء التعلم الآلي وإصلاحها ، تم العثور على مكدس AI لمحرك الاستدلال المعياري المكتوب بلغة Mojo ، مقارنةً بحل قائم على مكتبة TensorFlow ، أسرع بثلاث مرات على نظام به معالج Intel

ومع ذلك ، رأى كريس أن C و C ++ لا تستفيدان بشكل كامل من قوة LLVM ، لذلك أثناء عمله في Apple صمم لغة جديدة تسمى "Swift" ، والتي وصفها بأنها "سكر نحوي لـ LLVM". 

ومن الجدير بالذكر أن تدعم اللغة الكتابة الثابتة وميزات الذاكرة منخفضة المستوى الآمنة التي تذكرنا بميزات الصدأ مثل تتبع الحياة المرجعية والاقتراض المتغير (مدقق القرض).

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

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

يتم التخطيط للكود مفتوح المصدر للمترجم و JIT والتطورات الأخرى المتعلقة بالمشروع بعد اكتمال تصميم العمارة الداخلية (يشبه نموذج التطوير لنموذج أولي يعمل بالباب المغلق المرحلة المبكرة من تطوير LLVM و Clang و Swift).

نظرًا لأن بناء جملة Mojo يعتمد على Python ونظام الكتابة قريب من C / C ++ ، فهناك خطط في المستقبل لتطوير مجموعة من الأدوات لتسهيل ترجمة المشاريع الحالية المكتوبة بلغة C / C ++ و Python إلى Mojo ، أيضًا لتطوير المشاريع الهجينة التي تجمع بين كود Python و Mojo.

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


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   خايمي قال

    مثيرة للاهتمام cairn هذا…. (بدون لهجات)