Home
Login

MLC LLM: تجميع وتحسين ونشر أي نموذج لغوي كبير (LLM) محليًا على مجموعة متنوعة من الأجهزة.

Apache-2.0Python 20.8kmlc-ai Last Updated: 2025-06-08

mlc-llm

نظرة عامة على المشروع: mlc-ai/mlc-llm هو مشروع يهدف إلى جعل أي نموذج قادراً على التجميع والتشغيل والنشر محلياً على أي جهاز. يركز على توفير قدرات استنتاج عالية الأداء لنماذج اللغة الكبيرة (LLM) لمختلف منصات الأجهزة، بما في ذلك الهواتف المحمولة وأجهزة الكمبيوتر المحمولة والخوادم. يتم صيانة هذا المشروع من قبل مجتمع MLC (Machine Learning Compilation)، ويهدف إلى تقليل حاجز نشر نماذج اللغة الكبيرة، مما يتيح لمزيد من المطورين والمستخدمين استخدام وتخصيص هذه النماذج بسهولة.

الأهداف الأساسية:

  • العمومية: دعم مختلف معماريات نماذج اللغة الكبيرة، بما في ذلك على سبيل المثال لا الحصر Llama وGPT وMistral وغيرها.
  • متعدد المنصات: القدرة على العمل على مختلف منصات الأجهزة، بما في ذلك المعالجات (CPU) ووحدات معالجة الرسومات (GPU) والأجهزة المحمولة (Android وiOS) وWebAssembly.
  • الأداء العالي: تحسين النماذج من خلال تقنيات تجميع التعلم الآلي لتحقيق سرعة استنتاج فعالة.
  • سهولة الاستخدام: توفير واجهات برمجة تطبيقات (API) وأدوات بسيطة لتسهيل نشر وتخصيص نماذج اللغة الكبيرة على المطورين.
  • القابلية للتخصيص: السماح للمستخدمين بتخصيص النماذج وعمليات الاستنتاج وفقاً لاحتياجاتهم.

الميزات الرئيسية:

  • تجميع التعلم الآلي (MLC): استخدام تقنية MLC لتحسين النماذج وتعزيز أداء الاستنتاج. MLC هي تقنية تحويل النماذج إلى كود محسن لأجهزة محددة.
  • تكميم النماذج: دعم تكميم النماذج لتقليل حجم النموذج وتقليل استهلاك الذاكرة وتحسين سرعة الاستنتاج. تشمل طرق التكميم الشائعة INT8 وINT4 وغيرها.
  • التنفيذ غير المتجانس: القدرة على تنفيذ أجزاء مختلفة من النموذج على أجهزة مختلفة، مما يستفيد بشكل كامل من موارد الأجهزة.
  • دعم WebAssembly: القدرة على تشغيل نماذج اللغة الكبيرة في المتصفحات وتحقيق الاستنتاج المحلي.
  • واجهة برمجة تطبيقات Python: توفير واجهة برمجة تطبيقات Python لتسهيل استخدام وتخصيص نماذج اللغة الكبيرة على المطورين.
  • أدوات سطر الأوامر: توفير أدوات سطر الأوامر لتسهيل نشر وتشغيل نماذج اللغة الكبيرة على المستخدمين.
  • النماذج المجمعة مسبقاً: توفير نماذج مجمعة مسبقاً لتسهيل البدء السريع للمستخدمين.
  • تخصيص النماذج: دعم الضبط الدقيق للنماذج وتخصيصها لتلبية احتياجات المستخدمين المحددة.
  • مجتمع نشط: يتم صيانته من قبل مجتمع MLC، ويوفر الدعم التقني ومنصة للتبادل.

المكدس التقني:

  • TVM Unity: مبني على TVM Unity، وهو إطار عمل مفتوح المصدر لتجميع التعلم الآلي.
  • Python: لغة البرمجة الأساسية.
  • C++: تستخدم لتنفيذ محرك استنتاج عالي الأداء.
  • WebAssembly: تستخدم لتشغيل نماذج اللغة الكبيرة في المتصفحات.
  • CUDA/Metal/OpenCL: تستخدم لتسريع وحدة معالجة الرسومات.

سيناريوهات الاستخدام:

  • الاستنتاج المحلي لنماذج اللغة الكبيرة: تشغيل نماذج اللغة الكبيرة على الأجهزة المحلية دون الحاجة للاتصال بخوادم سحابية.
  • تطبيقات نماذج اللغة الكبيرة على الأجهزة المحمولة: تشغيل نماذج اللغة الكبيرة على أجهزة Android وiOS لتحقيق الاستنتاج دون اتصال.
  • نماذج اللغة الكبيرة في تطبيقات الويب: تشغيل نماذج اللغة الكبيرة في المتصفحات لتحقيق الاستنتاج المحلي.
  • الحوسبة الطرفية: تشغيل نماذج اللغة الكبيرة على الأجهزة الطرفية لتحقيق استنتاج بزمن استجابة منخفض.
  • البحث والتطوير: تستخدم لبحث وتطوير تقنيات نماذج اللغة الكبيرة الجديدة.

كيفية البدء:

  1. التثبيت: اتبع التعليمات في وثائق المشروع لتثبيت mlc-llm.
  2. تحميل النماذج المجمعة مسبقاً: قم بتحميل النماذج المجمعة مسبقاً، مثل Llama 2.
  3. تشغيل الأمثلة: قم بتشغيل أكواد الأمثلة لتجربة قدرات الاستنتاج لنماذج اللغة الكبيرة.
  4. تخصيص النماذج: قم بتخصيص النماذج وعمليات الاستنتاج وفقاً لاحتياجاتك.
  5. المشاركة في المجتمع: انضم إلى مجتمع MLC للتبادل والتعلم مع المطورين الآخرين.

المزايا:

  • تقليل حاجز نشر نماذج اللغة الكبيرة: تمكين مزيد من المطورين والمستخدمين من استخدام وتخصيص نماذج اللغة الكبيرة بسهولة.
  • تحسين أداء استنتاج نماذج اللغة الكبيرة: تحسين النماذج من خلال تقنيات تجميع التعلم الآلي لتحقيق سرعة استنتاج فعالة.
  • دعم منصات أجهزة متعددة: القدرة على تشغيل نماذج اللغة الكبيرة على مختلف منصات الأجهزة، بما في ذلك المعالجات ووحدات معالجة الرسومات والأجهزة المحمولة وWebAssembly.
  • توفير أدوات وواجهات برمجة تطبيقات غنية: توفير واجهات برمجة تطبيقات وأدوات بسيطة لتسهيل نشر وتخصيص نماذج اللغة الكبيرة على المطورين.
  • دعم مجتمعي نشط: يتم صيانته من قبل مجتمع MLC، ويوفر الدعم التقني ومنصة للتبادل.

الخلاصة: mlc-ai/mlc-llm هو مشروع واعد جداً، يهدف إلى جعل أي نموذج قادراً على التجميع والتشغيل والنشر محلياً على أي جهاز. من خلال تحسين النماذج باستخدام تقنيات تجميع التعلم الآلي لتحقيق سرعة استنتاج فعالة، وتوفير أدوات وواجهات برمجة تطبيقات غنية لتسهيل نشر وتخصيص نماذج اللغة الكبيرة على المطورين. إذا كنت مهتماً بنشر وتحسين نماذج اللغة الكبيرة، فإن mlc-ai/mlc-llm مشروع يستحق المتابعة.

للحصول على جميع التفاصيل الدقيقة، يرجى الرجوع إلى الموقع الرسمي (https://github.com/mlc-ai/mlc-llm)