Home
Login

Text Generation Inference (TGI) عبارة عن مكتبة Rust لنشر نماذج توليد النصوص على نطاق واسع. وهي مصممة لتحقيق أداء عالٍ وزمن انتقال منخفض واستخدام فعال للموارد، خاصة في بيئات الإنتاج.

Apache-2.0Python 10.2khuggingface Last Updated: 2025-06-13

استنتاج توليد النصوص من Hugging Face (TGI)

مقدمة

استنتاج توليد النصوص (TGI) عبارة عن مجموعة أدوات مصممة خصيصًا لنشر وتقديم خدمات استنتاج نماذج اللغة الكبيرة (LLM). تم تطويره بواسطة Hugging Face بهدف معالجة التحديات التي تواجه التشغيل الفعال لـ LLM في بيئات الإنتاج. يركز TGI على توفير أداء عالٍ وسهولة الاستخدام وقابلية التوسع، مما يمكّن المطورين من دمج LLM بسهولة في تطبيقاتهم.

الميزات الأساسية

  • استنتاج عالي الأداء:
    • نواة محسّنة: يستخدم تقنيات مثل Flash Attention و Paged Attention لتحسين سرعة الاستنتاج.
    • التوازي الموتري: يدعم التوازي الموتري عبر وحدات معالجة الرسومات المتعددة لتسريع استنتاج النماذج الكبيرة.
    • التكميم: يدعم تكميم النموذج (على سبيل المثال، INT8، FP16) لتقليل استهلاك الذاكرة وزيادة الإنتاجية.
  • سهولة الاستخدام:
    • نشر بسيط: يوفر صور Docker ونصوص نشر Kubernetes لتبسيط عملية النشر.
    • واجهة برمجة تطبيقات REST: يوفر واجهة برمجة تطبيقات REST سهلة الاستخدام للتفاعل مع النموذج.
    • دعم gRPC: يدعم بروتوكول gRPC لتوفير اتصال أكثر كفاءة.
  • قابلية التوسع:
    • توسع أفقي: يمكن توسيع خدمة الاستنتاج أفقيًا عن طريق إضافة المزيد من عقد GPU.
    • معالجة الدفعات الديناميكية: يقوم تلقائيًا بتجميع طلبات متعددة معًا لتحسين الإنتاجية.
  • النماذج المدعومة:
    • يدعم مجموعة متنوعة من LLM على Hugging Face Hub، بما في ذلك:
      • GPT-2, GPT-Neo, GPT-J
      • BLOOM
      • Llama, Llama 2
      • T5
      • إلخ.
    • يدعم النماذج المخصصة.
  • ميزات متقدمة:
    • إخراج متدفق: يدعم إنشاء نص متدفق، مما يسمح للمستخدمين برؤية النتائج فورًا أثناء قيام النموذج بإنشاء النص.
    • تدفق الرموز: يسمح بتدفق الإخراج كوحدات رمزية، مما يتيح تحكمًا أكثر دقة.
    • قوالب المطالبات: يدعم استخدام قوالب المطالبات لتنسيق مطالبات الإدخال.
    • الأمان: يوفر ميزات أمان مثل المصادقة والترخيص.
    • المراقبة: يوفر مقاييس المراقبة لتتبع أداء خدمة الاستنتاج.
    • التسجيل: يوفر تسجيلًا تفصيليًا للمساعدة في تصحيح المشكلات.

البنية

تتضمن بنية TGI عادةً المكونات التالية:

  • خادم API: يستقبل الطلبات من العملاء ويعيد توجيهها إلى محرك الاستنتاج.
  • محرك الاستنتاج: مسؤول عن تحميل النموذج وتنفيذ الاستنتاج.
  • تخزين النموذج: يخزن أوزان النموذج وتكويناته.
  • المجدول: مسؤول عن تخصيص الطلبات لمحركات الاستنتاج المتاحة.

النشر

يمكن نشر TGI بعدة طرق، بما في ذلك:

  • Docker: يوفر صور Docker، مما يسهل نشر TGI في أي بيئة تدعم Docker.
  • Kubernetes: يوفر نصوص نشر Kubernetes، والتي يمكن استخدامها لنشر TGI في مجموعة Kubernetes.
  • المنصات السحابية: يمكن نشر TGI على مجموعة متنوعة من المنصات السحابية، مثل AWS و Azure و GCP.

مثال على الاستخدام

فيما يلي مثال على استخدام واجهة برمجة تطبيقات REST الخاصة بـ TGI لإنشاء نص:

curl -X POST http://localhost:8080/generate \
     -H "Content-Type: application/json" \
     -d '{"inputs": "The quick brown fox jumps over the lazy dog.", "parameters": {"max_new_tokens": 50}}'

المزايا

  • أداء عالي: تم تحسين TGI لتوفير استنتاج LLM عالي الأداء.
  • سهولة الاستخدام: يوفر TGI واجهات برمجة تطبيقات بسيطة وخيارات نشر، مما يجعله سهل الاستخدام.
  • قابلية التوسع: يمكن توسيع TGI أفقيًا للتعامل مع كميات كبيرة من الطلبات.
  • المرونة: يدعم TGI مجموعة متنوعة من LLM وبيئات النشر.
  • دعم المجتمع: يتم صيانة TGI ودعمه بنشاط من قبل مجتمع Hugging Face.

القيود

  • متطلبات الموارد: يتطلب تشغيل LLM قدرًا كبيرًا من موارد الحوسبة، مثل ذاكرة GPU.
  • التعقيد: قد يكون نشر وإدارة خدمات استنتاج LLM أمرًا معقدًا.
  • التكلفة: قد يكون تشغيل خدمات استنتاج LLM مكلفًا، خاصة عند استخدام المنصات السحابية.

ملخص

استنتاج توليد النصوص (TGI) هو أداة قوية يمكن أن تساعد المطورين على نشر وتقديم خدمات استنتاج LLM في بيئات الإنتاج. يوفر أداءً عاليًا وسهولة في الاستخدام وقابلية للتوسع، مما يجعله خيارًا مثاليًا لبناء تطبيقات تعتمد على LLM.

المصادر

جميع التفاصيل، يرجى الرجوع إلى الموقع الرسمي (https://github.com/huggingface/text-generation-inference)