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.
Архитектура реализована следующим образом:
- Приложение Petfinder направляет запрос на получение атрибутов домашнего животного через шлюз API.
- API Gateway вызывает функцию Lambda для получения атрибутов домашнего животного.
- Функция Lambda вызывает конечную точку вывода Rekognition Custom Label, чтобы предсказать породу домашнего животного.
- Функция Lambda использует прогнозируемую информацию о породе домашнего животного для поиска атрибутов домашнего животного в таблице DynamoDB. Он собирает атрибуты домашних животных и отправляет их обратно в приложение Petfinder.
Следующая диаграмма иллюстрирует рабочий процесс решения.
Команда Petfinder в Purina хочет автоматизированное решение, которое можно будет развернуть с минимальным обслуживанием. Для этого мы используем Step Functions для создания конечного автомата, который обучает модели с использованием новейших данных, проверяет их производительность на наборе тестов и повторно развертывает модели, если они улучшились. Переобучение модели запускается на основе количества корректировок породы, внесенных пользователями, предоставляющими информацию профиля.
Модельное обучение
Разработка собственной модели для анализа изображений — это серьезная задача, требующая времени, опыта и ресурсов. Кроме того, часто требуются тысячи или десятки тысяч изображений, помеченных вручную, чтобы предоставить модели достаточно данных для точного принятия решений. Сбор этих данных может занять месяцы и требует больших усилий для их маркировки для использования в машинном обучении. Техника под названием трансферное обучение помогает создавать модели более высокого качества, заимствуя параметры предварительно обученной модели, и позволяет обучать модели с меньшим количеством изображений.
Наша проблема заключается в том, что наши данные не идеально размечены: люди, вводящие данные профиля, могут совершать и совершают ошибки. Однако мы обнаружили, что для достаточно больших выборок данных неправильно помеченные изображения составляли достаточно небольшую долю, и точность модели не снижалась более чем на 2%.
Рабочий процесс машинного обучения и конечный автомат
Конечный автомат Step Functions разработан для помощи в автоматическом переобучении модели Amazon Rekognition. Обратная связь собирается во время входа в профиль: каждый раз, когда пользователь изменяет породу, полученную на основе изображения, на другую породу, исправление записывается. Этот конечный автомат запускается на основе настраиваемого порогового количества исправлений и дополнительных фрагментов данных.
Для создания решения конечный автомат выполняет несколько шагов:
- Создайте файлы манифеста обучения и тестирования, содержащие список Простой сервис хранения Amazon (Amazon S3) Пути к изображениям и их метки для использования Amazon Rekognition.
- Создайте набор данных Amazon Rekognition, используя файлы манифеста.
- Обучите версию модели Amazon Rekognition после создания набора данных.
- Запустите версию модели после завершения обучения.
- Оцените модель и получите показатели производительности.
- Если показатели производительности удовлетворительны, обновите версию модели в хранилище параметров.
- Подождите, пока новая версия модели распространится в функциях Lambda (20 минут), затем остановите предыдущую модель.
Оценка модели
Для проверки нашей модели мы используем случайный 20%-ный набор отклонений, взятый из нашей выборки данных. Поскольку обнаруженные нами породы являются настраиваемыми, мы не используем фиксированный набор данных для проверки во время обучения, но мы используем оценочный набор, помеченный вручную для интеграционного тестирования. Перекрытие помеченного вручную набора и обнаруживаемых пород модели используется для расчета показателей. Если точность определения породы модели превышает указанный порог, мы продвигаем модель для использования в конечной точке.
Ниже приведены несколько снимков экрана рабочего процесса прогнозирования домашних животных из Rekognition Custom Labels.
Развертывание с помощью 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.
Об авторах
Мейсон Кэхилл — старший консультант DevOps в AWS Professional Services. Ему нравится помогать организациям достигать их бизнес-целей, и он увлечен созданием и предоставлением автоматизированных решений в облаке AWS. Вне работы он любит проводить время с семьей, ходить в походы и играть в футбол.
Мэтью Чейсс — консультант по науке о данных в Amazon Web Services, где он помогает клиентам создавать масштабируемые решения машинного обучения. Мэтью имеет докторскую степень по математике, в свободное время увлекается скалолазанием и музыкой.
Рушикеш Джагтап — архитектор решений с более чем 5-летним опытом работы в сфере сервисов AWS Analytics. Он с энтузиазмом помогает клиентам создавать масштабируемые и современные решения для анализа данных, позволяющие получать ценную информацию из данных. Вне работы он любит смотреть Формулу-1, играть в бадминтон и участвовать в картинге.
Тайо Оладжиде — опытный специалист по разработке облачных данных с более чем десятилетним опытом разработки и внедрения решений для обработки данных в облачных средах. Обладая страстью к преобразованию необработанных данных в ценную информацию, Тайо сыграл ключевую роль в проектировании и оптимизации конвейеров данных для различных отраслей, включая финансы, здравоохранение и автомобильную промышленность. Будучи идейным лидером в этой области, Тайо считает, что сила данных заключается в их способности стимулировать принятие обоснованных решений, и стремится помочь предприятиям использовать весь потенциал своих данных в эпоху облачных вычислений. Когда он не занимается созданием конвейеров данных, вы можете обнаружить, что Тайо изучает последние тенденции в технологиях, гуляет на свежем воздухе или возится с гаджетами и программным обеспечением.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/machine-learning/optimize-pet-profiles-for-purinas-petfinder-application-using-amazon-rekognition-custom-labels-and-aws-step-functions/
- :имеет
- :является
- :нет
- :куда
- $UP
- 000
- 100
- 11
- 150
- 2%
- 20
- 2022
- 500
- 7
- a
- способность
- в состоянии
- О нас
- выше
- ускорять
- соответствие
- По
- составили
- точность
- точно
- Достигать
- через
- Добавить
- добавленный
- дополнительный
- Дополнительно
- Добавляет
- адекватно
- соблюдение
- административный
- принять
- усыновителей
- Принятие
- После
- AI
- AI / ML
- помощь
- Все
- позволяет
- уже
- причислены
- Amazon
- Апостол
- Amazon Web Services
- an
- аналитика
- анализировать
- и
- животное
- животные
- любой
- API
- API
- Применение
- Приложения
- архитектура
- МЫ
- искусственный
- искусственный интеллект
- Искусственный интеллект (AI)
- AS
- связанный
- At
- Атрибуты
- аудит
- автоматический
- автоматизировать
- Автоматизированный
- Автоматический
- в среднем
- AWS
- Профессиональные услуги AWS
- Шаговые функции AWS
- назад
- Backend
- основанный
- BE
- , так как:
- было
- считает,
- эталонный тест
- ЛУЧШЕЕ
- Лучшая
- между
- Заимствование
- изоферменты печени
- ПОРОДА
- строить
- Строительство
- построенный
- бремя
- бизнес
- бизнес
- но
- by
- под названием
- Объявления
- CAN
- Канада
- возможности
- возможности
- случаев
- категории
- Категории
- вызов
- проверка
- Проверки
- классификация
- Восхождение
- облако
- облачная инфраструктура
- код
- привержен
- полный
- сложность
- компоненты
- Вычисление
- компьютер
- Компьютерное зрение
- Конфигурация
- последовательно
- консультант
- (CIJ)
- координировать
- исправленный
- исправления
- правильно
- Цена
- Создайте
- создали
- Создающий
- создание
- изготовленный на заказ
- Клиенты
- настраиваемый
- данным
- Анализ данных
- управление данными
- Подготовка данных
- наука о данных
- База данных
- десятилетие
- Принятие решений
- решения
- определяющий
- доставить
- доставки
- развертывание
- развернуть
- развертывание
- развертывание
- развертывает
- проектирование
- подробнее
- обнаруживать
- обнаружение
- Определять
- развитый
- застройщиков
- развивающийся
- Развитие
- различный
- Интернет
- цифровая торговая площадка
- распределенный
- do
- Dont
- управлять
- в течение
- легче
- легко
- легко
- усилие
- позволяет
- зашифрованный
- впритык
- Конечная точка
- обязательств
- Проект и
- достаточно
- обеспечивать
- Enter
- средах
- Эпоха
- оценка
- Даже
- существующий
- ожидаемый
- опыт
- Эксперименты
- эксперту
- опыта
- Исследование
- извлечение
- сталкиваются
- семья
- БЫСТРО
- Обратная связь
- несколько
- меньше
- поле
- Поля
- Файлы
- заполненный
- финансы
- Найдите
- фиксированной
- гибкого
- Потоки
- фокусируется
- после
- следующим образом
- Что касается
- навсегда
- найденный
- доля
- Рамки
- Бесплатно
- от
- полный
- полностью
- функция
- Функции
- фундаментальный
- далее
- Gain
- шлюз
- собирать
- собранный
- порождающий
- Go
- Цели
- большой
- Группы
- Есть
- he
- здравоохранение
- помог
- помощь
- помогает
- его
- история
- Дома
- Как
- Однако
- HTML
- HTTP
- HTTPS
- огромный
- Людей
- сто
- Гибридный
- определения
- идентифицирующий
- if
- иллюстрирует
- изображение
- Классификация изображений
- изображений
- влияние
- реализация
- в XNUMX году
- Осуществляющий
- улучшать
- улучшенный
- улучшение
- улучшение
- in
- включают
- В том числе
- индикаторы
- косвенно
- промышленности
- информация
- сообщил
- Инфраструктура
- размышления
- вместо
- интеграции.
- Интеллекта
- в
- IT
- ЕГО
- JPG
- JSON
- Основные
- этикетка
- Этикетки
- Языки
- большой
- последний
- лидер
- ведущий
- изучение
- Меньше
- Lets
- Кредитное плечо
- лежит
- Список
- жить
- Длинное
- поиск
- любит
- машина
- обучение с помощью машины
- сделанный
- Главная
- поддерживать
- техническое обслуживание
- сделать
- ДЕЛАЕТ
- управляемого
- управление
- Управленческое решение
- менеджер
- управления
- руководство
- вручную
- многих
- рынка
- математика
- Мэтью
- измерение
- Метрика
- Мексика
- microservices
- миллиона
- миллионы
- минимальный
- Минут
- ошибки
- смешанный
- ML
- модель
- Модели
- Модерн
- модифицировало
- монитор
- Мониторинг
- месяцев
- БОЛЕЕ
- Музыка
- потребности
- Новые
- номер
- объекты
- получать
- of
- Предложения
- .
- on
- ONE
- с открытым исходным кодом
- Программное обеспечение с открытым исходным кодом
- Оптимизировать
- оптимизирующий
- or
- организации
- Другое
- наши
- внешний
- на открытом воздухе
- внешнюю
- за
- общий
- пакеты
- параметр
- параметры
- страсть
- страстный
- путь
- Люди
- для
- в совершенстве
- Выполнять
- производительность
- Персонал
- Домашние питомцы
- кандидат наук
- штук
- основной
- Платформа
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- играл
- игры
- После
- потенциал
- мощностью
- предсказывать
- предсказанный
- прогноз
- Predictions
- подготовка
- предыдущий
- первичный
- Принципы
- процесс
- производит
- производит
- профессиональный
- Профиль
- Профили
- Программирование
- языки программирования
- проектов
- продвижении
- обеспечивать
- при условии
- приводит
- публиковать
- Питон
- гоночный
- случайный
- Стоимость
- Сырье
- готовый
- записанный
- Цена снижена
- снижение
- относиться
- отражающий
- Связанный
- актуальность
- запросить
- Запросы
- обязательный
- Требования
- требуется
- спасать
- Полезные ресурсы
- ОТДЫХ
- Итоги
- обзор
- Отзывы
- Рок
- Роли
- маршруты
- Run
- Бег
- работает
- экономия
- масштабируемые
- Шкала
- Сцены
- Наука
- скриншоты
- Поиск
- закаленный
- секреты
- безопасный
- безопасность
- стремится
- посылает
- старший
- Серверы
- обслуживание
- Услуги
- набор
- установка
- несколько
- Приют
- приюты
- значительный
- просто
- небольшой
- Футбольный
- Software
- разработка программного обеспечения
- Решение
- Решения
- некоторые
- Источник
- исходный код
- конкретный
- указанный
- Расходы
- Начало
- и политические лидеры
- Область
- Шаг
- Шаги
- Stop
- диск
- магазин
- вспомогательный
- системы
- ТАБЛИЦЫ
- взять
- приняты
- с
- команда
- техника
- Технологии
- шаблон
- десятки
- тестXNUMX
- Тестирование
- тестов
- чем
- который
- Ассоциация
- их
- тогда
- они
- этой
- мысль
- тысячи
- порог
- Через
- время
- в
- Всего
- Train
- специалистов
- Обучение
- поезда
- превращение
- транзит
- Тенденции
- срабатывает
- правда
- два
- напишите
- Типы
- типично
- Обновление ПО
- загружено
- us
- использование
- прецедент
- используемый
- Информация о пользователе
- пользователей
- использования
- через
- VALIDATE
- Проверка
- ценный
- ценностное
- различный
- версия
- с помощью
- Видео
- фактически
- видение
- хочет
- законопроект
- наблюдение
- способы
- we
- Web
- веб-сервисы
- пошел
- были
- когда
- , которые
- КТО
- без
- Работа
- рабочий
- Рабочие процессы
- лет
- Ты
- ВАШЕ
- зефирнет