امروزه، دهها هزار مشتری با استفاده از مدلهای یادگیری ماشینی (ML) در حال ساخت، آموزش و استقرار هستند آمازون SageMaker برای تقویت برنامه های کاربردی که پتانسیل ایجاد مجدد کسب و کار و تجربیات مشتری را دارند. اندازه و پیچیدگی این مدلهای ML در چند سال اخیر افزایش یافته است، که منجر به دقتهای پیشرفته در طیف وسیعی از وظایف شده و همچنین زمان تمرین را از روزها به هفتهها افزایش داده است. در نتیجه، مشتریان باید مدلهای خود را در صدها تا هزاران شتابدهنده مقیاسبندی کنند که این امر آموزش آنها را گرانتر میکند.
SageMaker یک سرویس ML کاملاً مدیریت شده است که به توسعه دهندگان و دانشمندان داده کمک می کند تا به راحتی مدل های ML را بسازند، آموزش دهند و به کار گیرند. SageMaker در حال حاضر گستردهترین و عمیقترین گزینههای محاسباتی را با شتابدهندههای سختافزاری برای آموزش ML، از جمله G5 (Nvidia A10G) موارد و P4d (Nvidia A100) مصادیق
نیازهای رو به رشد محاسباتی نیازمند قدرت پردازش سریعتر و مقرون به صرفه تر است. برای کاهش بیشتر زمانهای آموزش مدل و فعال کردن تمرینکنندگان ML برای تکرار سریعتر، AWS در تراشهها، سرورها و اتصال مرکز داده نوآوری کرده است. نمونه های جدید Trn1 که توسط AWS Trainium تراشهها بهترین کارایی قیمت و سریعترین آموزش مدل ML را در AWS ارائه میکنند و تا 50 درصد هزینه کمتری را برای آموزش مدلهای یادگیری عمیق نسبت به نمونههای مشابه مبتنی بر GPU بدون هیچ افت دقت ارائه میکنند.
در این پست، ما نشان می دهیم که چگونه می توانید با استفاده از نمونه های Trn1 با SageMaker، عملکرد خود را به حداکثر برسانید و هزینه را کاهش دهید.
بررسی اجمالی راه حل
مشاغل آموزشی SageMaker از نمونههای ml.trn1 پشتیبانی میکنند که توسط تراشههای Trainium طراحی شدهاند که برای برنامههای آموزشی ML با کارایی بالا در فضای ابری ساخته شدهاند. میتوانید از نمونههای ml.trn1 در SageMaker برای آموزش پردازش زبان طبیعی (NLP)، بینایی رایانه و مدلهای توصیهکننده در یک برنامه استفاده کنید. مجموعه گسترده ای از برنامه های کاربردیمانند تشخیص گفتار، توصیه، تشخیص تقلب، طبقهبندی تصویر و ویدئو، و پیشبینی. نمونه های ml.trn1 دارای حداکثر 16 تراشه Trainium هستند که یک تراشه نسل دوم ML است که توسط AWS پس از آن ساخته شده است. استنتاج AWS. موارد ml.trn1 اولین موارد هستند ابر محاسبه الاستیک آمازون نمونههای (Amazon EC2) با پهنای باند شبکه Elastic Fabric Adapter (EFA) تا 800 گیگابیت بر ثانیه. برای دادههای کارآمد و موازیسازی مدل، هر نمونه ml.trn1.32xl دارای 512 گیگابایت حافظه با پهنای باند بالا است، تا 3.4 پتافلاپ توان محاسباتی FP16/BF16 را ارائه میکند، و دارای NeuronLink، یک اتصال داخلی، پهنای باند بالا و غیرانسدادی است. .
Trainium در دو پیکربندی موجود است و می تواند در مناطق شرقی ایالات متحده (N. Virginia) و غرب ایالات متحده (Oregon) استفاده شود.
جدول زیر ویژگی های نمونه های Trn1 را خلاصه می کند.
اندازه نمونه | Trainium شتاب دهنده ها |
شتاب دهنده حافظه (گیگابایت) |
vCPU ها | نمونه، مثال حافظه (گیگابایت) |
شبکه ارتباطی پهنای باند (گیگابیت بر ثانیه) |
EFA و RDMA پشتیبــانی |
trn1.2xlarge | 1 | 32 | 8 | 32 | تا 12.5 | نه |
trn1.32xlarge | 16 | 512 | 128 | 512 | 800 | بله |
trn1n.32xlarge (به زودی) | 16 | 512 | 128 | 512 | 1600 | بله |
بیایید نحوه استفاده از Trainium با SageMaker را با یک مثال ساده درک کنیم. ما یک مدل طبقه بندی متن را با آموزش SageMaker و PyTorch با استفاده از Hugging Face Transformers Library آموزش خواهیم داد.
ما از مجموعه داده های Amazon Reviews استفاده می کنیم که شامل بررسی های amazon.com است. این داده ها یک دوره 18 ساله را شامل می شود که شامل تقریباً 35 میلیون بررسی تا مارس 2013 می شود. بررسی ها شامل اطلاعات محصول و کاربر، رتبه بندی ها و بررسی متن ساده است. کد زیر نمونه ای از کد است AmazonPolarity
مجموعه تست:
برای این پست، ما فقط از فیلدهای محتوا و برچسب استفاده می کنیم. فیلد محتوا یک بررسی متنی رایگان است و فیلد برچسب یک مقدار باینری است که به ترتیب حاوی 1 یا 0 برای نظرات مثبت یا منفی است.
برای الگوریتم خود، ما از BERT، یک مدل ترانسفورماتور از پیش آموزش داده شده بر روی مجموعه بزرگی از دادههای انگلیسی به روشی خود نظارت استفاده میکنیم. هدف این مدل در درجه اول تنظیم دقیق وظایفی است که از کل جمله (به طور بالقوه پوشانده شده) برای تصمیم گیری استفاده می کنند، مانند طبقه بندی توالی، طبقه بندی نشانه یا پاسخ به سؤال.
جزئیات پیاده سازی
بیایید با نگاهی دقیق تر به اجزای مختلف درگیر در آموزش مدل شروع کنیم:
- AWS Trainium - در هسته خود، هر کدام نمونه Trainium دارای دستگاه های Trainium تعبیه شده در آن. Trn1.2xlarge دارای 1 دستگاه Trainium و Trn1.32xlarge دارای 16 دستگاه Trainium است. هر دستگاه Trainium از محاسبات (2 NeuronCore-v2)، 32 گیگابایت حافظه دستگاه HBM و NeuronLink برای ارتباط سریع بین دستگاهی تشکیل شده است. هر یک NeuronCore-v2 شامل یک واحد محاسباتی ناهمگن کاملاً مستقل با موتورهای جداگانه (Tensor/Vector/Scalar/GPSIMD). GPSIMD پردازنده های همه منظوره کاملاً قابل برنامه ریزی هستند که می توانید از آنها برای پیاده سازی اپراتورهای سفارشی و اجرای مستقیم آنها بر روی موتورهای NeuronCore استفاده کنید.
- آموزش آمازون SageMaker - SageMaker یک تجربه آموزشی کاملاً مدیریت شده برای آموزش آسان مدل ها بدون نیاز به نگرانی در مورد زیرساخت ارائه می دهد. وقتی از SageMaker Training استفاده میکنید، همه چیزهایی که برای یک کار آموزشی لازم است، مانند کد، کانتینر و دادهها را در یک زیرساخت محاسباتی جدا از محیط فراخوانی اجرا میکند. این به ما امکان می دهد آزمایش ها را به صورت موازی و سریع تکرار کنیم. SageMaker ارائه می دهد پایتون SDK برای راه اندازی مشاغل آموزشی مثال موجود در این پست از SageMaker Python SDK برای راه اندازی کار آموزشی با استفاده از Trainium استفاده می کند.
- نورون AWS – از آنجایی که Trainium NeuronCore موتور محاسباتی خود را دارد، ما به مکانیزمی برای کامپایل کد آموزشی خود نیاز داریم. این نورون AWS کامپایلر کد نوشته شده در Pytorch/XLA را می گیرد و آن را برای اجرا در دستگاه های Neuron بهینه می کند. کامپایلر Neuron به عنوان بخشی از Deep Learning Container که برای آموزش مدل خود استفاده خواهیم کرد، یکپارچه شده است.
- PyTorch/XLA - این بسته پایتون از کامپایلر یادگیری عمیق XLA برای اتصال چارچوب یادگیری عمیق PyTorch و شتاب دهنده های ابری مانند Trainium استفاده می کند. ساختن یک شبکه PyTorch جدید یا تبدیل شبکه موجود برای اجرا در دستگاه های XLA تنها به چند خط کد مخصوص XLA نیاز دارد. ما برای مورد استفاده خود خواهیم دید که چه تغییراتی باید ایجاد کنیم.
- آموزش توزیع شده - برای اجرای کارآمد آموزش بر روی چند هستهی عصبی، به مکانیزمی نیاز داریم تا آموزش را در هستههای عصبی موجود توزیع کنیم. SageMaker از torchrun با نمونههای Trainium پشتیبانی میکند، که میتوان از آن برای اجرای چندین فرآیند معادل تعداد NeuronCores در خوشه استفاده کرد. این کار با ارسال پارامتر توزیع به تخمینگر SageMaker به صورت زیر انجام میشود، که یک آموزش توزیع موازی داده را شروع میکند که در آن همان مدل در هستههای عصبی مختلف بارگذاری میشود که دستههای داده جداگانه را پردازش میکنند:
برای اجرا در Trainium نیاز به تغییرات اسکریپت است
بیایید به تغییرات کد مورد نیاز برای استفاده از اسکریپت PyTorch مبتنی بر GPU معمولی برای اجرا در Trainium نگاه کنیم. در سطح بالا باید تغییرات زیر را اعمال کنیم:
- دستگاه های GPU را با دستگاه های Pytorch/XLA جایگزین کنید. از آنجا که ما از توزیع مشعل استفاده می کنیم، باید آموزش را با XLA به عنوان دستگاه به صورت زیر مقداردهی کنیم:
- ما از باطن توزیعشده PyTorch/XLA برای پل زدن APIهای توزیعشده PyTorch به معناشناسی ارتباطی XLA استفاده میکنیم.
- ما از PyTorch/XLA MpDeviceLoader برای خطوط لوله انتقال داده استفاده می کنیم. MpDeviceLoader با همپوشانی سه مرحله به بهبود عملکرد کمک می کند: ردیابی، کامپایل، و بارگذاری دسته ای داده در دستگاه. ما باید دیتالودر PyTorch را با MpDeviceDataLoader به صورت زیر بپیچیم:
- همانطور که در کد زیر نشان داده شده است، مرحله بهینه سازی را با استفاده از API ارائه شده توسط XLA اجرا کنید. این شیب بین هستهها را ادغام میکند و محاسبه مرحله دستگاه XLA را صادر میکند.
- APIهای CUDA (در صورت وجود) را به APIهای عمومی PyTorch ترسیم کنید.
- بهینه سازهای ذوب شده CUDA (در صورت وجود) را با جایگزین های عمومی PyTorch جایگزین کنید.
کل مثال، که یک مدل طبقه بندی متن را با استفاده از SageMaker و Trainium آموزش می دهد، در زیر موجود است GitHub repo. فایل نوت بوک تنظیم دقیق ترانسفورماتورها برای مدل های طبقه بندی ساختمان با استفاده از SageMaker و Trainium.ipynb نقطه ورود است و حاوی دستورالعمل های گام به گام برای اجرای آموزش است.
تست های معیار
در آزمایش، ما دو کار آموزشی را اجرا کردیم: یکی در ml.trn1.32xlarge، و دیگری در ml.p4d.24xlarge با همان اندازه دستهای، دادههای آموزشی و سایر پارامترها. در طول کارهای آموزشی، ما زمان قابل صورتحساب مشاغل آموزشی SageMaker را اندازهگیری کردیم و با ضرب زمان مورد نیاز برای اجرای مشاغل آموزشی بر حسب ساعت در قیمت هر ساعت برای نوع نمونه، قیمت-عملکرد را محاسبه کردیم. ما بهترین نتیجه را برای هر نوع نمونه از بین چندین کار اجرا شده انتخاب کردیم.
جدول زیر یافته های معیار ما را خلاصه می کند.
مدل | نوع نمونه | قیمت (هر گره * ساعت) | توان عملیاتی (تکرار/ثانیه) | صحت اعتبارسنجی | زمان قابل پرداخت (ثانیه) | هزینه آموزش به دلار |
طبقه بندی پایه BERT | ml.trn1.32xlarge | 24.725 | 6.64 | 0.984 | 6033 | 41.47 |
طبقه بندی پایه BERT | ml.p4d.24xlarge | 37.69 | 5.44 | 0.984 | 6553 | 68.6 |
نتایج نشان داد که نمونه Trainium هزینه کمتری نسبت به نمونه P4d دارد و در هنگام آموزش مدل مشابه با دادههای ورودی و پارامترهای آموزشی مشابه، توان عملیاتی و دقت مشابهی را ارائه میدهد. این بدان معناست که نمونه Trainium نسبت به نمونههای P4D مبتنی بر GPU عملکرد قیمت بهتری ارائه میدهد. با مثال ساده ای مانند این، می توانیم ببینیم که Trainium حدود 22٪ زمان سریع تر برای آموزش و 50٪ هزینه کمتر را نسبت به نمونه های P4d ارائه می دهد.
مدل آموزش دیده را مستقر کنید
پس از آموزش مدل، میتوانیم آن را در انواع نمونههای مختلف مانند CPU، GPU یا AWS Inferentia مستقر کنیم. نکته کلیدی که باید به آن توجه داشت این است که مدل آموزش دیده برای استقرار و استنتاج به سخت افزار تخصصی وابسته نیست. SageMaker مکانیسم هایی را برای استقرار یک مدل آموزش دیده با استفاده از مکانیسم های زمان واقعی یا دسته ای فراهم می کند. مثال نوت بوک موجود در مخزن GitHub حاوی کدی برای استقرار مدل آموزش دیده به عنوان یک نقطه پایانی بلادرنگ با استفاده از نمونه ml.c5.xlarge (مبتنی بر CPU) است.
نتیجه
در این پست، نحوه استفاده از Trainium و SageMaker برای راهاندازی و آموزش سریع یک مدل طبقهبندی را بررسی کردیم که تا 50٪ در هزینه صرفهجویی میکند بدون اینکه به دقت دقت شود. میتوانید از Trainium برای طیف وسیعی از موارد استفاده که شامل پیشآموزش یا تنظیم دقیق مدلهای مبتنی بر ترانسفورماتور است، استفاده کنید. برای اطلاعات بیشتر در مورد پشتیبانی از معماری های مدل های مختلف به ادامه مطلب مراجعه کنید دستورالعمل های مناسب معماری مدل.
درباره نویسنده
آرون کومار لوکاناتا یک معمار ارشد راه حل های ML با تیم خدمات آمازون SageMaker است. او بر کمک به مشتریان در ساخت، آموزش و انتقال بارهای کاری تولید ML به SageMaker در مقیاس متمرکز است. او در یادگیری عمیق به ویژه در زمینه NLP و CV تخصص دارد. در خارج از محل کار، او از دویدن و پیاده روی لذت می برد.
مارک یو یک مهندس نرم افزار در AWS SageMaker است. او بر ساختن سیستمهای آموزشی توزیعشده در مقیاس بزرگ، بهینهسازی عملکرد تمرینی، و توسعه سختافزارهای آموزشی ml با کارایی بالا، از جمله SageMaker trainium تمرکز میکند. مارک همچنین دانش عمیقی در مورد بهینه سازی زیرساخت یادگیری ماشین دارد. در اوقات فراغت خود از پیاده روی و دویدن لذت می برد.
عمری فوکس مدیر توسعه نرم افزار در AWS SageMaker است. او رهبر فنی مسئول پلت فرم شغلی آموزشی SageMaker است که بر بهینه سازی عملکرد آموزشی SageMaker و بهبود تجربه آموزشی تمرکز دارد. او علاقه زیادی به فناوری پیشرفته ML و AI دارد. در اوقات فراغت، دوچرخه سواری و پیاده روی را دوست دارد.
گال عشری یک مدیر ارشد محصول در تیم آمازون SageMaker است. او 7 سال تجربه کار بر روی ابزارها، چارچوب ها و خدمات یادگیری ماشینی دارد.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- پلاتوبلاک چین. Web3 Metaverse Intelligence. دانش تقویت شده دسترسی به اینجا.
- منبع: https://aws.amazon.com/blogs/machine-learning/maximize-performance-and-reduce-your-deep-learning-training-cost-with-aws-trainium-and-amazon-sagemaker/
- :است
- $UP
- 1
- 100
- 7
- 8
- a
- A100
- درباره ما
- شتاب دهنده ها
- دقت
- در میان
- اتخاذ
- پس از
- AI
- الگوریتم
- اجازه می دهد تا
- قبلا
- جایگزین
- آمازون
- آمازون EC2
- آمازون SageMaker
- Amazon.com
- و
- API
- رابط های برنامه کاربردی
- برنامه های کاربردی
- تقریبا
- معماری
- هستند
- محدوده
- AS
- At
- در دسترس
- AWS
- استنتاج AWS
- بخش مدیریت
- بد
- پهنای باند
- پایه
- BE
- زیرا
- شروع
- بودن
- محک
- بهترین
- بهتر
- میان
- خارج از
- بزرگ
- سیاه پوست
- کتاب
- بریج
- ساختن
- بنا
- ساخته
- کسب و کار
- by
- محاسبه
- تماس ها
- CAN
- مورد
- موارد
- CD
- مرکز
- تبادل
- تراشه
- چیپس
- انتخاب
- طبقه بندی
- نزدیک
- ابر
- خوشه
- رمز
- COM
- آینده
- به زودی
- ارتباط
- قابل مقایسه
- پیچیدگی
- اجزاء
- مصالحه
- محاسبه
- محاسبه
- کامپیوتر
- چشم انداز کامپیوتر
- پیکربندی
- اتصال
- اتصال
- ادغام می کند
- ظرف
- شامل
- محتوا
- هسته
- هزینه
- صرفه جویی در هزینه
- مقرون به صرفه
- هزینه
- پردازنده
- سفارشی
- مشتری
- مشتریان
- لبه برش
- داده ها
- مرکز داده
- روز
- تصمیم گیری
- عمیق
- یادگیری عمیق
- عمیق ترین
- ارائه
- وابسته
- گسترش
- استقرار
- کویر
- کشف
- توسعه دهندگان
- در حال توسعه
- پروژه
- دستگاه
- دستگاه ها
- مختلف
- مستقیما
- توزیع کردن
- توزیع شده
- آموزش توزیع شده
- توزیع
- قطره
- در طی
- هر
- به آسانی
- شرق
- موثر
- موثر
- قادر ساختن
- فعال
- نقطه پایانی
- موتور
- مهندس
- موتورهای حرفه ای
- انگلیسی
- تمام
- محیط
- معادل
- به خصوص
- اتر (ETH)
- همه چیز
- مثال
- موجود
- گران
- تجربه
- تجارب
- پارچه
- چهره
- روش
- FAST
- سریعتر
- سریعترین
- ویژگی
- امکانات
- ویژگی های
- زن
- کمی از
- رشته
- زمینه
- پرونده
- نام خانوادگی
- مناسب
- تمرکز
- تمرکز
- پیروی
- به دنبال آن است
- برای
- چارچوب
- چارچوب
- تقلب
- کشف تقلب
- رایگان
- از جانب
- کاملا
- بیشتر
- همه منظوره
- نسل
- GitHub
- می دهد
- خوب
- GPU
- شیب ها
- بزرگ
- سخت افزار
- آیا
- داشتن
- کمک
- کمک می کند
- پنهان
- زیاد
- عملکرد بالا
- پیاده روی
- ساعت ها
- چگونه
- چگونه
- HTML
- HTTP
- HTTPS
- صدها نفر
- i
- تصویر
- انجام
- بهبود
- بهبود
- in
- در عمق
- شامل
- از جمله
- افزایش
- مستقل
- اطلاعات
- شالوده
- نوآوری
- ورودی
- نمونه
- دستورالعمل
- یکپارچه
- شامل
- گرفتار
- مسائل
- IT
- ITS
- کار
- شغل ها
- JPG
- کلید
- کشتن
- دانش
- برچسب
- زبان
- بزرگ
- در مقیاس بزرگ
- نام
- راه اندازی
- رهبر
- یادگیری
- رهبری
- سطح
- کتابخانه
- زندگی
- پسندیدن
- خطوط
- بارگیری
- نگاه کنيد
- نگاه
- عشق
- دستگاه
- فراگیری ماشین
- ساخته
- ساخت
- باعث می شود
- اداره می شود
- مدیر
- مارس
- علامت
- ماده
- بیشینه ساختن
- به معنی
- مکانیزم
- حافظه
- مهاجرت
- میلیون
- ML
- مدل
- مدل
- حالت
- بیش
- چندگانه
- ضرب شدن
- طبیعی
- زبان طبیعی
- پردازش زبان طبیعی
- نیاز
- ضروری
- منفی
- شبکه
- جدید
- nlp
- گره
- دفتر یادداشت
- عدد
- کارت گرافیک Nvidia
- of
- ارائه
- پیشنهادات
- پیشنهادات
- قدیمی
- on
- ONE
- اپراتور
- بهینه سازی
- بهینه سازی می کند
- بهینه سازی
- اورگان
- دیگر
- خارج از
- خود
- موازی
- پارامتر
- پارامترهای
- بخش
- عبور
- شور
- کارایی
- دوره
- متن ساده
- سکو
- افلاطون
- هوش داده افلاطون
- PlatoData
- بازی
- نقطه
- مثبت
- پست
- پتانسیل
- بالقوه
- قدرت
- صفحه اصلی
- قیمت
- در درجه اول
- روند
- فرآیندهای
- در حال پردازش
- قدرت پردازش
- پردازنده ها
- محصول
- مدیر تولید
- تولید
- فراهم می کند
- ارائه
- هدف
- هل دادن
- پــایتــون
- مارماهی
- سوال
- به سرعت
- باران
- محدوده
- رتبه بندی
- زمان واقعی
- به رسمیت شناختن
- توصیه
- كاهش دادن
- مناطق
- منظم
- ضروری
- مورد نیاز
- نیاز
- مسئوليت
- نتیجه
- نتایج
- این فایل نقد می نویسید:
- بررسی
- دویدن
- در حال اجرا
- s
- حکیم ساز
- همان
- پس انداز
- می گوید:
- مقیاس
- دانشمندان
- sdk
- SEC
- انتخاب شد
- معنایی
- ارشد
- جمله
- جداگانه
- دنباله
- سرور
- سرویس
- خدمات
- تنظیم
- نشان
- نشان داده شده
- مشابه
- ساده
- اندازه
- نرم افزار
- توسعه نرم افزار
- مهندس نرمافزار
- مزایا
- بزودی
- دهانه ها
- تخصصی
- تخصص دارد
- سخنرانی - گفتار
- تشخیص گفتار
- شروع می شود
- وضعیت هنر
- گام
- مراحل
- هنوز
- چنین
- پشتیبانی
- پشتیبانی از
- سیستم های
- جدول
- طول می کشد
- مصرف
- وظایف
- تیم
- فنی
- پیشرفته
- آزمون
- طبقه بندی متن
- که
- La
- محوطه
- شان
- آنها
- اینها
- چیز
- هزاران نفر
- سه
- توان
- زمان
- بار
- عنوان
- به
- رمز
- ابزار
- مشعل
- ردیابی
- قطار
- آموزش دیده
- آموزش
- قطار
- ترانسفورماتور
- ماشه
- انواع
- فهمیدن
- واحد
- us
- استفاده کنید
- مورد استفاده
- کاربر
- ارزش
- مختلف
- تصویری
- ویرجینیا
- دید
- صداها
- هفته
- غرب
- چی
- که
- سفید
- WHO
- وسیع
- دامنه گسترده
- اراده
- با
- بدون
- مهاجرت کاری
- کارگر
- بسته بندی کردن
- کتبی
- سال
- جوان
- شما
- زفیرنت