الذكاء الاصطناعي
TensorRT-LLM: دليل شامل لتحسين استدلال نموذج اللغة الكبير لتحقيق أقصى قدر من الأداء

مع استمرار ارتفاع الطلب على نماذج اللغة الكبيرة (LLMs)، أصبح ضمان الاستدلال السريع والفعال والقابل للتطوير أكثر أهمية من أي وقت مضى. TensorRT-LLM تتخذ TensorRT-LLM خطوات لمعالجة هذا التحدي من خلال توفير مجموعة من الأدوات القوية والتحسينات المصممة خصيصًا لاستنتاجات LLM. تقدم TensorRT-LLM مجموعة رائعة من تحسينات الأداء، مثل التكميم، ودمج النواة، والدفعات الفورية، ودعم وحدات معالجة الرسومات المتعددة. تتيح هذه التطورات إمكانية تحقيق سرعات استدلال تصل إلى 8 أضعاف أسرع من الطرق التقليدية القائمة على وحدة المعالجة المركزية، مما يحول الطريقة التي ننشر بها LLMs في الإنتاج.
سوف يستكشف هذا الدليل الشامل جميع جوانب TensorRT-LLM، بدءًا من بنيته وميزاته الرئيسية وحتى الأمثلة العملية لنشر النماذج. سواء كنت مهندس ذكاء اصطناعي أو مطور برامج أو باحثًا، سيزودك هذا الدليل بالمعرفة اللازمة للاستفادة من TensorRT-LLM لتحسين استدلال LLM على وحدات معالجة الرسومات NVIDIA.
تسريع استدلال LLM باستخدام TensorRT-LLM
يقدم TensorRT-LLM تحسينات كبيرة في أداء استدلال LLM. وفقًا لاختبارات NVIDIA، تظهر التطبيقات المستندة إلى TensorRT شنومكس مرة أسرع سرعات الاستدلال مقارنة بالمنصات التي تعتمد على وحدة المعالجة المركزية فقط. وهذا تقدم بالغ الأهمية في التطبيقات في الوقت الفعلي مثل برامج الدردشة الآلية وأنظمة التوصية والأنظمة المستقلة التي تتطلب استجابات سريعة.
آلية العمل
يعمل TensorRT-LLM على تسريع الاستدلال من خلال تحسين الشبكات العصبية أثناء النشر باستخدام تقنيات مثل:
- توضيح:يقلل من دقة الأوزان والتنشيطات، مما يؤدي إلى تقليص حجم النموذج وتحسين سرعة الاستدلال.
- طبقة وتينسور فيوجن:دمج العمليات مثل وظائف التنشيط وضرب المصفوفات في عملية واحدة.
- ضبط النواة:يحدد أنوية CUDA المثالية لحسابات وحدة معالجة الرسوميات، مما يقلل من وقت التنفيذ.
تضمن عمليات التحسين هذه أن تعمل نماذج LLM الخاصة بك بكفاءة عبر مجموعة واسعة من منصات النشر - بدءًا من مراكز البيانات الضخمة إلى الأنظمة المضمنة.
تحسين أداء الاستدلال باستخدام TensorRT
تم تصميم TensorRT على نموذج البرمجة المتوازية CUDA من NVIDIA، ويوفر تحسينات متخصصة للغاية للاستدلال على وحدات معالجة الرسومات NVIDIA. من خلال تبسيط العمليات مثل التكميم وضبط النواة ودمج عمليات الموتر، يضمن TensorRT إمكانية تشغيل LLMs بأقل قدر من زمن الوصول.
تتضمن بعض التقنيات الأكثر فعالية ما يلي:
- توضيح:يؤدي هذا إلى تقليل الدقة العددية لمعلمات النموذج مع الحفاظ على الدقة العالية، مما يؤدي إلى تسريع الاستدلال بشكل فعال.
- تينسور فيوجن:من خلال دمج عمليات متعددة في نواة CUDA واحدة، يعمل TensorRT على تقليل تكلفة الذاكرة وزيادة الإنتاجية.
- ضبط النواة تلقائيًا:يقوم TensorRT تلقائيًا باختيار أفضل نواة لكل عملية، مما يعمل على تحسين الاستدلال لوحدة معالجة الرسوميات (GPU) المحددة.
تسمح هذه التقنيات لـ TensorRT-LLM بتحسين أداء الاستدلال لمهام التعلم العميق مثل معالجة اللغة الطبيعية ومحركات التوصية وتحليلات الفيديو في الوقت الفعلي.
تسريع أحمال عمل الذكاء الاصطناعي باستخدام TensorRT
يعمل TensorRT على تسريع أحمال عمل التعلم العميق من خلال دمج تحسينات الدقة مثل INT8 و FP16تسمح هذه التنسيقات ذات الدقة المنخفضة باستنتاج أسرع بشكل ملحوظ مع الحفاظ على الدقة. وهذا مفيد بشكل خاص في التطبيقات في الوقت الفعلي حيث يكون زمن الوصول المنخفض متطلبًا بالغ الأهمية.
INT8 و FP16 تعتبر التحسينات فعالة بشكل خاص في:
- لقطات الفيديو:تستفيد مهام معالجة الفيديو المعتمدة على الذكاء الاصطناعي، مثل اكتشاف الكائنات، من هذه التحسينات من خلال تقليل الوقت المستغرق لمعالجة الإطارات.
- أنظمة التوصية:من خلال تسريع الاستدلال للنماذج التي تعالج كميات كبيرة من بيانات المستخدم، يتيح TensorRT التخصيص في الوقت الفعلي على نطاق واسع.
- معالجة اللغات الطبيعية (NLP):يعمل TensorRT على تحسين سرعة مهام معالجة اللغة الطبيعية مثل إنشاء النصوص والترجمة والتلخيص، مما يجعلها مناسبة للتطبيقات في الوقت الفعلي.
النشر والتشغيل والتوسع باستخدام NVIDIA Triton
بمجرد تحسين نموذجك باستخدام TensorRT-LLM، يمكنك نشره وتشغيله وتوسيع نطاقه بسهولة باستخدام خادم الاستدلال NVIDIA Triton. Triton هو برنامج مفتوح المصدر يدعم التجميع الديناميكي ومجموعات النماذج والإنتاجية العالية. وهو يوفر بيئة مرنة لإدارة نماذج الذكاء الاصطناعي على نطاق واسع.
بعض الميزات الرئيسية ما يلي:
- تنفيذ النموذج المتزامن:قم بتشغيل نماذج متعددة في وقت واحد، مما يزيد من الاستفادة من وحدة معالجة الرسوميات.
- الخلط الديناميكي:يجمع طلبات الاستدلال المتعددة في دفعة واحدة، مما يقلل من زمن الوصول ويزيد من الإنتاجية.
- مدخلات الصوت والفيديو المتدفقة:يدعم تدفقات الإدخال في تطبيقات الوقت الفعلي، مثل تحليلات الفيديو المباشر أو خدمات تحويل الكلام إلى نص.
وهذا يجعل Triton أداة قيمة لنشر نماذج TensorRT-LLM المحسّنة في بيئات الإنتاج، مما يضمن قابلية التوسع والكفاءة العالية.
الميزات الأساسية لبرنامج TensorRT-LLM لاستدلال LLM
واجهة برمجة تطبيقات Python مفتوحة المصدر
يوفر TensorRT-LLM برنامجًا معياريًا للغاية و واجهة برمجة تطبيقات Python مفتوحة المصدر، مما يبسط عملية تحديد وتحسين وتنفيذ LLMs. تتيح واجهة برمجة التطبيقات للمطورين إنشاء LLMs مخصصة أو تعديل تلك المعدة مسبقًا لتناسب احتياجاتهم، دون الحاجة إلى معرفة متعمقة بإطارات CUDA أو التعلم العميق.
الدفعات أثناء الطيران والانتباه المقسم إلى صفحات
واحدة من الميزات البارزة لبرنامج TensorRT-LLM هي الدفعات أثناء الطيران، مما يعمل على تحسين عملية إنشاء النص من خلال معالجة طلبات متعددة في وقت واحد. تعمل هذه الميزة على تقليل وقت الانتظار وتحسين استخدام وحدة معالجة الرسومات من خلال تجميع التسلسلات بشكل ديناميكي.
بالإضافة إلى ذلك، الاهتمام بالصفحات يضمن أن يظل استخدام الذاكرة منخفضًا حتى عند معالجة تسلسلات الإدخال الطويلة. بدلاً من تخصيص ذاكرة متجاورة لجميع الرموز، يقوم الانتباه المقسم بتقسيم الذاكرة إلى "صفحات" يمكن إعادة استخدامها ديناميكيًا، مما يمنع تجزئة الذاكرة ويحسن الكفاءة.
الاستدلال على وحدات معالجة الرسوميات المتعددة والعقد المتعددة
بالنسبة للنماذج الأكبر أو أحمال العمل الأكثر تعقيدًا، يدعم TensorRT-LLM وحدة معالجة الرسومات المتعددة و الاستدلال متعدد العقدتتيح هذه القدرة توزيع حسابات النموذج عبر العديد من وحدات معالجة الرسوميات أو العقد، مما يؤدي إلى تحسين الإنتاجية وتقليل إجمالي وقت الاستدلال.
دعم FP8
مع قدوم FP8 (نقطة عائمة 8 بت)، يستفيد TensorRT-LLM من وحدات معالجة الرسوميات H100 من NVIDIA لتحويل أوزان النماذج إلى هذا التنسيق لتحسين الاستدلال. يتيح FP8 تقليل استهلاك الذاكرة والحوسبة بشكل أسرع، وهو مفيد بشكل خاص في عمليات النشر واسعة النطاق.
هندسة ومكونات TensorRT-LLM
سيساعدك فهم بنية TensorRT-LLM على الاستفادة بشكل أفضل من قدراتها لاستنتاج LLM. دعنا نحلل المكونات الرئيسية:
تعريف النموذج
يتيح لك TensorRT-LLM تعريف LLMs باستخدام واجهة برمجة تطبيقات Python البسيطة. تقوم واجهة برمجة التطبيقات بإنشاء تمثيل بياني النموذج، مما يجعل من الأسهل إدارة الطبقات المعقدة المشاركة في بنيات LLM مثل GPT أو BERT.
ربطات الوزن
قبل تجميع النموذج، يجب ربط الأوزان (أو المعلمات) بالشبكة. تضمن هذه الخطوة تضمين الأوزان داخل محرك TensorRT، مما يسمح بالاستدلال السريع والفعال. كما يسمح TensorRT-LLM بتحديثات الأوزان بعد التجميع، مما يضيف المرونة للنماذج التي تحتاج إلى تحديثات متكررة.
مطابقة الأنماط والاندماج
عملية الاندماج هناك ميزة أخرى قوية في TensorRT-LLM. من خلال دمج عمليات متعددة (على سبيل المثال، عمليات ضرب المصفوفات مع وظائف التنشيط) في نواة CUDA واحدة، يعمل TensorRT على تقليل النفقات العامة المرتبطة بعمليات تشغيل متعددة للنواة. وهذا يقلل من عمليات نقل الذاكرة ويسرع الاستدلال.
الإضافات
لتوسيع قدرات TensorRT، يمكن للمطورين الكتابة الإضافات—نوى مخصصة تؤدي مهام محددة مثل تحسين كتل الانتباه متعددة الرؤوس. على سبيل المثال، الاهتمام الفوري يؤدي البرنامج المساعد إلى تحسين أداء طبقات الاهتمام LLM بشكل كبير.
معايير الأداء: مكاسب أداء TensorRT-LLM
يُظهِر TensorRT-LLM مكاسب كبيرة في الأداء لاستدلال LLM عبر وحدات معالجة الرسوميات المختلفة. فيما يلي مقارنة لسرعة الاستدلال (مقاسة بالرموز في الثانية) باستخدام TensorRT-LLM عبر وحدات معالجة الرسوميات المختلفة من NVIDIA:
الموديل | دقة | طول الإدخال/الإخراج | H100 (80 جيجابايت) | A100 (80 جيجابايت) | ل40S FP8 |
---|---|---|---|---|---|
جي بي تي جيه 6 ب | FP8 | 128/128 | 34,955 | 11,206 | 6,998 |
جي بي تي جيه 6 ب | FP8 | 2048/128 | 2,800 | 1,354 | 747 |
لاما الإصدار 2 7 ب | FP8 | 128/128 | 16,985 | 10,725 | 6,121 |
لاما الإصدار 3 8 ب | FP8 | 128/128 | 16,708 | 12,085 | 8,273 |
تظهر هذه المعايير أن TensorRT-LLM يوفر تحسينات كبيرة في الأداء، وخاصة للتسلسلات الأطول.
التدريب العملي: تثبيت وبناء TensorRT-LLM
الخطوة 1: إنشاء بيئة حاوية
من أجل سهولة الاستخدام، يوفر TensorRT-LLM صور Docker لإنشاء بيئة خاضعة للرقابة لبناء النماذج وتشغيلها.
docker build --pull \ --target devel \ --file docker/Dockerfile.multi \ --tag tensorrt_llm/devel:latest .