كيف يحقق Amazon Search استنتاج T5 بزمن انتقال منخفض وعالي الإنتاجية باستخدام NVIDIA Triton على AWS

عقدة المصدر: 1227376

تتمثل رؤية Amazon Search في تمكين العملاء من البحث دون عناء. يساعدك التصحيح الإملائي في العثور على ما تريد حتى إذا كنت لا تعرف التهجئة الدقيقة للكلمات المقصودة. في الماضي ، استخدمنا خوارزميات التعلم الآلي الكلاسيكية (ML) مع هندسة الميزات اليدوية لتصحيح الإملاء. لتحقيق قفزة الجيل التالي في أداء التصحيح الإملائي ، فإننا نتبنى عددًا من مناهج التعلم العميق ، بما في ذلك نماذج التسلسل إلى التسلسل. تتميز نماذج التعلم العميق (DL) بأنها كثيفة الحساب في كل من التدريب والاستدلال ، وقد جعلت هذه التكاليف ، تاريخيًا ، نماذج التعلم العميق غير عملية في بيئة الإنتاج على نطاق أمازون. في هذا المنشور ، نقدم نتائج تجربة تحسين الاستدلال حيث تغلبنا على تلك العقبات وحققنا تسريع استنتاج بنسبة 534 ٪ لمحول Hugging Face T5 الشهير.

تحدي

محول تحويل النص إلى نص (T5 ، استكشاف حدود نقل التعلم باستخدام محول نص إلى نص موحد، Reffel et al) هو أحدث تصميم معماري لنموذج معالجة اللغة الطبيعية (NLP). T5 هي بنية واعدة لتصحيح الإملاء ، والتي وجدنا أنها تؤدي أداءً جيدًا في تجاربنا. تتميز نماذج T5 بسهولة البحث والتطوير والتدريب ، وذلك بفضل أطر التعلم العميق مفتوحة المصدر والبحث الأكاديمي والمشاريع المستمر.

ومع ذلك ، من الصعب تحقيق استدلال على درجة الإنتاج وزمن انتقال منخفض باستخدام T5. على سبيل المثال ، يستغرق الاستدلال الفردي باستخدام PyTorch T5 45 مللي ثانية على واحدة من وحدات معالجة الرسومات NVIDIA V100 Tensor Core الأربعة التي تزود مثيل Amazon Elastic Compute Cloud (EC2) p3.8xlarge. (جميع أرقام الاستدلال المُبلغ عنها مخصصة لإدخال 9 رموز ومخرجات من 11 رمزًا مميزًا. زمن انتقال بنى T5 حساس لكل من أطوال المدخلات والمخرجات.)

يُعد استنتاج T5 منخفض التكلفة والفعال من حيث التكلفة من الصعوبات المعروفة التي أبلغ عنها العديد من عملاء AWS بخلاف Amazon Search ، مما يعزز دافعنا للمساهمة في هذا المنشور. للانتقال من إنجاز علمي غير متصل بالإنترنت إلى خدمة إنتاج تواجه العملاء ، يواجه Amazon Search التحديات التالية:

  • كمون - كيفية تحقيق استنتاج T5 في زمن انتقال أقل من 50 مللي ثانية P99
  • الإنتاجية - كيفية التعامل مع طلبات الاستدلال المتزامنة واسعة النطاق
  • فعالية التكلفة - كيفية السيطرة على التكاليف

في بقية هذا المنشور ، نشرح كيف أن مكدس تحسين الاستدلال NVIDIA - أي ملف نفيديا تينسوررت المترجم والمصدر المفتوح خادم الاستدلال NVIDIA Triton- يحل تلك التحديات. اقرأ بيان صحفي لـ NVIDIA للتعرف على التحديثات.

NVIDIA TensorRT: تقليل التكاليف وزمن الوصول مع تحسين الاستدلال

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

NVIDIA TensorRT عبارة عن SDK لاستدلال التعلم العميق عالي الأداء. يوفر TensorRT وقت تشغيل مُحسَّن ، باستخدام نواة مُحسَّنة منخفضة المستوى متاحة على وحدات معالجة الرسومات NVIDIA ، ورسم بياني نموذجي للاستدلال فقط ، والذي يعيد ترتيب حساب الاستدلال بترتيب مُحسَّن.

في القسم التالي ، سنتحدث عن التفاصيل التي تحدث وراء TensorRT وكيف تعمل على تسريع الأداء.

  1. دقة مخفضة يعمل على زيادة الإنتاجية باستخدام FP16 أو INT8 عن طريق قياس النماذج مع الحفاظ على صحتها.
  2. طبقة وتينسور فيوجن يحسن استخدام ذاكرة GPU وعرض النطاق الترددي من خلال دمج العقد في النواة لتجنب زمن انتقال kernel.
  3. الضبط التلقائي لـ Kernel يختار أفضل طبقات البيانات والخوارزميات بناءً على النظام الأساسي GPU المستهدف وأشكال نواة البيانات.
  4. ذاكرة التنسور الديناميكي يقلل من أثر الذاكرة عن طريق تحرير استهلاك الذاكرة غير الضروري للنتائج الوسيطة وإعادة استخدام الذاكرة للموترات بكفاءة.
  5. تنفيذ متعدد الدفق يستخدم تصميمًا قابلاً للتطوير لمعالجة تدفقات الإدخال المتعددة بالتوازي مع تدفقات CUDA المخصصة.
  6. تايم فيوجن يحسن الشبكات العصبية المتكررة بمرور الوقت مع نواة تم إنشاؤها ديناميكيًا.

يستخدم T5 طبقات المحولات كوحدات بناء لبنياتها. يقدم أحدث إصدار من NVIDIA TensorRT 8.2 تحسينات جديدة لنماذج T5 و GPT-2 للاستدلال في الوقت الفعلي. في الجدول التالي ، يمكننا أن نرى التسريع مع TensorRT في بعض طرز T5 العامة التي تعمل على مثيلات Amazon EC2G4dn ، مدعومة بوحدات معالجة الرسومات NVIDIA T4 ومثيلات EC2 G5 ، المدعومة بوحدات معالجة الرسومات NVIDIA A10G.

 

الموديل حتة الكمون الأساسي Pytorch (مللي ثانية) TensorRT 8.2 الكمون (مللي ثانية) تسريع مقابل خط الأساس HF
FP32 FP32 FP16 FP32 FP16
التشفير فك من النهاية الى النهاية التشفير فك من النهاية الى النهاية التشفير فك من النهاية الى النهاية من النهاية الى النهاية من النهاية الى النهاية
t5- صغير g4dn.xlarge 5.98 9.74 30.71 1.28 2.25 7.54 0.93 1.59 5.91 407.40% 519.34%
g5.xlarge 4.63 7.56 24.22 0.61 1.05 3.99 0.47 0.80 3.19 606.66% 760.01%
t5- قاعدة g4dn.xlarge 11.61 19.05 78.44 3.18 5.45 19.59 3.15 2.96 13.76 400.48% 569.97%
g5.xlarge 8.59 14.23 59.98 1.55 2.47 11.32 1.54 1.65 8.46 530.05% 709.20%

لمزيد من المعلومات حول التحسينات والنسخ المتماثل للأداء المرفق ، ارجع إلى تحسين T5 و GPT-2 للاستدلال في الوقت الفعلي باستخدام NVIDIA TensorRT.

من المهم ملاحظة أن التجميع يحافظ على دقة النموذج ، لأنه يعمل على بيئة الاستدلال وجدولة الحساب ، مما يترك علم النموذج دون تغيير - على عكس ضغط إزالة الوزن مثل التقطير أو التقليم. يسمح NVIDIA TensorRT بدمج التجميع مع التقسيم لتحقيق مكاسب إضافية. الكمي له فوائد مضاعفة على أجهزة NVIDIA الحديثة: فهو يقلل من استخدام الذاكرة ، ويمكّن من استخدام NVIDIA Tensor Cores ، الخلايا الخاصة بـ DL التي تشغل مصفوفة مدمجة - مضاعفة - إضافة بدقة مختلطة.

في حالة تجربة Amazon Search مع نموذج Hugging Face T5 ، يؤدي استبدال PyTorch بـ TensorRT لاستدلال النموذج إلى زيادة السرعة بنسبة 534٪.

NVIDIA Triton: خدمة استدلال بزمن وصول منخفض وعالي الإنتاجية

يمكن لحلول خدمة النماذج الحديثة تحويل النماذج المدربة في وضع عدم الاتصال إلى منتجات تعمل بنظام ML تواجه العملاء. للحفاظ على تكاليف معقولة على هذا النطاق ، من المهم الحفاظ على انخفاض النفقات العامة (معالجة HTTP ، والمعالجة المسبقة والمعالجة اللاحقة ، واتصال CPU-GPU) ، والاستفادة الكاملة من قدرة المعالجة المتوازية لوحدات معالجة الرسومات.

NVIDIA Triton هو برنامج خدمة استدلال يقترح دعمًا واسعًا لأوقات تشغيل النموذج (NVIDIA TensorRT و ONNX و PyTorch و XGBoost وغيرها) وخلفيات البنية التحتية ، بما في ذلك وحدات معالجة الرسومات ووحدة المعالجة المركزية و استدلال AWS.

ممارسو ML يحبون Triton لأسباب متعددة. تسمح قدرتها الديناميكية على التجميع بتجميع طلبات الاستدلال أثناء التأخير الذي يحدده المستخدم وضمن حجم الدُفعة الأقصى الذي يحدده المستخدم ، بحيث يتم تجميع استدلال GPU ، مما يؤدي إلى إطفاء الحمل الزائد لاتصالات CPU-GPU. لاحظ أن التجميع الديناميكي يحدث من جانب الخادم وفي أطر زمنية قصيرة جدًا ، بحيث لا يزال لدى العميل الطالب تجربة استدعاء متزامنة في الوقت الفعلي تقريبًا. يستمتع مستخدمو Triton أيضًا بقدرتها على تنفيذ النموذج المتزامن. تعد وحدات معالجة الرسوميات متعددة المهام قوية تتفوق في تنفيذ أعباء العمل كثيفة الحوسبة بالتوازي. يعمل Triton على زيادة استخدام GPU والإنتاجية باستخدام تدفقات CUDA لتشغيل مثيلات نموذج متعددة في نفس الوقت. يمكن أن تكون مثيلات النموذج هذه نماذج مختلفة من أطر عمل مختلفة لحالات استخدام مختلفة ، أو نسخة مباشرة من نفس النموذج. يُترجم هذا إلى تحسين مباشر في الإنتاجية عندما يكون لديك ذاكرة GPU خاملة كافية. أيضًا ، نظرًا لأن Triton ليس مرتبطًا بإطار عمل تطوير DL محدد ، فإنه يسمح للعلماء بالتعبير عن أنفسهم بشكل كامل ، في الأداة التي يختارونها.

مع Triton على AWS ، تتوقع Amazon Search تقديم خدمة أفضل Amazon.com العملاء وتلبية متطلبات زمن الوصول بتكلفة منخفضة. يسهل التكامل الوثيق بين وقت تشغيل TensorRT وخادم Triton تجربة التطوير. يسمح استخدام البنية التحتية السحابية لـ AWS بالارتقاء أو التقليل في دقائق بناءً على متطلبات الإنتاجية ، مع الحفاظ على مستوى عالٍ أو الموثوقية والأمان.

كيف تعمل AWS على تقليل حاجز الدخول

بينما أجرت Amazon Search هذه التجربة على البنية التحتية لـ Amazon EC2 ، توجد خدمات AWS أخرى لتسهيل تطوير وتدريب واستضافة أحدث حلول التعلم العميق.

على سبيل المثال ، تعاونت AWS و NVIDIA لإصدار تطبيق مُدار لـ Triton Inference Server في الأمازون SageMaker ؛ لمزيد من المعلومات، راجع انشر الذكاء الاصطناعي السريع والقابل للتطوير باستخدام خادم الاستدلال NVIDIA Triton في Amazon SageMaker. تعاونت AWS أيضًا مع Hugging Face لتطوير تكامل مُدار ومحسن بين Amazon SageMaker و Hugging Face Transformers ، وهو إطار مفتوح المصدر يُشتق منه نموذج Amazon Search T5 ؛ اقراء المزيد على https://aws.amazon.com/machine-learning/hugging-face/.

نحن نشجع العملاء الذين لديهم تطبيقات خدمة التعلم العميق لوحدة المعالجة المركزية ووحدة معالجة الرسومات (GPU) الحساسة لوقت الاستجابة على التفكير في NVIDIA TensorRT و Triton على AWS. دعنا نعرف ما تبنيه!

هل أنت شغوف بالتعلم العميق وبناء حلول قائمة على التعلم العميق لـ Amazon Search؟ تحقق من صفحة الوظائف.


حول المؤلف

RJ مهندس في فريق Search M5 يقود الجهود المبذولة لبناء أنظمة تعلم عميق واسعة النطاق للتدريب والاستدلال. خارج العمل يستكشف مطابخ مختلفة من الطعام ويمارس رياضة المضرب.

هيمانت بوجاليا هو عالم تطبيقي في Search M5. إنه يعمل على تطبيق أحدث معالجة للغة الطبيعية وأبحاث التعلم العميق لتحسين تجربة العملاء في التسوق عبر أمازون في جميع أنحاء العالم. تشمل اهتماماته البحثية معالجة اللغة الطبيعية وأنظمة التعلم الآلي واسعة النطاق. خارج العمل ، يستمتع بالتنزه والطهي والقراءة.

آندي صن مهندس برمجيات ورئيس فني لتصحيح إملاء البحث. تشمل اهتماماته البحثية تحسين زمن انتقال استدلال التعلم العميق ، وبناء منصات تجريبية سريعة. خارج العمل ، يستمتع بصناعة الأفلام والألعاب البهلوانية.

لو كاي هو مهندس برمجيات في Amazon Search. يعمل على تحسين أداء Search Spelling Correction لمساعدة العملاء في تجربة التسوق. إنه يركز على الاستدلال عالي الأداء عبر الإنترنت وتحسين التدريب الموزع لنموذج التعلم العميق. خارج العمل ، يستمتع بالتزلج والمشي لمسافات طويلة وركوب الدراجات.

أنتوني كو يعمل حاليًا كمهندس برمجيات في Search M5 Palo Alto ، CA. يعمل على بناء الأدوات والمنتجات لنشر النموذج وتحسين الاستدلال. خارج العمل ، يستمتع بالطهي ولعب رياضة المضرب.

أوليفييه كروشانت هو مهندس حلول متخصص في التعلم الآلي في AWS ، ومقرها في فرنسا. يساعد Olivier عملاء AWS - من الشركات الناشئة الصغيرة إلى المؤسسات الكبيرة - في تطوير ونشر تطبيقات التعلم الآلي على مستوى الإنتاج. في أوقات فراغه ، يستمتع بقراءة الأوراق البحثية واستكشاف الحياة البرية مع الأصدقاء والعائلة.

أنيش موهان هو مهندس تعلم الآلة في NVIDIA والمسؤول التقني عن تفاعلات ML و DL مع عملائه في منطقة سياتل الكبرى.

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

إليوث تريانا هو مدير علاقات المطورين في NVIDIA. يربط بين رواد منتجات Amazon و AWS والمطورين والعلماء مع تقنيي NVIDIA ورواد المنتجات لتسريع أعباء عمل Amazon ML / DL ومنتجات EC2 وخدمات AWS AI. بالإضافة إلى ذلك ، Eliuth هو راكب الدراجة النارية الجبلي والمتزلج ولاعب البوكر.

الطابع الزمني:

اكثر من التعلم الآلي من AWS