يهدف TensorRT-LLM الذي طورته NVIDIA إلى تحسين إنتاجية LLM بشكل كبير وتقليل التكاليف من خلال وحدة معالجة الرسومات.
على وجه التحديد، يقوم TensorRT-LLM بتغليف مترجم التعلم العميق لـ TensorRT، والنواة المحسنة لـ FasterTransformer، والمعالجة المسبقة واللاحقة، والاتصال متعدد وحدات معالجة الرسومات/متعدد العقد في واجهة برمجة تطبيقات Python بسيطة مفتوحة المصدر.
قامت NVIDIA بتعزيز برنامج FasterTransformer لجعله حلاً منتجًا.
يمكن ملاحظة أن TensorRT-LLM يوفر واجهة برمجة تطبيقات Python سهلة الاستخدام ومفتوحة المصدر ونموذجية.
لا يحتاج المبرمجون إلى خبرة متعمقة في C++ أو CUDA لنشر العديد من نماذج اللغات الكبيرة وتشغيلها وتصحيح أخطائها، ويمكنهم أيضًا الحصول على أعلى أداء وتخصيص سريع.
وفقًا لمدونة Nvidia الرسمية، يعمل TensorRT-LLM على تحسين أداء استدلال LLM على وحدات معالجة الرسومات Nvidia بأربع طرق.
أولاً، تم تقديم TensorRT-LLM للنماذج الكبيرة الحالية التي يزيد عددها عن 10، مما يسمح للمطورين بتشغيلها على الفور.
ثانيًا، تسمح TensorRT-LLM، باعتبارها مكتبة برمجيات مفتوحة المصدر، لـ LLM بإجراء الاستدلال على وحدات معالجة الرسومات المتعددة وخوادم GPU المتعددة في وقت واحد.
ترتبط هذه الخوادم عبر وصلات NVLink وInfiniBand الخاصة بـ NVIDIA.
والثالث هو "معالجة الدُفعات أثناء الطيران"، وهي تقنية جدولة جديدة تمامًا تسمح لمهام النماذج المختلفة بالدخول والخروج من وحدة معالجة الرسومات بشكل مستقل عن المهام الأخرى.
أخيرًا، تم تحسين TensorRT-LLM للاستفادة من محرك H100 Transformer Engine لتقليل استخدام الذاكرة وزمن الوصول أثناء استنتاج النموذج.
بعد ذلك، دعونا نلقي نظرة فاحصة على كيفية تحسين TensorRT-LLM لأداء النموذج.
تتطلب نماذج اللغات الأكبر والأكثر تقدمًا، مثل Llama 2-70B من Meta، وحدات معالجة رسومات متعددة تعمل معًا لتوفير الاستجابات في الوقت الفعلي.
في السابق، إذا أرادوا تحقيق الأداء الأمثل لاستدلال LLM، كان على المطورين إعادة كتابة نموذج الذكاء الاصطناعي وتقسيمه يدويًا إلى أجزاء متعددة وتنسيق التنفيذ عبر وحدات معالجة الرسومات.
يستخدم TensorRT-LLM توازي الموتر لتوزيع مصفوفة الوزن على كل جهاز، وبالتالي تبسيط هذه العملية وتمكين الاستدلال الفعال على نطاق واسع.
يمكن تشغيل كل نموذج بالتوازي على وحدات معالجة رسومات متعددة وخوادم متعددة متصلة عبر NVLink، دون تدخل المطور أو تغييرات النموذج.
مع تقديم نماذج وبنيات نماذج جديدة، يمكن للمطورين تحسين نماذجهم باستخدام أحدث إصدار من NVIDIA AI kernel (Kernal) مفتوح المصدر في TensorRT-LLM.
دعم دمج kernel (Kernal Fusion)، بما في ذلك تطبيق FlashAttention الأكثر تطورًا والاهتمام المقنع متعدد الرؤوس للسياق ومراحل إنشاء تنفيذ نموذج GPT، وما إلى ذلك.
بالإضافة إلى ذلك، يتضمن TensorRT-LLM إصدارات محسنة بالكامل وجاهزة للتشغيل للعديد من نماذج اللغات الكبيرة الشائعة اليوم.
وتشمل هذه Meta Llama 2 وOpenAI GPT-2 وGPT-3 وFalcon وMosaic MPT وBLOOM وأكثر من 10 نماذج، يمكن استدعاؤها جميعًا باستخدام واجهة برمجة التطبيقات TensorRT-LLM Python API البسيطة وسهلة الاستخدام.
يمكن أن تساعد هذه الميزات المطورين في إنشاء نماذج لغة كبيرة مخصصة بشكل أسرع وأكثر دقة لتلبية الاحتياجات المختلفة لمختلف الصناعات.
معالجة الدفعات على متن الطائرة
تُستخدم النماذج اللغوية الكبيرة في مجموعة واسعة من التطبيقات اليوم.
يمكن استخدام النموذج في وقت واحد لمهام متعددة تبدو متباينة - بدءًا من استجابات الأسئلة والأجوبة البسيطة في برنامج الدردشة الآلية، وحتى تلخيص المستندات أو إنشاء كتل تعليمات برمجية طويلة. إن أعباء العمل ديناميكية للغاية ويجب أن تكون أحجام المخرجات ذات أحجام مختلفة للمهمة. يحتاج.
يمكن أن يؤدي تنوع المهام إلى صعوبة تجميع الطلبات بشكل فعال وتنفيذ التنفيذ الموازي بكفاءة، مما قد يتسبب في إكمال بعض الطلبات في وقت أبكر من غيرها.
لإدارة هذه الأحمال الديناميكية، يتضمن TensorRT-LLM تقنية جدولة محسنة تسمى "التجميع أثناء الطيران".
مبدأها الأساسي هو أن عملية إنشاء النص بأكملها لنموذج لغة كبير يمكن تقسيمها إلى تكرارات تنفيذ متعددة على النموذج.
من خلال التجميع أثناء الرحلة، يقوم وقت تشغيل TensorRT-LLM بإصدار التسلسلات المكتملة من الدفعة على الفور، بدلاً من انتظار اكتمال الدفعة بأكملها قبل الاستمرار في معالجة المجموعة التالية من الطلبات.
أثناء تنفيذ طلب جديد، لا تزال الطلبات الأخرى من الدفعة السابقة التي لم تكتمل قيد المعالجة.
تعمل عمليات التجميع أثناء الطيران والتحسينات الإضافية على مستوى kernel على تحسين استخدام وحدة معالجة الرسومات ويمكنها على الأقل مضاعفة إنتاجية معيار طلب LLM الفعلي على H100.
محرك محول H100 باستخدام FP 8
يوفر TensorRT-LLM أيضًا ميزة تسمى H100 Transformer Engine، والتي يمكن أن تقلل بشكل فعال من استهلاك الذاكرة وزمن الوصول أثناء الاستدلال على النماذج الكبيرة.
نظرًا لأن LLM يحتوي على مليارات من أوزان النماذج ووظائف التنشيط، فإنه عادةً ما يتم تدريبه وتمثيله بقيم FP16 أو BF16، حيث يشغل كل منها 16 بت من الذاكرة.
ومع ذلك، في وقت الاستدلال، يمكن تمثيل معظم النماذج بكفاءة وبدقة أقل باستخدام تقنيات التكميم، مثل الأعداد الصحيحة 8 بت أو حتى 4 بت (INT8 أو INT4).
التكميم هو عملية تقليل أوزان النموذج ودقة التنشيط دون التضحية بالدقة. إن استخدام دقة أقل يعني أن كل معلمة أصغر وأن النموذج يشغل مساحة أقل في ذاكرة وحدة معالجة الرسومات.
يتيح ذلك الاستدلال على النماذج الأكبر حجمًا التي تستخدم نفس الجهاز مع قضاء وقت أقل في عمليات الذاكرة أثناء التنفيذ.
من خلال تقنية H100 Transformer Engine، تسمح وحدة معالجة الرسومات H100 مع TensorRT-LLM للمستخدمين بتحويل أوزان النموذج بسهولة إلى تنسيق FP8 الجديد وتجميع النموذج تلقائيًا للاستفادة من نواة FP8 المحسنة.
وهذه العملية لا تتطلب أي ترميز! يتيح تنسيق بيانات FP8 الذي قدمته H100 للمطورين تحديد كمية نماذجهم وتقليل استهلاك الذاكرة بشكل كبير دون تقليل دقة النموذج.
بالمقارنة مع تنسيقات البيانات الأخرى مثل INT8 أو INT4، يحتفظ تكميم FP8 بدقة أعلى مع تحقيق أسرع أداء وهو الأكثر ملاءمة للتنفيذ.
كيفية الحصول على TensorRT-LLM
على الرغم من أن TensorRT-LLM لم يتم إصداره رسميًا بعد، إلا أنه يمكن للمستخدمين الآن الوصول المبكر.
رابط التطبيق هو كما يلي:
قالت NVIDIA أيضًا أنه سيتم دمج TensorRT-LLM في إطار عمل NVIDIA NeMo قريبًا.
يعد هذا الإطار جزءًا من AI Enterprise الذي أطلقته NVIDIA منذ وقت ليس ببعيد، مما يوفر لعملاء المؤسسات منصة برمجية آمنة ومستقرة وسهلة الإدارة على مستوى المؤسسة.
يمكن للمطورين والباحثين الوصول إلى TensorRT-LLM من خلال إطار عمل NeMo على NVIDIA NGC أو كمشروع على GitHub.
ومع ذلك، تجدر الإشارة إلى أنه يجب على المستخدمين التسجيل في برنامج NVIDIA Developer للتقدم بطلب للحصول على إصدار الوصول المبكر.
مناقشة ساخنة بين مستخدمي الإنترنت
أطلق مستخدمو الإنترنت على Reddit نقاشًا ساخنًا حول إطلاق TensorRT-LLM.
من الصعب أن نتخيل مدى تحسن التأثير بعد تحسين الأجهزة خصيصًا لـ LLM.
لكن بعض مستخدمي الإنترنت يعتقدون أن الغرض من هذا الشيء هو مساعدة Lao Huang على بيع المزيد من سيارات H100.
ومع ذلك، فإن بعض مستخدمي الإنترنت لا يوافقون على ذلك كثيرًا، فهو يشعر أن Tensor RT مفيد أيضًا للمستخدمين الذين ينشرون SD محليًا، لذلك طالما أن هناك وحدة معالجة رسوميات RTX، فمن الممكن الاستفادة من منتجات مماثلة في المستقبل.
من منظور أكثر كلية، ربما بالنسبة لـ LLM، سيكون هناك أيضًا سلسلة من التحسينات على مستوى الأجهزة، وحتى الأجهزة المصممة خصيصًا لـ LLM ستظهر في المستقبل لتحسين أداء LLM. وهذا الوضع شائع بالفعل في العديد من الدول. لقد ظهر في التطبيقات، وLLM ليس استثناءً.
مراجع:
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
ارتفع المنطق H100 8 مرات! أعلنت NVIDIA رسميًا عن TensorRT-LLM مفتوح المصدر، الذي يدعم أكثر من 10 نماذج
المصدر الأصلي: Xinzhiyuan
"فقراء وحدة معالجة الرسومات" على وشك توديع مأزقهم!
أصدرت NVIDIA للتو برنامجًا مفتوح المصدر TensorRT-LLM، والذي يمكنه تسريع عملية تفكير نماذج اللغات الكبيرة على H100.
بعد إضافة TensorRT-LLM وسلسلة وظائف التحسين الخاصة به (بما في ذلك معالجة الدُفعات أثناء الطيران)، زاد إجمالي إنتاجية النموذج بمقدار 8 مرات.
بالإضافة إلى ذلك، بأخذ Llama 2 كمثال، يمكن لـ TensorRT-LLM تحسين أداء الاستدلال بمقدار 4.6 مرات مقارنة باستخدام A100 وحده.
قال مستخدمو الإنترنت إن H100 القوي للغاية، جنبًا إلى جنب مع TensorRT-LLM، سيغير بلا شك الوضع الحالي لاستدلال نماذج اللغة واسعة النطاق!
حاليًا، نظرًا لحجم المعلمات الضخم للنماذج الكبيرة، تظل صعوبة وتكلفة "النشر والاستدلال" مرتفعة.
يهدف TensorRT-LLM الذي طورته NVIDIA إلى تحسين إنتاجية LLM بشكل كبير وتقليل التكاليف من خلال وحدة معالجة الرسومات.
قامت NVIDIA بتعزيز برنامج FasterTransformer لجعله حلاً منتجًا.
يمكن ملاحظة أن TensorRT-LLM يوفر واجهة برمجة تطبيقات Python سهلة الاستخدام ومفتوحة المصدر ونموذجية.
لا يحتاج المبرمجون إلى خبرة متعمقة في C++ أو CUDA لنشر العديد من نماذج اللغات الكبيرة وتشغيلها وتصحيح أخطائها، ويمكنهم أيضًا الحصول على أعلى أداء وتخصيص سريع.
أولاً، تم تقديم TensorRT-LLM للنماذج الكبيرة الحالية التي يزيد عددها عن 10، مما يسمح للمطورين بتشغيلها على الفور.
ثانيًا، تسمح TensorRT-LLM، باعتبارها مكتبة برمجيات مفتوحة المصدر، لـ LLM بإجراء الاستدلال على وحدات معالجة الرسومات المتعددة وخوادم GPU المتعددة في وقت واحد.
ترتبط هذه الخوادم عبر وصلات NVLink وInfiniBand الخاصة بـ NVIDIA.
والثالث هو "معالجة الدُفعات أثناء الطيران"، وهي تقنية جدولة جديدة تمامًا تسمح لمهام النماذج المختلفة بالدخول والخروج من وحدة معالجة الرسومات بشكل مستقل عن المهام الأخرى.
أخيرًا، تم تحسين TensorRT-LLM للاستفادة من محرك H100 Transformer Engine لتقليل استخدام الذاكرة وزمن الوصول أثناء استنتاج النموذج.
بعد ذلك، دعونا نلقي نظرة فاحصة على كيفية تحسين TensorRT-LLM لأداء النموذج.
دعم بيئة LLM الغنية
يوفر TensorRT-LLM دعمًا جيدًا جدًا للنظام البيئي النموذجي مفتوح المصدر.
تتطلب نماذج اللغات الأكبر والأكثر تقدمًا، مثل Llama 2-70B من Meta، وحدات معالجة رسومات متعددة تعمل معًا لتوفير الاستجابات في الوقت الفعلي.
في السابق، إذا أرادوا تحقيق الأداء الأمثل لاستدلال LLM، كان على المطورين إعادة كتابة نموذج الذكاء الاصطناعي وتقسيمه يدويًا إلى أجزاء متعددة وتنسيق التنفيذ عبر وحدات معالجة الرسومات.
يمكن تشغيل كل نموذج بالتوازي على وحدات معالجة رسومات متعددة وخوادم متعددة متصلة عبر NVLink، دون تدخل المطور أو تغييرات النموذج.
دعم دمج kernel (Kernal Fusion)، بما في ذلك تطبيق FlashAttention الأكثر تطورًا والاهتمام المقنع متعدد الرؤوس للسياق ومراحل إنشاء تنفيذ نموذج GPT، وما إلى ذلك.
بالإضافة إلى ذلك، يتضمن TensorRT-LLM إصدارات محسنة بالكامل وجاهزة للتشغيل للعديد من نماذج اللغات الكبيرة الشائعة اليوم.
وتشمل هذه Meta Llama 2 وOpenAI GPT-2 وGPT-3 وFalcon وMosaic MPT وBLOOM وأكثر من 10 نماذج، يمكن استدعاؤها جميعًا باستخدام واجهة برمجة التطبيقات TensorRT-LLM Python API البسيطة وسهلة الاستخدام.
يمكن أن تساعد هذه الميزات المطورين في إنشاء نماذج لغة كبيرة مخصصة بشكل أسرع وأكثر دقة لتلبية الاحتياجات المختلفة لمختلف الصناعات.
معالجة الدفعات على متن الطائرة
تُستخدم النماذج اللغوية الكبيرة في مجموعة واسعة من التطبيقات اليوم.
يمكن استخدام النموذج في وقت واحد لمهام متعددة تبدو متباينة - بدءًا من استجابات الأسئلة والأجوبة البسيطة في برنامج الدردشة الآلية، وحتى تلخيص المستندات أو إنشاء كتل تعليمات برمجية طويلة. إن أعباء العمل ديناميكية للغاية ويجب أن تكون أحجام المخرجات ذات أحجام مختلفة للمهمة. يحتاج.
يمكن أن يؤدي تنوع المهام إلى صعوبة تجميع الطلبات بشكل فعال وتنفيذ التنفيذ الموازي بكفاءة، مما قد يتسبب في إكمال بعض الطلبات في وقت أبكر من غيرها.
مبدأها الأساسي هو أن عملية إنشاء النص بأكملها لنموذج لغة كبير يمكن تقسيمها إلى تكرارات تنفيذ متعددة على النموذج.
من خلال التجميع أثناء الرحلة، يقوم وقت تشغيل TensorRT-LLM بإصدار التسلسلات المكتملة من الدفعة على الفور، بدلاً من انتظار اكتمال الدفعة بأكملها قبل الاستمرار في معالجة المجموعة التالية من الطلبات.
أثناء تنفيذ طلب جديد، لا تزال الطلبات الأخرى من الدفعة السابقة التي لم تكتمل قيد المعالجة.
تعمل عمليات التجميع أثناء الطيران والتحسينات الإضافية على مستوى kernel على تحسين استخدام وحدة معالجة الرسومات ويمكنها على الأقل مضاعفة إنتاجية معيار طلب LLM الفعلي على H100.
محرك محول H100 باستخدام FP 8
يوفر TensorRT-LLM أيضًا ميزة تسمى H100 Transformer Engine، والتي يمكن أن تقلل بشكل فعال من استهلاك الذاكرة وزمن الوصول أثناء الاستدلال على النماذج الكبيرة.
نظرًا لأن LLM يحتوي على مليارات من أوزان النماذج ووظائف التنشيط، فإنه عادةً ما يتم تدريبه وتمثيله بقيم FP16 أو BF16، حيث يشغل كل منها 16 بت من الذاكرة.
ومع ذلك، في وقت الاستدلال، يمكن تمثيل معظم النماذج بكفاءة وبدقة أقل باستخدام تقنيات التكميم، مثل الأعداد الصحيحة 8 بت أو حتى 4 بت (INT8 أو INT4).
التكميم هو عملية تقليل أوزان النموذج ودقة التنشيط دون التضحية بالدقة. إن استخدام دقة أقل يعني أن كل معلمة أصغر وأن النموذج يشغل مساحة أقل في ذاكرة وحدة معالجة الرسومات.
من خلال تقنية H100 Transformer Engine، تسمح وحدة معالجة الرسومات H100 مع TensorRT-LLM للمستخدمين بتحويل أوزان النموذج بسهولة إلى تنسيق FP8 الجديد وتجميع النموذج تلقائيًا للاستفادة من نواة FP8 المحسنة.
وهذه العملية لا تتطلب أي ترميز! يتيح تنسيق بيانات FP8 الذي قدمته H100 للمطورين تحديد كمية نماذجهم وتقليل استهلاك الذاكرة بشكل كبير دون تقليل دقة النموذج.
بالمقارنة مع تنسيقات البيانات الأخرى مثل INT8 أو INT4، يحتفظ تكميم FP8 بدقة أعلى مع تحقيق أسرع أداء وهو الأكثر ملاءمة للتنفيذ.
كيفية الحصول على TensorRT-LLM
على الرغم من أن TensorRT-LLM لم يتم إصداره رسميًا بعد، إلا أنه يمكن للمستخدمين الآن الوصول المبكر.
رابط التطبيق هو كما يلي:
قالت NVIDIA أيضًا أنه سيتم دمج TensorRT-LLM في إطار عمل NVIDIA NeMo قريبًا.
يعد هذا الإطار جزءًا من AI Enterprise الذي أطلقته NVIDIA منذ وقت ليس ببعيد، مما يوفر لعملاء المؤسسات منصة برمجية آمنة ومستقرة وسهلة الإدارة على مستوى المؤسسة.
يمكن للمطورين والباحثين الوصول إلى TensorRT-LLM من خلال إطار عمل NeMo على NVIDIA NGC أو كمشروع على GitHub.
ومع ذلك، تجدر الإشارة إلى أنه يجب على المستخدمين التسجيل في برنامج NVIDIA Developer للتقدم بطلب للحصول على إصدار الوصول المبكر.
مناقشة ساخنة بين مستخدمي الإنترنت
أطلق مستخدمو الإنترنت على Reddit نقاشًا ساخنًا حول إطلاق TensorRT-LLM.
من الصعب أن نتخيل مدى تحسن التأثير بعد تحسين الأجهزة خصيصًا لـ LLM.