هذا منشور ضيف تمت كتابته بالاشتراك مع أنتوني فانس من شركة Intel.
يبحث العملاء دائمًا عن طرق لتحسين الأداء وأوقات الاستجابة لأعباء عمل استدلال التعلم الآلي (ML) دون زيادة التكلفة لكل معاملة ودون التضحية بدقة النتائج. تشغيل أحمال عمل ML الأمازون SageMaker تشغيل الأمازون الحوسبة المرنة السحابية (أمازون EC2) C6i حالات مع إنتل يمكن أن يساعد نشر الاستدلال INT8 في تعزيز الأداء العام بما يصل إلى أربع مرات لكل دولار يتم إنفاقه مع الحفاظ على الخسارة في دقة الاستدلال أقل من 1٪ مقارنة بـ FP32 عند تطبيقها على أعباء عمل معينة في تعلم الآلة. عندما يتعلق الأمر بتشغيل النماذج في الأجهزة المضمنة حيث يكون عامل الشكل وحجم النموذج مهمين ، يمكن أن يساعد التكميم.
التكميم هو أسلوب لتقليل التكاليف الحسابية وتكاليف الذاكرة لتشغيل الاستدلال من خلال تمثيل الأوزان والتنشيطات بأنواع بيانات منخفضة الدقة مثل عدد صحيح 8 بت (INT8) بدلاً من النقطة العائمة 32 بت المعتادة (FP32). في الشكل المثال التالي ، نعرض أداء الاستدلال INT8 في C6i لنموذج قاعدة BERT.
تم ضبط قاعدة BERT بدقة باستخدام SQuAD v1.1 ، مع PyTorch (الإصدار 1.11) باعتباره إطار عمل ML المستخدم مع امتداد Intel® لـ PyTorch. تم استخدام حجم الدُفعة 1 للمقارنة. ستوفر أحجام الدُفعات الأعلى تكلفة مختلفة لكل مليون استدلال.
في هذا المنشور ، نوضح لك كيفية بناء ونشر استنتاج INT8 باستخدام حاوية المعالجة الخاصة لـ PyTorch. نستخدم امتدادات Intel لـ PyTorch من أجل سير عمل نشر INT8 فعال.
نظرة عامة على التكنولوجيا
مثيلات EC2 C6i يتم تشغيلها بواسطة معالجات Intel Xeon Scalable من الجيل الثالث (تسمى أيضًا Ice Lake) بتردد توربو كامل النوى يبلغ 3.5 جيجاهرتز.
في سياق التعلم العميق ، كان التنسيق العددي السائد المستخدم للبحث والنشر حتى الآن هو النقطة العائمة 32 بت ، أو FP32. ومع ذلك ، فإن الحاجة إلى تقليل النطاق الترددي ومتطلبات الحساب لنماذج التعلم العميق دفعت البحث إلى استخدام تنسيقات رقمية منخفضة الدقة. لقد ثبت أنه يمكن تمثيل الأوزان وعمليات التنشيط باستخدام أعداد صحيحة 8 بت (أو INT8) دون تكبد خسارة كبيرة في الدقة.
توفر مثيلات EC2 C6i العديد من الإمكانات الجديدة التي تؤدي إلى تحسينات في الأداء لأعباء عمل الذكاء الاصطناعي والتعلم الآلي. توفر مثيلات C6i مزايا أداء في عمليات نشر نموذجي FP32 و INT8. يتم تمكين استنتاج FP32 مع تحسينات AVX-512 ، ويتم تمكين استنتاج INT8 بواسطة تعليمات AVX-512 VNNI.
يتوفر C6i الآن على نقاط نهاية SageMaker ، وينبغي للمطورين أن يتوقعوا منه تقديم أكثر من ضعف تحسينات أداء السعر لاستدلال INT8 على استدلال FP32 وتحسين الأداء بما يصل إلى أربعة أضعاف مقارنة باستدلال C5 بمثيل FP32. الرجوع إلى الملحق للحصول على تفاصيل المثال وبيانات قياس الأداء.
يعد نشر التعلم العميق على الحافة للاستدلال في الوقت الفعلي مفتاحًا للعديد من مجالات التطبيق. إنه يقلل بشكل كبير من تكلفة الاتصال بالسحابة من حيث عرض النطاق الترددي للشبكة وزمن وصول الشبكة واستهلاك الطاقة. ومع ذلك ، تتمتع الأجهزة المتطورة بذاكرة وموارد وطاقة محدودة. هذا يعني أنه يجب تحسين شبكة التعلم العميق للنشر المضمّن. أصبح تكميم INT8 نهجًا شائعًا لمثل هذه التحسينات لأطر ML مثل TensorFlow و PyTorch. يوفر لك SageMaker أسلوب إحضار الحاوية الخاصة بك (BYOC) والأدوات المتكاملة حتى تتمكن من إجراء عملية التكميم.
لمزيد من المعلومات ، راجع التدريب والاستدلال العددي أقل دقة التعلم العميق.
حل نظرة عامة
خطوات تنفيذ الحل هي كما يلي:
- توفير مثيل EC2 C6i لتقدير وإنشاء نموذج ML.
- استخدم نصوص Python الموفرة للتقويم.
- قم بإنشاء صورة Docker لنشر النموذج في SageMaker باستخدام نهج BYOC.
- استخدم خدمة تخزين أمازون البسيطة (Amazon S3) لنسخ النموذج والرمز للوصول إلى SageMaker.
- استعمل سجل الأمازون المرنة للحاويات (Amazon ECR) لاستضافة صورة Docker.
- استخدم واجهة سطر الأوامر AWS (AWS CLI) لإنشاء نقطة نهاية للاستدلال في SageMaker.
- قم بتشغيل نصوص اختبار Python المتوفرة لاستدعاء نقطة نهاية SageMaker لكل من إصدارات INT8 و FP32.
يستخدم إعداد نشر الاستدلال نموذج BERT-Base من مستودع Hugging Face transformers (csarron / bert-base-uncased-squad-v1).
المتطلبات الأساسية المسبقة
فيما يلي متطلبات أساسية لإنشاء إعداد النشر:
- محطة طرفية في نظام Linux مع تثبيت AWS CLI
- حساب AWS مع إمكانية الوصول إلى إنشاء مثيل EC2 (نوع مثيل C6i)
- وصول SageMaker لنشر نموذج SageMaker وتكوين نقطة النهاية ونقطة النهاية
- إدارة الهوية والوصول AWS (IAM) لتكوين دور وسياسة IAM
- الوصول إلى Amazon ECR
- وصول SageMaker لإنشاء دفتر ملاحظات بإرشادات لتشغيل نقطة نهاية
إنشاء ونشر نموذج INT8 كمي على SageMaker
افتح مثيل EC2 لإنشاء نموذجك الكمي وادفع مصنوعات النموذج إلى Amazon S3. لنشر نقطة النهاية ، قم بإنشاء حاوية مخصصة باستخدام PyTorch و Intel® Extension for PyTorch لنشر نموذج INT8 المحسن. يتم دفع الحاوية إلى Amazon ECR ويتم إنشاء نقطة نهاية تستند إلى C6i لخدمة طرازي FP32 و INT8.
يوضح الرسم البياني التالي التدفق عالي المستوى.
للوصول إلى الرمز والوثائق ، راجع جيثب ريبو.
مثال على حالة الاستخدام
مجموعة بيانات ستانفورد للإجابة على الأسئلة (SQuAD) هي مجموعة بيانات لفهم القراءة تتكون من أسئلة يطرحها العاملون على مجموعة من مقالات ويكيبيديا ، حيث تكون الإجابة على كل سؤال جزءًا من النص ، أو امتداد، من فقرة القراءة المقابلة ، أو قد يكون السؤال غير قابل للإجابة.
المثال التالي عبارة عن خوارزمية الإجابة على السؤال باستخدام نموذج BERT الأساسي. بالنظر إلى المستند كمدخل ، سيجيب النموذج على أسئلة بسيطة بناءً على التعلم والسياقات من مستند الإدخال.
فيما يلي مثال على مستند الإدخال:
غابات الأمازون المطيرة (البرتغالية: Floresta Amazônica أو Amazônia ؛ الإسبانية: Selva Amazónica ، Amazonía أو عادة Amazonia ؛ الفرنسية: Forêt amazonienne ؛ الهولندية: Amazoneregenwoud) ، والمعروفة أيضًا باللغة الإنجليزية باسم Amazonia أو Amazon Jungle ، هي غابة رطبة عريضة الأوراق تغطي معظمها حوض الأمازون في أمريكا الجنوبية. يغطي هذا الحوض 7,000,000،2,700,000،5,500,000 كيلومتر مربع (2,100,000،XNUMX،XNUMX ميل مربع) ، منها XNUMX،XNUMX،XNUMX كيلومتر مربع (XNUMX،XNUMX،XNUMX ميل مربع) تغطيها الغابات المطيرة.
بالنسبة للسؤال "ما هو الاسم المستخدم أيضًا لوصف غابات الأمازون المطيرة باللغة الإنجليزية؟" نحصل على الجواب:
بالنسبة للسؤال "كم كيلومترًا مربعًا من الغابات المطيرة يغطيها الحوض؟" نحصل على الجواب:
قياس النموذج في PyTorch
يقدم هذا القسم نظرة عامة سريعة على خطوات تكميم النموذج مع امتدادات PyTorch و Intel.
يتم اشتقاق قصاصات التعليمات البرمجية من مثال SageMaker.
دعنا ننتقل إلى التغييرات بالتفصيل للوظيفة IPEX_quantize في الملف quantize.py.
- استيراد ملحقات إنتل لـ PyTorch للمساعدة في التكميم والتحسين واستيراد الشعلة لمعالجة المصفوفة:
- تطبيق معايرة النموذج لـ 100 تكرار. في هذه الحالة ، تقوم بمعايرة النموذج باستخدام مجموعة بيانات SQuAD:
- تحضير مدخلات العينة:
- قم بتحويل النموذج إلى طراز INT8 باستخدام التكوين التالي:
- قم بتشغيل نسختين من التمرير الأمامي لتمكين عمليات الاندماج:
- كخطوة أخيرة ، احفظ نموذج TorchScript:
تنظيف
الرجوع إلى جيثو الريبو لخطوات تنظيف موارد AWS التي تم إنشاؤها.
وفي الختام
يمكن لمثيلات EC2 C6i الجديدة في نقطة نهاية SageMaker تسريع نشر الاستدلال بما يصل إلى 2.5 مرة أكبر مع تكميم INT8. يمكن قياس النموذج في PyTorch باستخدام عدد قليل من واجهات برمجة التطبيقات من امتدادات Intel PyTorch. يوصى بتحديد حجم النموذج في مثيلات C6i بحيث يتم الحفاظ على دقة النموذج في نشر نقطة النهاية. أمثلة SageMaker جيثب ريبو يوفر الآن خط أنابيب مثال للنشر من طرف إلى طرف لتقدير واستضافة نماذج INT8.
نحن نشجعك على إنشاء نموذج جديد أو ترحيل نموذج موجود باستخدام تكميم INT8 باستخدام نوع مثيل EC2 C6i ورؤية مكاسب الأداء بنفسك.
إشعار وإخلاء المسؤولية
لا يمنح هذا المستند أي ترخيص (صريحًا أو ضمنيًا ، عن طريق الإغلاق أو غير ذلك) لأي حقوق ملكية فكرية ، باستثناء وحيد هو أن الكود المضمن في هذا المستند مرخص وفقًا لـ ترخيص مفتوح المصدر BSD بدون شرط (0BSD)
الزائدة الدودية
مثيلات AWS الجديدة في SageMaker مع دعم نشر INT8
يسرد الجدول التالي مثيلات SageMaker مع وبدون تعزيز DL دعم.
اسم المثيل | Xeon Gen الاسم الرمزي | تمكين INT8؟ | تمكين DL Boost؟ |
مل. c5. xlarge - ml.c5.9xlarge | Skylake / 1st | نعم | لا |
مل. c5.18x تكبير | Skylake / 1st | نعم | لا |
ml.c6i.1x - 32xlarge | بحيرة الجليد / 3rd | نعم | نعم |
للتلخيص ، يدعم تمكين INT8 نوع بيانات INT8 وحسابها ؛ يدعم DL Boost الداعم لـ Deep Learning Boost.
بيانات قياسية
يقارن الجدول التالي التكلفة والأداء النسبي بين مثيلات c5 و c6.
تم قياس الكمون والإنتاجية باستخدام 10000 استعلام استدلال لنقاط نهاية صانع Sage.
زمن انتقال E2E لنقطة نهاية الاستدلال وتحليل التكلفة | |||||
P50 (مللي ثانية) | P90 (مللي ثانية) | استفسارات / ثانية | $ / مليون استفسار | نسبي دولار / الأداء | |
C5.2xLarge-FP32 | 76.6 | 125.3 | 11.5 | $10.2 | 1.0x |
C6i.2xLarge-FP32 | 70 | 110.8 | 13 | $9.0 | 1.1x |
C6i.2xLarge-INT8 | 35.7 | 48.9 | 25.56 | $4.5 | 2.3x |
من المتوقع أن توفر نماذج INT8 تحسينات عملية في الأداء بمعدل 2-4 مرات مع فقد أقل من 1٪ في الدقة لمعظم النماذج. يغطي الجدول أعلاه زمن الانتقال العلوي (تطبيق NW والتطبيق التجريبي)
الدقة في نموذج قاعدة بيرت
يلخص الجدول التالي دقة نموذج INT8 مع مجموعة بيانات SQUaD v1.1.
متري | FP32 | INT8 |
تطابق تام | 85.8751 | 85.5061 |
F1 | 92.0807 | 91.8728 |
• جيثب ريبو يأتي مع البرامج النصية للتحقق من دقة مجموعة بيانات SQuAD. تشير إلى استدعاء-INT8.py و استدعاء --FP32.py البرامج النصية للاختبار.
امتداد إنتل لـ PyTorch
يمتد امتداد Intel® لـ PyTorch * (مشروع مفتوح المصدر في GitHub) إلى PyTorch مع تحسينات لتعزيز أداء أجهزة Intel. سيتم تضمين معظم التحسينات في إصدارات PyTorch للمخزون في نهاية المطاف ، والهدف من الامتداد هو تقديم ميزات محدثة وتحسينات لـ PyTorch على أجهزة Intel. تتضمن الأمثلة تعليمات AVX-512 Vector Neural Network (AVX512 VNNI) و Intel® Advanced Matrix Extensions (Intel® AMX).
يوضح الشكل التالي امتداد إنتل لمعمارية PyTorch.
لمزيد من إرشادات المستخدم المفصلة (الميزات وضبط الأداء والمزيد) لـ Intel® Extension for PyTorch ، راجع امتداد Intel® لتوجيه المستخدم PyTorch *.
حول المؤلف
روهيت شودري هو مهندس حلول أول في فريق الحسابات الإستراتيجية في AWS.
أنيرودا كاباغانتو هو مهندس تطوير برمجيات في فريق منصات الذكاء الاصطناعي في AWS.
أنتوني فانس هو مهندس ذكاء اصطناعي في Intel يتمتع بخبرة 19 عامًا في رؤية الكمبيوتر والتعلم الآلي والتعلم العميق والبرامج المضمنة ووحدة معالجة الرسومات و FPGA.
- محتوى مدعوم من تحسين محركات البحث وتوزيع العلاقات العامة. تضخيم اليوم.
- بلاتوبلوكشين. Web3 Metaverse Intelligence. تضخيم المعرفة. الوصول هنا.
- المصدر https://aws.amazon.com/blogs/machine-learning/accelerate-amazon-sagemaker-inference-with-c6i-intel-based-amazon-ec2-instances/
- :يكون
- $ UP
- 000
- 1
- 100
- 11
- 7
- 8
- 9
- a
- فوق
- تسريع
- الوصول
- حسابي
- الحسابات
- دقة
- التنشيط
- متقدم
- مزايا
- AI
- خوارزمية
- دائما
- أمازون
- Amazon EC2
- الأمازون SageMaker
- أمريكا
- و
- إجابة
- واجهات برمجة التطبيقات
- تطبيق
- تطبيقي
- نهج
- هندسة معمارية
- هي
- المناطق
- مجموعة
- مقالات
- AS
- At
- متاح
- AWS
- عرض النطاق الترددي
- على أساس
- BE
- أصبح
- يجري
- مؤشر
- ما بين
- زيادة
- جلب
- نساعدك في بناء
- by
- تسمى
- CAN
- قدرات
- حقيبة
- معين
- التغييرات
- التحقق
- سحابة
- الكود
- التواصل
- مقارنة
- مقارنة
- حساب
- إحصاء
- الكمبيوتر
- رؤية الكمبيوتر
- الحوسبة
- الاعداد
- تتكون
- استهلاك
- وعاء
- سياق الكلام
- السياقات
- المقابلة
- التكلفة
- التكاليف
- مغطى
- يغطي
- خلق
- خلق
- خلق
- خلق
- على
- البيانات
- عميق
- التعلم العميق
- نقل
- تظاهر
- نشر
- نشر
- نشر
- مستمد
- وصف
- التفاصيل
- مفصلة
- تفاصيل
- المطورين
- التطوير التجاري
- الأجهزة
- مختلف
- عامل في حوض السفن
- وثيقة
- توثيق
- فعل
- دولار
- مدفوع
- الهولندية
- حافة
- الطُرق الفعّالة
- جزءا لا يتجزأ من
- تمكين
- تمكين
- يشمل
- شجع
- النهائي إلى نهاية
- نقطة النهاية
- مهندس
- انجليزي
- في النهاية
- كل
- مثال
- أمثلة
- استثناء
- القائمة
- توقع
- متوقع
- الخبره في مجال الغطس
- التعبير
- تمديد
- اضافات المتصفح
- احتفل على
- الوجه
- المميزات
- قليل
- الشكل
- قم بتقديم
- يطفو على السطح
- تدفق
- متابعيك
- متابعات
- في حالة
- غابة
- النموذج المرفق
- شكل
- إلى الأمام
- FPGA
- الإطار
- الأطر
- الفرنسية
- تردد
- تبدأ من
- وظيفة
- الرأس مالية
- الجنرال
- دولار فقط واحصل على خصم XNUMX% على جميع
- GitHub جيثب:
- معطى
- يعطي
- Go
- وحدة معالجة الرسوميات:
- منح
- أكبر
- ضيف
- زائر رد
- توجيه
- أجهزة التبخير
- يملك
- مساعدة
- رفيع المستوى
- أعلى
- مضيف
- استضافة
- كيفية
- كيفية
- لكن
- HTML
- HTTP
- HTTPS
- ICE
- هوية
- صورة
- تنفيذ
- ضمني
- استيراد
- أهمية
- تحسن
- تحسين
- تحسينات
- in
- تتضمن
- شامل
- في ازدياد
- معلومات
- إدخال
- مثل
- بدلًا من ذلك
- تعليمات
- المتكاملة
- إنتل
- فكري
- الملكية الفكرية
- نية
- IT
- التكرارات
- JPG
- حفظ
- القفل
- معروف
- بحيرة
- اسم العائلة
- كمون
- إطلاق
- تعلم
- حقوق الملكية الفكرية
- مرخص
- مثل
- محدود
- خط
- لينكس
- قوائم
- أبحث
- خسارة
- آلة
- آلة التعلم
- صانع
- كثير
- مصفوفة
- يعني
- مكبر الصوت : يدعم، مع دعم ميكروفون مدمج لمنع الضوضاء
- ربما
- الهجرة
- مليون
- ML
- نموذج
- عارضات ازياء
- الأكثر من ذلك
- أكثر
- MS
- الاسم
- حاجة
- شبكة
- الشبكة العصبية
- جديد
- مفكرة
- of
- عرض
- on
- جاكيت
- المصدر المفتوح
- التحسين
- الأمثل
- OS
- وإلا
- الكلي
- نظرة عامة
- الخاصة
- مسار
- أداء
- خط أنابيب
- منصات التداول
- أفلاطون
- الذكاء افلاطون البيانات
- أفلاطون داتا
- البوينت
- الرائج
- البرتغاليّة
- ممكن
- منشور
- قوة
- مدعوم
- عملية
- دقة
- الشروط
- معالجة
- المعالجات
- تنفيذ المشاريع
- الملكية
- حقوق الملكية
- تزود
- المقدمة
- ويوفر
- دفع
- دفع
- بايثون
- pytorch
- سؤال
- الأسئلة المتكررة
- سريع
- نادي القراءة
- في الوقت الحقيقي
- موصى به
- تخفيض
- عقار مخفض
- يقلل
- النشرات
- مستودع
- ممثلة
- تمثل
- المتطلبات الأساسية
- بحث
- الموارد
- استجابة
- نتيجة
- النتائج
- حقوق
- النوع
- يجري
- تشغيل
- التضحية
- sagemaker
- الاستدلال SageMaker
- حفظ
- تحجيم
- مخطوطات
- القسم
- قطعة
- خدمة
- طقم
- الإعداد
- قذيفة
- ينبغي
- إظهار
- هام
- بشكل ملحوظ
- الاشارات
- المقاس
- الأحجام
- So
- حتى الآن
- تطبيقات الكمبيوتر
- تطوير البرمجيات
- حل
- الحلول
- مصدر
- جنوب
- أمريكا الجنوبية
- الإسبانية
- قضى
- SQ
- مربع
- خطوة
- خطوات
- مخزون
- تخزين
- إستراتيجي
- موضوع
- هذه
- تلخيص
- زودت
- الدعم
- الدعم
- جدول
- فريق
- tensorflow
- محطة
- سياسة الحجب وتقييد الوصول
- تجربه بالعربي
- الاختبار
- أن
- •
- من مشاركة
- الإنتاجية
- مرات
- إلى
- أدوات
- شعلة
- صفقة
- محولات
- أنواع
- حديث جديد
- تستخدم
- مستخدم
- عادة
- رؤيتنا
- طرق
- التي
- في حين
- ويكيبيديا
- سوف
- مع
- بدون
- سنوات
- أنت
- حل متجر العقارات الشامل الخاص بك في جورجيا
- نفسك
- زفيرنت