کاربردهای یادگیری ماشینی (ML) برای استقرار پیچیده هستند و اغلب به توانایی مقیاسپذیری بیش از حد نیاز دارند و نیازهای تأخیر بسیار کم و بودجههای هزینه سخت دارند. موارد استفاده مانند تشخیص تقلب، توصیههای محصول و پیشبینی ترافیک نمونههایی هستند که میلیثانیهها اهمیت دارند و برای موفقیت کسبوکار حیاتی هستند. قراردادهای سطح خدمات دقیق (SLA) باید برآورده شوند و یک درخواست معمولی ممکن است به مراحل متعددی مانند پیش پردازش، تبدیل داده، مهندسی ویژگی، منطق انتخاب مدل، تجمیع مدل و پس پردازش نیاز داشته باشد.
استقرار مدلهای ML در مقیاس با هزینه بهینه و راندمان محاسباتی میتواند یک کار دلهرهآور و دست و پا گیر باشد. هر مدل بر اساس منابع داده خارجی و همچنین محیط زمان اجرا مانند قدرت CPU/GPU منابع محاسباتی زیربنایی، محاسن و وابستگی های خاص خود را دارد. یک برنامه ممکن است به چندین مدل ML برای ارائه یک درخواست استنتاج نیاز داشته باشد. در سناریوهای خاص، یک درخواست ممکن است در چندین مدل جریان یابد. هیچ رویکرد یکسانی برای همه وجود ندارد، و برای پزشکان ML مهم است که به دنبال روشهای آزمایش شده و اثبات شده برای رسیدگی به چالشهای مکرر میزبانی ML باشند. این منجر به تکامل الگوهای طراحی برای میزبانی مدل ML شده است.
در این پست، الگوهای طراحی رایج برای ساخت برنامه های ML را بررسی می کنیم آمازون SageMaker.
الگوهای طراحی برای ساخت برنامه های کاربردی ML
بیایید به الگوهای طراحی زیر برای استفاده برای میزبانی برنامه های ML نگاه کنیم.
برنامه های کاربردی ML مبتنی بر مدل تک
این یک گزینه عالی است زمانی که مورد استفاده ML شما نیاز به یک مدل واحد برای ارائه درخواست دارد. این مدل بر روی یک زیرساخت محاسباتی اختصاصی با قابلیت مقیاس بندی بر اساس ترافیک ورودی مستقر شده است. این گزینه همچنین زمانی ایده آل است که برنامه کلاینت نیاز استنتاج با تاخیر کم (به ترتیب میلی ثانیه یا ثانیه) داشته باشد.
برنامه های کاربردی ML مبتنی بر چند مدل
برای مقرونبهصرفهتر کردن هاستینگ، این الگوی طراحی به شما امکان میدهد چندین مدل را روی یک زیرساخت مستاجر میزبانی کنید. چندین مدل ML می توانند منابع میزبان یا کانتینر را به اشتراک بگذارند، از جمله کش کردن پرکاربردترین مدل های ML در حافظه، و در نتیجه استفاده بهتر از حافظه و منابع محاسبه می شود. بسته به نوع مدل هایی که برای استقرار انتخاب کرده اید، میزبانی مشترک مدل ممکن است از روش های زیر استفاده کند:
- میزبانی چند مدل – این گزینه به شما امکان می دهد چندین مدل را با استفاده از یک ظرف سرویس مشترک در یک نقطه پایانی واحد میزبانی کنید. این ویژگی زمانی ایده آل است که تعداد زیادی مدل مشابه داشته باشید که می توانید آنها را از طریق یک ظرف سرو مشترک سرو کنید و نیازی به دسترسی همزمان به همه مدل ها ندارید.
- میزبانی چند کانتینری – این گزینه زمانی ایده آل است که چندین مدل در حال اجرا بر روی پشته های سرویس دهی مختلف با نیازهای منابع مشابه دارید، و زمانی که مدل های جداگانه ترافیک کافی برای استفاده از ظرفیت کامل نمونه های نقطه پایانی ندارند. میزبانی چند کانتینری به شما امکان می دهد چندین کانتینر را که از مدل ها یا چارچوب های مختلف در یک نقطه پایانی استفاده می کنند مستقر کنید. مدلها میتوانند کاملاً ناهمگن باشند، با پشته سرویس مستقل خود.
- مجموعه های مدل - در بسیاری از موارد استفاده از تولید، اغلب میتواند مدلهای بالادستی زیادی وجود داشته باشد که ورودیهای یک مدل پاییندستی معین را تغذیه میکنند. این جایی است که گروه ها مفید هستند. الگوهای مجموعه شامل مخلوط کردن خروجی از یک یا چند مدل پایه به منظور کاهش آن است خطای تعمیم از پیش بینی مدل های پایه را می توان متنوع و با الگوریتم های مختلف آموزش داد. گروههای مدل میتوانند از مدلهای منفرد بهتر عمل کنند، زیرا خطای پیشبینی مدل با استفاده از رویکرد گروه کاهش مییابد.
موارد زیر موارد استفاده متداول از الگوهای مجموعه و نمودارهای الگوی طراحی مربوط به آنها هستند:
- پراکنده کردن - در یک الگوی جمعآوری پراکنده، یک درخواست برای استنتاج به تعدادی از مدلها هدایت میشود. سپس از یک تجمیع کننده برای جمع آوری پاسخ ها و تقطیر آنها به یک پاسخ استنتاج استفاده می شود. به عنوان مثال، یک مورد استفاده طبقه بندی تصویر ممکن است از سه مدل مختلف برای انجام کار استفاده کند. الگوی جمع آوری پراکنده به شما امکان می دهد نتایج حاصل از استنتاج های اجرا شده در سه مدل مختلف را ترکیب کنید و محتمل ترین مدل طبقه بندی را انتخاب کنید.
- مجموعه مدل - در یک الگوی تجمیع، خروجی های چند مدل به طور میانگین محاسبه می شوند. برای مدلهای طبقهبندی، پیشبینیهای چند مدل ارزیابی میشوند تا کلاسی که بیشترین رای را دریافت کرده و به عنوان خروجی نهایی گروه در نظر گرفته میشود، مشخص شود. به عنوان مثال، در یک مسئله طبقهبندی دو کلاسه برای طبقهبندی مجموعهای از میوهها به عنوان پرتقال یا سیب، اگر دو مدل به یک پرتقال و یک مدل به یک سیب رأی دهند، خروجی جمع شده یک پرتقال خواهد بود. تجمیع به مبارزه با عدم دقت در مدل های فردی کمک می کند و خروجی را دقیق تر می کند.
- انتخاب پویا – الگوی دیگر برای مدلهای گروهی، انجام پویا انتخاب مدل برای ویژگیهای ورودی داده شده است. به عنوان مثال، در یک ورودی داده شده از تصاویر میوه ها، اگر ورودی حاوی یک پرتقال باشد، از مدل A استفاده می شود زیرا برای پرتقال ها تخصصی است. اگر ورودی حاوی یک سیب باشد، از مدل B استفاده می شود زیرا برای سیب ها تخصصی است.
- استنتاج سریال برنامه های کاربردی ML - با یک الگوی استنتاج سریالی که به عنوان خط لوله استنتاج نیز شناخته می شود، موارد استفاده دارای الزاماتی برای پیش پردازش داده های دریافتی قبل از فراخوانی یک مدل ML از پیش آموزش دیده برای تولید استنتاج هستند. علاوه بر این، در برخی موارد، استنتاج های تولید شده ممکن است نیاز به پردازش بیشتر داشته باشند، به طوری که بتوانند به راحتی توسط برنامه های کاربردی پایین دست مصرف شوند. خط لوله استنتاج به شما امکان می دهد از همان کد پیش پردازشی که در طول آموزش مدل استفاده می شود برای پردازش داده های درخواست استنتاج مورد استفاده برای پیش بینی ها استفاده مجدد کنید.
- منطق تجارت - تولید ML همیشه مستلزم منطق تجاری است. الگوهای منطق کسب و کار شامل همه چیزهایی است که برای انجام یک کار ML لازم است که استنتاج مدل ML نیست. این شامل بارگذاری مدل از سرویس ذخیره سازی ساده آمازون (Amazon S3)، به عنوان مثال، جستجوی پایگاه داده برای تأیید اعتبار ورودی، به دست آوردن ویژگی های از پیش محاسبه شده از فروشگاه ویژگی و غیره. پس از تکمیل این مراحل منطق تجاری، ورودی ها به مدل های ML منتقل می شوند.
گزینه های استنتاج ML
برای استقرار مدل، مهم است که به عقب از مورد استفاده خود کار کنید. فرکانس پیش بینی چقدر است؟ آیا انتظار دارید ترافیک زنده به برنامه خود و پاسخ آنی به مشتریان خود داشته باشید؟ آیا مدل های زیادی برای زیرمجموعه های مختلف داده برای یک مورد استفاده آموزش دیده اید؟ آیا ترافیک پیش بینی نوسان دارد؟ آیا تأخیر استنتاج نگران کننده است؟ بر اساس این جزئیات، تمام الگوهای طراحی قبلی را می توان با استفاده از گزینه های استقرار زیر پیاده سازی کرد:
- استنتاج بلادرنگ - استنتاج بلادرنگ برای حجم کاری استنتاج که در آن نیازمندی های زمان واقعی، تعاملی و با تاخیر کم دارید، ایده آل است. بارهای کاری استنتاج ML بلادرنگ ممکن است شامل یک برنامه کاربردی ML مبتنی بر مدل باشد، که در آن یک برنامه کاربردی فقط به یک مدل ML برای ارائه یک درخواست واحد نیاز دارد، یا یک برنامه کاربردی ML مبتنی بر چند مدل، که در آن یک برنامه کاربردی به چندین مدل ML نیاز دارد تا به یک واحد خدمات ارائه دهد. درخواست.
- استنتاج تقریباً واقعی (ناهمزمان). - با استنتاج تقریباً واقعی، می توانید درخواست های دریافتی را در صف قرار دهید. این می تواند برای اجرای استنتاج بر روی ورودی هایی که صدها مگابایت هستند استفاده شود. این در زمان تقریباً واقعی عمل می کند و به کاربران اجازه می دهد تا از ورودی برای استنتاج استفاده کنند و خروجی را از نقطه پایانی از یک سطل S3 بخوانند. به ویژه در مواردی با NLP و بینایی کامپیوتری که محموله های بزرگی وجود دارد که به زمان های پیش پردازش طولانی تری نیاز دارند، می تواند مفید باشد.
- استنتاج دسته ای - استنتاج دسته ای را می توان برای اجرای استنتاج به صورت آفلاین در یک مجموعه داده بزرگ مورد استفاده قرار داد. از آنجایی که به صورت آفلاین اجرا می شود، استنتاج دسته ای کمترین تأخیر را ارائه نمی دهد. در اینجا، درخواست استنتاج با یک محرک زمانبندیشده یا مبتنی بر رویداد یک کار استنتاج دستهای پردازش میشود.
- استنتاج بدون سرور - استنتاج بدون سرور برای بارهای کاری که دوره های بیکاری بین جهش های ترافیکی دارند و می توانند چند ثانیه تاخیر اضافی (شروع سرد) را برای اولین فراخوانی پس از یک دوره بیکاری تحمل کنند، ایده آل است. به عنوان مثال، یک سرویس چت بات یا برنامه ای برای پردازش فرم ها یا تجزیه و تحلیل داده ها از اسناد. در این مورد، ممکن است یک گزینه استنتاج آنلاین بخواهید که بتواند به طور خودکار ظرفیت محاسبه را بر اساس حجم درخواستهای استنتاج فراهم کند و مقیاسبندی کند. و در زمان بیکاری، باید بتواند ظرفیت محاسباتی را به طور کامل خاموش کند تا شما شارژ نشوید. استنتاج بدون سرور، با راهاندازی خودکار منابع محاسباتی و کوچکسازی آنها بسته به ترافیک، سختی غیرمتمایز انتخاب و مدیریت سرورها را از بین میبرد.
از توابع تناسب اندام برای انتخاب گزینه مناسب استنتاج ML استفاده کنید
تصمیم گیری در مورد گزینه میزبانی مناسب مهم است زیرا بر کاربران نهایی ارائه شده توسط برنامه های شما تأثیر می گذارد. برای این منظور، مفهوم را به عاریت می گیریم توابع تناسب اندامکه توسط نیل فورد و همکارانش از AWS Partner ThoughtWorks در کار خود ابداع شد. معماری های تکاملی ساختمان. عملکردهای تناسب اندام یک ارزیابی تجویزی از گزینه های میزبانی مختلف بر اساس اهداف مشتری ارائه می دهد. توابع تناسب اندام به شما کمک می کنند تا داده های لازم را برای امکان تکامل برنامه ریزی شده معماری خود به دست آورید. آنها مقادیر قابل اندازه گیری را برای ارزیابی نزدیکی راه حل شما به دستیابی به اهداف تعیین شده تعیین می کنند. عملکردهای تناسب اندام می توانند و باید با تکامل معماری برای هدایت فرآیند تغییر دلخواه تطبیق داده شوند. این ابزاری را در اختیار معماران قرار می دهد تا تیم های خود را با حفظ استقلال تیم هدایت کنند.
پنج عملکرد اصلی تناسب اندام وجود دارد که مشتریان هنگام انتخاب گزینه استنتاج ML مناسب برای میزبانی از مدل ها و برنامه های ML خود به آنها اهمیت می دهند.
عملکرد تناسب اندام | توضیحات: |
هزینه |
استقرار و نگهداری یک مدل ML و برنامه کاربردی ML بر روی یک چارچوب مقیاس پذیر یک فرآیند تجاری حیاتی است و هزینه ها ممکن است بسته به انتخاب های انجام شده در مورد زیرساخت میزبانی مدل، گزینه میزبانی، چارچوب های ML، ویژگی های مدل ML، بهینه سازی ها، سیاست مقیاس بندی، بسیار متفاوت باشد. و بیشتر. بارهای کاری باید از زیرساخت سخت افزاری به طور بهینه استفاده کنند تا اطمینان حاصل شود که هزینه ها همچنان قابل کنترل است. این تابع تناسب به طور خاص به هزینه زیرساخت اشاره دارد که بخشی از هزینه کل مالکیت (TCO) است. هزینه های زیرساخت، هزینه های ترکیبی برای ذخیره سازی، شبکه و محاسبات است. همچنین درک سایر اجزای TCO، از جمله هزینه های عملیاتی و هزینه های امنیت و انطباق، بسیار مهم است. هزینه های عملیاتی هزینه های ترکیبی عملیات، نظارت و نگهداری زیرساخت ML است. هزینه های عملیاتی به عنوان تعداد مهندسان مورد نیاز بر اساس هر سناریو و حقوق سالانه مهندسان، جمع آوری شده در یک دوره خاص محاسبه می شود. مشتریانی که از راه حل های ML خود مدیریت استفاده می کنند ابر محاسبه الاستیک آمازون (Amazon EC2) سرویس کانتینر الاستیک آمازون (Amazon ECS)، و سرویس الاستیک کوبرنتز آمازون (Amazon EKS) باید خودشان ابزارهای عملیاتی بسازند. مشتریانی که از SageMaker استفاده می کنند TCO بسیار کمتری متحمل می شوند. استنتاج SageMaker یک سرویس کاملاً مدیریت شده است و قابلیتهایی را برای استقرار مدلهای ML برای استنتاج فراهم میکند. شما نیازی به ارائه نمونهها، نظارت بر سلامت نمونه، مدیریت بهروزرسانیها یا وصلههای امنیتی، انتشار معیارهای عملیاتی یا ایجاد نظارت برای بارهای کاری استنتاج ML خود ندارید. دارای قابلیت های داخلی برای اطمینان از در دسترس بودن و انعطاف پذیری بالا است. SageMaker از امنیت با رمزگذاری سرتاسر در حالت استراحت و انتقال پشتیبانی می کند، از جمله رمزگذاری حجم ریشه و فروشگاه بلوک الاستیک آمازون حجم (Amazon EBS)، ابر خصوصی مجازی آمازون پشتیبانی (Amazon VPC)، AWS PrivateLink، کلیدهای مدیریت شده توسط مشتری، هویت AWS و مدیریت دسترسی (IAM) کنترل دسترسی ریزدانه، AWS CloudTrail ممیزی، رمزگذاری میانگره برای آموزش، کنترل دسترسی مبتنی بر برچسب، جداسازی شبکه، و پروکسی برنامه تعاملی. همه این ویژگیهای امنیتی خارج از جعبه در SageMaker ارائه شدهاند و میتوانند دهها ماه تلاش مهندسی برای کسبوکارها در یک دوره 3 ساله صرفهجویی کنند. SageMaker یک سرویس واجد شرایط HIPAA است و دارای گواهینامه PCI، SOC، GDPR و ISO است. SageMaker همچنین از نقاط پایانی FIPS پشتیبانی می کند. برای اطلاعات بیشتر در مورد TCO مراجعه کنید کل هزینه مالکیت Amazon SageMaker. |
تأخیر استنتاج | بسیاری از مدلها و برنامههای ML دارای تأخیر حیاتی هستند، که در آن تأخیر استنتاج باید در محدودههای مشخصشده توسط یک هدف سطح خدمات باشد. تأخیر استنتاج به عوامل متعددی از جمله اندازه و پیچیدگی مدل، پلت فرم سخت افزاری، محیط نرم افزار و معماری شبکه بستگی دارد. به عنوان مثال، مدلهای بزرگتر و پیچیدهتر ممکن است برای اجرای استنباط بیشتر طول بکشد. |
توان عملیاتی (معاملات در ثانیه) | برای استنتاج مدل، بهینه سازی توان عملیاتی برای تنظیم عملکرد و دستیابی به هدف تجاری برنامه ML بسیار مهم است. همانطور که ما به پیشرفت سریع در تمام جنبه های ML، از جمله اجرای سطح پایین عملیات ریاضی در طراحی تراشه ادامه می دهیم، کتابخانه های مخصوص سخت افزار نقش بیشتری در بهینه سازی عملکرد ایفا می کنند. عوامل مختلفی مانند اندازه بار، جهش شبکه، ماهیت پرش، ویژگیهای نمودار مدل، اپراتورهای موجود در مدل، و CPU، GPU و مشخصات حافظه نمونههای میزبان مدل بر توان عملیاتی مدل ML تأثیر میگذارند. |
پیچیدگی پیکربندی مقیاس بندی | برای مدلها یا برنامههای ML بسیار مهم است که بر روی یک چارچوب مقیاسپذیر اجرا شوند که بتواند تقاضای ترافیک متفاوت را مدیریت کند. همچنین امکان استفاده حداکثری از منابع CPU و GPU را فراهم می کند و از تامین بیش از حد منابع محاسباتی جلوگیری می کند. |
الگوی ترافیک مورد انتظار | مدلها یا برنامههای ML میتوانند الگوهای ترافیکی متفاوتی داشته باشند، از ترافیک زنده بیدرنگ پیوسته تا پیک دورهای هزاران درخواست در ثانیه، و از الگوهای درخواست غیرمتداول و غیرقابل پیشبینی تا درخواستهای دستهای آفلاین در مجموعههای داده بزرگتر. به منظور انتخاب گزینه میزبانی مناسب برای مدل ML خود، به عقب کار کردن از الگوی ترافیک مورد انتظار توصیه می شود. |
استقرار مدل ها با SageMaker
SageMaker یک سرویس AWS کاملاً مدیریت شده است که به هر توسعهدهنده و دانشمند داده توانایی ساخت سریع، آموزش و استقرار مدلهای ML در مقیاس را میدهد. با استنباط SageMaker، می توانید مدل های ML خود را در نقاط پایانی میزبانی شده مستقر کنید و نتایج استنباط را دریافت کنید. SageMaker طیف گسترده ای از سخت افزارها و ویژگی ها را برای برآورده کردن نیازهای حجم کاری شما فراهم می کند و به شما امکان می دهد بیش از 70 نوع نمونه را با شتاب سخت افزاری انتخاب کنید. SageMaker همچنین میتواند با استفاده از ویژگی جدیدی به نام SageMaker Inference Recommender، توصیههایی برای نوع نمونه استنتاج ارائه دهد، در صورتی که مطمئن نیستید که کدام یک برای حجم کاری شما بهینهتر است.
میتوانید گزینههای استقرار را انتخاب کنید تا به بهترین وجه موارد استفاده خود را برآورده کنید، مانند استنتاج بلادرنگ، ناهمزمان، دستهای و حتی نقاط پایانی بدون سرور. علاوه بر این، SageMaker استراتژیهای استقرار مختلفی مانند قناری، سبز آبی, سایهو تست A/B برای استقرار مدل، همراه با استقرار مقرون به صرفه با چند مدل، نقاط انتهایی چند کانتینری و مقیاس بندی الاستیک. با استنباط SageMaker، میتوانید معیارهای عملکرد را برای نقاط پایانی خود مشاهده کنید CloudWatch آمازون, مقیاس خودکار نقاط پایانی بر اساس ترافیک، و مدل های خود را در حال تولید بدون از دست دادن در دسترس بودن، به روز کنید.
SageMaker چهار گزینه برای استقرار مدل خود ارائه می دهد تا بتوانید شروع به پیش بینی کنید:
- استنتاج بلادرنگ - این برای بارهای کاری با نیازهای تاخیر میلی ثانیه، حجم محموله تا 6 مگابایت و زمان پردازش تا 60 ثانیه مناسب است.
- تبدیل دسته ای - این برای پیشبینی آفلاین در دستههای بزرگی از دادههایی که از قبل در دسترس هستند ایدهآل است.
- استنتاج ناهمزمان - این برای بارهای کاری طراحی شده است که نیاز به تأخیر فرعی دوم، اندازه محموله تا 1 گیگابایت و زمان پردازش تا 15 دقیقه ندارند.
- استنتاج بدون سرور – با استنتاج بدون سرور، میتوانید به سرعت مدلهای ML را برای استنتاج بدون نیاز به پیکربندی یا مدیریت زیرساختهای اساسی مستقر کنید. علاوه بر این، شما فقط برای ظرفیت محاسباتی مورد استفاده برای پردازش درخواستهای استنتاج پرداخت میکنید، که برای بارهای کاری متناوب ایدهآل است.
نمودار زیر می تواند به شما در درک گزینه های استقرار مدل میزبانی SageMaker به همراه ارزیابی عملکرد تناسب اندام مرتبط کمک کند.
بیایید هر یک از گزینه های استقرار را با جزئیات بیشتری بررسی کنیم.
استنتاج بلادرنگ در SageMaker
اگر ترافیک پایداری دارید و نیاز به تأخیر کمتر و ثابت برای درخواستهای خود با حجم بار حداکثر تا 6 مگابایت و زمان پردازش تا 60 ثانیه دارید، استنتاج بلادرنگ SageMaker توصیه میشود. شما مدل خود را در سرویس های میزبانی SageMaker مستقر می کنید و یک نقطه پایانی دریافت می کنید که می تواند برای استنتاج استفاده شود. این نقاط پایانی به طور کامل مدیریت می شوند و از مقیاس خودکار پشتیبانی می کنند. استنتاج بلادرنگ برای موارد استفاده که در آن انتظار دارید پاسخی کمتأخیر و همزمان با الگوهای ترافیکی قابل پیشبینی، مانند توصیههای شخصیسازی شده برای محصولات و خدمات یا موارد استفاده از کشف تقلب در تراکنش، دارید، محبوب است.
به طور معمول، یک برنامه مشتری درخواست هایی را به نقطه پایانی HTTPS SageMaker ارسال می کند تا استنتاج هایی را از یک مدل مستقر شده بدست آورد. میتوانید چندین گونه از یک مدل را در همان نقطه پایانی SageMaker HTTPS مستقر کنید. این برای آزمایش تغییرات یک مدل در تولید مفید است. مقیاس خودکار به شما این امکان را می دهد که به صورت پویا تعداد نمونه های ارائه شده برای یک مدل را در پاسخ به تغییرات در حجم کاری خود تنظیم کنید.
جدول زیر راهنمایی در مورد ارزیابی استنتاج بلادرنگ SageMaker بر اساس توابع تناسب اندام ارائه می دهد.
عملکرد تناسب اندام | توضیحات: |
هزینه |
نقاط پایانی بلادرنگ پاسخی همزمان به درخواستهای استنتاج ارائه میدهند. از آنجا که نقطه پایانی همیشه در حال اجرا است و برای ارائه پاسخ استنتاج همزمان همزمان در زمان واقعی در دسترس است، شما برای استفاده از نمونه هزینه پرداخت می کنید. هنگامی که چندین نقطه پایانی را مستقر می کنید، هزینه ها می تواند به سرعت افزایش یابد، به خصوص اگر نقاط پایانی به طور کامل از نمونه های اساسی استفاده نکنند. انتخاب نمونه مناسب برای مدل خود به شما کمک می کند تا مطمئن شوید که بهترین نمونه را با کمترین هزینه برای مدل های خود دارید. مقیاس خودکار برای تنظیم پویا ظرفیت بسته به ترافیک برای حفظ عملکرد ثابت و قابل پیش بینی با کمترین هزینه ممکن توصیه می شود. SageMaker دسترسی به خانواده های نمونه ML مبتنی بر Graviton2 و Graviton3 را گسترش می دهد. AWS Graviton پردازندهها توسط خدمات وب آمازون و با استفاده از هستههای 64 بیتی Arm Neoverse ساخته شدهاند تا بهترین عملکرد را برای بارهای کاری ابری شما که در Amazon EC2 اجرا میشوند، ارائه دهند. با نمونههای مبتنی بر Graviton، هنگام استقرار مدلهای ML خود در SageMaker، گزینههای بیشتری برای بهینهسازی هزینه و عملکرد دارید. SageMaker نیز پشتیبانی می کند نمونه های inf1، ارائه استنتاج ML با کارایی بالا و مقرون به صرفه است. با 1-16 تراشه های AWS Inferentia در هر نمونه، نمونههای Inf1 میتوانند مقیاس عملکردی داشته باشند و در مقایسه با نمونههای مبتنی بر GPU AWS، تا سه برابر توان عملیاتی بالاتر و تا 50 درصد هزینه کمتر در هر استنتاج ارائه دهند. برای استفاده از نمونه های Inf1 در SageMaker، می توانید مدل های آموزش دیده خود را با استفاده از آن کامپایل کنید Amazon SageMaker Neo و نمونه های Inf1 را برای استقرار مدل کامپایل شده در SageMaker انتخاب کنید. شما همچنین می توانید کاوش کنید برنامه های پس انداز برای SageMaker برای بهره مندی از صرفه جویی در هزینه تا 64٪ در مقایسه با قیمت درخواستی. هنگامی که یک نقطه پایانی ایجاد می کنید، SageMaker یک حجم ذخیره سازی EBS را به هر نمونه محاسباتی ML که میزبان نقطه پایانی است، متصل می کند. اندازه حجم ذخیره سازی به نوع نمونه بستگی دارد. هزینه اضافی برای نقاط پایانی همزمان شامل هزینه ماهانه گیگابایت فضای ذخیرهسازی شده، بهعلاوه گیگابایت دادههای پردازش شده در داخل و گیگابایت دادههای پردازش شده خارج از نمونه پایانی است. |
تأخیر استنتاج | استنتاج بلادرنگ زمانی ایده آل است که به یک نقطه پایانی پایدار با الزامات تاخیر میلی ثانیه ای نیاز دارید. سایز بار تا 6 مگابایت و زمان پردازش تا 60 ثانیه را پشتیبانی می کند. |
ظرفیت تولید |
مقدار ایدهآل خروجی استنتاج به عواملی مانند مدل، اندازه ورودی مدل، اندازه دستهای و نوع نمونه پایانی بستگی دارد. به عنوان بهترین روش، معیارهای CloudWatch را برای درخواستهای ورودی و استفاده از منابع بررسی کنید و نوع نمونه مناسب را برای دستیابی به توان عملیاتی بهینه انتخاب کنید. یک برنامه تجاری را می توان بهینه سازی توان عملیاتی یا تأخیر بهینه کرد. برای مثال، دستهبندی پویا میتواند به افزایش توان عملیاتی برنامههای حساس به تأخیر با استفاده از استنتاج بلادرنگ کمک کند. با این حال، محدودیتهایی برای اندازه دستهای وجود دارد که بدون آن تأخیر استنتاج میتواند تحتتاثیر قرار گیرد. با افزایش اندازه دسته برای بهبود توان عملیاتی، تأخیر استنتاج افزایش می یابد. بنابراین، استنتاج بلادرنگ یک گزینه ایده آل برای برنامه های حساس به تأخیر است. SageMaker گزینههای استنتاج ناهمزمان و تبدیل دستهای را ارائه میکند که در صورتی که برنامههای تجاری بتوانند تاخیر کمی بالاتر را تحمل کنند، بهینهسازی شدهاند تا در مقایسه با استنتاج بلادرنگ، توان عملیاتی بالاتری داشته باشند. |
پیچیدگی پیکربندی مقیاس بندی |
SageMaker از نقاط پایانی بلادرنگ پشتیبانی می کند مقیاس بندی خودکار بیرون جعبه. وقتی حجم کار افزایش مییابد، مقیاس خودکار نمونههای بیشتری را آنلاین میکند. هنگامی که حجم کار کاهش می یابد، مقیاس خودکار موارد غیر ضروری را حذف می کند و به شما کمک می کند هزینه محاسبات خود را کاهش دهید. بدون مقیاس خودکار، باید برای اوج ترافیک یا در دسترس نبودن مدل ریسک پیشبینی کنید. مگر اینکه ترافیک مدل شما در طول روز ثابت باشد، ظرفیت مازاد استفاده نشده وجود خواهد داشت. این امر منجر به استفاده کم و هدر رفتن منابع می شود. با SageMaker، می توانید گزینه های مقیاس بندی مختلف را بر اساس الگوی ترافیک مورد انتظار پیکربندی کنید. مقیاسبندی ساده یا مقیاسبندی ردیابی هدف زمانی ایدهآل است که میخواهید بر اساس یک متریک خاص CloudWatch مقیاس کنید. می توانید این کار را با انتخاب یک متریک خاص و تعیین مقادیر آستانه انجام دهید. معیارهای توصیه شده برای این گزینه متوسط هستند اگر به پیکربندی پیشرفته نیاز دارید، میتوانید یک خطمشی مقیاسبندی مرحلهای تنظیم کنید تا بهصورت پویا تعداد نمونهها را بر اساس اندازه نقض هشدار تنظیم کنید. این به شما کمک می کند تا زمانی که تقاضا به سطح خاصی می رسد، پاسخ تهاجمی تری را پیکربندی کنید. زمانی میتوانید از گزینه مقیاسبندی زمانبندی شده استفاده کنید که بدانید تقاضا از یک برنامه زمانی خاص در روز، هفته، ماه یا سال پیروی میکند. این به شما کمک میکند یک برنامه زمانی یکباره یا یک برنامه زمانی تکرارشونده یا عبارات cron را به همراه زمانهای شروع و پایان تعیین کنید، که مرزهای شروع و توقف مقیاس خودکار را تشکیل میدهند. برای جزئیات بیشتر ، به مراجعه کنید پیکربندی نقاط پایانی استنتاج مقیاسپذیری خودکار در Amazon SageMaker و با استفاده از مقیاسبندی خودکار، یک نقطه پایانی Amazon SageMaker را بارگیری کرده و بهینه کنید. |
الگوی ترافیک | استنتاج بلادرنگ برای بارهای کاری با الگوی ترافیک مداوم یا منظم ایده آل است. |
استنتاج ناهمزمان در SageMaker
استنتاج ناهمزمان SageMaker یک قابلیت جدید در SageMaker است که درخواست های دریافتی را در صف قرار می دهد و آنها را به صورت ناهمزمان پردازش می کند. این گزینه برای درخواست هایی با حجم بار بزرگ (حداکثر 1 گیگابایت)، زمان پردازش طولانی (تا 15 دقیقه) و الزامات تاخیر تقریباً واقعی ایده آل است. بارهای کاری مثال برای استنتاج ناهمزمان شامل شرکت های مراقبت های بهداشتی است که تصاویر پزشکی با وضوح بالا یا ویدیوهایی مانند اکوکاردیوگرام را برای تشخیص ناهنجاری ها پردازش می کنند. این برنامه ها انبوهی از ترافیک ورودی را در زمان های مختلف در روز دریافت می کنند و نیاز به پردازش تقریباً واقعی با هزینه کم دارند. زمانهای پردازش این درخواستها میتواند به ترتیب دقیقه باشد و نیاز به اجرای استنتاج بلادرنگ را از بین ببرد. درعوض، بارهای ورودی را می توان به صورت ناهمزمان از یک فروشگاه شی مانند آمازون S3 با صف بندی خودکار و یک آستانه همزمانی از پیش تعریف شده پردازش کرد. پس از پردازش، SageMaker پاسخ استنتاج را در مکان قبلی آمازون S3 قرار می دهد. شما می توانید به صورت اختیاری انتخاب کنید که اعلان های موفقیت یا خطا را از طریق دریافت کنید سرویس اطلاع رسانی ساده آمازون (Amazon SNS).
جدول زیر راهنمایی در مورد ارزیابی استنتاج ناهمزمان SageMaker بر اساس توابع تناسب اندام ارائه می دهد.
عملکرد تناسب اندام | توضیحات: |
هزینه | استنتاج ناهمزمان یک انتخاب عالی برای بارهای کاری حساس به هزینه با بار زیاد و ترافیک انفجاری است. استنتاج ناهمزمان به شما امکان میدهد تا زمانی که هیچ درخواستی برای پردازش وجود ندارد، با تنظیم خودکار تعداد نمونهها تا صفر در هزینهها صرفهجویی کنید، بنابراین فقط زمانی پرداخت میکنید که نقطه پایانی شما در حال پردازش درخواستها باشد. درخواستهایی که در صورت وجود صفر دریافت میشوند، پس از افزایش مقیاس نقطه پایانی، در صف پردازش قرار میگیرند. |
تأخیر استنتاج | استنتاج ناهمزمان برای الزامات تأخیر در زمان واقعی ایده آل است. درخواستها در یک صف قرار میگیرند و به محض اینکه محاسبات در دسترس است پردازش میشوند. این معمولاً منجر به تأخیر ده ها میلی ثانیه می شود. |
ظرفیت تولید | استنتاج ناهمزمان برای موارد استفاده حساس به تأخیر ایدهآل است، زیرا برنامهها نیازی به کاهش توان عملیاتی ندارند. درخواستها در طول افزایش ترافیک حذف نمیشوند زیرا نقطه پایانی استنتاج ناهمزمان درخواستها را بهجای حذف آنها در صف قرار میدهد. |
پیچیدگی پیکربندی مقیاس بندی |
SageMaker پشتیبانی می کند مقیاس بندی خودکار برای نقطه پایانی ناهمزمان برخلاف نقاط پایانی میزبان بیدرنگ، نقاط پایانی استنتاج ناهمزمان از کوچکسازی نمونهها به صفر با تنظیم حداقل ظرفیت روی صفر پشتیبانی میکنند. برای نقاط پایانی ناهمزمان، SageMaker قویاً توصیه میکند که یک پیکربندی خط مشی برای مقیاسبندی ردیابی هدف برای یک مدل مستقر (نوع) ایجاد کنید. برای موارد استفاده که میتوانند جریمه شروع سرد چند دقیقه را تحمل کنند، میتوانید بهصورت اختیاری تعداد نمونههای نقطه پایانی را در زمانی که درخواستهای معوقی وجود ندارد، به صفر برسانید و با رسیدن درخواستهای جدید، نسخه پشتیبان را افزایش دهید تا فقط برای مدت زمانی که نقاط پایانی به طور فعال درخواست ها را پردازش می کنند. |
الگوی ترافیک | نقاط انتهایی ناهمزمان درخواست های دریافتی را در صف قرار می دهند و آنها را به صورت ناهمزمان پردازش می کنند. آنها گزینه خوبی برای الگوهای ترافیکی متناوب یا نادر هستند. |
استنتاج دسته ای در SageMaker
تبدیل دستهای SageMaker برای پیشبینیهای آفلاین در دستههای بزرگ دادهای که از قبل در دسترس هستند، ایدهآل است. ویژگی تبدیل دسته ای یک روش با کارایی بالا و بازده بالا برای تبدیل داده ها و تولید استنتاج است. این برای سناریوهایی ایده آل است که در آن با دسته های بزرگی از داده ها سروکار دارید، نیازی به تأخیر دوم ندارید، یا نیاز به پیش پردازش و تغییر داده های آموزشی دارید. مشتریان در حوزههای خاصی مانند تبلیغات و بازاریابی یا مراقبتهای بهداشتی اغلب نیاز به پیشبینی آفلاین در مجموعه دادههای فوق مقیاس دارند، جایی که توان عملیاتی بالا اغلب هدف مورد استفاده است و تأخیر نگران کننده نیست.
هنگامی که یک کار تبدیل دسته ای شروع می شود، SageMaker نمونه های محاسباتی را مقداردهی اولیه می کند و حجم کار استنتاج را بین آنها توزیع می کند. وقتی کارها کامل می شوند، منابع را آزاد می کند، بنابراین شما فقط برای آنچه در طول کارتان استفاده شده است، پرداخت می کنید. وقتی کار کامل شد، SageMaker نتایج پیشبینی را در یک سطل S3 که شما مشخص کردهاید ذخیره میکند. کارهای استنتاج دسته ای معمولاً کاندیدهای خوبی برای مقیاس افقی هستند. هر کارگر درون یک خوشه میتواند روی زیرمجموعههای متفاوتی از دادهها بدون نیاز به تبادل اطلاعات با سایر کارگران کار کند. AWS چندین گزینه ذخیره سازی و محاسبه را ارائه می دهد که مقیاس افقی را فعال می کند. بارهای کاری مثال برای تبدیل دسته ای SageMaker شامل برنامه های آفلاین مانند برنامه های بانکی برای پیش بینی ریزش مشتری است که در آن می توان یک کار آفلاین را برای اجرای دوره ای برنامه ریزی کرد.
جدول زیر راهنمایی در مورد ارزیابی تبدیل دسته ای SageMaker بر اساس توابع تناسب اندام ارائه می دهد.
عملکرد تناسب اندام | توضیحات: |
هزینه | تبدیل دسته ای SageMaker به شما امکان می دهد پیش بینی ها را روی مجموعه داده های دسته ای بزرگ یا کوچک اجرا کنید. هزینه نوع نمونه ای که انتخاب می کنید، بر اساس مدت زمان استفاده از شما دریافت می شود. SageMaker تهیه منابع را در شروع کار مدیریت می کند و پس از اتمام کار آنها را آزاد می کند. هیچ هزینه اضافی پردازش داده وجود ندارد. |
تأخیر استنتاج | می توانید از فراخوانی مبتنی بر رویداد یا برنامه ریزی شده استفاده کنید. تأخیر ممکن است بسته به اندازه داده های استنتاج، همزمانی کار، پیچیدگی مدل و ظرفیت نمونه محاسبه متفاوت باشد. |
ظرفیت تولید |
کارهای تبدیل دسته ای را می توان در طیف وسیعی از مجموعه داده ها، از پتابایت داده تا مجموعه داده های بسیار کوچک انجام داد. نیازی به تغییر اندازه مجموعه داده های بزرگتر به تکه های کوچک داده نیست. با استفاده از مقادیر بهینه برای پارامترهایی مانند MaxPayloadInMB, MaxConcurrent Transforms، یا استراتژی دسته ای. ارزش ایده آل برای پردازش دستهای میتواند توان عملیاتی را افزایش دهد و منابع شما را بهینه کند، زیرا به تکمیل تعداد بیشتری از استنتاجها در مدت زمان معینی به هزینه تأخیر کمک میکند. برای بهینه سازی استقرار مدل برای توان بالاتر، دستورالعمل کلی این است که اندازه دسته را تا زمانی که توان کاهش یابد افزایش دهید. |
پیچیدگی پیکربندی مقیاس بندی | تبدیل دسته ای SageMaker برای استنتاج آفلاین استفاده می شود که به تأخیر حساس نیست. |
الگوی ترافیک | برای استنتاج آفلاین، یک کار تبدیل دسته ای برنامه ریزی شده یا با استفاده از یک ماشه مبتنی بر رویداد شروع می شود. |
استنتاج بدون سرور در SageMaker
استنتاج بدون سرور SageMaker به شما امکان می دهد تا مدل های ML را برای استنتاج بدون نیاز به پیکربندی یا مدیریت زیرساخت های زیربنایی مستقر کنید. بر اساس حجم درخواستهای استنتاجی که مدل شما دریافت میکند، استنتاج بدون سرور SageMaker بهطور خودکار ظرفیت محاسباتی را ارائه، مقیاسبندی و خاموش میکند. در نتیجه، شما فقط برای زمان محاسبه برای اجرای کد استنتاج و مقدار داده های پردازش شده پرداخت می کنید، نه برای زمان بیکاری. میتوانید از الگوریتمهای داخلی SageMaker و کانتینرهای سرویسدهی چارچوب ML برای استقرار مدل خود در نقطه پایانی استنتاج بدون سرور استفاده کنید یا اینکه کانتینر خود را بیاورید. اگر ترافیک قابل پیش بینی و پایدار شود، می توانید به راحتی از یک نقطه پایانی استنتاج بدون سرور به یک نقطه پایانی بلادرنگ SageMaker بدون نیاز به ایجاد تغییرات در تصویر ظرف خود، به روز رسانی کنید. با استنتاج بدون سرور، از دیگر ویژگیهای SageMaker، از جمله معیارهای داخلی مانند تعداد فراخوان، خطاها، تأخیر، معیارهای میزبان و خطاها در CloudWatch نیز بهره میبرید.
جدول زیر راهنمایی در مورد ارزیابی استنتاج بدون سرور SageMaker بر اساس توابع تناسب اندام ارائه می دهد.
عملکرد تناسب اندام | توضیحات: |
هزینه | با یک مدل پرداخت به اندازه شما، اگر الگوهای ترافیکی نادر یا متناوب دارید، استنتاج بدون سرور یک گزینه مقرون به صرفه است. شما فقط برای مدت زمانی که نقطه پایانی درخواست را پردازش می کند، پرداخت می کنید و بنابراین اگر الگوی ترافیک متناوب باشد، می توانید در هزینه ها صرفه جویی کنید. |
تأخیر استنتاج |
نقاط پایانی بدون سرور، تأخیر استنتاج پایینی را ارائه میکنند (به ترتیب میلیثانیه تا ثانیه)، با توانایی مقیاس دهی فوری از دهها تا هزاران نتیجه در عرض چند ثانیه بر اساس الگوهای استفاده، که آن را برای برنامههای ML با ترافیک متناوب یا غیرقابل پیشبینی ایدهآل میکند. از آنجایی که نقاط پایانی بدون سرور منابع را برحسب تقاضا محاسبه میکنند، نقطه پایانی شما ممکن است چند ثانیه تأخیر اضافی (شروع سرد) برای اولین فراخوانی پس از یک دوره بیکاری تجربه کند. زمان شروع سرد بستگی به اندازه مدل شما، مدت زمان دانلود مدل شما و زمان راه اندازی ظرف شما دارد. |
ظرفیت تولید | هنگام پیکربندی نقطه پایانی بدون سرور، میتوانید اندازه حافظه و حداکثر تعداد فراخوانهای همزمان را مشخص کنید. استنتاج بدون سرور SageMaker منابع محاسباتی را متناسب با حافظه ای که انتخاب می کنید به صورت خودکار اختصاص می دهد. اگر اندازه حافظه بزرگتری انتخاب کنید، ظرف شما به vCPU های بیشتری دسترسی دارد. به عنوان یک قاعده کلی، اندازه حافظه باید حداقل به اندازه اندازه مدل شما باشد. اندازه های حافظه ای که می توانید انتخاب کنید 1024 مگابایت، 2048 مگابایت، 3072 مگابایت، 4096 مگابایت، 5120 مگابایت و 6144 مگابایت است. صرف نظر از اندازه حافظه ای که انتخاب می کنید، نقاط پایانی بدون سرور دارای 5 گیگابایت فضای ذخیره سازی زودگذر دیسک هستند. |
پیچیدگی پیکربندی مقیاس بندی | نقاط پایانی بدون سرور بهطور خودکار منابع محاسباتی را راهاندازی میکنند و بسته به ترافیک آنها را در داخل و خارج مقیاس میدهند، و نیازی به انتخاب انواع نمونه یا مدیریت سیاستهای مقیاسبندی را از بین میبرند. این کار سنگینی غیرمتمایز انتخاب و مدیریت سرورها را از بین می برد. |
الگوی ترافیک | استنتاج بدون سرور برای بارهای کاری با الگوهای ترافیک نادر یا متناوب ایده آل است. |
الگوهای طراحی میزبانی مدل در SageMaker
نقاط پایانی استنتاج SageMaker از کانتینرهای Docker برای میزبانی مدلهای ML استفاده میکنند. کانتینرها به شما امکان می دهند نرم افزار را در واحدهای استاندارد بسته بندی کنید که به طور مداوم بر روی هر پلتفرمی که از Docker پشتیبانی می کند اجرا می شود. این امر قابلیت حمل در سراسر پلتفرمها، استقرار زیرساختهای غیرقابل تغییر و مدیریت تغییرات آسانتر و پیادهسازی CI/CD را تضمین میکند. SageMaker کانتینرهای مدیریت شده از پیش ساخته شده ای را برای فریمورک های محبوبی مانند Apache MXNet، TensorFlow، PyTorch، Sklearn و Hugging Face ارائه می دهد. برای لیست کامل تصاویر ظرف SageMaker موجود، به مراجعه کنید تصاویر ظروف یادگیری عمیق موجود. در صورتی که SageMaker کانتینری پشتیبانی ندارد، میتوانید کانتینر (BYOC) خود را نیز بسازید و تصویر سفارشی خود را فشار دهید و وابستگیهای لازم برای مدل خود را نصب کنید.
برای استقرار یک مدل در SageMaker، به یک کانتینر (کانتینرهای چارچوب مدیریت شده SageMaker یا BYOC) و یک نمونه محاسباتی برای میزبانی کانتینر نیاز دارید. SageMaker از چندین گزینه پیشرفته برای الگوهای طراحی میزبانی معمولی مدل ML پشتیبانی می کند که در آن مدل ها می توانند روی یک کانتینر یا میزبان مشترک روی یک کانتینر مشترک باشند.
یک برنامه ML بلادرنگ ممکن است از یک مدل واحد یا چندین مدل برای ارائه یک درخواست پیشبینی واحد استفاده کند. نمودار زیر سناریوهای استنتاج مختلفی را برای یک برنامه ML نشان می دهد.
بیایید یک گزینه میزبانی مناسب SageMaker را برای هر یک از سناریوهای استنتاج قبلی بررسی کنیم. میتوانید برای ارزیابی اینکه آیا این گزینه مناسب برای مورد مورد استفاده است، به عملکردهای تناسب اندام مراجعه کنید.
میزبانی یک برنامه ML مبتنی بر مدل تک
بسته به سناریوی استقرار، گزینههای مختلفی برای میزبانی برنامههای ML مبتنی بر تک مدل با استفاده از خدمات میزبانی SageMaker وجود دارد.
نقطه پایانی تک مدلی
نقاط پایانی تک مدل SageMaker به شما این امکان را می دهد که یک مدل را در یک ظرف میزبانی شده در نمونه های اختصاصی برای تأخیر کم و توان عملیاتی بالا میزبانی کنید. این نقاط پایانی به طور کامل مدیریت می شوند و از مقیاس خودکار پشتیبانی می کنند. میتوانید نقطه پایانی تک مدل را بهعنوان یک نقطه پایانی تدارکاتی پیکربندی کنید که در آن پیکربندی زیرساخت نقطه پایانی مانند نوع نمونه و تعداد آن را پاس میکنید، یا یک نقطه پایانی بدون سرور که در آن SageMaker بهطور خودکار منابع محاسباتی را راهاندازی میکند و آنها را بسته به ترافیک به داخل و خارج میکند، و نیاز را از بین میبرد. برای انتخاب انواع نمونه یا مدیریت سیاست های مقیاس بندی. نقاط پایانی بدون سرور برای برنامه هایی با ترافیک متناوب یا غیرقابل پیش بینی هستند.
نمودار زیر سناریوهای استنتاج نقطه پایانی تک مدلی را نشان می دهد.
جدول زیر راهنمایی در مورد ارزیابی توابع تناسب اندام برای نقطه پایانی تک مدل ارائه شده ارائه می دهد. برای ارزیابی عملکرد تناسب اندام بدون سرور، به بخش نقطه پایانی بدون سرور در این پست مراجعه کنید.
عملکرد تناسب اندام | توضیحات: |
هزینه | هزینه استفاده از نوع نمونه ای که انتخاب می کنید از شما دریافت می شود. از آنجایی که نقطه پایانی همیشه در حال اجرا و در دسترس است، هزینهها میتواند به سرعت افزایش یابد. انتخاب نمونه مناسب برای مدل خود به شما کمک می کند تا مطمئن شوید که بهترین نمونه را با کمترین هزینه برای مدل های خود دارید. مقیاس خودکار برای تنظیم پویا ظرفیت بسته به ترافیک برای حفظ عملکرد ثابت و قابل پیش بینی با کمترین هزینه ممکن توصیه می شود. |
تأخیر استنتاج | نقطه پایانی تک مدلی استنتاج همزمان، تعاملی و همزمان با الزامات تأخیر میلی ثانیه را فراهم می کند. |
ظرفیت تولید | توان عملیاتی می تواند تحت تأثیر عوامل مختلفی مانند اندازه ورودی مدل، اندازه دسته ای، نوع نمونه نهایی و غیره قرار گیرد. توصیه می شود معیارهای CloudWatch را برای درخواست های ورودی و استفاده از منابع بررسی کنید و نوع نمونه مناسب را برای دستیابی به توان عملیاتی بهینه انتخاب کنید. SageMaker ویژگی هایی را برای مدیریت منابع و بهینه سازی عملکرد استنتاج در هنگام استقرار مدل های ML ارائه می دهد. تو می توانی بهینه سازی عملکرد مدل با استفاده از نئو، یا از نمونه های Inf1 برای توان عملیاتی بهتر مدل های میزبانی شده SageMaker خود با استفاده از یک نمونه GPU برای نقطه پایانی خود استفاده کنید. |
پیچیدگی پیکربندی مقیاس بندی | پوسته پوسته شدن خودکار خارج از جعبه پشتیبانی می شود. SageMaker انتخاب مناسب را توصیه می کند پیکربندی مقیاس بندی با اجرا تست های بارگذاری. |
الگوی ترافیک | نقطه پایانی تک مدلی برای بارهای کاری با الگوهای ترافیکی قابل پیش بینی ایده آل است. |
میزبانی مشترک چندین مدل
وقتی با تعداد زیادی مدل سر و کار دارید، استقرار هر یک در نقطه پایانی جداگانه با یک ظرف و نمونه اختصاصی میتواند منجر به افزایش قابل توجهی در هزینه شود. علاوه بر این، مدیریت بسیاری از مدلها در تولید نیز دشوار میشود، بهویژه زمانی که نیازی به فراخوانی همه مدلها به طور همزمان ندارید، اما همچنان نیاز دارید که همیشه در دسترس باشند. میزبانی مشترک چندین مدل بر روی منابع محاسباتی یکسان، مدیریت استقرار ML را در مقیاس آسان می کند و از طریق افزایش استفاده از نقطه پایانی و منابع محاسباتی زیربنایی آن، هزینه های میزبانی شما را کاهش می دهد. SageMaker از گزینه های میزبانی مشترک مدل های پیشرفته مانند نقطه پایانی چند مدل (MME) برای مدل های همگن و نقطه پایانی چند کانتینری (MCE) برای مدل های ناهمگن پشتیبانی می کند. مدلهای همگن از چارچوب ML یکسانی در یک کانتینر سرویس مشترک استفاده میکنند، در حالی که مدلهای ناهمگن به شما امکان میدهند چندین کانتینر سرویس دهی را که از مدلها یا چارچوبهای مختلف در یک نقطه پایانی استفاده میکنند، مستقر کنید.
نمودار زیر گزینههای میزبانی مشترک مدل را با استفاده از SageMaker نشان میدهد.
نقاط پایانی چند مدل SageMaker
SageMaker MME ها به شما امکان می دهد چندین مدل را با استفاده از یک ظرف سرویس مشترک در یک نقطه پایانی واحد میزبانی کنید. این یک راه حل مقیاس پذیر و مقرون به صرفه برای استقرار تعداد زیادی از مدل ها است که به موارد استفاده، چارچوب یا منطق استنتاج یکسانی پاسخ می دهند. MME ها می توانند به صورت پویا درخواست ها را بر اساس مدل فراخوانی شده توسط تماس گیرنده ارائه دهند. همچنین سربار استقرار را کاهش می دهد زیرا SageMaker بارگذاری مدل ها را در حافظه مدیریت می کند و آنها را بر اساس الگوهای ترافیکی به آنها مقیاس می دهد. این ویژگی زمانی ایده آل است که تعداد زیادی مدل مشابه داشته باشید که می توانید آنها را از طریق یک ظرف سرو مشترک سرو کنید و نیازی به دسترسی همزمان به همه مدل ها ندارید. نقاط پایانی چند مدلی همچنین اشتراک زمانی منابع حافظه را در مدل های شما امکان پذیر می کند. وقتی مدلها از نظر اندازه و تأخیر فراخوانی تقریباً مشابه باشند، این بهترین کار میکند و به MMEها اجازه میدهد تا به طور مؤثر از نمونهها در همه مدلها استفاده کنند. MME های SageMaker از میزبانی هر دو مدل پشتیبانی شده از CPU و GPU پشتیبانی می کنند. با استفاده از مدلهای پشتیبانی شده از GPU، میتوانید هزینههای استقرار مدل خود را از طریق افزایش استفاده از نقطه پایانی و نمونههای محاسباتی تسریعشده زیربنایی آن کاهش دهید. برای یک مورد استفاده در دنیای واقعی از MME، به نحوه مقیاسبندی استنتاج یادگیری ماشین برای موارد استفاده SaaS چند مستاجر.
جدول زیر راهنمایی در مورد ارزیابی عملکردهای تناسب اندام برای MMEها ارائه می دهد.
عملکرد تناسب اندام | توضیحات: |
هزینه |
MME ها استفاده از یک کانتینر سرویس مشترک را برای میزبانی هزاران مدل در یک نقطه پایانی امکان پذیر می کنند. این امر با بهبود استفاده از نقطه پایانی در مقایسه با استفاده از نقاط پایانی تک مدل، هزینه های میزبانی را به طور قابل توجهی کاهش می دهد. به عنوان مثال، اگر 10 مدل برای استقرار با استفاده از یک نمونه ml.c5.large دارید، بر اساس قیمت گذاری SageMaker، هزینه داشتن 10 نقطه پایانی پایدار تک مدلی: 10 * 0.102 دلار = 1.02 دلار در ساعت است. در حالی که با یک MME میزبان 10 مدل، ما 10 برابر در هزینه صرفه جویی می کنیم: 1 * 0.102 دلار = 0.102 دلار در ساعت. |
تأخیر استنتاج |
بهطور پیشفرض، MMEها مدلهای پرکاربرد را در حافظه و دیسک ذخیره میکنند تا استنتاج با تأخیر کم را ارائه کنند. مدلهای کش تنها زمانی از دیسک تخلیه یا حذف میشوند که حافظه یا فضای دیسک ظرفی برای سازگاری با مدل جدید هدفگذاری شده تمام شود. MME ها بارگذاری تنبل مدل ها را امکان پذیر می کنند، به این معنی که مدل ها در هنگام فراخوانی برای اولین بار در حافظه بارگذاری می شوند. این کار استفاده از حافظه را بهینه می کند. با این حال، باعث افزایش زمان پاسخ در بار اول می شود که منجر به مشکل شروع سرد می شود. بنابراین، MMEها همچنین برای سناریوهایی مناسب هستند که میتوانند جریمههای تأخیر گاه به گاه مربوط به شروع سرد را که هنگام فراخوانی مدلهای کم استفاده رخ میدهند، تحمل کنند. برای دستیابی به اهداف تاخیر و توان عملیاتی برنامههای ML، نمونههای GPU بر نمونههای CPU ترجیح داده میشوند (با توجه به توان محاسباتی ارائه شده توسط GPU). با پشتیبانی MME برای GPU، می توانید هزاران مدل یادگیری عمیق را در پشت یک نقطه پایانی SageMaker مستقر کنید. MMEها میتوانند چندین مدل را روی یک هسته GPU اجرا کنند، نمونههای GPU را در پشت یک نقطه پایانی در چندین مدل به اشتراک بگذارند، و مدلها را بر اساس ترافیک ورودی بهصورت پویا بارگیری و بارگیری کنند. با این کار می توانید به میزان قابل توجهی در هزینه صرفه جویی کنید و به بهترین عملکرد قیمت دست یابید. اگر مورد استفاده شما به تراکنش های قابل توجهی در ثانیه (TPS) یا الزامات تاخیر نیاز دارد، توصیه می کنیم مدل ها را در نقاط پایانی اختصاصی میزبانی کنید. |
ظرفیت تولید |
مقدار ایده آل توان عملیاتی استنتاج MME به عواملی مانند مدل، اندازه بار و نوع نمونه نقطه پایانی بستگی دارد. مقدار بالاتر حافظه نمونه شما را قادر می سازد تا مدل های بیشتری بارگذاری شده و آماده ارائه درخواست های استنتاجی باشید. برای بارگذاری مدل نیازی به تلف کردن زمان ندارید. مقدار بیشتر vCPU شما را قادر می سازد تا مدل های منحصر به فرد بیشتری را به طور همزمان فراخوانی کنید. MMEها به صورت پویا مدل را به حافظه نمونه بارگیری و تخلیه می کنند، که ممکن است بر عملکرد ورودی/خروجی تأثیر بگذارد. MME های SageMaker با GPU با استفاده از آن کار می کنند سرور استنتاج تریتون NVIDIA، که یک نرم افزار ارائه استنتاج منبع باز است که فرآیند ارائه استنتاج را ساده می کند و عملکرد استنتاج بالایی را ارائه می دهد. SageMaker مدل را در حافظه کانتینر NVIDIA Triton روی یک نمونه شتابدهنده GPU بارگیری میکند و درخواست استنتاج را ارائه میکند. هسته GPU در یک نمونه توسط همه مدل ها مشترک است. اگر مدل قبلاً در حافظه کانتینر بارگذاری شده باشد، درخواستهای بعدی سریعتر ارائه میشوند زیرا SageMaker نیازی به دانلود و بارگذاری مجدد آن ندارد. آزمایش و تجزیه و تحلیل عملکرد مناسب در استقرار موفقیت آمیز تولید توصیه می شود. SageMaker معیارهای CloudWatch را برای نقاط پایانی چند مدل ارائه می دهد تا بتوانید میزان استفاده از نقطه پایانی و نرخ ضربه حافظه پنهان را تعیین کنید تا به بهینه سازی نقطه پایانی خود کمک کنید. |
پیچیدگی پیکربندی مقیاس بندی | نقاط پایانی چند مدل SageMaker به طور کامل از مقیاس خودکار پشتیبانی می کند، که کپی مدل ها را مدیریت می کند تا از مقیاس مدل ها بر اساس الگوهای ترافیک اطمینان حاصل کند. با این حال، یک آزمایش بار مناسب برای تعیین اندازه بهینه نمونهها برای مقیاس خودکار نقطه پایانی توصیه میشود. اندازه مناسب ناوگان MME برای جلوگیری از تخلیه بیش از حد مدل ها مهم است. بارگذاری صدها مدل در چند نمونه بزرگتر ممکن است در برخی موارد منجر به دریچه گاز شود و استفاده از نمونه های بیشتر و کوچکتر ترجیح داده می شود. برای استفاده از مقیاس خودکار مدل در SageMaker، مطمئن شوید که دارید تنظیم مقیاس خودکار برای مثال برای تامین ظرفیت نمونه اضافی. خطمشی مقیاسبندی سطح پایانی خود را با پارامترهای سفارشی یا فراخوانی در دقیقه (توصیه میشود) تنظیم کنید تا نمونههای بیشتری به ناوگان نقطه پایانی اضافه کنید. نرخهای فراخوانی که برای راهاندازی یک رویداد مقیاس خودکار استفاده میشوند، بر اساس مجموعه پیشبینیهای کل مجموعه کامل مدلهای ارائهشده توسط نقطه پایانی است. |
الگوی ترافیک | MME ها زمانی ایده آل هستند که تعداد زیادی مدل با اندازه مشابه داشته باشید که می توانید آنها را از طریق یک ظرف سرویس مشترک سرو کنید و نیازی به دسترسی همزمان به همه مدل ها ندارید. |
نقاط پایانی چند کانتینری SageMaker
SageMaker MCEs از استقرار حداکثر 15 کانتینر که از مدلها یا چارچوبهای مختلف در یک نقطه پایانی استفاده میکنند، و فراخوانی آنها بهطور مستقل یا به ترتیب برای استنتاج با تأخیر کم و صرفهجویی در هزینه پشتیبانی میکند. مدلها میتوانند کاملاً ناهمگن باشند، با پشته سرویس مستقل خود. میزبانی ایمن چندین مدل از چارچوب های مختلف در یک نمونه می تواند تا 90٪ در هزینه شما صرفه جویی کند.
الگوهای فراخوانی MCE به شرح زیر است:
- خطوط لوله استنتاج - کانتینرها در یک MME را می توان در یک دنباله خطی فراخوانی کرد که به عنوان a نیز شناخته می شود خط لوله استنتاج سریالی. آنها معمولاً برای جداسازی پیش پردازش، مدل استنتاج و پس پردازش به ظروف مستقل استفاده می شوند. خروجی از ظرف فعلی به عنوان ورودی به بعدی ارسال می شود. آنها به عنوان یک مدل خط لوله واحد در SageMaker نشان داده شده اند. یک خط لوله استنتاج می تواند به عنوان یک MME مستقر شود، جایی که یکی از کانتینرهای موجود در خط لوله می تواند به صورت پویا درخواست ها را بر اساس مدل فراخوانی شده ارائه دهد.
- فراخوانی مستقیم - با فراخوانی مستقیم، یک درخواست را می توان به یک ظرف استنتاج خاص که روی MCE میزبانی شده است ارسال کرد.
جدول زیر راهنمایی در مورد ارزیابی عملکردهای تناسب اندام برای MCE ها ارائه می دهد.
عملکرد تناسب اندام | توضیحات: |
هزینه | MCE ها شما را قادر می سازند تا 15 کانتینر ML مختلف را در یک نقطه پایانی واحد اجرا کنید و آنها را به طور مستقل فراخوانی کنید و در نتیجه در هزینه ها صرفه جویی کنید. این گزینه زمانی ایدهآل است که چندین مدل دارید که روی پشتههای سرویسدهی مختلف با نیازهای منابع مشابه اجرا میشوند، و زمانی که مدلهای جداگانه ترافیک کافی برای استفاده از ظرفیت کامل نمونههای نقطه پایانی ندارند. بنابراین MCE ها مقرون به صرفه تر از نقطه پایانی تک مدلی هستند. MCE ها پاسخ استنتاج همزمان را ارائه می دهند، به این معنی که نقطه پایانی همیشه در دسترس است و شما هزینه زمان آپدیت نمونه را پرداخت می کنید. بسته به تعداد و نوع نمونه ها، هزینه می تواند افزایش یابد. |
تأخیر استنتاج | MCEها برای اجرای برنامههای ML با چارچوبها و الگوریتمهای مختلف ML برای هر مدل که به ندرت به آنها دسترسی پیدا میکنند، اما همچنان نیازمند استنتاج با تأخیر کم هستند، ایدهآل هستند. مدل ها همیشه برای استنتاج با تاخیر کم در دسترس هستند و مشکل شروع سرد وجود ندارد. |
ظرفیت تولید | MCEها به حداکثر 15 کانتینر در یک نقطه پایانی چند کانتینری محدود می شوند و استنتاج GPU به دلیل اختلاف منابع پشتیبانی نمی شود. برای نقاط پایانی چند کانتینری با استفاده از حالت فراخوانی مستقیم، SageMaker نه تنها معیارهای سطح نمونه را مانند سایر نقاط پایانی رایج ارائه می دهد، بلکه از معیارهای هر کانتینر نیز پشتیبانی می کند. به عنوان بهترین روش، معیارهای CloudWatch را برای درخواستهای ورودی و استفاده از منابع بررسی کنید و نوع نمونه مناسب را برای دستیابی به توان عملیاتی بهینه انتخاب کنید. |
پیچیدگی پیکربندی مقیاس بندی | MCE ها از مقیاس خودکار پشتیبانی می کنند. با این حال، به منظور پیکربندی مقیاسبندی خودکار، توصیه میشود که مدل در هر کانتینر در هر درخواست استنتاج استفاده و تأخیر CPU مشابهی را نشان دهد. این توصیه می شود زیرا اگر ترافیک به نقطه پایانی چند کانتینری از یک مدل استفاده کم از CPU به یک مدل استفاده از CPU بالا تغییر کند، اما حجم کلی تماس ثابت باقی بماند، نقطه پایانی کوچک نمی شود و ممکن است نمونه های کافی وجود نداشته باشد. برای رسیدگی به تمام درخواست های مدل استفاده از CPU بالا. |
الگوی ترافیک | MCEها برای بارهای کاری با الگوهای ترافیک مداوم یا منظم، برای میزبانی مدلها در چارچوبهای مختلف (مانند TensorFlow، PyTorch یا Sklearn) که ممکن است ترافیک کافی برای اشباع ظرفیت کامل یک نمونه پایانی نداشته باشند، ایدهآل هستند. |
میزبانی برنامه ML مبتنی بر چند مدل
بسیاری از برنامه های تجاری نیاز به استفاده از چندین مدل ML برای ارائه یک درخواست پیش بینی واحد به مصرف کنندگان خود دارند. به عنوان مثال، یک شرکت خرده فروشی که می خواهد توصیه هایی را به کاربران خود ارائه دهد. برنامه ML در این مورد ممکن است بخواهد از مدل های سفارشی مختلف برای توصیه دسته های مختلف محصولات استفاده کند. اگر شرکت بخواهد با استفاده از اطلاعات فردی کاربر، شخصیسازی را به توصیهها اضافه کند، تعداد مدلهای سفارشی بیشتر میشود. میزبانی هر مدل سفارشی در یک نمونه محاسباتی مجزا نه تنها هزینه زیادی ندارد، بلکه در صورت عدم استفاده مکرر از همه مدل ها، منجر به استفاده کم از منابع میزبانی می شود. SageMaker گزینه های میزبانی کارآمد را برای برنامه های کاربردی ML مبتنی بر چند مدل ارائه می دهد.
نمودار زیر گزینه های میزبانی چند مدلی را برای یک نقطه پایانی با استفاده از SageMaker نشان می دهد.
خط لوله استنتاج سریالی
خط لوله استنتاج یک مدل SageMaker است که از یک توالی خطی از 2 تا 15 کانتینر تشکیل شده است که درخواستهای استنتاج روی دادهها را پردازش میکند. شما از یک خط لوله استنتاج برای تعریف و استقرار هر ترکیبی از الگوریتم های داخلی SageMaker از پیش آموزش دیده و الگوریتم های سفارشی خود بسته بندی شده در ظروف Docker استفاده می کنید. شما می توانید از یک خط لوله استنتاج برای ترکیب پیش پردازش، پیش بینی و پس پردازش وظایف علم داده استفاده کنید. خروجی یک ظرف به عنوان ورودی به ظرف بعدی ارسال می شود. هنگام تعریف کانتینرها برای مدل خط لوله، ترتیب اجرای کانتینرها را نیز مشخص می کنید. آنها به عنوان یک مدل خط لوله واحد در SageMaker نشان داده شده اند. خط لوله استنتاج می تواند به عنوان یک MME مستقر شود، جایی که یکی از کانتینرهای موجود در خط لوله می تواند به صورت پویا درخواست ها را بر اساس مدل فراخوانی شده ارائه دهد. همچنین می توانید a را اجرا کنید تبدیل دسته ای کار با خط لوله استنتاج خطوط لوله استنتاج به طور کامل مدیریت می شوند.
جدول زیر راهنمایی در مورد ارزیابی توابع تناسب میزبانی مدل ML با استفاده از خط لوله استنتاج سریال ارائه می دهد.
عملکرد تناسب اندام | توضیحات: |
هزینه | خط لوله استنتاج سریال شما را قادر می سازد تا حداکثر 15 کانتینر ML مختلف را در یک نقطه پایانی واحد اجرا کنید که منجر به مقرون به صرفه بودن میزبانی کانتینرهای استنتاج می شود. استفاده از این قابلیت هیچ هزینه اضافی ندارد. شما فقط برای نمونه هایی که در یک نقطه پایانی اجرا می شوند پرداخت می کنید. بسته به تعداد و نوع نمونه ها، هزینه می تواند افزایش یابد. |
تأخیر استنتاج | هنگامی که یک برنامه ML به عنوان خط لوله استنتاج مستقر می شود، داده های بین مدل های مختلف فضای ظرف را ترک نمی کنند. پردازش ویژگیها و استنتاجها با تأخیر کم اجرا میشوند، زیرا کانتینرها روی همان نمونههای EC2 قرار دارند. |
ظرفیت تولید | در یک مدل خط لوله استنتاج، SageMaker فراخوان ها را به عنوان دنباله ای از درخواست های HTTP مدیریت می کند. اولین کانتینر در خط لوله، درخواست اولیه را انجام می دهد، سپس پاسخ میانی به عنوان یک درخواست به کانتینر دوم ارسال می شود و به همین ترتیب برای هر کانتینر در خط لوله. SageMaker پاسخ نهایی را به مشتری برمی گرداند. توان عملیاتی به عواملی مانند مدل، اندازه ورودی مدل، اندازه دسته ای و نوع نمونه نهایی بستگی دارد. به عنوان بهترین روش، معیارهای CloudWatch را برای درخواستهای ورودی و استفاده از منابع بررسی کنید و نوع نمونه مناسب را برای دستیابی به توان عملیاتی بهینه انتخاب کنید. |
پیچیدگی پیکربندی مقیاس بندی | خطوط لوله استنتاج سریالی از مقیاس خودکار پشتیبانی می کنند. با این حال، به منظور پیکربندی مقیاسبندی خودکار، توصیه میشود که مدل در هر کانتینر در هر درخواست استنتاج استفاده و تأخیر CPU مشابهی را نشان دهد. این توصیه می شود زیرا اگر ترافیک به نقطه پایانی چند کانتینری از یک مدل استفاده از CPU کم به یک مدل استفاده از CPU بالا تغییر کند، اما حجم کلی تماس ثابت باقی بماند، نقطه پایانی کوچک نمی شود و ممکن است نمونه های کافی برای استفاده وجود نداشته باشد. تمام درخواستهای مدل استفاده از CPU بالا را رسیدگی میکند. |
الگوی ترافیک |
خطوط لوله استنتاج سریالی برای الگوهای ترافیکی قابل پیش بینی با مدل هایی که به طور متوالی در یک نقطه پایانی اجرا می شوند ایده آل هستند. |
استقرار گروه های مدل (Triton DAG):
SageMaker ادغام با سرور استنتاج تریتون NVIDIA از طریق کانتینرهای سرور استنتاج تریتون. این کانتینرها شامل NVIDIA Triton Inference Server، پشتیبانی از چارچوبهای رایج ML، و متغیرهای مفید محیطی هستند که به شما امکان میدهند عملکرد SageMaker را بهینه کنید. با تصاویر کانتینر NVIDIA Triton، میتوانید به راحتی مدلهای ML را ارائه کنید و از بهینهسازی عملکرد، دستهبندی پویا و پشتیبانی چند فریمورکی ارائه شده توسط NVIDIA Triton بهرهمند شوید. تریتون به به حداکثر رساندن استفاده از GPU و CPU کمک می کند و هزینه استنتاج را کاهش می دهد.
در موارد استفاده تجاری که برنامههای ML از چندین مدل برای ارائه درخواست پیشبینی استفاده میکنند، اگر هر مدل از چارچوب متفاوتی استفاده کند یا در یک نمونه جداگانه میزبانی شود، ممکن است منجر به افزایش حجم کار و هزینه و همچنین افزایش تاخیر کلی شود. SageMaker NVIDIA Triton Inference Server از استقرار مدلها از تمام چارچوبهای اصلی، مانند TensorFlow GraphDef، TensorFlow SavedModel، ONNX، PyTorch TorchScript، TensorRT، و قالبهای مدل Python/C++ و موارد دیگر پشتیبانی میکند. مجموعه مدل تریتون نشان دهنده خط لوله ای از یک یا چند مدل یا منطق پیش پردازش و پس پردازش و اتصال تانسورهای ورودی و خروجی بین آنهاست. یک درخواست استنتاج واحد به یک مجموعه، اجرای کل خط لوله را آغاز می کند. تریتون همچنین دارای چندین الگوریتم زمانبندی و دستهبندی داخلی است که درخواستهای استنتاج فردی را برای بهبود توان استنتاج ترکیب میکند. این تصمیمات زمانبندی و دسته بندی برای مشتری درخواست کننده استنتاج شفاف است. برای حداکثر انعطاف پذیری و پشتیبانی از نیازهای محاسباتی ناهمگن، مدل ها را می توان بر روی CPU یا GPU اجرا کرد.
میزبانی چندین مدل با پشتیبانی از GPU در نقاط پایانی چند مدلی از طریق پشتیبانی می شود سرور استنتاج تریتون SageMaker. NVIDIA Triton Inference Server برای پیاده سازی قرارداد MME API، برای ادغام با MMEها. شما می توانید از سرور استنتاج انویدیا تریتون استفاده کنید، که یک پیکربندی مخزن مدل را برای فریم ورک های پشتیبان مختلف ایجاد می کند، تا یک MME با مقیاس خودکار به کار گیرد. این ویژگی به شما امکان میدهد صدها مدل بسیار شخصیسازی شده را که بهخوبی تنظیم شدهاند تا تجربههای منحصر به فرد کاربر نهایی در برنامههای هوش مصنوعی را ارائه دهند، مقیاسبندی کنید. همچنین میتوانید از این ویژگی برای دستیابی به عملکرد قیمت ضروری برای برنامه استنتاج خود با استفاده از پردازندههای گرافیکی کسری استفاده کنید. برای کسب اطلاعات بیشتر به ادامه مطلب مراجعه نمایید چندین مدل یادگیری عمیق را روی GPU با نقاط پایانی چند مدل Amazon SageMaker اجرا کنید.
جدول زیر راهنمایی در مورد ارزیابی عملکردهای تناسب برای میزبانی مدل ML با استفاده از MME با پشتیبانی GPU در کانتینرهای استنتاج تریتون ارائه می دهد. برای ارزیابی عملکرد تناسب نقطه پایانی تک مدل و عملکرد بدون سرور، به بخشهای قبلی در این پست مراجعه کنید.
عملکرد تناسب اندام | توضیحات: |
هزینه | MMEهای SageMaker با پشتیبانی از GPU با استفاده از سرور استنتاج تریتون، روشی مقیاسپذیر و مقرون به صرفه برای استقرار تعداد زیادی مدل یادگیری عمیق در پشت یک نقطه پایانی SageMaker ارائه میکنند. با MME، چندین مدل نمونه GPU را در پشت نقطه پایانی به اشتراک می گذارند. این به شما امکان میدهد تا هزینههای افزایش خطی میزبانی مدلهای متعدد و استفاده مجدد از زیرساخت در همه مدلها را کاهش دهید. شما هزینه آپ تایم نمونه را پرداخت می کنید. |
تأخیر استنتاج |
SageMaker با سرور استنتاج تریتون برای به حداکثر رساندن توان عملیاتی و استفاده از سختافزار با تأخیر استنتاج فوقالعاده کم (میلیثانیهای تک رقمی) ساخته شده است. دارای طیف گسترده ای از چارچوب های پشتیبانی شده ML (از جمله TensorFlow، PyTorch، ONNX، XGBoost، و NVIDIA TensorRT) و پشتیبانی زیرساخت، از جمله پردازنده های گرافیکی NVIDIA، CPU ها و استنتاج AWS. با پشتیبانی MME برای GPU با استفاده از SageMaker Triton Inference Server، می توانید هزاران مدل یادگیری عمیق را در پشت یک نقطه پایانی SageMaker مستقر کنید. SageMaker مدل را در حافظه کانتینر NVIDIA Triton روی یک نمونه شتابدهنده GPU بارگیری میکند و درخواست استنتاج را ارائه میکند. هسته GPU در یک نمونه توسط همه مدل ها مشترک است. اگر مدل قبلاً در حافظه کانتینر بارگذاری شده باشد، درخواستهای بعدی سریعتر ارائه میشوند زیرا SageMaker نیازی به دانلود و بارگذاری مجدد آن ندارد. |
ظرفیت تولید |
MMEها قابلیتهایی را برای اجرای چندین مدل یادگیری عمیق یا ML بر روی GPU، به طور همزمان، با سرور استنتاج تریتون ارائه میدهند. این به شما امکان می دهد به راحتی از سرویس استنتاج با کارایی بالا و چند چارچوبی NVIDIA Triton با استقرار مدل کاملاً مدیریت شده SageMaker استفاده کنید. تریتون از تمامی استنتاج های مبتنی بر استنتاج NVIDIA GPU-، x86-، Arm® CPU و AWS پشتیبانی می کند. این مجموعه پویا، اجراهای همزمان، پیکربندی مدل بهینه، مجموعه مدل، و جریان ورودی های صوتی و تصویری را برای به حداکثر رساندن توان عملیاتی و استفاده ارائه می دهد. عوامل دیگری مانند شبکه و اندازه بار ممکن است نقش حداقلی در سربار مرتبط با استنتاج داشته باشند. |
پیچیدگی پیکربندی مقیاس بندی |
MMEها میتوانند با استفاده از یک خطمشی مقیاسبندی خودکار مقیاس افقی داشته باشند و نمونههای محاسباتی GPU اضافی بر اساس معیارهایی مانند با سرور استنتاج تریتون، می توانید به راحتی یک ظرف سفارشی که شامل مدل شما با تریتون است بسازید و آن را به SageMaker بیاورید. SageMaker Inference به درخواستها رسیدگی میکند و با افزایش استفاده، ظرف را بهطور خودکار مقیاسبندی میکند و استقرار مدل با Triton در AWS را آسانتر میکند. |
الگوی ترافیک |
MME ها برای الگوهای ترافیک قابل پیش بینی با مدل هایی که به عنوان DAG در نقطه پایانی یکسان اجرا می شوند، ایده آل هستند. SageMaker از شکلدهی ترافیک به نقطه پایانی MME مراقبت میکند و نسخههای مدل بهینه را در نمونههای GPU برای بهترین عملکرد قیمت حفظ میکند. به مسیریابی ترافیک به نمونه ای که مدل بارگیری می شود ادامه می دهد. اگر منابع نمونه به دلیل استفاده زیاد به ظرفیت برسد، SageMaker مدل های کم استفاده را از کانتینر تخلیه می کند تا منابع را برای بارگیری مدل های پرکاربرد آزاد کند. |
بهترین شیوه
بهترین روش های زیر را در نظر بگیرید:
- انسجام بالا و جفت کم بین مدل ها – مدلها را در همان ظرفی که انسجام بالایی دارد (عملکرد تک تجاری را هدایت میکند) میزبانی کنید و برای سهولت ارتقا و مدیریت آنها را در کنار هم قرار دهید. در همان زمان، آن مدل ها را از یکدیگر جدا کنید (آنها را در ظرف های مختلف میزبانی کنید) تا بتوانید به راحتی یک مدل را بدون تاثیر روی مدل های دیگر ارتقا دهید. چندین مدل را میزبانی کنید که از کانتینرهای مختلف در پشت یک نقطه پایانی استفاده می کنند و سپس به طور مستقل فراخوانی می کنند یا منطق پیش پردازش و پس پردازش مدل را به عنوان خط لوله استنتاج سریال اضافه می کنند.
- تأخیر استنتاج - مدل هایی را که دارای عملکرد تک تجاری هستند گروه بندی کنید و آنها را در یک ظرف واحد میزبانی کنید تا تعداد پرش ها به حداقل برسد و بنابراین تأخیر کلی به حداقل برسد. هشدارهای دیگری نیز وجود دارد، مثلاً اگر مدلهای گروهبندیشده از چندین چارچوب استفاده میکنند. همچنین ممکن است میزبانی در چندین کانتینر را انتخاب کنید اما برای کاهش تأخیر و به حداقل رساندن هزینه، روی یک میزبان اجرا شود.
- به طور منطقی مدل های ML را با انسجام بالا گروه بندی کنید – گروه منطقی ممکن است متشکل از مدل هایی باشد که همگن (مثلاً همه مدل های XGBoost) یا ناهمگن (مثلاً چند XGBoost و چند BERT) باشند. ممکن است متشکل از مدلهایی باشد که در چندین عملکرد تجاری مشترک هستند یا ممکن است برای انجام تنها یک عملکرد تجاری خاص باشند.
- مدل های مشترک – اگر گروه منطقی از مدلهای مشترک تشکیل شده باشد، سهولت ارتقای مدلها و تأخیر، نقش عمدهای در معماری نقاط پایانی SageMaker ایفا میکند. به عنوان مثال، اگر تأخیر در اولویت است، بهتر است همه مدلها را در یک ظرف در پشت یک نقطه پایانی SageMaker قرار دهید تا از پرشهای متعدد جلوگیری شود. نکته منفی این است که اگر هر یک از مدل ها نیاز به ارتقا داشته باشند، منجر به ارتقای تمام نقاط پایانی SageMaker مربوطه می شود که میزبان این مدل هستند.
- مدل های غیر مشترک – اگر گروه منطقی فقط از مدلهای خاص ویژگیهای تجاری تشکیل شده باشد و با گروههای دیگر به اشتراک گذاشته نشود، پیچیدگی بستهبندی و ابعاد تأخیر کلیدی برای دستیابی خواهد بود. توصیه میشود این مدلها را در یک ظرف پشت یک نقطه پایانی SageMaker میزبانی کنید.
- استفاده کارآمد از سخت افزار (CPU، GPU) - مدل های مبتنی بر CPU را با هم گروه بندی کنید و آنها را روی یک میزبان میزبانی کنید تا بتوانید به طور موثر از CPU استفاده کنید. به طور مشابه، مدلهای مبتنی بر GPU را با هم گروهبندی کنید تا بتوانید به طور موثر از آنها استفاده کرده و مقیاسبندی کنید. بارهای کاری ترکیبی وجود دارد که به هر دو CPU و GPU در یک میزبان نیاز دارند. میزبانی مدلهای فقط CPU و GPU در یک میزبان باید به دلیل انسجام بالا و الزامات تاخیر برنامه باشد. علاوه بر این، هزینه، توانایی مقیاس پذیری، و شعاع انفجار در اثر ضربه در صورت خرابی، ابعاد کلیدی هستند که باید بررسی شوند.
- توابع تناسب اندام – از توابع تناسب اندام به عنوان راهنما برای انتخاب گزینه میزبانی ML استفاده کنید.
نتیجه
وقتی صحبت از میزبانی ML می شود، هیچ رویکردی برای همه وجود ندارد. متخصصان ML باید الگوی طراحی مناسبی را برای رسیدگی به چالش های میزبانی ML خود انتخاب کنند. ارزیابی عملکردهای تناسب اندام راهنمایی های تجویزی را برای انتخاب گزینه میزبانی مناسب ML ارائه می دهد.
برای جزئیات بیشتر در مورد هر یک از گزینه های میزبانی، به پست های زیر در این مجموعه مراجعه کنید:
درباره نویسندگان
داوال پاتل یک معمار اصلی یادگیری ماشین در AWS است. او با سازمانهایی از شرکتهای بزرگ گرفته تا استارتآپهای متوسط در زمینه مشکلات مربوط به محاسبات توزیعشده و هوش مصنوعی کار کرده است. او بر روی یادگیری عمیق از جمله دامنه های NLP و Computer Vision تمرکز دارد. او به مشتریان کمک می کند تا به استنباط مدل با عملکرد بالا در SageMaker دست یابند.
دیپلی راجال مدیر حساب فنی متخصص AI/ML در خدمات وب آمازون است. او با مشتریان سازمانی کار میکند و راهنماییهای فنی را برای اجرای راهحلهای یادگیری ماشین با بهترین شیوهها ارائه میکند. او در اوقات فراغت خود از پیاده روی، فیلم و معاشرت با خانواده و دوستان لذت می برد.
ساوراب تریکاند مدیر محصول ارشد Amazon SageMaker Inference است. او مشتاق کار با مشتریان است و هدفش دموکراتیک کردن یادگیری ماشین است. او بر چالشهای اصلی مربوط به استقرار برنامههای کاربردی پیچیده ML، مدلهای ML چند مستاجر، بهینهسازی هزینهها و در دسترستر کردن استقرار مدلهای یادگیری عمیق تمرکز میکند. Saurabh در اوقات فراغت خود از پیاده روی، یادگیری در مورد فن آوری های نوآورانه، دنبال کردن TechCrunch و گذراندن وقت با خانواده خود لذت می برد.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- پلاتوبلاک چین. Web3 Metaverse Intelligence. دانش تقویت شده دسترسی به اینجا.
- منبع: https://aws.amazon.com/blogs/machine-learning/model-hosting-patterns-in-amazon-sagemaker-part-1-common-design-patterns-for-building-ml-applications-on-amazon-sagemaker/
- 1
- 10
- 100
- 11
- 39
- 7
- 70
- a
- توانایی
- قادر
- درباره ما
- تسریع شد
- دسترسی
- قابل دسترسی است
- در دسترس
- تطبیق
- حساب
- دقیق
- رسیدن
- دستیابی به
- در میان
- عمل
- فعالانه
- اضافه
- اضافی
- علاوه بر این
- نشانی
- پیشرفت
- پیشرفته
- مزیت - فایده - سود - منفعت
- تبلیغات
- اثر
- پس از
- تجمع
- جمع کننده
- مهاجم
- موافقت نامه
- AI
- AI / ML
- هشدار
- الگوریتم
- معرفی
- اجازه دادن
- اجازه می دهد تا
- قبلا
- همیشه
- آمازون
- آمازون EC2
- آمازون SageMaker
- آمازون خدمات وب
- مقدار
- تحلیل
- تحلیل
- و
- و زیرساخت
- سالیانه
- دیگر
- آپاچی
- API
- اپل
- کاربرد
- برنامه های کاربردی
- روش
- مناسب
- برنامه های
- معماری
- ARM
- مصنوعی
- هوش مصنوعی
- جنبه
- ارزیابی
- مرتبط است
- خواص
- سمعی
- ممیزی
- خودکار
- خودکار
- اتوماتیک
- بطور خودکار
- دسترس پذیری
- در دسترس
- میانگین
- AWS
- به عقب
- حمایت کرد
- بانکداری
- پایه
- مستقر
- زیرا
- شدن
- شود
- قبل از
- پشت سر
- بودن
- سود
- بهترین
- بهترین شیوه
- بهتر
- میان
- بیومدیکال
- مسدود کردن
- قرض گرفتن
- مرز
- جعبه
- شکاف
- شکستن
- به ارمغان بیاورد
- به ارمغان می آورد
- بودجه
- ساختن
- بنا
- ساخته
- ساخته شده در
- کسب و کار
- برنامه های تجاری
- فرآیند کاری
- کسب و کار
- مخزن
- محاسبه
- صدا
- نام
- دعوت کننده
- نامزد
- قابلیت های
- ظرفیت
- اهميت دادن
- مورد
- موارد
- دسته
- علل
- معین
- مهندسان
- چالش ها
- تغییر دادن
- تبادل
- مشخصات
- متهم
- chatbot
- بررسی
- تراشه
- انتخاب
- انتخاب
- را انتخاب کنید
- انتخاب
- کلاس
- طبقه بندی
- طبقه بندی کنید
- مشتری
- مشتریان
- نزدیک
- ابر
- خوشه
- رمز
- مشتاق
- همکاران
- جمع آوری
- مبارزه با
- ترکیب
- ترکیب
- ترکیب شده
- مشترک
- شرکت
- شرکت
- مقایسه
- کامل
- به طور کامل
- پیچیده
- پیچیدگی
- انطباق
- اجزاء
- مرکب
- سازش
- قدرت محاسباتی
- محاسبه
- کامپیوتر
- چشم انداز کامپیوتر
- محاسبه
- مفهوم
- نگرانی
- رقیب
- پیکر بندی
- ارتباط
- استوار
- مصرف
- مصرف کنندگان
- ظرف
- ظروف
- شامل
- ادامه دادن
- ادامه
- مداوم
- کنترل
- هسته
- متناظر
- هزینه
- صرفه جویی در هزینه
- مقرون به صرفه
- هزینه
- میتوانست
- ایجاد
- ایجاد
- بحرانی
- بسیار سخت
- جاری
- سفارشی
- مشتری
- مشتریان
- DAG
- داده ها
- پردازش داده ها
- علم اطلاعات
- دانشمند داده
- پایگاه داده
- مجموعه داده ها
- روز
- معامله
- تصمیم گیری
- اختصاصی
- عمیق
- یادگیری عمیق
- به طور پیش فرض
- تعریف کردن
- ارائه
- تقاضا
- خواسته
- دموکراتیک کردن
- بستگی دارد
- بستگی دارد
- گسترش
- مستقر
- استقرار
- گسترش
- اعزام ها
- طرح
- الگوهای طراحی
- طراحی
- جزئیات
- جزئیات
- کشف
- مشخص کردن
- توسعه دهنده
- پروژه
- نمودارها
- مختلف
- مشکل
- ابعاد
- مستقیم
- متمایز
- توزیع شده
- محاسبات توزیع شده
- مختلف
- کارگر بارانداز
- اسناد و مدارک
- نمی کند
- حوزه
- آیا
- پایین
- دانلود
- نزولی
- رانده
- کاهش یافته است
- رها کردن
- در طی
- پویا
- هر
- پیش از آن
- آسان تر
- به آسانی
- موثر
- به طور موثر
- اثر
- بازده
- موثر
- موثر
- تلاش
- هر دو
- از بین بردن
- قادر ساختن
- را قادر می سازد
- رمزگذاری
- پشت سر هم
- نقطه پایانی
- مهندسی
- مورد تأیید
- کافی
- اطمینان حاصل شود
- تضمین می کند
- سرمایه گذاری
- شرکت
- تمام
- محیط
- خطا
- خطاهای
- به خصوص
- ارزیابی
- ارزیابی
- حتی
- واقعه
- همه چیز
- تکامل
- مثال
- مثال ها
- تبادل
- نمایشگاه ها
- انتظار
- انتظار می رود
- تجربه
- تجارب
- اکتشاف
- اصطلاحات
- خارجی
- اضافی
- چهره
- عوامل
- شکست
- منصفانه
- خانواده
- خانواده
- سریعتر
- ویژگی
- امکانات
- تغذیه
- کمی از
- نهایی
- نام خانوادگی
- بار اول
- سازگاری
- ناوگان
- انعطاف پذیری
- جریان
- نوسان
- تمرکز
- پیروی
- به دنبال آن است
- گدار
- فرم
- اشکال
- کسری
- چارچوب
- چارچوب
- تقلب
- کشف تقلب
- رایگان
- فرکانس
- غالبا
- دوستان
- از جانب
- میوه ها
- کامل
- کاملا
- تابع
- ویژگی های
- قابلیت
- توابع
- بیشتر
- GDPR
- سوالات عمومی
- تولید
- مولد
- دریافت کنید
- دادن
- داده
- هدف
- اهداف
- خوب
- GPU
- GPU ها
- گراف
- بزرگ
- بیشتر
- تا حد زیادی
- گروه
- گروه ها
- شدن
- راهنمایی
- دسته
- دستگیره
- سیار
- سخت افزار
- داشتن
- سلامتی
- بهداشت و درمان
- کمک
- کمک
- کمک می کند
- اینجا کلیک نمایید
- زیاد
- عملکرد بالا
- کیفیت بالا
- بالاتر
- اصابت
- افقی
- میزبان
- میزبانی
- میزبانی وب
- هزینه های میزبانی
- خدمات میزبانی
- چگونه
- اما
- HTML
- HTTPS
- صدها نفر
- ترکیبی
- دلخواه
- هویت
- آرام
- تصویر
- طبقه بندی تصویر
- تصاویر
- تغییر ناپذیر
- تأثیر
- نهفته
- اثرات
- انجام
- اجرا
- اجرای
- مهم
- بهبود
- بهبود
- in
- شامل
- شامل
- از جمله
- وارد شونده
- افزایش
- افزایش
- افزایش
- افزایش
- مستقل
- به طور مستقل
- فرد
- اطلاعات
- شالوده
- اول
- ابتکاری
- فن آوری های نوآورانه
- ورودی
- نصب کردن
- نمونه
- در عوض
- ادغام
- ادغام
- اطلاعات
- تعاملی
- شامل
- ISO
- انزوا
- IT
- کار
- شغل ها
- کلید
- کلید
- دانستن
- شناخته شده
- بزرگ
- بزرگتر
- تاخیر
- راه اندازی
- راه اندازی
- راه اندازی
- رهبری
- برجسته
- منجر می شود
- یاد گرفتن
- یادگیری
- ترک کردن
- رهبری
- سطح
- کتابخانه ها
- بلند کردن اجسام
- محدود شده
- محدودیت
- فهرست
- زنده
- بار
- بارگیری
- بارهای
- محل
- طولانی
- دیگر
- نگاه کنيد
- شکست
- خیلی
- کم
- دستگاه
- فراگیری ماشین
- ساخته
- اصلی
- حفظ
- حفظ
- عمده
- ساخت
- باعث می شود
- ساخت
- مدیریت
- اداره می شود
- مدیریت
- مدیر
- مدیریت می کند
- مدیریت
- بسیاری
- بازار یابی (Marketing)
- ریاضی
- ماده
- بیشینه ساختن
- بیشترین
- به معنی
- دیدار
- حافظه
- روش
- روش
- متری
- متریک
- قدرت
- حداقل
- حد اقل
- دقیقه
- خلط
- ML
- حالت
- مدل
- مدل
- مانیتور
- نظارت بر
- ماه
- ماه
- بیش
- اکثر
- انگیزه
- فیلم ها
- نقطه پایانی چند مدل
- چندگانه
- بسیاری
- طبیعت
- لازم
- نیاز
- نیازهای
- شبکه
- جدید
- بعد
- nlp
- اخطار
- اطلاعیه ها
- عدد
- کارت گرافیک Nvidia
- هدف
- هدف
- اهداف
- بدست آوردن
- گاه به گاه
- ارائه
- پیشنهادات
- آنلاین نیست.
- ONE
- آنلاین
- منبع باز
- کار
- عمل می کند
- عملیاتی
- قابل استفاده
- عملیات
- اپراتور
- بهینه
- بهینه سازی
- بهینه سازی
- بهینه
- بهینه سازی می کند
- بهینه سازی
- گزینه
- گزینه
- نارنجی
- سفارش
- سازمان های
- دیگر
- برجسته
- به طور کلی
- خود
- مالکیت
- بسته
- بسته بندی
- پارامترهای
- بخش
- ویژه
- شریک
- گذشت
- احساساتی
- پچ های
- الگو
- الگوهای
- پرداخت
- اوج
- انجام
- کارایی
- انجام
- دوره
- متناوب
- دوره ها
- شخصی
- شخصی
- انتخاب کنید
- خط لوله
- محل
- اماکن
- برنامه ریزی
- برنامه
- سکو
- سیستم عامل
- افلاطون
- هوش داده افلاطون
- PlatoData
- بازی
- به علاوه
- سیاست
- سیاست
- محبوب
- ممکن
- پست
- پست ها
- قدرت
- تمرین
- شیوه های
- قابل پیش بینی
- پیش بینی
- پیش گویی
- پیش بینی
- مرجح
- قبلا
- قیمت
- اصلی
- اولویت
- خصوصی
- مشکل
- مشکلات
- روند
- فرآوری شده
- فرآیندهای
- در حال پردازش
- پردازنده ها
- محصول
- مدیر تولید
- تولید
- محصولات
- مشخصات
- مناسب
- ارائه
- ارائه
- فراهم می کند
- ارائه
- تدارک
- پروکسی
- هدف
- فشار
- مارماهی
- به سرعت
- محدوده
- اعم
- سریعا
- نرخ
- نرخ
- رسیدن به
- می رسد
- خواندن
- اماده
- واقعی
- دنیای واقعی
- زمان واقعی
- گرفتن
- اخذ شده
- دریافت
- توصیه
- توصیه
- توصیه
- توصیه می شود
- توصیه
- توصیه می کند
- مکرر
- كاهش دادن
- را کاهش می دهد
- اشاره دارد
- بدون در نظر گرفتن
- منظم
- مربوط
- منتشر شده
- مربوط
- بقایای
- مخزن
- نمایندگی
- نشان دهنده
- درخواست
- درخواست
- نیاز
- ضروری
- نیاز
- مورد نیاز
- نیاز
- منابع
- منابع
- پاسخ
- REST
- نتیجه
- نتیجه
- نتایج
- خرده فروشی
- بازده
- این فایل نقد می نویسید:
- خطر
- نقش
- ریشه
- مسیر
- قانون
- دویدن
- در حال اجرا
- SAAS
- حکیم ساز
- استنباط SageMaker
- حقوق
- همان
- ذخیره
- صرفه جویی کردن
- پس انداز
- مقیاس پذیر
- مقیاس
- مقیاس ها
- مقیاس گذاری
- سناریوها
- برنامه
- برنامه ریزی
- علم
- دانشمند
- دوم
- ثانیه
- بخش
- بخش
- ایمن
- تیم امنیت لاتاری
- انتخاب
- انتخاب
- ارشد
- حساس
- دنباله
- سریال
- سلسله
- خدمت
- بدون سرور
- سرور
- خدمت
- سرویس
- خدمات
- خدمت
- تنظیم
- محیط
- چند
- شکل دادن
- اشتراک گذاری
- به اشتراک گذاشته شده
- شیفت
- باید
- نشان می دهد
- قابل توجه
- به طور قابل توجهی
- مشابه
- به طور مشابه
- ساده
- تنها
- اندازه
- اندازه
- کوچک
- کوچکتر
- So
- نرم افزار
- راه حل
- مزایا
- برخی از
- منابع
- فضا
- متخصص
- تخصصی
- خاص
- به طور خاص
- مشخص شده
- سرعت
- هزینه
- سنبله ها
- پایدار
- پشته
- پشته
- شروع
- آغاز شده
- شروع می شود
- شروع
- نوپا
- ثابت
- گام
- مراحل
- هنوز
- توقف
- ذخیره سازی
- opbevare
- استراتژی ها
- جریان
- سخت
- به شدت
- متعاقب
- موفقیت
- موفق
- چنین
- کافی
- مناسب
- پشتیبانی
- پشتیبانی
- پشتیبانی از
- افزایش
- جدول
- گرفتن
- طول می کشد
- هدف
- هدف قرار
- کار
- وظایف
- تیم
- تیم ها
- TechCrunch
- فنی
- فن آوری
- مستاجر
- جریان تنسور
- آزمون
- تست
- La
- شان
- خودشان
- در نتیجه
- از این رو
- هزاران نفر
- سه
- آستانه
- از طریق
- سراسر
- توان
- زمان
- بار
- به
- با هم
- هم
- ابزار
- جمع
- thps
- پیگردی
- ترافیک
- قطار
- آموزش دیده
- آموزش
- معامله ای
- معاملات
- دگرگون کردن
- دگرگونی
- تبدیل شدن
- عبور
- شفاف
- ماشه
- تریتون
- دور زدن
- انواع
- نوعی
- به طور معمول
- زیر
- اساسی
- فهمیدن
- منحصر به فرد
- واحد
- غیرقابل پیش بینی
- استفاده نشده
- بروزرسانی
- به روز رسانی
- ارتقاء
- به روز رسانی
- آپ تایم
- استفاده
- استفاده کنید
- مورد استفاده
- کاربر
- کاربران
- معمولا
- استفاده کنید
- استفاده
- تصدیق
- ارزش
- ارزشها
- نوع دیگر
- مختلف
- از طريق
- تصویری
- فیلم های
- چشم انداز
- مجازی
- دید
- حجم
- رای
- رای
- ضایعات
- وب
- خدمات وب
- هفته
- چی
- چه شده است
- که
- در حین
- وسیع
- دامنه گسترده
- اراده
- در داخل
- بدون
- مهاجرت کاری
- مشغول به کار
- کارگر
- کارگران
- کارگر
- با این نسخهها کار
- جهان
- خواهد بود
- XGBoost
- سال
- شما
- شما
- زفیرنت
- صفر