Оптимізуйте профілі домашніх тварин для програми Petfinder від Purina за допомогою спеціальних міток Amazon Rekognition і AWS Step Functions | Веб-сервіси Amazon

Оптимізуйте профілі домашніх тварин для програми Petfinder від Purina за допомогою спеціальних міток Amazon Rekognition і AWS Step Functions | Веб-сервіси Amazon

Purina US, дочірня компанія Nestle, має довгу історію надання людям можливості легко усиновлювати домашніх тварин через Вишукач, цифровий ринок із понад 11,000 XNUMX притулків для тварин і груп порятунку в США, Канаді та Мексиці. Будучи провідною платформою для усиновлення домашніх тварин, Petfinder допоміг мільйонам домашніх тварин знайти свій назавжди дім.

Purina постійно шукає способи зробити платформу Petfinder ще кращою як для притулків, так і для груп порятунку та усиновлювачів домашніх тварин. Однією з проблем, з якою вони зіткнулися, було адекватне відображення конкретної породи тварин, призначених для усиновлення. Оскільки багато тварин із притулків є змішаними породами, правильне визначення порід і характеристик у профілі домашньої тварини вимагало ручних зусиль, що забирало багато часу. Purina використовувала штучний інтелект (AI) і машинне навчання (ML) для автоматизації виявлення порід тварин у великих масштабах.

У цій публікації детально описано, як використовувався Purina Спеціальні етикетки Amazon Rekogmination, Функції кроку AWSта інші служби AWS для створення моделі ML, яка виявляє породу домашньої тварини із завантаженого зображення, а потім використовує передбачення для автоматичного заповнення атрибутів тварини. Рішення зосереджено на фундаментальних принципах розробки робочого процесу прикладної програми штучного інтелекту/ML: підготовки даних, навчання моделі, оцінки моделі та моніторингу моделі.

Огляд рішення

Прогнозування порід тварин із зображення потребує спеціальних моделей ML. Розробка спеціальної моделі для аналізу зображень — це значне завдання, яке потребує часу, досвіду та ресурсів, і часто на це потрібні місяці. Крім того, часто потрібні тисячі або десятки тисяч зображень, позначених вручну, щоб надати моделі достатньо даних для точного прийняття рішень. Налаштування робочого процесу для аудиту або перегляду прогнозів моделі для підтвердження дотримання ваших вимог може ще більше ускладнити загальну складність.

За допомогою Rekognition Custom Labels, яка побудована на існуючих можливостях Amazon Rekognition, ви можете ідентифікувати об’єкти та сцени на зображеннях, які відповідають потребам вашого бізнесу. Його вже навчено на десятках мільйонів зображень у багатьох категоріях. Замість тисяч зображень ви можете завантажити невеликий набір навчальних зображень (зазвичай кілька сотень зображень або менше на категорію), які відповідають вашому випадку використання.

Рішення використовує такі сервіси:

  • API -шлюз Amazon це повністю керована служба, яка дозволяє розробникам легко публікувати, підтримувати, контролювати та захищати API будь-якого масштабу.
  • Команда Набір хмарних розробок AWS (AWS CDK) — це платформа розробки програмного забезпечення з відкритим вихідним кодом для визначення хмарної інфраструктури як коду за допомогою сучасних мов програмування та її розгортання через AWS CloudFormation.
  • AWS CodeBuild це повністю керована служба безперервної інтеграції в хмарі. CodeBuild компілює вихідний код, запускає тести та створює пакунки, готові до розгортання.
  • Amazon DynamoDB це швидкий і гнучкий нереляційний сервіс бази даних для будь-якого масштабу.
  • AWS Lambda — це обчислювальна служба, керована подіями, яка дозволяє запускати код практично для будь-якого типу програми або серверної служби без надання або керування серверами.
  • Amazon Rekognition пропонує попередньо підготовлені та налаштовані можливості комп’ютерного бачення (CV) для отримання інформації та розуміння з ваших зображень і відео. с Спеціальні етикетки Amazon Rekogmination, ви можете ідентифікувати об’єкти та сцени на зображеннях, які відповідають потребам вашого бізнесу.
  • Функції кроку AWS це повністю керована служба, яка полегшує координацію компонентів розподілених програм і мікросервісів за допомогою візуальних робочих процесів.
  • Менеджер систем AWS це безпечне наскрізне рішення для керування ресурсами на AWS і в багатохмарних і гібридних середовищах. Зберігання параметрів, можливість Systems Manager, забезпечує безпечне ієрархічне зберігання для керування даними конфігурації та управління секретами.

Розчин Purina розгортається як Шлюз API HTTP кінцева точка, яка направляє запити на отримання атрибутів домашніх тварин. Він використовує власні мітки Rekognition для прогнозування породи домашніх тварин. Модель ML навчена на основі профілів домашніх тварин, взятих із бази даних Purina, припускаючи, що основна мітка породи є справжньою. DynamoDB використовується для зберігання атрибутів домашніх тварин. Лямбда використовується для обробки запиту на атрибути тварин шляхом координації між API Gateway, Amazon Rekognition і DynamoDB.

Архітектура реалізована наступним чином:

  1. Програма Petfinder направляє запит на отримання атрибутів домашніх тварин через API Gateway.
  2. API Gateway викликає функцію Lambda, щоб отримати атрибути домашніх тварин.
  3. Функція Lambda викликає кінцеву точку висновку Rekognition Custom Label, щоб передбачити породу домашніх тварин.
  4. Функція Lambda використовує прогнозовану інформацію про породу домашніх тварин, щоб виконати пошук атрибутів домашніх тварин у таблиці DynamoDB. Він збирає атрибути домашніх тварин і надсилає їх назад до програми Petfinder.

Наступна діаграма ілюструє робочий процес рішення.

Оптимізуйте профілі домашніх тварин для програми Petfinder від Purina за допомогою спеціальних міток Amazon Rekognition і крокових функцій AWS | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Команда Petfinder у Purina хоче автоматизоване рішення, яке можна розгорнути з мінімальним обслуговуванням. Щоб досягти цього, ми використовуємо функції Step Functions для створення кінцевого автомата, який навчає моделі з останніми даними, перевіряє їх продуктивність за набором тестів і повторно розгортає моделі, якщо вони покращилися. Перенавчання моделі запускається на основі кількості виправлень породи, зроблених користувачами, які надсилають інформацію профілю.

Модельний тренінг

Розробка спеціальної моделі для аналізу зображень — це важлива справа, яка потребує часу, досвіду та ресурсів. Крім того, часто потрібні тисячі або десятки тисяч зображень, позначених вручну, щоб надати моделі достатньо даних для точного прийняття рішень. Збір цих даних може зайняти місяці та потребує великих зусиль, щоб позначити їх для використання в машинному навчанні. Техніка під назвою трансферне навчання допомагає створювати моделі вищої якості, запозичуючи параметри попередньо навченої моделі, і дозволяє навчати моделі з меншою кількістю зображень.

Наша проблема полягає в тому, що наші дані не ідеально позначені: люди, які вводять дані профілю, можуть і роблять помилки. Однак ми виявили, що для достатньо великих вибірок даних зображення з неправильними мітками становили досить малу частку, а продуктивність моделі не вплинула на точність більш ніж на 2%.

Робочий процес ML і кінцевий автомат

Машина стану Step Functions розроблена для допомоги в автоматичному перенавчанні моделі Amazon Rekognition. Зворотній зв’язок збирається під час входу в профіль — кожного разу, коли користувач змінює породу, яка була виведена із зображення, на іншу породу, виправлення записується. Цей кінцевий автомат запускається з настроюваної порогової кількості виправлень і додаткових фрагментів даних.

Кінцевий автомат проходить кілька кроків, щоб створити рішення:

  1. Створіть навчальні та тестові файли маніфесту, які містять список Служба простого зберігання Amazon (Amazon S3) шляхи зображень та їхні мітки для використання Amazon Rekognition.
  2. Створіть набір даних Amazon Rekognition за допомогою файлів маніфесту.
  3. Навчання версії моделі Amazon Rekognition після створення набору даних.
  4. Запустіть версію моделі після завершення навчання.
  5. Оцініть модель і створіть показники ефективності.
  6. Якщо показники продуктивності задовільні, оновіть версію моделі в Parameter Store.
  7. Зачекайте, доки нова версія моделі пошириться у лямбда-функціях (20 хвилин), а потім зупиніть попередню модель.

Оцінка моделі

Для перевірки нашої моделі ми використовуємо випадковий набір утримуваних даних на 20%, взятий із нашої вибірки даних. Оскільки породи, які ми виявляємо, можна налаштувати, ми не використовуємо фіксований набір даних для перевірки під час навчання, але ми використовуємо оцінювальний набір, позначений вручну, для інтеграційного тестування. Перекриття позначеного вручну набору та виявлених порід моделі використовується для обчислення показників. Якщо точність визначення породи моделі перевищує визначений поріг, ми просуваємо модель для використання в кінцевій точці.

Нижче наведено кілька скріншотів робочого циклу передбачення домашніх тварин від Rekognition Custom Labels.

Оптимізуйте профілі домашніх тварин для програми Petfinder від Purina за допомогою спеціальних міток Amazon Rekognition і крокових функцій AWS | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Оптимізуйте профілі домашніх тварин для програми Petfinder від Purina за допомогою спеціальних міток Amazon Rekognition і крокових функцій AWS | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Розгортання за допомогою AWS CDK

Машина стану Step Functions і відповідна інфраструктура (включаючи функції Lambda, проекти CodeBuild і параметри Systems Manager) розгортаються за допомогою AWS CDK за допомогою Python. Код AWS CDK синтезує шаблон CloudFormation, який використовується для розгортання всієї інфраструктури рішення.

Інтеграція з додатком Petfinder

Програма Petfinder отримує доступ до кінцевої точки класифікації зображень через кінцеву точку API Gateway за допомогою запиту POST, що містить корисне навантаження JSON із полями для шляху Amazon S3 до зображення та кількістю результатів, які потрібно повернути.

KPI, на які буде впливати

Щоб виправдати додаткові витрати на роботу кінцевої точки визначення зображення, ми провели експерименти, щоб визначити цінність, яку кінцева точка додає для Petfinder. Використання кінцевої точки пропонує два основних типи покращення:

  • Зменшення зусиль для притулків для домашніх тварин, які створюють профілі домашніх тварин
  • Більш повні профілі домашніх тварин, які, як очікується, підвищать релевантність пошуку

Показники для вимірювання зусиль і повноти профілю включають кількість виправлених автоматично заповнених полів, загальну кількість заповнених полів і час для завантаження профілю домашньої тварини. Покращення релевантності пошуку опосередковано випливає з вимірювання ключових показників ефективності, пов’язаних із показниками впровадження. За словами Purina, після запуску рішення середній час створення профілю домашньої тварини в додатку Petfinder скоротився з 7 хвилин до 4 хвилин. Це величезне покращення та економія часу, оскільки у 2022 році було завантажено 4 мільйони профілів домашніх тварин.

Безпека

Дані, які проходять через діаграму архітектури, шифруються під час передачі та в спокої відповідно до Найкращі практики AWS Well-Architected. Під час усіх залучень AWS експерт із безпеки перевіряє рішення, щоб забезпечити безпечне впровадження.

Висновок

Завдяки своєму рішенню на основі користувацьких міток Rekognition команда Petfinder може прискорити створення профілів домашніх тварин для притулків для домашніх тварин, зменшуючи адміністративне навантаження на персонал притулків. Розгортання на основі AWS CDK розгортає робочий процес Step Functions для автоматизації процесу навчання та розгортання. Щоб почати використовувати спеціальні мітки Rekognition, див Початок роботи з користувацькими етикетками Amazon Rekognition. Ви також можете перевірити деякі Приклади крокових функцій та почати роботу з AWS CDK.


Про авторів

Оптимізуйте профілі домашніх тварин для програми Petfinder від Purina за допомогою спеціальних міток Amazon Rekognition і крокових функцій AWS | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Мейсон Кехілл є старшим консультантом DevOps у AWS Professional Services. Йому подобається допомагати організаціям досягати їхніх бізнес-цілей, і він захоплений створенням і наданням автоматизованих рішень у хмарі AWS. Поза роботою він любить проводити час із сім’єю, ходити в походи та грати у футбол.

Оптимізуйте профілі домашніх тварин для програми Petfinder від Purina за допомогою спеціальних міток Amazon Rekognition і крокових функцій AWS | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Метью Чесс є консультантом Data Science в Amazon Web Services, де він допомагає клієнтам створювати масштабовані рішення машинного навчання. Метью має ступінь доктора математики та захоплюється скелелазінням і музикою у вільний час.

Оптимізуйте профілі домашніх тварин для програми Petfinder від Purina за допомогою спеціальних міток Amazon Rekognition і крокових функцій AWS | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Рушікеш Джагтап є архітектором рішень із понад 5-річним досвідом роботи в службах AWS Analytics. Він захоплений тим, щоб допомогти клієнтам створювати масштабовані та сучасні рішення для аналізу даних, щоб отримати розуміння з даних. Поза роботою він любить дивитися Формулу-1, грати в бадмінтон і брати участь у гонках Go Karts.

Оптимізуйте профілі домашніх тварин для програми Petfinder від Purina за допомогою спеціальних міток Amazon Rekognition і крокових функцій AWS | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Тайо Оладжіде є досвідченим спеціалістом з інженерії даних у хмарі з більш ніж десятирічним досвідом у розробці та впровадженні рішень для обробки даних у хмарних середовищах. Завдяки пристрасті до перетворення необроблених даних у цінні ідеї, Tayo відіграв ключову роль у розробці та оптимізації каналів даних для різних галузей, зокрема фінансів, охорони здоров’я та автомобільної промисловості. Як ідейний лідер у цій галузі, Тайо вважає, що сила даних полягає в їх здатності сприяти прийняттю обґрунтованих рішень, і прагне допомогти компаніям використовувати весь потенціал своїх даних в епоху хмари. Коли він не займається розробкою каналів даних, ви можете знайти Тайо, який вивчає останні тенденції в технологіях, гуляє на природі або возиться з гаджетами та програмним забезпеченням.

Часова мітка:

Більше від AWS Машинне навчання