اگر در سایت amazon.com برای خرید کالایی جستجو کرده اید، از خدمات جستجوی آمازون استفاده کرده اید. در جستجوی آمازون، ما مسئول تجربه جستجو و اکتشاف برای مشتریان خود در سراسر جهان هستیم. در پسزمینه، کاتالوگ محصولات خود در سراسر جهان را فهرستبندی میکنیم، ناوگان AWS بسیار مقیاسپذیر را به کار میگیریم و از یادگیری ماشینی پیشرفته (ML) برای مطابقت دادن محصولات مرتبط و جالب با درخواست هر مشتری استفاده میکنیم.
دانشمندان ما به طور منظم هزاران مدل ML را برای بهبود کیفیت نتایج جستجو آموزش می دهند. حمایت از آزمایشهای مقیاس بزرگ چالشهای خاص خود را دارد، بهویژه وقتی نوبت به بهبود بهرهوری دانشمندانی میرسد که این مدلهای ML را آموزش میدهند.
در این پست نحوه ایجاد یک سیستم مدیریتی را به اشتراک می گذاریم آمازون SageMaker مشاغل آموزشی، به دانشمندان ما اجازه می دهد تا هزاران آزمایش را فراموش کنند و در صورت نیاز مطلع شوند. آنها اکنون می توانند روی کارهای با ارزش بالا و حل خطاهای الگوریتمی تمرکز کنند و 60 درصد از زمان خود را صرفه جویی کنند.
چالش
در جستجوی آمازون، دانشمندان ما مشکلات بازیابی اطلاعات را با آزمایش و اجرای چندین شغل آموزش مدل ML در SageMaker حل می کنند. برای همگام شدن با نوآوری تیم ما، پیچیدگی مدل های ما و تعداد مشاغل آموزشی در طول زمان افزایش یافته است. مشاغل آموزشی SageMaker به ما این امکان را می دهد که زمان و هزینه آموزش و تنظیم آن مدل ها را در مقیاس، بدون نیاز به مدیریت زیرساخت، کاهش دهیم.
مانند همه چیز در چنین پروژه های ML در مقیاس بزرگ، مشاغل آموزشی می توانند به دلیل عوامل مختلفی با شکست مواجه شوند. این پست بر کمبود ظرفیت و خرابی های ناشی از خطاهای الگوریتم تمرکز دارد.
ما یک معماری با یک سیستم مدیریت شغل طراحی کردیم تا احتمال شکست یک شغل به دلیل در دسترس نبودن ظرفیت یا خطاهای الگوریتم را تحمل و کاهش دهیم. به دانشمندان این امکان را می دهد که هزاران شغل آموزشی را فراموش کنند، به طور خودکار آنها را در صورت شکست گذرا دوباره امتحان کنند و در صورت نیاز از موفقیت یا شکست مطلع شوند.
بررسی اجمالی راه حل
در نمودار حل زیر، ما از مشاغل آموزشی SageMaker به عنوان واحد اصلی راه حل خود استفاده می کنیم. به این معنا که یک کار نشان دهنده آموزش سرتاسر یک مدل ML است.
گردش کار سطح بالای این راه حل به شرح زیر است:
- دانشمندان از یک API برای ارسال یک کار جدید به سیستم استفاده می کنند.
- شغل در سازمان ثبت شده است
New
وضعیت در یک فروشگاه ابرداده - یک زمانبندی کار به طور ناهمزمان بازیابی می کند
New
jobs از فروشگاه ابرداده، ورودی آنها را تجزیه می کند و سعی می کند مشاغل آموزشی SageMaker را برای هر یک راه اندازی کند. وضعیت آنها تغییر می کندLaunched
orFailed
بسته به موفقیت - یک مانیتور پیشرفت کارها را در فواصل منظم بررسی می کند و آنها را گزارش می دهد
Completed
,Failed
، یاInProgress
در فروشگاه ابرداده قرار دهید. - یک اعلان کننده برای گزارش فعال می شود
Completed
وFailed
شغل به دانشمندان
تداوم تاریخچه مشاغل در فروشگاه ابرداده همچنین به تیم ما امکان می دهد تحلیل روند و نظارت بر پیشرفت پروژه را انجام دهد.
این راهحل زمانبندی کار از مؤلفههای بدون سرور مبتنی بر جفت آزاد استفاده میکند AWS لامبدا, آمازون DynamoDB, سرویس اطلاع رسانی ساده آمازون (Amazon SNS)، و پل رویداد آمازون. این مقیاس پذیری افقی را تضمین می کند و به دانشمندان ما اجازه می دهد هزاران شغل را با حداقل تلاش عملیاتی راه اندازی کنند. نمودار زیر معماری بدون سرور را نشان می دهد.
در بخش های بعدی به جزئیات بیشتر در مورد هر سرویس و اجزای آن می پردازیم.
DynamoDB به عنوان ذخیره ابرداده برای کار اجرا می شود
سهولت استفاده و مقیاس پذیری DynamoDB آن را به یک انتخاب طبیعی برای تداوم ابرداده های شغلی در جدول DynamoDB تبدیل کرده است. این راه حل چندین ویژگی از مشاغل ارائه شده توسط دانشمندان را ذخیره می کند و در نتیجه به ردیابی پیشرفت و هماهنگ سازی گردش کار کمک می کند. مهمترین ویژگی ها به شرح زیر است:
- شناسه کار - شناسه شغلی منحصر به فرد این می تواند به طور خودکار تولید شود یا توسط دانشمند ارائه شود.
- وضعیت شغلی - وضعیت شغل
- JobArgs - سایر آرگومان های مورد نیاز برای ایجاد یک شغل آموزشی، مانند مسیر ورودی در آمازون S3، URI تصویر آموزشی و موارد دیگر. برای لیست کامل پارامترهای مورد نیاز برای ایجاد شغل آموزشی به ادامه مطلب مراجعه کنید CreateTrainingJob.
لامبدا برای منطق اصلی
ما از سه استفاده می کنیم مبتنی بر ظرف توابع لامبدا برای هماهنگ کردن گردش کار:
- ارسال شغل - این تابع زمانی که دانشمندان نیاز به راه اندازی مشاغل جدید دارند، فراخوانی می شود. به عنوان یک API برای سادگی عمل می کند. شما همچنین می توانید آن را با دروازه API آمازون، در صورت نیاز این تابع کارها را در جدول DynamoDB ثبت می کند.
- Jobs را راه اندازی کنید - این تابع به صورت دوره ای بازیابی می شود
New
job ها را از جدول DynamoDB انجام می دهد و آنها را با استفاده از SageMaker راه اندازی می کند CreateTrainingJob فرمان روی خرابی های گذرا، مانندResourceLimitExceeded
وCapacityError
، برای ابزار انعطاف پذیری در سیستم. سپس وضعیت کار را به عنوان به روز می کندLaunched
orFailed
بسته به موفقیت - مانیتور مشاغل - این عملکرد به طور دوره ای پیشرفت کار را با استفاده از Describe TrainingJob دستور داده و جدول DynamoDB را بر این اساس به روز می کند. نظر سنجی می کند
Failed
کارها را از فراداده انجام می دهد و ارزیابی می کند که آیا آنها باید دوباره ارسال شوند یا به عنوان شکست نهایی علامت گذاری شوند. همچنین پیامهای اعلانهایی را برای دانشمندان منتشر میکند که شغل آنها به حالت پایانی برسد.
EventBridge برای زمانبندی
ما از EventBridge برای اجرای Launch Jobs و Monitor Jobs Lambda در یک برنامه زمانبندی استفاده می کنیم. برای اطلاعات بیشتر مراجعه کنید آموزش: توابع AWS Lambda را با استفاده از EventBridge برنامه ریزی کنید.
متناوبا می توانید از آن استفاده کنید آمازون DynamoDB Streams برای محرک ها برای اطلاعات بیشتر ببین راهاندازهای DynamoDB Streams و AWS Lambda.
اعلان ها با Amazon SNS
دانشمندان ما هستند با استفاده از آمازون SNS از طریق ایمیل مطلع می شود زمانی که شغل آنها به حالت پایانی می رسد (Failed
پس از حداکثر تعداد تلاش مجدد)، Completed
، یا Stopped
.
نتیجه
در این پست، ما به اشتراک گذاشتیم که چگونه جستجوی آمازون با زمانبندی، و آزمایش مجدد آنها در مورد کمبود ظرفیت یا خطاهای الگوریتم، انعطافپذیری را به بارهای آموزشی مدل ML اضافه میکند. ما از توابع لامبدا در ارتباط با جدول DynamoDB به عنوان یک فروشگاه ابرداده مرکزی برای هماهنگ کردن کل گردش کار استفاده کردیم.
چنین سیستم زمانبندی به دانشمندان اجازه میدهد مشاغل خود را ارائه کنند و آنها را فراموش کنند. این باعث صرفه جویی در زمان می شود و به آنها اجازه می دهد تا روی نوشتن مدل های بهتر تمرکز کنند.
برای ادامه بیشتر در یادگیری های خود می توانید مراجعه کنید SageMaker عالی و در یک مکان واحد، تمام منابع مرتبط و به روز مورد نیاز برای کار با SageMaker را بیابید.
درباره نویسنده
لوچائو وانگ یک مهندس نرم افزار در جستجوی آمازون است. او بر روی سیستمهای توزیعشده مقیاسپذیر و ابزارهای اتوماسیون روی ابر تمرکز میکند تا سرعت نوآوری علمی برای برنامههای یادگیری ماشین را تسریع بخشد.
ایشان بهات یک مهندس نرم افزار در تیم Amazon Prime Video است. او عمدتاً در فضای MLOps کار می کند و تجربه ساخت محصولات MLOps را در 4 سال گذشته با استفاده از Amazon SageMaker دارد.
آبیناندان پتنی یک مهندس نرم افزار ارشد در جستجوی آمازون است. او بر روی ساختن سیستمها و ابزار برای آموزش یادگیری عمیق توزیعشده مقیاسپذیر و استنتاج بلادرنگ تمرکز دارد.
ایمن النهراوی یک مهندس نرمافزار اصلی در جستجوی آمازون است که تلاشها را در زمینه شتاب، مقیاسگذاری و اتوماسیون یادگیری ماشین رهبری میکند. تخصص او حوزه های مختلفی از جمله یادگیری ماشینی، سیستم های توزیع شده و شخصی سازی را در بر می گیرد.
سوفیان حمیتی یک معمار راه حل متخصص AI/ML در AWS است. او به مشتریان در سراسر صنایع کمک میکند تا با کمک به آنها در ساخت و عملیاتی کردن راهحلهای یادگیری ماشینی سرتاسر، سفر هوش مصنوعی/ML خود را تسریع کنند.
دکتر رومی داتا مدیر ارشد مدیریت محصول در تیم آمازون SageMaker مسئول آموزش، پردازش و فروشگاه ویژگی است. او بیش از 4 سال در AWS بوده و چندین نقش رهبری مدیریت محصول را در SageMaker، S3 و IoT بر عهده داشته است. قبل از AWS او در مدیریت محصول، مهندسی و نقش های رهبری عملیاتی مختلف در IBM، Texas Instruments و Nvidia کار می کرد. او دارای مدرک کارشناسی ارشد و دکتری است. در مهندسی برق و کامپیوتر از دانشگاه تگزاس در آستین، و MBA از دانشکده بازرگانی غرفه دانشگاه شیکاگو.
RJ یک مهندس در تیم Search M5 است که تلاشها را برای ساختن سیستمهای یادگیری عمیق در مقیاس بزرگ برای آموزش و استنتاج رهبری میکند. در خارج از محل کار، او غذاهای مختلف غذا را بررسی می کند و ورزش های راکتی انجام می دهد.
- پیشرفته (300)
- AI
- آی هنر
- مولد هنر ai
- ربات ai
- Amazon SageMaker Autopilot
- هوش مصنوعی
- گواهی هوش مصنوعی
- هوش مصنوعی در بانکداری
- ربات هوش مصنوعی
- ربات های هوش مصنوعی
- نرم افزار هوش مصنوعی
- آموزش ماشین AWS
- بلاکچین
- کنفرانس بلاک چین ai
- coingenius
- هوش مصنوعی محاوره ای
- کنفرانس کریپتو ai
- دل-ه
- یادگیری عمیق
- گوگل ai
- فراگیری ماشین
- افلاطون
- افلاطون آی
- هوش داده افلاطون
- بازی افلاطون
- PlatoData
- بازی پلاتو
- مقیاس Ai
- نحو
- زفیرنت