عن المشروع

MLX هو إطار عمل للمصفوفات للتعلم الآلي على رقائق Apple silicon، طوره فريق أبحاث التعلم الآلي في Apple. يوفر واجهة برمجة تطبيقات Python تتبع NumPy عن كثب، مع واجهات برمجة تطبيقات C++ وC وSwift كاملة الميزات تعكس واجهة Python. الحزم عالية المستوى مثل `mlx.nn` و`mlx.optimizers` تتبع اتفاقيات PyTorch لبناء نماذج معقدة. تشمل الميزات الرئيسية: - **واجهات برمجة مألوفة**: واجهة Python شبيهة بـ NumPy، بالإضافة إلى إصدارات C++ وC وSwift. - **تحويلات دالة قابلة للتركيب**: تدعم التفاضل التلقائي، والتوجيه المتجه، وتحسين الرسوم البيانية للحساب. - **الحساب الكسول**: يتم تنفيذ المصفوفات فقط عند الحاجة. - **البناء الديناميكي للرسوم البيانية**: تُبنى الرسوم البيانية للحساب ديناميكيًا، مما يتجنب إعادة الترجمة البطيئة عند تغير الأشكال. - **متعدد الأجهزة**: تعمل العمليات على وحدة المعالجة المركزية ووحدة معالجة الرسومات. - **الذاكرة الموحدة**: تعيش المصفوفات في ذاكرة مشتركة، مما يمكن العمليات عبر الأجهزة دون نقل البيانات. صُمم MLX لباحثي التعلم الآلي، بهدف توفير سهولة الاستخدام والكفاءة في التدريب والنشر. يستوحي إلهامه من NumPy وPyTorch وJax وArrayFire. التثبيت يتم عبر pip على macOS (`pip install mlx`)، مع خيارات Linux لـ CUDA (`mlx[cuda]`) أو بدون وحدة معالجة رسومات (`mlx[cpu]`). يتضمن مستودع أمثلة MLX تدريب نماذج لغة محولات، وتوليد نص LLaMA مع ضبط دقيق LoRA، وتوليد صور Stable Diffusion، والتعرف على الكلام Whisper. التوثيق وأدلة البدء السريع وإرشادات المساهمة متاحة في المستودع. المشروع مفتوح المصدر ويعترف بالمساهمين.