هوش داده افلاطون
جستجوی عمودی و هوش مصنوعی

چگونه Earth.com و Provectus زیرساخت MLOps خود را با Amazon SageMaker پیاده سازی کردند | خدمات وب آمازون

تاریخ:

این پست وبلاگ با همکاری Marat Adayev و Dmitrii Evstiukhin از Provectus نوشته شده است.

هنگامی که مدل‌های یادگیری ماشین (ML) در تولید مستقر می‌شوند و برای هدایت تصمیمات تجاری به کار می‌روند، چالش اغلب در عملیات و مدیریت چندین مدل نهفته است. عملیات یادگیری ماشین (MLOps) راه‌حل فنی را برای این موضوع ارائه می‌کند و به سازمان‌ها در مدیریت، نظارت، استقرار و مدیریت مدل‌های خود در یک پلتفرم متمرکز کمک می‌کند.

در مقیاس، تشخیص تصویر در زمان واقعی یک مشکل فنی پیچیده است که به پیاده سازی MLOps نیز نیاز دارد. با فعال کردن مدیریت موثر چرخه حیات ML، MLO ها می توانند تغییرات مختلفی را در داده ها، مدل ها و مفاهیمی که توسعه برنامه های کاربردی تشخیص تصویر بلادرنگ با آنها مرتبط است، در نظر بگیرند.

یکی از این برنامه ها است EarthSnapیک برنامه تشخیص تصویر مبتنی بر هوش مصنوعی که کاربران را قادر می سازد تا با استفاده از دوربین گوشی هوشمند خود، انواع گیاهان و حیوانات را شناسایی کنند. EarthSnap توسط Earth.com، یک پلت فرم آنلاین پیشرو برای علاقه مندانی که به محیط زیست، طبیعت و علم علاقه دارند.

تیم رهبری Earth.com پتانسیل گسترده EarthSnap را تشخیص داد و برنامه‌ای ایجاد کرد که از آخرین معماری‌های یادگیری عمیق (DL) برای بینایی کامپیوتر (CV) استفاده می‌کند. با این حال، آن‌ها در مدیریت و مقیاس‌بندی سیستم ML خود، که شامل ML مختلف و اجزای زیرساختی بود که باید به صورت دستی نگهداری می‌شد، با چالش‌هایی مواجه شدند. آنها به یک پلت فرم ابری و یک شریک استراتژیک با تخصص اثبات شده در ارائه راه حل های AI/ML آماده تولید نیاز داشتند تا بتوانند به سرعت EarthSnap را به بازار عرضه کنند. آنجاست پرووکتوس، شریک مشاور برتر AWS با شایستگی در یادگیری ماشین، داده و تجزیه و تحلیل، و DevOps، وارد عمل شد.

این پست توضیح می‌دهد که چگونه Provectus و Earth.com توانستند قابلیت‌های تشخیص تصویر مبتنی بر هوش مصنوعی EarthSnap را افزایش دهند، بلند کردن سنگین مهندسی را کاهش دهند و هزینه‌های اداری را با پیاده‌سازی خطوط لوله ML سرتاسر، ارائه شده به عنوان بخشی از پلتفرم MLOps مدیریت‌شده، به حداقل برسانند. و خدمات هوش مصنوعی مدیریت شده

چالش هایی که در رویکرد اولیه وجود داشت

تیم اجرایی Earth.com مشتاق بود تا راه اندازی EarthSnap را تسریع بخشد. آنها به سرعت با ساخت مدل های تشخیص تصویر با استفاده از Amazon SageMaker شروع به کار بر روی قابلیت های AI/ML کردند. نمودار زیر گردش کار ML شناسایی اولیه تصویر را نشان می دهد که به صورت دستی و متوالی اجرا می شود.

مدل های توسعه یافته توسط Earth.com در نوت بوک های مختلف زندگی می کردند. آنها به اجرای متوالی دستی مجموعه ای از نوت بوک های پیچیده برای پردازش داده ها و آموزش مجدد مدل نیاز داشتند. نقاط پایانی نیز باید به صورت دستی مستقر می شدند.

Earth.com تیم مهندسی ML داخلی نداشت، که افزودن مجموعه داده‌های جدید شامل گونه‌های جدید، انتشار و بهبود مدل‌های جدید و مقیاس‌بندی سیستم ML از هم گسیخته آنها را دشوار می‌کرد.

مؤلفه‌های ML برای بلع داده‌ها، پیش‌پردازش و آموزش مدل‌ها به‌عنوان اسکریپت‌ها و نوت‌بوک‌های پایتون از هم گسسته در دسترس بودند که نیاز به بلند کردن دستی سنگین از جانب مهندسان داشت.

راه حل اولیه همچنین نیازمند پشتیبانی یک شخص ثالث فنی بود تا مدل های جدید را سریع و کارآمد عرضه کند.

اولین تکرار راه حل

پرووکتوس به عنوان یک همکار ارزشمند برای Earth.com خدمت کرد و نقش مهمی در تقویت ویژگی های تشخیص تصویر مبتنی بر هوش مصنوعی EarthSnap ایفا کرد. گردش کار برنامه با پیاده سازی خطوط لوله ML سرتاسر، که به عنوان بخشی از پرووکتوس تحویل داده شد، خودکار شد. پلت فرم MLOps مدیریت شده و از طریق پشتیبانی می شود خدمات هوش مصنوعی مدیریت شده.

مجموعه ای از جلسات کشف پروژه توسط Provectus برای بررسی پایگاه کد موجود EarthSnap و فهرست اسکریپت های نوت بوک با هدف بازتولید نتایج مدل موجود آغاز شد. پس از بازیابی نتایج مدل، اجزای پراکنده جریان کار ML با استفاده از Amazon SageMaker Pipelines، یک سرویس CI/CD ساخته شده برای ML، در یک خط لوله خودکار ML ادغام شدند.

خط لوله نهایی شامل اجزای زیر است:

  • QA و نسخه‌سازی داده – این مرحله به‌عنوان یک کار پردازش SageMaker اجرا می‌شود، داده‌های منبع را از سرویس ذخیره‌سازی ساده آمازون (Amazon S3) جذب می‌کند و ابرداده را برای مرحله بعدی آماده می‌کند، که فقط حاوی تصاویر معتبر (URI و برچسب) است که مطابق با فیلتر فیلتر شده‌اند. قوانین داخلی همچنین یک فایل مانیفست در آمازون S3، شامل تمام اطلاعات لازم برای بازسازی آن نسخه مجموعه داده باقی می ماند.
  • پیش پردازش داده ها - این شامل مراحل متعددی است که به عنوان کارهای پردازش SageMaker پیچیده شده و به صورت متوالی اجرا می شوند. مراحل، تصاویر را از قبل پردازش می‌کنند، آنها را به فرمت RecordIO تبدیل می‌کنند، تصاویر را به مجموعه داده‌ها (کامل، آموزش، آزمایش و اعتبارسنجی) تقسیم می‌کنند و تصاویر را آماده می‌کنند تا توسط مشاغل آموزشی SageMaker مصرف شوند.
  • تنظیم Hyperparameter – یک کار تنظیم Hyperparameter SageMaker زیرمجموعه ای از مجموعه آموزشی و اعتبار سنجی را به عنوان ورودی می گیرد و یک سری کارهای آموزشی کوچک را در زیر هود اجرا می کند تا بهترین پارامترها را برای کار آموزشی کامل تعیین کند.
  • آموزش کامل – یک کار آموزشی مرحله ای SageMaker، با توجه به بهترین پارامترها از مرحله تنظیم هایپرپارامتر، کار آموزشی را روی کل داده ها راه اندازی می کند.
  • ارزیابی مدل - یک کار پردازش مرحله ای SageMaker پس از آموزش مدل نهایی اجرا می شود. این مرحله یک گزارش گسترده حاوی معیارهای مدل تولید می کند.
  • ایجاد مدل – مرحله SageMaker ModelCreate مدل را در بسته مدل SageMaker می پیچد و آن را به رجیستری مدل SageMaker هل می دهد.

تمام مراحل پس از اجرای خط لوله به صورت خودکار اجرا می شوند. خط لوله را می توان از طریق یکی از روش های زیر اجرا کرد:

  • به طور خودکار با استفاده از AWS CodeBuild، پس از اینکه تغییرات جدید به یک شاخه اصلی منتقل شدند و نسخه جدیدی از خط لوله (CI) اضافه شد.
  • به طور خودکار با استفاده از دروازه API آمازون، که می تواند با یک تماس API خاص راه اندازی شود
  • به صورت دستی در Amazon SageMaker Studio

پس از اجرای خط لوله (با استفاده از یکی از روش های قبلی راه اندازی شد)، یک مدل آموزش دیده تولید می شود که آماده استقرار به عنوان نقطه پایانی SageMaker است. این به این معنی است که مدل ابتدا باید توسط PM یا مهندس در رجیستری مدل تأیید شود، سپس مدل به طور خودکار با استفاده از Amazon EventBridge در محیط استیج قرار می‌گیرد و به صورت داخلی آزمایش می‌شود. پس از تایید عملکرد مدل مطابق انتظار، در محیط تولید (CD) مستقر می شود.

راه حل Provectus برای EarthSnap را می توان در مراحل زیر خلاصه کرد:

  • با خطوط لوله ML کاملاً خودکار و سرتاسری شروع کنید تا انتشار مدل‌های جدید برای Earth.com آسان‌تر شود.
  • ساخت بالای خطوط لوله برای ارائه زیرساخت قوی ML برای پلت فرم MLOps، دارای تمام اجزا برای ساده سازی AI/ML
  • با ارائه راه حل حمایت کنید خدمات هوش مصنوعی مدیریت شده (از جمله تامین زیرساخت ML، نگهداری و نظارت و بهینه سازی هزینه)
  • EarthSnap را از طریق مجموعه ای از تعاملات، از جمله کارهای AI/ML، داده ها و عملیات پایگاه داده و DevOps به حالت دلخواه خود (برنامه تلفن همراه و باطن) برسانید.

پس از ایجاد زیرساخت‌ها و فرآیندهای بنیادی، مدل بر روی یک مجموعه داده بزرگ‌تر آموزش و بازآموزی شد. با این حال، در این مرحله، تیم هنگام تلاش برای گسترش مدل با مجموعه داده‌های بزرگ‌تر با مشکل دیگری مواجه شد. ما نیاز داشتیم راهی برای بازسازی معماری راه حل پیدا کنیم تا آن را پیچیده تر و قادر به مقیاس بندی موثرتر کنیم. نمودار زیر معماری EarthSnap AI/ML را نشان می دهد.

معماری AI/ML برای EarthSnap حول یک سری خدمات AWS طراحی شده است:

  • Sagemaker Pipeline با استفاده از یکی از روش های ذکر شده در بالا (CodeBuild، API، manual) اجرا می شود که مدل را آموزش می دهد و مصنوعات و معیارها را تولید می کند. در نتیجه، نسخه جدید مدل به رجیستری مدل Sagemaker منتقل می شود
  • سپس مدل توسط یک تیم داخلی (PM/مهندس) در رجیستری مدل بررسی و بر اساس معیارهای ارائه شده تایید/رد شد.
  • پس از تأیید مدل، نسخه مدل به طور خودکار با استفاده از Amazon EventBridge که تغییر وضعیت مدل را ردیابی می‌کند، در محیط استیج مستقر می‌شود.
  • اگر مدل تمام آزمایشات را در محیط مرحله پشت سر بگذارد، مدل در محیط تولید مستقر می شود

راه حل نهایی

راه‌حل مدل EarthSnap برای تطبیق با تمام مجموعه‌های برچسب‌های ضروری، نیاز به تغییرات اساسی داشت، زیرا ثابت شد که ترکیب همه گونه‌ها در یک مدل هم پرهزینه و هم ناکارآمد است. دسته کارخانه ابتدا برای اجرا انتخاب شد.

یک بررسی کامل از داده‌های گیاه، برای سازماندهی آن به زیر مجموعه‌ها بر اساس ویژگی‌های داخلی مشترک انجام شد. راه حل برای مدل گیاهی با اجرای یک معماری چند مدلی والدین/فرزند دوباره طراحی شد. این امر با آموزش مدل‌های فرزند بر روی زیر مجموعه‌های گروه‌بندی‌شده داده‌های گیاهی و آموزش مدل والد بر روی مجموعه‌ای از نمونه‌های داده از هر زیرمجموعه به دست آمد. مدل‌های Child برای طبقه‌بندی دقیق در گونه‌های گروه‌بندی داخلی به کار گرفته شدند، در حالی که مدل والد برای دسته‌بندی تصاویر گیاه ورودی به زیر گروه‌ها استفاده شد. این طراحی نیازمند فرآیندهای آموزشی متمایز برای هر مدل است که منجر به ایجاد خطوط لوله ML جداگانه می شود. با این طراحی جدید، همراه با بنیاد ML/MLOps که قبلاً ایجاد شده بود، برنامه EarthSnap قادر بود تمام گونه‌های گیاهی ضروری را در بر بگیرد و در نتیجه کارایی بهتری در مورد نگهداری و آموزش مجدد مدل ایجاد کرد. نمودار زیر طرح منطقی روابط مدل والدین/فرزند را نشان می دهد.

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

نتایج

با وجود نیاز مبرم برای توسعه و پیاده‌سازی ویژگی‌های تشخیص تصویر مبتنی بر هوش مصنوعی EarthSnap در عرض چند ماه، Provectus موفق شد تمام الزامات پروژه را در بازه زمانی تعیین‌شده برآورده کند. تنها در 3 ماه، Proectus راه حل ML را برای EarthSnap مدرن و تولید کرد و اطمینان حاصل کرد که برنامه تلفن همراه آنها برای انتشار عمومی آماده است.

زیرساخت مدرن برای ML و MLOps به Earth.com اجازه داد تا باربری مهندسی را کاهش دهد و هزینه های اداری مربوط به نگهداری و پشتیبانی از EarthSnap را به حداقل برساند. با ساده‌سازی فرآیندها و اجرای بهترین شیوه‌ها برای CI/CD و DevOps، Provectus تضمین کرد که EarthSnap می‌تواند عملکرد بهتری داشته باشد و در عین حال سازگاری، انعطاف‌پذیری و امنیت آن را بهبود بخشد. با تمرکز بر نوآوری و کارایی، EarthSnap را قادر ساختیم که بدون عیب و نقص عمل کند و در عین حال تجربه ای یکپارچه و کاربرپسند را برای همه کاربران فراهم کند.

به عنوان بخشی از خدمات هوش مصنوعی مدیریت شده خود، Provectus توانست سربار مدیریت زیرساخت را کاهش دهد، SLA ها و فرآیندهای به خوبی تعریف شده ایجاد کند، پوشش و پشتیبانی 24 ساعته را تضمین کند، و ثبات کلی زیرساخت، از جمله حجم کاری تولید و نسخه های حیاتی را افزایش دهد. ما مجموعه ای از پیشرفت ها را برای ارائه پلت فرم MLOps مدیریت شده و تقویت مهندسی ML آغاز کردیم. به طور خاص، اکنون به جای چند روز، Earth.com چند دقیقه طول می کشد تا مدل های جدید ML را برای برنامه تشخیص تصویر مبتنی بر هوش مصنوعی خود منتشر کند.

با کمک پرووکتوس، Earth.com توانست برنامه EarthSnap خود را زودتر از موعد در فروشگاه اپل و پلی استور منتشر کند. انتشار زودهنگام اهمیت کار جامع پرووکتوس برای مشتری را نشان می داد.

من فوق العاده برای کار با پرووکتوس هیجان زده هستم. کلمات نمی توانند توصیف کنند که چقدر احساس خوبی از واگذاری کنترل بخش فنی کسب و کار به پرووکتوس دارم. این یک آرامش بزرگ است که بدانم لازم نیست نگران چیزی جز توسعه بخش تجاری باشم.»

- اریک رالز، بنیانگذار و مدیر عامل EarthSnap.

مراحل بعدی همکاری ما عبارتند از: افزودن اجزای نظارتی پیشرفته به خطوط لوله، افزایش آموزش مجدد مدل و معرفی مرحله انسان در حلقه.

نتیجه

تیم Provectus امیدوار است که Earth.com به مدرن سازی EarthSnap با ما ادامه دهد. ما مشتاقانه منتظر هستیم تا توسعه آینده شرکت را تقویت کنیم، پدیده های طبیعی را بیشتر محبوب کنیم و سهم خود را برای محافظت از سیاره خود انجام دهیم.

برای کسب اطلاعات بیشتر در مورد زیرساخت پرووکتوس ML و MLOها، به زیرساخت یادگیری ماشین مراجعه کنید و آن را تماشا کنید وبینار برای مشاوره عملی بیشتر همچنین می‌توانید درباره خدمات هوش مصنوعی مدیریت‌شده Provectus در «خدمات هوش مصنوعی مدیریت‌شده» اطلاعات بیشتری کسب کنید.

اگر علاقه مند به ایجاد زیرساخت قوی برای ML و MLO در سازمان خود هستید، برای آن درخواست دهید برنامه شتاب ML برای شروع.

پرووکتوس به شرکت‌ها در حوزه‌های بهداشت و درمان و علوم زیستی، خرده‌فروشی و CPG، رسانه‌ها و سرگرمی‌ها و تولید کمک می‌کند تا از طریق هوش مصنوعی به اهداف خود دست یابند.

Provectus یک شریک شایستگی یادگیری ماشین AWS و اولین مشاوره تحول هوش مصنوعی و ارائه دهنده راه حل است که به طراحی، معمار، مهاجرت یا ساخت برنامه های کاربردی مبتنی بر ابر در AWS کمک می کند.

با Provectus تماس بگیرید | نمای کلی شریک


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

مارات آدایف یک معمار ML Solutions در Provectus است
دیمیتری اوستیوخین مدیر خدمات مدیریت شده در Provectus است
جیمز باردون یک معمار ارشد راه حل های استارتاپی در AWS است

نقطه_img

جدیدترین اطلاعات

نقطه_img

چت با ما

سلام! چگونه می توانم به شما کمک کنم؟