في عالم المالية الكمية، عانت الصناعة على مدار ثلاثين عامًا من قضية معروفة تُعرف بـ"ضرائب اللغتين". فبينما يتم تطوير النماذج باستخدام بايثون (Python)، يتم إعادة كتابتها لاحقًا بلغة C++ لأغراض الإنتاج، مما يؤدي غالبًا إلى ظهور اختلافات في النتائج العددية. تفاقم تقنية التعلم العميق المعتمدة على وحدات معالجة الرسوميات (GPU) هذه المشكلة، حيث يمكن أن تؤدي تقنيات التخفيض المعتمدة على الأرقام غير المحددة إلى انزلاق النتائج خلال الاختبارات الطويلة، مما يشكل تحديًا لاحتياجات التنظيم المتعلقة بالتكرار وقابلية التدقيق.

تأتي Mojo كجواب هيكلي لهذه التحديات، حيث تعد لغة مشابهة لبايثون مقدمة من Modular، تهدف إلى ابتكار حلول فعّالة في مجال الهندسة المالية. تسهم Mojo في تقليل الفجوة بين أداء بايثون وC++ بفضل توفيرها للقدرة على العمل بشكل مباشر مع المكونات الأساسية للنظام، مما يسمح ببناء نواة لتشغيل نتائج متكررة ودقيقة.

إحدى فوائد Mojo البارزة هي بنية الترجمة MLIR، التي تمنح إمكانية معالجة قاعدة شيفرة واحدة لاستهداف تنفيذ المعالجات الأحادية (scalar)، ومعالجة البيانات المتوازية (SIMD)، والمعالجات متعددة النواة، ووحدات معالجة الرسوميات، مما يقلل من حاجة الترجمة بين البحث والإنتاج.

لإظهار فعالية Mojo، تم قياس أداء أربعة workloads أساسية للذكاء الاصطناعي في المالية: تسعير خيارات مونت كارلو (Monte Carlo), تحليل المشاعر باستخدام نموذج لغوي (LLM), اختبار متعدد الأصول، وتحديد قيمة المحفظة المخاطر. وُجد أن Mojo تقدم تسريعًا يتراوح بين 20 ضعفًا إلى 180 ضعفًا مقارنةً ببايثون في النماذج المقاسة مباشرةً. أما بالنسبة للنتائج ذات الأحمال الكبيرة على GPUs، فإن الأرقام تعد تقديرات مُعايرة بناءً على معايير منشورة.

بجانب تقديم بيانات الأداء الشفافة، نعرفكم أيضًا على مكتبة "mojo-deterministic"، وهي مكتبة مفتوحة المصدر تحتوي على نوى تخفيض قابلة للتكرار، ونقدم تقييمًا صريحًا للمشكلات التي تحلها Mojo والمشكلات التي لا تزال بحاجة إلى حلول.