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

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

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

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

В этом посте подробно описано, как Purina использовала Пользовательские ярлыки Amazon Rekognition, Шаговые функции AWSи другие сервисы AWS для создания модели машинного обучения, которая определяет породу домашнего животного по загруженному изображению, а затем использует прогноз для автоматического заполнения атрибутов домашнего животного. Решение фокусируется на фундаментальных принципах разработки рабочего процесса приложений AI/ML, включая подготовку данных, обучение модели, оценку модели и мониторинг модели.

Обзор решения

Для прогнозирования пород животных по изображению необходимы специальные модели машинного обучения. Разработка собственной модели для анализа изображений — это серьезная задача, требующая времени, опыта и ресурсов, на выполнение которой часто уходят месяцы. Кроме того, часто требуются тысячи или десятки тысяч изображений, помеченных вручную, чтобы предоставить модели достаточно данных для точного принятия решений. Настройка рабочего процесса для аудита или проверки прогнозов модели для проверки соответствия вашим требованиям может еще больше усложнить задачу.

С помощью Rekognition Custom Labels, основанного на существующих возможностях Апостол, вы можете идентифицировать объекты и сцены на изображениях, соответствующие потребностям вашего бизнеса. Он уже обучен на десятках миллионов изображений во многих категориях. Вместо тысяч изображений вы можете загрузить небольшой набор обучающих изображений (обычно несколько сотен изображений или меньше на категорию), которые соответствуют вашему сценарию использования.

Решение использует следующие сервисы:

  • Шлюз API Amazon — это полностью управляемый сервис, который позволяет разработчикам легко публиковать, поддерживать, отслеживать и защищать API в любом масштабе.
  • Ассоциация Комплект для разработки облачных сервисов AWS (AWS CDK) — это среда разработки программного обеспечения с открытым исходным кодом, позволяющая определять облачную инфраструктуру как код с использованием современных языков программирования и развертывать ее с помощью AWS CloudFormation.
  • Сборка кода AWS — это полностью управляемый сервис непрерывной интеграции в облаке. CodeBuild компилирует исходный код, запускает тесты и создает пакеты, готовые к развертыванию.
  • Amazon DynamoDB — это быстрый и гибкий сервис нереляционных баз данных для любого масштаба.
  • AWS Lambda — это управляемая событиями вычислительная служба, которая позволяет запускать код практически для любого типа приложения или серверной службы без подготовки серверов или управления ими.
  • Апостол предлагает предварительно обученные и настраиваемые возможности компьютерного зрения (CV) для извлечения информации и идей из ваших изображений и видео. С Пользовательские ярлыки Amazon Rekognition, вы можете идентифицировать объекты и сцены на изображениях, соответствующие потребностям вашего бизнеса.
  • Шаговые функции AWS — это полностью управляемый сервис, который упрощает координацию компонентов распределенных приложений и микросервисов с помощью визуальных рабочих процессов.
  • Менеджер систем AWS — это безопасное комплексное решение для управления ресурсами на AWS, а также в мультиоблачных и гибридных средах. Магазин параметров, функция Systems Manager, обеспечивает безопасное иерархическое хранилище для управления данными конфигурации и управления секретами.

Решение Purina используется как API-шлюз HTTP конечная точка, которая маршрутизирует запросы на получение атрибутов домашних животных. Он использует пользовательские метки Rekognition для прогнозирования породы домашнего животного. Модель ML обучается на основе профилей домашних животных, взятых из базы данных Purina, при условии, что основная метка породы является истинной. DynamoDB используется для хранения атрибутов домашних животных. Lambda используется для обработки запроса атрибутов домашнего животного путем координации между API Gateway, Amazon Rekognition и DynamoDB.

Архитектура реализована следующим образом:

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

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

Оптимизируйте профили домашних животных для приложения Purina Petfinder с помощью пользовательских меток Amazon Rekognition и пошаговых функций AWS | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

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

Модельное обучение

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

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

Рабочий процесс машинного обучения и конечный автомат

Конечный автомат Step Functions разработан для помощи в автоматическом переобучении модели Amazon Rekognition. Обратная связь собирается во время входа в профиль: каждый раз, когда пользователь изменяет породу, полученную на основе изображения, на другую породу, исправление записывается. Этот конечный автомат запускается на основе настраиваемого порогового количества исправлений и дополнительных фрагментов данных.

Для создания решения конечный автомат выполняет несколько шагов:

  1. Создайте файлы манифеста обучения и тестирования, содержащие список Простой сервис хранения Amazon (Amazon S3) Пути к изображениям и их метки для использования Amazon Rekognition.
  2. Создайте набор данных Amazon Rekognition, используя файлы манифеста.
  3. Обучите версию модели Amazon Rekognition после создания набора данных.
  4. Запустите версию модели после завершения обучения.
  5. Оцените модель и получите показатели производительности.
  6. Если показатели производительности удовлетворительны, обновите версию модели в хранилище параметров.
  7. Подождите, пока новая версия модели распространится в функциях Lambda (20 минут), затем остановите предыдущую модель.

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

Для проверки нашей модели мы используем случайный 20%-ный набор отклонений, взятый из нашей выборки данных. Поскольку обнаруженные нами породы являются настраиваемыми, мы не используем фиксированный набор данных для проверки во время обучения, но мы используем оценочный набор, помеченный вручную для интеграционного тестирования. Перекрытие помеченного вручную набора и обнаруживаемых пород модели используется для расчета показателей. Если точность определения породы модели превышает указанный порог, мы продвигаем модель для использования в конечной точке.

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

Оптимизируйте профили домашних животных для приложения Purina Petfinder с помощью пользовательских меток Amazon Rekognition и пошаговых функций AWS | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Оптимизируйте профили домашних животных для приложения Purina Petfinder с помощью пользовательских меток Amazon Rekognition и пошаговых функций AWS | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Развертывание с помощью AWS CDK

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

Интеграция с приложением Petfinder.

Приложение Petfinder обращается к конечной точке классификации изображений через конечную точку API-шлюза, используя запрос 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.


Об авторах

Оптимизируйте профили домашних животных для приложения Purina Petfinder с помощью пользовательских меток Amazon Rekognition и пошаговых функций AWS | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Мейсон Кэхилл — старший консультант DevOps в AWS Professional Services. Ему нравится помогать организациям достигать их бизнес-целей, и он увлечен созданием и предоставлением автоматизированных решений в облаке AWS. Вне работы он любит проводить время с семьей, ходить в походы и играть в футбол.

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

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

Оптимизируйте профили домашних животных для приложения Purina Petfinder с помощью пользовательских меток Amazon Rekognition и пошаговых функций AWS | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Тайо Оладжиде — опытный специалист по разработке облачных данных с более чем десятилетним опытом разработки и внедрения решений для обработки данных в облачных средах. Обладая страстью к преобразованию необработанных данных в ценную информацию, Тайо сыграл ключевую роль в проектировании и оптимизации конвейеров данных для различных отраслей, включая финансы, здравоохранение и автомобильную промышленность. Будучи идейным лидером в этой области, Тайо считает, что сила данных заключается в их способности стимулировать принятие обоснованных решений, и стремится помочь предприятиям использовать весь потенциал своих данных в эпоху облачных вычислений. Когда он не занимается созданием конвейеров данных, вы можете обнаружить, что Тайо изучает последние тенденции в технологиях, гуляет на свежем воздухе или возится с гаджетами и программным обеспечением.

Отметка времени:

Больше от Машинное обучение AWS