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

بهینه سازی پروفایل های حیوانات خانگی برای برنامه Purina's Petfinder با استفاده از برچسب های سفارشی شناسایی آمازون و توابع مرحله AWS | خدمات وب آمازون

تاریخ:

Purina US، یکی از زیرمجموعه‌های نستله، سابقه طولانی دارد که مردم را قادر می‌سازد به راحتی حیوانات خانگی را از طریق پتفایندر، یک بازار دیجیتال با بیش از 11,000 پناهگاه حیوانات و گروه های نجات در سراسر ایالات متحده، کانادا و مکزیک. به عنوان پلتفرم پیشرو در پذیرش حیوانات خانگی، Petfinder به میلیون ها حیوان خانگی کمک کرده است تا خانه های ابدی خود را پیدا کنند.

Purina به طور مداوم به دنبال راه هایی برای بهبود پلت فرم Petfinder برای پناهگاه ها و گروه های نجات و پذیرندگان حیوانات خانگی است. یکی از چالش‌هایی که آن‌ها با آن مواجه بودند، بازتاب کافی نژاد خاص حیواناتی بود که برای فرزندخواندگی در نظر گرفته شده بودند. از آنجایی که بسیاری از حیوانات پناهگاه از نژادهای مخلوط هستند، شناسایی نژادها و ویژگی‌ها به درستی در مشخصات حیوان خانگی به تلاش دستی نیاز داشت که زمان‌بر بود. پورینا از هوش مصنوعی (AI) و یادگیری ماشینی (ML) برای خودکارسازی تشخیص نژاد حیوانات در مقیاس استفاده کرد.

این پست نحوه استفاده از Purina را توضیح می دهد برچسب های سفارشی شناسایی آمازون, توابع مرحله AWSو سایر سرویس‌های AWS برای ایجاد یک مدل ML که نژاد حیوان خانگی را از یک تصویر آپلود شده تشخیص می‌دهد و سپس از پیش‌بینی برای پر کردن خودکار ویژگی‌های حیوان خانگی استفاده می‌کند. این راه حل بر اصول اساسی توسعه گردش کار برنامه AI/ML از آماده سازی داده ها، آموزش مدل، ارزیابی مدل و نظارت بر مدل تمرکز دارد.

بررسی اجمالی راه حل

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

با برچسب های سفارشی شناسایی، که بر اساس قابلیت های موجود ساخته شده است شناسایی آمازون، می توانید اشیاء و صحنه های موجود در تصاویر را که مخصوص نیازهای تجاری شما هستند شناسایی کنید. قبلاً روی ده‌ها میلیون تصویر در بسیاری از دسته‌ها آموزش داده شده است. به جای هزاران تصویر، می توانید مجموعه کوچکی از تصاویر آموزشی (معمولاً چند صد تصویر یا کمتر در هر دسته) را که مخصوص مورد استفاده شما هستند آپلود کنید.

راه حل از خدمات زیر استفاده می کند:

  • دروازه API آمازون یک سرویس کاملاً مدیریت شده است که انتشار، نگهداری، نظارت و ایمن سازی API ها را در هر مقیاسی برای توسعه دهندگان آسان می کند.
  • La کیت توسعه ابری AWS (AWS CDK) یک چارچوب توسعه نرم افزار منبع باز برای تعریف زیرساخت ابری به عنوان کد با زبان های برنامه نویسی مدرن و استقرار آن از طریق AWS CloudFormation.
  • AWS CodeBuild یک سرویس یکپارچه سازی پیوسته کاملاً مدیریت شده در فضای ابری است. CodeBuild کد منبع را کامپایل می کند، آزمایش ها را اجرا می کند و بسته هایی را تولید می کند که آماده استقرار هستند.
  • آمازون DynamoDB یک سرویس پایگاه داده غیر رابطه ای سریع و انعطاف پذیر برای هر مقیاسی است.
  • AWS لامبدا یک سرویس محاسباتی مبتنی بر رویداد است که به شما امکان می‌دهد تقریباً برای هر نوع برنامه کاربردی یا سرویس پشتیبان بدون تهیه یا مدیریت سرورها کد اجرا کنید.
  • شناسایی آمازون قابلیت های دید کامپیوتری (CV) از پیش آموزش دیده و قابل تنظیم را برای استخراج اطلاعات و بینش از تصاویر و ویدیوهای شما ارائه می دهد. با برچسب های سفارشی شناسایی آمازون، می توانید اشیاء و صحنه های موجود در تصاویر را که مخصوص نیازهای تجاری شما هستند شناسایی کنید.
  • توابع مرحله AWS یک سرویس کاملاً مدیریت شده است که هماهنگی اجزای برنامه های کاربردی و میکروسرویس های توزیع شده را با استفاده از گردش کار بصری آسان تر می کند.
  • مدیر سیستم های AWS یک راه حل مدیریت سرتاسر امن برای منابع در AWS و در محیط های چند ابری و ترکیبی است. فروشگاه پارامترقابلیت Systems Manager، ذخیره سازی ایمن و سلسله مراتبی را برای مدیریت داده های پیکربندی و مدیریت اسرار فراهم می کند.

راه حل Purina به عنوان یک راه حل مستقر شده است API Gateway HTTP نقطه پایانی، که درخواست ها را برای به دست آوردن ویژگی های حیوان خانگی هدایت می کند. از برچسب های سفارشی شناسایی برای پیش بینی نژاد حیوان خانگی استفاده می کند. مدل ML از پروفایل های حیوانات خانگی که از پایگاه داده Purina استخراج شده است آموزش داده می شود، با این فرض که برچسب نژاد اولیه برچسب واقعی است. DynamoDB برای ذخیره ویژگی های حیوان خانگی استفاده می شود. Lambda برای پردازش درخواست ویژگی های حیوان خانگی با هماهنگی بین API Gateway، Amazon Rekognition و DynamoDB استفاده می شود.

معماری به شرح زیر پیاده سازی می شود:

  1. برنامه Petfinder درخواست را برای به دست آوردن ویژگی های حیوان خانگی از طریق API Gateway هدایت می کند.
  2. API Gateway تابع Lambda را برای به دست آوردن ویژگی های حیوان خانگی فراخوانی می کند.
  3. تابع Lambda نقطه پایان استنتاج Rekognition Custom Label را برای پیش بینی نژاد حیوان خانگی فراخوانی می کند.
  4. تابع Lambda از اطلاعات نژاد حیوان خانگی پیش بینی شده برای انجام جستجوی ویژگی های حیوان خانگی در جدول DynamoDB استفاده می کند. ویژگی‌های حیوان خانگی را جمع‌آوری می‌کند و آن را به برنامه Petfinder ارسال می‌کند.

نمودار زیر گردش کار راه حل را نشان می دهد.

تیم Petfinder در Purina یک راه‌حل خودکار می‌خواهد که بتواند با حداقل تعمیر و نگهداری از آن استفاده کند. برای ارائه این، از توابع مرحله برای ایجاد یک ماشین حالت استفاده می‌کنیم که مدل‌ها را با آخرین داده‌ها آموزش می‌دهد، عملکرد آن‌ها را در یک مجموعه معیار بررسی می‌کند، و اگر مدل‌ها بهبود یافته‌اند، مجدداً مستقر می‌شوند. بازآموزی مدل از تعداد اصلاحات نژاد انجام شده توسط کاربرانی که اطلاعات نمایه را ارسال می کنند، آغاز می شود.

آموزش مدل

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

چالش ما این است که داده‌های ما کاملاً برچسب‌گذاری نشده‌اند: افرادی که داده‌های نمایه را وارد می‌کنند، می‌توانند اشتباه کنند و اشتباه می‌کنند. با این حال، ما متوجه شدیم که برای نمونه‌های داده به اندازه کافی بزرگ، تصاویر دارای برچسب نادرست بخش کوچکی را به خود اختصاص می‌دهند و عملکرد مدل بیش از 2٪ از نظر دقت تحت تأثیر قرار نگرفت.

گردش کار ML و ماشین حالت

ماشین حالت توابع Step برای کمک به بازآموزی خودکار مدل شناسایی آمازون توسعه داده شده است. بازخورد در هنگام ورود به نمایه جمع آوری می شود - هر بار که نژادی که از یک تصویر استنباط شده است توسط کاربر به نژاد دیگری تغییر می کند، تصحیح ثبت می شود. این ماشین حالت از یک تعداد آستانه قابل تنظیم از اصلاحات و قطعات اضافی داده فعال می شود.

ماشین حالت چندین مرحله را برای ایجاد یک راه حل اجرا می کند:

  1. فایل‌های مانیفست قطار و آزمایش حاوی لیست را ایجاد کنید سرویس ذخیره سازی ساده آمازون مسیرهای تصویر (Amazon S3) و برچسب های آنها برای استفاده توسط آمازون Rekognition.
  2. با استفاده از فایل های مانیفست یک مجموعه داده شناسایی آمازون ایجاد کنید.
  3. پس از ایجاد مجموعه داده، نسخه مدل آمازون Rekognition را آموزش دهید.
  4. پس از اتمام آموزش، نسخه مدل را شروع کنید.
  5. مدل را ارزیابی کنید و معیارهای عملکرد را تولید کنید.
  6. اگر معیارهای عملکرد رضایت بخش هستند، نسخه مدل را در Parameter Store به روز کنید.
  7. منتظر بمانید تا نسخه مدل جدید در توابع لامبدا منتشر شود (20 دقیقه)، سپس مدل قبلی را متوقف کنید.

ارزیابی مدل

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

در زیر چند تصویر از گردش کار پیش‌بینی حیوانات خانگی از برچسب‌های سفارشی Rekognition آورده شده است.

استقرار با AWS CDK

ماشین حالت توابع Step و زیرساخت مربوطه (شامل توابع Lambda، پروژه‌های CodeBuild و پارامترهای Systems Manager) با CDK AWS با استفاده از پایتون مستقر می‌شوند. کد AWS CDK یک الگوی CloudFormation را ترکیب می کند که از آن برای استقرار تمام زیرساخت ها برای راه حل استفاده می کند.

ادغام با برنامه Petfinder

برنامه Petfinder با استفاده از یک درخواست POST حاوی یک بار JSON با فیلدهایی برای مسیر Amazon S3 به تصویر و تعداد نتایجی که باید برگردانده شوند، از طریق نقطه پایانی API Gateway به نقطه پایانی طبقه بندی تصویر دسترسی پیدا می کند.

KPIهایی که تحت تاثیر قرار می گیرند

برای توجیه هزینه اضافی اجرای نقطه پایانی استنتاج تصویر، آزمایش‌هایی را برای تعیین مقداری که نقطه پایانی برای Petfinder اضافه می‌کند انجام دادیم. استفاده از نقطه پایانی دو نوع اصلی بهبود را ارائه می دهد:

  • کاهش تلاش برای پناهگاه های حیوانات خانگی که در حال ایجاد پروفایل های حیوانات خانگی هستند
  • پروفایل های حیوان خانگی کامل تر، که انتظار می رود ارتباط جستجو را بهبود بخشد

معیارهای اندازه گیری تلاش و کامل بودن نمایه شامل تعداد فیلدهای تکمیل شده خودکار اصلاح شده، تعداد کل فیلدهای پر شده و زمان آپلود نمایه حیوان خانگی است. بهبود ارتباط جستجو به طور غیرمستقیم از اندازه گیری شاخص های عملکرد کلیدی مربوط به نرخ پذیرش استنباط می شود. به گفته پورینا، پس از اجرای راه حل، میانگین زمان ایجاد پروفایل حیوان خانگی در اپلیکیشن Petfinder از 7 دقیقه به 4 دقیقه کاهش یافت. این یک پیشرفت بزرگ و صرفه جویی در زمان است زیرا در سال 2022، 4 میلیون پروفایل حیوان خانگی آپلود شد.

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

داده‌هایی که از طریق نمودار معماری جریان می‌یابند، در حین انتقال و در حالت استراحت، مطابق با بهترین شیوه های معماری خوب AWS. در طول تمام تعاملات AWS، یک کارشناس امنیتی راه حل را برای اطمینان از ارائه یک پیاده سازی ایمن بررسی می کند.

نتیجه

تیم Petfinder با راه حل خود بر اساس برچسب های سفارشی Rekognition می تواند به ایجاد پروفایل های حیوانات خانگی برای پناهگاه های حیوانات خانگی سرعت ببخشد و بار اداری پرسنل پناهگاه را کاهش دهد. استقرار مبتنی بر CDK AWS یک گردش کار توابع مرحله ای را برای خودکارسازی فرآیند آموزش و استقرار اجرا می کند. برای شروع استفاده از برچسب‌های سفارشی شناسایی، به شروع کار با برچسب های سفارشی شناسایی آمازون. شما همچنین می توانید برخی از آنها را بررسی کنید نمونه توابع مرحله و با AWS CDK شروع کنید.


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

میسون کیهیل یک مشاور ارشد DevOps با خدمات حرفه ای AWS است. او از کمک به سازمان‌ها برای دستیابی به اهداف تجاری خود لذت می‌برد و مشتاق ساخت و ارائه راه‌حل‌های خودکار در AWS Cloud است. خارج از محل کار، او عاشق گذراندن وقت با خانواده، پیاده روی و بازی فوتبال است.

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

روشیکش جگتاپ یک معمار Solutions با بیش از 5 سال تجربه در خدمات AWS Analytics است. او علاقه زیادی به کمک به مشتریان برای ایجاد راه حل های تجزیه و تحلیل داده های مقیاس پذیر و مدرن برای به دست آوردن بینش از داده ها دارد. در خارج از محل کار، او عاشق تماشای فرمول 1، بازی بدمینتون و مسابقات Go Karts است.

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

نقطه_img

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

نقطه_img

چت با ما

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