TLDR: للمضي قدمًا، نهدف إلى أن تكون Transformers هي المحور عبر الأطر: إذا كانت بنية النموذج مدعومة بواسطة المحولات، فيمكنك توقع دعمها في بقية النظام البيئي.


تم إنشاء المحولات في عام 2019، بعد وقت قصير من إصدار نموذج BERT Transformer. منذ ذلك الحين، ونحن نهدف باستمرار إلى إضافة أحدث البنى، مع التركيز في البداية على البرمجة اللغوية العصبية (NLP)، ثم تطوير الرؤية الصوتية والكمبيوترية. اليوم، المحولات هي المكتبة الافتراضية لـ LLMs وVLMs في نظام Python البيئي.

تدعم Transformers الآن أكثر من 300 بنية نموذجية، مع إضافة 3 بنيات جديدة في المتوسط ​​كل أسبوع. لقد هدفنا إلى إطلاق هذه البنى في الوقت المناسب؛ الحصول على دعم من اليوم الأول للبنى الأكثر طلبًا (Llamas وQwens وGLMs وما إلى ذلك).

مكتبة تعريف النموذج

بمرور الوقت، أصبحت Transformers مكونًا أساسيًا في النظام البيئي لتعلم الآلة، وأصبحت واحدة من مجموعات الأدوات الأكثر اكتمالاً من حيث تنوع النماذج؛ إنه مدمج في جميع أطر التدريب الشائعة مثل Axolotl وUnsloth وDeepSpeed ​​وFSDP وPyTorch-Lightning وTRL وNanotron وما إلى ذلك.

في الآونة الأخيرة، كنا نعمل جنبًا إلى جنب مع محركات الاستدلال الأكثر شيوعًا (vLLM، SGLang، TGI، …) ليتمكنوا من استخدامها transformers كخلفية. القيمة المضافة مهمة: بمجرد إضافة النموذج إليه transformers، يصبح متاحًا في محركات الاستدلال هذه، مع الاستفادة من نقاط القوة التي يوفرها كل محرك: تحسينات الاستدلال، والنوى المتخصصة، والدفعات الديناميكية، وما إلى ذلك.

على سبيل المثال، إليك كيفية العمل مع transformers الواجهة الخلفية في vLLM:

from vllm import LLM

llm = LLM(model="new-transformers-model", model_impl="transformers")

هذا كل ما يتطلبه النموذج الجديد للاستمتاع بخدمة فائقة السرعة وعلى مستوى الإنتاج مع vLLM!

اقرأ المزيد عنها في وثائق vLLM.


لقد عملنا أيضًا بشكل وثيق جدًا مع llama.cpp وMLX حتى تتم عمليات التنفيذ بينهما transformers
وتتمتع مكتبات النمذجة هذه بإمكانية تشغيل تفاعلي كبيرة. على سبيل المثال، بفضل الجهود الكبيرة التي بذلها المجتمع، أصبح الآن من السهل جدًا تحميل ملفات GGUF transformers لمزيد من الضبط. على العكس من ذلك، يمكن تحويل نماذج المحولات بسهولة إلى ملفات GGUF لاستخدامها مع llama.cpp.

وينطبق الشيء نفسه على MLX، حيث تكون ملفات الأمان الخاصة بالمحولات متوافقة بشكل مباشر مع نماذج MLX.

نحن فخورون جدًا بأن transformers يتم اعتماد التنسيق من قبل المجتمع، مما يوفر الكثير من إمكانية التشغيل البيني التي نستفيد منها جميعًا. قم بتدريب نموذج باستخدام Unsloth، ونشره باستخدام SGLang، وتصديره إلى llama.cpp لتشغيله محليًا! نحن نهدف إلى مواصلة دعم المجتمع للمضي قدمًا.

السعي للحصول على مساهمات نموذجية أبسط

لتسهيل استخدام المحولات على المجتمع كمرجع لتعريفات النماذج، فإننا نسعى جاهدين لتقليل العوائق التي تحول دون مساهمات النماذج بشكل كبير. لقد قمنا بهذه الجهود منذ بضع سنوات، ولكننا سنتسارع بشكل ملحوظ خلال الأسابيع القليلة المقبلة:

  • سيتم تبسيط رمز النمذجة لكل نموذج بشكل أكبر؛ مع واجهات برمجة تطبيقات واضحة وموجزة لأهم المكونات (ذاكرة التخزين المؤقت KV، ووظائف الانتباه المختلفة، وتحسين النواة)
  • سنقوم بإهمال المكونات الزائدة لصالح وجود طريقة بسيطة واحدة لاستخدام واجهات برمجة التطبيقات الخاصة بنا: تشجيع الترميز الفعال من خلال إهمال الرموز المميزة البطيئة، وبالمثل استخدام معالجات الرؤية الموجهة السريعة.
  • سوف نستمر في تعزيز العمل حولها وحدات تعريفات النماذج، بهدف أن تتطلب النماذج الجديدة الحد الأدنى من التغييرات في التعليمات البرمجية. 6000 مساهمة سطرية، 20 ملف تغيير للنماذج الجديدة أصبحت شيئًا من الماضي.

كيف يؤثر هذا عليك؟

ماذا يعني هذا بالنسبة لك، كمستخدم نموذجي

كمستخدم نموذجي، يجب أن ترى في المستقبل المزيد من قابلية التشغيل البيني في الأدوات التي تستخدمها.

هذا لا يعني أننا نعتزم حبسك في الاستخدام transformers في تجاربك؛ بل يعني أنه بفضل توحيد النمذجة هذا، يمكنك أن تتوقع أن تعمل الأدوات التي تستخدمها للتدريب والاستدلال والإنتاج معًا بكفاءة.

ماذا يعني هذا بالنسبة لك، كمنشئ نموذجي

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

ومن خلال توحيد تطبيق النموذج بطريقة موجهة نحو المجتمع، نأمل في تقليل حاجز المساهمات في هذا المجال عبر المكتبات.


ونحن نعتقد اعتقادا راسخا أن هذا الاتجاه المتجدد سيساعد في توحيد النظام البيئي الذي غالبا ما يكون معرضا لخطر التجزئة. نود أن نسمع تعليقاتك حول الاتجاه الذي قرر الفريق اتباعه؛ والتغييرات التي يمكننا القيام بها للوصول إلى هناك. يرجى الحضور لرؤيتنا في علامة تبويب دعم مجتمع المحولات في المركز!

شاركها.
اترك تعليقاً