StableHLO هي مجموعة عمليات للعمليات العالية المستوى (HLO) في نماذج تعلُّم الآلة (ML). في الأساس، هي طبقة لنقل البيانات بين مختلف أُطر عمل تعلُّم الآلة وبرامج التحويل الخاصة به: إنّ أُطر عمل تعلُّم الآلة التي تُنشئ برامج StableHLO تكون متوافقة مع برامج التحويل الخاصة بتعلُّم الآلة التي تستخدِم برامج StableHLO.
هدفنا هو تبسيط تطوير تعلُّم الآلة وتسريعه من خلال توفير المزيد من إمكانية التشغيل التفاعلي بين أُطر عمل تعلُّم الآلة المختلفة (مثل TensorFlow وJAX و PyTorch) وبرامج تجميع تعلُّم الآلة (مثل XLA وIREE).
الميزات والخطوات الأولى
يتضمّن الإصدار الحالي من StableHLO العديد من الميزات والمعالم الرئيسية البارزة:
- محددة بالكامل: تم تحديد مواصفات StableHLO لجميع العمليات التي تبلغ 100 عملية تقريبًا باستخدام مدقّقي العمليات واستنتاج النوع، بالإضافة إلى الخصائص الديناميكية والتكمّن.
- التوافق يضمن التوافق مع الإصدارات القديمة لمدة 5 سنوات والإصدارات الأحدث لمدة عامَين، ما يتيح نشر الخوادم / الأجهزة الطرفية على المدى الطويل ودورات التحديث السنوية.
- مُفسِّر مرجعي متوافق مع العمليات الثابتة والديناميكية، بما في ذلك واجهات برمجة التطبيقات C++ وPython
- قابلية التوسيع من خلال العمليات المركبة والمكالمات المخصّصة ل تفعيل التجارب السريعة أو وضع نماذج للعمليات الخاصة بالمورّدين
- واجهات برمجة تطبيقات C++/Python للميزات الأساسية وملفات dev-wheel اليومية لسهْل الإعداد
- دروس Colab التعليمية لعرض واجهات برمجة تطبيقات Python من أجل استخراج StableHLO من إطارات عمل مختلفة، بالإضافة إلى دوال مساعدة أخرى
- مجموعة بيانات الاختبار التي تتألف من 3 آلاف ملف اختبار، بما في ذلك البرامج الديناميكية والمقيَّمة ونتائج الاختبار الذهبي لاختبار دمج المورّدين، واختبارات التوافق مع الإصدارات السابقة واللاحقة، وأكثر من% 90 من تغطية التعليمات البرمجية
- عمليات تحويل البرامج من أجل تبسيط البرامج المستقلة عن الأجهزة، تحسين البرامج التي تم إنشاؤها ديناميكيًا باستخدام مَعلمات إدخال محدّدة، وعمليات التحويل إلى لهجات MLIR المتقدّمة مثل linalg أو tosa
- من إنشاء المجتمع مع العديد من المساهمات في منظومة الخدمات لعمليات التحويل، بالإضافة إلى طلبات الحصول على موافقة من جهات خارجية لتغييرات مجموعة العمليات: أنواع FP8 الجديدة، وعمليات البث المجمّع، وعمليات التجميع / التشتيت المجمّعة، والتحويل الكمي المختلط، وواجهات برمجة تطبيقات المُفسّر، وعمليات تقسيم CHLO، وعمليات تبسيط StableHLO التحويلات، وغير ذلك.
مطوّرو النماذج الذين يريدون استخدام StableHLO أو XLA لتجميع مشروع تعلُّم الآلة: يُرجى الرجوع إلى المستندات المقابلة لإطار عمل تعلُّم الآلة:
مطوّرو المكوّنات البرمجية الذين يريدون دمج StableHLO، يُرجى الاطّلاع على مستندات بدء الاستخدام على هذا الموقع الإلكتروني، بما في ذلك الأدلة التعليمية وتفاصيل المطوّرين. يمكنك الاطّلاع على قسم "المنتدى" في هذه الصفحة للحصول على أي دعم أو أسئلة أو مشاكل تواجهك.
تعليمات الإنشاء
اطّلِع على StableHLO على GitHub للحصول على تعليمات الإنشاء.
المنتدى
يتطلّب إنشاء طبقة نقل رائعة بين إطارات عمل الذكاء الاصطناعي وبرامج التحويل الخاصة بالذكاء الاصطناعي التعاون على مستوى مجال الذكاء الاصطناعي بأكمله، لذا يسرّناتلقّي مساعدتك في مشروع StableHLO.
نستخدم مشاكل GitHub أو طلبات السحب لتنظيم عملية التطوير وopenxla-discuss للقيام بمناقشات أطول. لدينا أيضًا #stablehlo
قناة على خادم OpenXLA على Discord.