با استفاده از نمونه‌های آمازون EC2 G5 برای مدل‌های NLP و CV PyTorch، با سه برابر هزینه کمتر به ازای هر استنتاج، به چهار برابر توان استنتاج ML بالاتری برسید. جستجوی عمودی Ai.

با استفاده از نمونه‌های آمازون EC2 G5 برای مدل‌های NLP و CV PyTorch، چهار برابر توان استنتاج ML بالاتر با سه برابر هزینه کمتر در هر استنتاج به دست آورید.

ابر محاسبه الاستیک آمازون (Amazon EC2) نمونه های G5 اولین و تنها نمونه‌هایی در فضای ابری هستند که دارای پردازنده‌های گرافیکی NVIDIA A10G Tensor Core هستند که می‌توانید برای طیف گسترده‌ای از موارد استفاده با گرافیک فشرده و یادگیری ماشین (ML) استفاده کنید. با نمونه‌های G5، مشتریان ML کارایی بالا و زیرساختی مقرون‌به‌صرفه برای آموزش و استقرار مدل‌های بزرگ‌تر و پیچیده‌تر برای پردازش زبان طبیعی (NLP)، بینایی رایانه (CV) و موارد استفاده از موتورهای توصیه‌گر دریافت می‌کنند.

هدف این پست نشان دادن مزایای عملکرد نمونه های G5 برای بارهای کاری استنتاج ML در مقیاس بزرگ است. ما این کار را با مقایسه قیمت-عملکرد (که به صورت استنتاج به ازای هر میلیون دلار اندازه گیری می شود) برای مدل های NLP و CV با نمونه های G4dn انجام می دهیم. ما با توصیف رویکرد معیار خود شروع می‌کنیم و سپس منحنی‌های توان عملیاتی در مقابل تأخیر را در اندازه‌های دسته‌ای و دقت نوع داده ارائه می‌کنیم. در مقایسه با نمونه‌های G4dn، متوجه می‌شویم که نمونه‌های G5 به‌طور مداوم هزینه کمتری را در هر میلیون استنتاج برای هر دو حالت دقت کامل و دقت مختلط برای مدل‌های NLP و CV ارائه می‌کنند در حالی که به توان عملیاتی بالاتر و تأخیر کمتری دست می‌یابند.

رویکرد محک زدن

برای توسعه یک مطالعه قیمت-عملکرد بین G5 و G4dn، باید توان عملیاتی، تأخیر و هزینه در هر میلیون استنتاج را به عنوان تابعی از اندازه دسته اندازه گیری کنیم. ما همچنین تاثیر دقت کامل در مقابل دقت ترکیبی را مطالعه می‌کنیم. هر دو نمودار مدل و ورودی ها قبل از استنتاج در CUDA بارگذاری می شوند.

همانطور که در نمودار معماری زیر نشان داده شده است، ابتدا تصاویر کانتینر پایه مربوطه را با CUDA برای نمونه زیرین EC2 (G4dn، G5) ایجاد می کنیم. برای ساخت تصاویر کانتینر پایه، با آن شروع می کنیم ظروف یادگیری عمیق AWS، که از تصاویر Docker از پیش بسته بندی شده برای استقرار محیط های یادگیری عمیق در چند دقیقه استفاده می کنند. تصاویر حاوی کتابخانه ها و ابزارهای یادگیری عمیق PyTorch هستند. شما می توانید کتابخانه ها و ابزارهای خود را در بالای این تصاویر برای کنترل بالاتری بر نظارت، انطباق و پردازش داده ها اضافه کنید.

سپس یک تصویر محفظه مخصوص مدل می‌سازیم که پیکربندی مدل، ردیابی مدل و کدهای مربوطه را برای اجرای پاس‌های رو به جلو کپسوله می‌کند. همه تصاویر کانتینر در داخل بارگذاری می شوند آمازون ECR تا امکان مقیاس بندی افقی این مدل ها برای پیکربندی های مختلف مدل فراهم شود. ما استفاده می کنیم سرویس ذخیره سازی ساده آمازون (Amazon S3) به عنوان یک فروشگاه داده رایج برای دانلود پیکربندی و آپلود نتایج معیار برای خلاصه سازی. می‌توانید از این معماری برای بازآفرینی و بازتولید نتایج بنچمارک استفاده کنید و برای محک زدن انواع مدل‌های مختلف (مانند مدل‌های Hugging Face، مدل‌های PyTorch، سایر مدل‌های سفارشی) در انواع نمونه EC2 (CPU، GPU، Inf1) استفاده کنید.

با تنظیم این آزمایش، هدف ما مطالعه تأخیر به عنوان تابعی از توان عملیاتی است. این منحنی برای طراحی برنامه کاربردی برای رسیدن به زیرساخت بهینه هزینه برای برنامه هدف مهم است. برای دستیابی به این هدف، بارهای مختلف را با قرار دادن پرس و جو از چندین رشته و سپس اندازه گیری زمان رفت و برگشت برای هر درخواست تکمیل شده شبیه سازی می کنیم. توان عملیاتی بر اساس تعداد درخواست های تکمیل شده در واحد زمان ساعت اندازه گیری می شود. علاوه بر این، می‌توانید اندازه‌های دسته‌ای و سایر متغیرها مانند طول توالی و دقت کامل در مقابل دقت نصف را تغییر دهید تا به طور جامع فضای طراحی را جارو کنید تا به معیارهای عملکردی شاخص برسید. در مطالعه ما، از طریق یک جارو پارامتریک از اندازه دسته و پرس و جو از مشتریان چند رشته ای، منحنی توان عملیاتی در مقابل تاخیر تعیین می شود. هر درخواست را می توان دسته بندی کرد تا از بهره برداری کامل از شتاب دهنده اطمینان حاصل شود، به ویژه برای درخواست های کوچک که ممکن است به طور کامل از گره محاسبه استفاده نکنند. شما همچنین می توانید این تنظیم را برای شناسایی اندازه دسته سمت مشتری برای عملکرد بهینه اتخاذ کنید.

به طور خلاصه، می‌توانیم این مسئله را به صورت ریاضی به صورت زیر نمایش دهیم: (Throughput، Latency) = تابع (اندازه دسته، تعداد رشته‌ها، دقت).

این بدان معناست که با توجه به فضای جامع، تعداد آزمایش‌ها می‌تواند زیاد باشد. خوشبختانه، هر آزمایش می تواند به طور مستقل اجرا شود. توصیه می کنیم استفاده کنید دسته AWS برای انجام این معیار مقیاس افقی در زمان فشرده بدون افزایش هزینه محک در مقایسه با رویکرد خطی آزمایش. کد برای تکرار نتایج در موجود است مخزن GitHub برای AWS Re:Invent 2021 آماده شده است. این مخزن برای انجام محک زدن بر روی شتاب دهنده های مختلف جامع است. برای ساخت کانتینر می توانید به جنبه GPU کد مراجعه کنید (Dockerfile-gpu) و سپس به کد داخل مراجعه کنید Container-Root برای مثال های خاص برای BERT و ResNet50.

ما از رویکرد قبلی برای توسعه مطالعات عملکرد در دو نوع مدل استفاده کردیم: Bert-base-uncased (110 میلیون پارامتر، NLP) و ResNet50 (25.6 میلیون پارامتر، CV). جدول زیر جزئیات مدل را خلاصه می کند.

نوع مدل مدل جزئیات
NLP twmkn9/bert-base-uncased-squad2 110 میلیون پارامتر طول دنباله = 128
CV ResNet50 25.6 میلیون پارامتر

بعلاوه، برای محک زدن در انواع داده ها (کامل، نیم دقت)، از آن استفاده می کنیم torch.cuda.amp، که روش‌های مناسبی را برای رسیدگی به دقت ترکیبی در جایی که برخی از عملیات از آن استفاده می‌کنند، فراهم می‌کند torch.float32 (شناور) نوع داده و سایر عملیات استفاده می شود torch.float16 (نیم). برای مثال، عملگرهایی مانند لایه‌های خطی و کانولوشن‌ها با float16 بسیار سریع‌تر هستند، در حالی که عملگرهایی مانند کاهش اغلب به محدوده دینامیکی float32 نیاز دارند. دقت ترکیبی خودکار سعی می کند هر اپراتور را با نوع داده مناسب خود تطبیق دهد تا زمان اجرا و ردپای حافظه شبکه را بهینه کند.

نتایج محک زدن

برای مقایسه منصفانه، ما انتخاب کردیم G4dn.4xlarge و G5.4xlarge نمونه هایی با ویژگی های مشابه، همانطور که در جدول زیر فهرست شده است.

نمونه، مثال GPU ها حافظه GPU (GiB) vCPU ها حافظه (GiB) ذخیره سازی نمونه (GB) عملکرد شبکه (Gbps) پهنای باند EBS (Gbps) قیمت‌گذاری بر اساس تقاضای لینوکس (us-east-1)
G5.4xlarge 1 24 16 64 1x600 NVMe SSD تا 25 8 $ 1.204 / ساعت
G4dn.4xlarge 1 16 16 64 1x225 NVMe SSD تا 25 4.75 $ 1.624 / ساعت

در بخش‌های بعدی، عملکرد استنتاج ML مدل‌های BERT و RESNET50 را با رویکرد جابجایی شبکه‌ای برای اندازه‌های دسته‌ای خاص (32، 16، 8، 4، 1) و دقت نوع داده (دقت کامل و نیمه) مقایسه می‌کنیم تا به توان عملیاتی برسیم. در مقابل منحنی تأخیر. علاوه بر این، ما تأثیر توان عملیاتی در برابر اندازه دسته ای را برای دقت کامل و نیم دقت بررسی می کنیم. در نهایت، ما هزینه به ازای هر میلیون استنتاج را به عنوان تابعی از اندازه دسته اندازه گیری می کنیم. نتایج تلفیقی در این آزمایش‌ها بعداً در این پست خلاصه می‌شود.

توان عملیاتی در مقابل تأخیر

شکل‌های زیر نمونه‌های G4dn و G5 را برای بار کاری NLP و CV با دقت کامل و نیمه دقیق مقایسه می‌کنند. در مقایسه با نمونه‌های G4dn، نمونه G5 توان عملیاتی تقریباً پنج برابر (با دقت کامل) و حدود 2.5 برابر (نیمه دقت) برای مدل پایه BERT و حدود 2 تا 2.5 برابر بیشتر برای مدل ResNet50 ارائه می‌کند. به طور کلی، G5 یک انتخاب ارجح است، با افزایش اندازه دسته‌ای برای هر دو مدل برای دقت کامل و ترکیبی از منظر عملکرد.

نمودارهای زیر توان عملیاتی و تأخیر P95 را با دقت کامل و نیمه برای BERT مقایسه می‌کنند.

با استفاده از نمونه‌های آمازون EC2 G5 برای مدل‌های NLP و CV PyTorch، با سه برابر هزینه کمتر به ازای هر استنتاج، به چهار برابر توان استنتاج ML بالاتری برسید. جستجوی عمودی Ai. با استفاده از نمونه‌های آمازون EC2 G5 برای مدل‌های NLP و CV PyTorch، با سه برابر هزینه کمتر به ازای هر استنتاج، به چهار برابر توان استنتاج ML بالاتری برسید. جستجوی عمودی Ai.

نمودارهای زیر توان عملیاتی و تأخیر P95 را با دقت کامل و نیمه برای ResNet50 مقایسه می‌کنند.

با استفاده از نمونه‌های آمازون EC2 G5 برای مدل‌های NLP و CV PyTorch، با سه برابر هزینه کمتر به ازای هر استنتاج، به چهار برابر توان استنتاج ML بالاتری برسید. جستجوی عمودی Ai. با استفاده از نمونه‌های آمازون EC2 G5 برای مدل‌های NLP و CV PyTorch، با سه برابر هزینه کمتر به ازای هر استنتاج، به چهار برابر توان استنتاج ML بالاتری برسید. جستجوی عمودی Ai.

توان عملیاتی و تأخیر در مقایسه با اندازه دسته ای

نمودارهای زیر توان عملیاتی را به عنوان تابعی از اندازه دسته نشان می دهد. در اندازه‌های دسته‌ای کم، شتاب‌دهنده به حداکثر ظرفیت خود کار نمی‌کند و با افزایش اندازه دسته، توان عملیاتی به قیمت تأخیر افزایش می‌یابد. منحنی توان به حداکثر مقداری که تابعی از عملکرد شتاب دهنده است، مجانبی است. منحنی دارای دو ویژگی متمایز است: یک بخش صعودی و یک بخش مجانبی مسطح. برای یک مدل معین، یک شتاب دهنده عملکردی (G5) قادر است بخش بالارونده را به اندازه های دسته ای بالاتر از G4dn بکشد و با توان عملیاتی بالاتر مجانبی کند. همچنین، یک مبادله خطی بین تاخیر و اندازه دسته ای وجود دارد. بنابراین، اگر برنامه محدود به تأخیر باشد، می‌توانیم از تأخیر P95 در مقابل اندازه دسته‌ای برای تعیین اندازه بهینه دسته استفاده کنیم. با این حال، اگر هدف به حداکثر رساندن توان عملیاتی در کمترین زمان تأخیر باشد، بهتر است اندازه دسته‌ای مربوط به «زانو» بین بخش‌های بالارونده و مجانبی انتخاب شود، زیرا هر گونه افزایش بیشتر در اندازه دسته‌ای منجر به همان توان عملیاتی می‌شود. تاخیر بدتر برای دستیابی به بهترین نسبت قیمت-عملکرد، هدف قرار دادن توان عملیاتی بالاتر در کمترین تأخیر، بهتر است به جای افزایش اندازه دسته ای، این بهینه را از طریق چندین سرور استنتاج به صورت افقی مقیاس بندی کنید.

با استفاده از نمونه‌های آمازون EC2 G5 برای مدل‌های NLP و CV PyTorch، با سه برابر هزینه کمتر به ازای هر استنتاج، به چهار برابر توان استنتاج ML بالاتری برسید. جستجوی عمودی Ai.

هزینه در مقابل اندازه دسته ای

در این بخش، ما نتایج مقایسه ای هزینه های استنتاج (دلار به ازای هر میلیون استنتاج) در مقابل اندازه دسته ای را ارائه می کنیم. از شکل زیر، می‌توانیم به وضوح مشاهده کنیم که هزینه (که به ازای هر میلیون استنتاج اندازه‌گیری می‌شود) به طور مداوم با G5 در مقابل G4dn (با دقت کامل و نیمه دقیق) کمتر است.

با استفاده از نمونه‌های آمازون EC2 G5 برای مدل‌های NLP و CV PyTorch، با سه برابر هزینه کمتر به ازای هر استنتاج، به چهار برابر توان استنتاج ML بالاتری برسید. جستجوی عمودی Ai. با استفاده از نمونه‌های آمازون EC2 G5 برای مدل‌های NLP و CV PyTorch، با سه برابر هزینه کمتر به ازای هر استنتاج، به چهار برابر توان استنتاج ML بالاتری برسید. جستجوی عمودی Ai.

جدول زیر مقایسه‌های توان عملیاتی، تأخیر و هزینه (در هر میلیون استنتاج) را برای مدل‌های BERT و RESNET50 در هر دو حالت دقیق برای اندازه‌های دسته‌ای خاص خلاصه می‌کند. با وجود هزینه بالاتر برای هر نمونه، G5 به طور مداوم از G4dn در تمام جنبه های تأخیر استنتاج، توان عملیاتی و هزینه (در هر میلیون دلار استنتاج) برای همه اندازه های دسته ای بهتر عمل می کند. با ترکیب معیارهای مختلف در یک هزینه (دلار به ازای هر میلیون استنتاج)، مدل BERT (اندازه دسته 32، دقت کامل) با G5 3.7 برابر بهتر از G4dn است و با مدل ResNet50 (اندازه دسته 32، دقت کامل)، 1.6 است. برابر بهتر از G4dn.

مدل اندازه دسته دقت

ظرفیت تولید

(اندازه دسته ای X درخواست در ثانیه)

تأخیر (ms)

دلار / میلیون

استنتاج (در صورت تقاضا)

سود

(G5 بیش از G4dn)

. . . G5 G4dn G5 G4dn G5 G4dn
پایه برت بدون محفظه 32 کامل 723 154 44 208 $0.6 $2.2 3.7X
مخلوط 870 410 37 79 $0.5 $0.8 1.6X
16 کامل 651 158 25 102 $0.7 $2.1 3.0X
مخلوط 762 376 21 43 $0.6 $0.9 1.5X
8 کامل 642 142 13 57 $0.7 $2.3 3.3X
مخلوط 681 350 12 23 $0.7 $1.0 1.4X
. 1 کامل 160 116 6 9 $2.8 $2.9 1.0X
مخلوط 137 102 7 10 $3.3 $3.3 1.0X
ResNet50 32 کامل 941 397 34 82 $0.5 $0.8 1.6X
مخلوط 1533 851 21 38 $0.3 $0.4 1.3X
16 کامل 888 384 18 42 $0.5 $0.9 1.8X
مخلوط 1474 819 11 20 $0.3 $0.4 1.3X
8 کامل 805 340 10 24 $0.6 $1.0 1.7X
مخلوط 1419 772 6 10 $0.3 $0.4 1.3X
. 1 کامل 202 164 5 6 $2.2 $2 0.9X
مخلوط 196 180 5 6 $2.3 $1.9 0.8X

معیارهای استنتاج اضافی

علاوه بر پایه BERT و نتایج ResNet50 در بخش‌های قبلی، ما نتایج معیارهای اضافی را برای سایر مدل‌های بزرگ NLP و CV رایج در PyTorch ارائه می‌کنیم. مزیت عملکرد G5 نسبت به G4dn برای مدل های BERT Large با دقت های مختلف و مدل های Yolo-v5 برای اندازه های مختلف ارائه شده است. برای کد تکرار بنچمارک، به مثال‌های یادگیری عمیق NVIDIA برای هسته‌های تانسور. این نتایج مزایای استفاده از G5 بر G4dn را برای طیف وسیعی از وظایف استنتاج که انواع مدل‌های مختلف را در بر می‌گیرد، نشان می‌دهد.

مدل دقت اندازه دسته طول دنباله توان عملیاتی (ارسال شده/ثانیه) خروجی: G4dn افزایش سرعت از طریق G4dn
BERT-بزرگ FP16 1 128 93.5 40.31 2.3
BERT-بزرگ FP16 4 128 264.2 87.4 3.0
BERT-بزرگ FP16 8 128 392.1 107.5 3.6
BERT-بزرگ FP32 1 128 68.4 22.67 3.0
BERT-بزرگ 4 128 118.5 32.21 3.7
BERT-بزرگ 8 128 132.4 34.67 3.8
مدل GFLOPS تعداد پارامترها پیش پردازش (ms) استنتاج (ms) استنتاج (غیرحداکثر سرکوب) (NMS/تصویر)
YOLOv5s 16.5 7.2M 0.2 3.6 4.5
YOLOv5m 49.1 21M 0.2 6.5 4.5
YOLOv5l 109.3 46M 0.2 9.1 3.5
YOLOv5x 205.9 86M 0.2 14.4 1.3

نتیجه

در این پست نشان دادیم که برای استنباط با مدل‌های بزرگ NLP و CV PyTorch، نمونه‌های EC2 G5 در مقایسه با نمونه‌های G4dn انتخاب بهتری هستند. اگرچه هزینه ساعتی درخواستی برای نمونه‌های G5 بیشتر از نمونه‌های G4dn است، عملکرد بالاتر آن می‌تواند 2 تا 5 برابر توان عملیاتی را با هر دقتی برای مدل‌های NLP و CV به دست آورد، که هزینه هر میلیون استنتاج را 1.5 تا 3.5 برابر مطلوب‌تر می‌کند. نمونه های G4dn حتی برای برنامه‌های محدود تاخیر، G5 2.5 تا 5 برابر بهتر از G4dn برای مدل‌های NLP و CV است.

به طور خلاصه، نمونه‌های AWS G5 یک انتخاب عالی برای نیازهای استنتاج شما از منظر عملکرد و هزینه هر استنتاج هستند. جهانی بودن چارچوب CUDA و مقیاس و عمق استخر نمونه G5 در AWS توانایی منحصر به فردی را برای انجام استنتاج در مقیاس به شما ارائه می دهد.


درباره نویسندگان

با استفاده از نمونه‌های آمازون EC2 G5 برای مدل‌های NLP و CV PyTorch، با سه برابر هزینه کمتر به ازای هر استنتاج، به چهار برابر توان استنتاج ML بالاتری برسید. جستجوی عمودی Ai.آنکور سریواستاوا یک معمار Sr. Solutions در تیم ML Frameworks است. او بر کمک به مشتریان با آموزش توزیع شده خود مدیریت و استنتاج در مقیاس AWS تمرکز دارد. تجربه او شامل تعمیر و نگهداری پیش بینی صنعتی، دوقلوهای دیجیتال، بهینه سازی طراحی احتمالی است و تحصیلات دکترای خود را از مهندسی مکانیک در دانشگاه رایس و تحقیقات پسا دکتری از موسسه فناوری ماساچوست به پایان رسانده است.

با استفاده از نمونه‌های آمازون EC2 G5 برای مدل‌های NLP و CV PyTorch، با سه برابر هزینه کمتر به ازای هر استنتاج، به چهار برابر توان استنتاج ML بالاتری برسید. جستجوی عمودی Ai.ساندار رانگاناتان رئیس توسعه کسب و کار، ML Frameworks در تیم آمازون EC2 است. او روی بارهای کاری ML در مقیاس بزرگ در سرویس‌های AWS مانند Amazon EKS، Amazon ECS، Elastic Fabric Adapter، AWS Batch و Amazon SageMaker تمرکز می‌کند. تجربه او شامل نقش های رهبری در مدیریت محصول و توسعه محصول در NetApp، Micron Technology، Qualcomm و Mentor Graphics است.

با استفاده از نمونه‌های آمازون EC2 G5 برای مدل‌های NLP و CV PyTorch، با سه برابر هزینه کمتر به ازای هر استنتاج، به چهار برابر توان استنتاج ML بالاتری برسید. جستجوی عمودی Ai.ماهادوان بالاسوبرامانیام یک معمار راه حل اصلی برای محاسبات خودمختار با نزدیک به 20 سال تجربه در زمینه یادگیری عمیق فیزیک، ساخت و استقرار دوقلوهای دیجیتال برای سیستم های صنعتی در مقیاس است. مهدوان دکترای خود را در رشته مهندسی مکانیک از موسسه فناوری ماساچوست گرفته است و بیش از 25 اختراع و انتشارات را در اختیار دارد.

با استفاده از نمونه‌های آمازون EC2 G5 برای مدل‌های NLP و CV PyTorch، با سه برابر هزینه کمتر به ازای هر استنتاج، به چهار برابر توان استنتاج ML بالاتری برسید. جستجوی عمودی Ai. عمرو رجب یک معمار راه حل اصلی برای پلتفرم های شتاب دهنده EC2 برای AWS است که به مشتریان کمک می کند تا بارهای کاری محاسباتی را در مقیاس انجام دهند. در اوقات فراغت خود دوست دارد سفر کند و راه‌های جدیدی برای ادغام فناوری در زندگی روزمره بیابد.

تمبر زمان:

بیشتر از آموزش ماشین AWS