Optymalizuj profile zwierząt pod kątem aplikacji Petfinder firmy Purina, korzystając z niestandardowych etykiet Amazon Rekognition i funkcji kroków AWS | Usługi internetowe Amazona

Optymalizuj profile zwierząt pod kątem aplikacji Petfinder firmy Purina, korzystając z niestandardowych etykiet Amazon Rekognition i funkcji kroków AWS | Usługi internetowe Amazona

Purina US, a subsidiary of Nestle, has a long history of enabling people to more easily adopt pets through Wyszukiwarka zwierząt, cyfrowy rynek obejmujący ponad 11,000 XNUMX schronisk dla zwierząt i grup ratowniczych w USA, Kanadzie i Meksyku. Jako wiodąca platforma adopcyjna dla zwierząt domowych, Petfinder pomogła milionom zwierząt znaleźć ich stałe domy.

Purina konsekwentnie poszukuje sposobów na ulepszenie platformy Petfinder zarówno dla schronisk, grup ratowniczych, jak i osób adoptujących zwierzęta. Jednym z wyzwań, przed którymi stanęli, było odpowiednie odzwierciedlenie konkretnej rasy zwierząt przeznaczonych do adopcji. Ponieważ wiele zwierząt ze schroniska to rasy mieszane, prawidłowe zidentyfikowanie ras i cech w profilu zwierzaka wymagało wysiłku ręcznego, co było czasochłonne. Purina wykorzystała sztuczną inteligencję (AI) i uczenie maszynowe (ML), aby zautomatyzować wykrywanie ras zwierząt na dużą skalę.

W tym poście szczegółowo opisano sposób użycia Puriny Etykiety niestandardowe Amazon Rekognition, Funkcje kroków AWSi inne usługi AWS w celu utworzenia modelu ML, który wykrywa rasę zwierzęcia na podstawie przesłanego obrazu, a następnie wykorzystuje przewidywania do automatycznego uzupełniania atrybutów zwierzęcia. Rozwiązanie koncentruje się na podstawowych zasadach opracowywania przepływu pracy aplikacji AI/ML w zakresie przygotowywania danych, uczenia modeli, oceny modelu i monitorowania modelu.

Omówienie rozwiązania

Przewidywanie ras zwierząt na podstawie obrazu wymaga niestandardowych modeli ML. Opracowanie niestandardowego modelu do analizy obrazów to znaczące przedsięwzięcie, które wymaga czasu, wiedzy i zasobów, a jego ukończenie często zajmuje miesiące. Ponadto często wymagane są tysiące lub dziesiątki tysięcy ręcznie oznaczonych obrazów, aby zapewnić modelowi wystarczającą ilość danych do trafnego podejmowania decyzji. Skonfigurowanie przepływu pracy na potrzeby audytu lub przeglądania prognoz modelu w celu sprawdzenia zgodności z wymaganiami może jeszcze bardziej zwiększyć ogólną złożoność.

Dzięki niestandardowym etykietom Rekognition, które opierają się na istniejących możliwościach Amazon Rekognition, możesz zidentyfikować obiekty i sceny na obrazach, które odpowiadają Twoim potrzebom biznesowym. Został już przeszkolony na dziesiątkach milionów obrazów w wielu kategoriach. Zamiast tysięcy obrazów możesz przesłać mały zestaw obrazów szkoleniowych (zwykle kilkaset lub mniej obrazów w każdej kategorii), które są specyficzne dla Twojego przypadku użycia.

Rozwiązanie wykorzystuje następujące usługi:

  • Brama Amazon API to w pełni zarządzana usługa, która ułatwia programistom publikowanie, utrzymywanie, monitorowanie i zabezpieczanie interfejsów API na dowolną skalę.
  • Połączenia Zestaw programistyczny AWS Cloud (AWS CDK) to platforma programistyczna o otwartym kodzie źródłowym, służąca do definiowania infrastruktury chmury jako kodu w nowoczesnych językach programowania i wdrażania jej za pośrednictwem Tworzenie chmury AWS.
  • Tworzenie kodu AWS to w pełni zarządzana usługa ciągłej integracji w chmurze. CodeBuild kompiluje kod źródłowy, uruchamia testy i tworzy pakiety gotowe do wdrożenia.
  • Amazon DynamoDB to szybka i elastyczna usługa nierelacyjnej bazy danych o dowolnej skali.
  • AWS Lambda to usługa obliczeniowa sterowana zdarzeniami, która umożliwia uruchamianie kodu dla praktycznie dowolnego typu aplikacji lub usługi zaplecza bez konieczności udostępniania serwerów ani zarządzania nimi.
  • Amazon Rekognition oferuje wstępnie przeszkolone i konfigurowalne funkcje widzenia komputerowego (CV), umożliwiające wydobywanie informacji i spostrzeżeń z obrazów i filmów. Z Etykiety niestandardowe Amazon Rekognition, możesz zidentyfikować obiekty i sceny na obrazach, które odpowiadają Twoim potrzebom biznesowym.
  • Funkcje kroków AWS to w pełni zarządzana usługa, która ułatwia koordynację komponentów rozproszonych aplikacji i mikrousług za pomocą wizualnych przepływów pracy.
  • Menedżer systemów AWS to bezpieczne, kompleksowe rozwiązanie do zarządzania zasobami w AWS oraz w środowiskach wielochmurowych i hybrydowych. Magazyn parametrów, funkcja Systems Manager, zapewnia bezpieczną, hierarchiczną pamięć masową do zarządzania danymi konfiguracyjnymi i tajemnicami.

Rozwiązanie Purina jest wdrażane jako Brama API HTTP punkt końcowy, który kieruje żądania w celu uzyskania atrybutów zwierzaka. Wykorzystuje niestandardowe etykiety Rekognition do przewidywania rasy zwierzęcia. Model ML jest szkolony na podstawie profili zwierząt domowych pobranych z bazy danych Puriny, przy założeniu, że etykieta rasy podstawowej jest prawdziwą etykietą. DynamoDB służy do przechowywania atrybutów zwierzaka. Lambda służy do przetwarzania żądania atrybutów zwierzaka poprzez koordynację między API Gateway, Amazon Rekognition i DynamoDB.

Architektura jest implementowana w następujący sposób:

  1. Aplikacja Petfinder kieruje żądanie uzyskania atrybutów zwierzaka poprzez API Gateway.
  2. API Gateway wywołuje funkcję Lambda w celu uzyskania atrybutów domowych.
  3. Funkcja Lambda wywołuje punkt końcowy wnioskowania Rekognition Custom Label w celu przewidzenia rasy zwierzęcia.
  4. Funkcja Lambda wykorzystuje przewidywane informacje o rasie zwierzęcia w celu sprawdzenia atrybutów zwierzęcia w tabeli DynamoDB. Zbiera atrybuty zwierzaka i wysyła je z powrotem do aplikacji Petfinder.

Poniższy schemat ilustruje przepływ pracy rozwiązania.

Optimize pet profiles for Purina’s Petfinder application using Amazon Rekognition Custom Labels and AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Zespół Petfinder w firmie Purina potrzebuje zautomatyzowanego rozwiązania, które można wdrożyć przy minimalnej konserwacji. Aby to osiągnąć, używamy funkcji kroków do utworzenia maszyny stanów, która uczy modele przy użyciu najnowszych danych, sprawdza ich wydajność w zestawie porównawczym i ponownie wdraża modele, jeśli uległy poprawie. Przekwalifikowanie modelu jest uruchamiane na podstawie liczby poprawek dotyczących rasy dokonanych przez użytkowników przesyłających informacje profilowe.

Szkolenie modelowe

Opracowanie niestandardowego modelu do analizy obrazów to znaczące przedsięwzięcie wymagające czasu, wiedzy i zasobów. Ponadto często wymagane są tysiące lub dziesiątki tysięcy ręcznie oznaczonych obrazów, aby zapewnić modelowi wystarczającą ilość danych do trafnego podejmowania decyzji. Generowanie tych danych może zająć miesiące i wymaga dużego wysiłku, aby je oznaczyć pod kątem wykorzystania w uczeniu maszynowym. Technika tzw przenieś naukę pomaga tworzyć modele o wyższej jakości, pożyczając parametry wstępnie wytrenowanego modelu i umożliwia uczenie modeli przy użyciu mniejszej liczby obrazów.

Naszym wyzwaniem jest to, że nasze dane nie są idealnie oznakowane: ludzie wprowadzający dane profilowe mogą popełniać błędy i rzeczywiście je popełniają. Odkryliśmy jednak, że w przypadku wystarczająco dużych próbek danych błędnie oznaczone obrazy stanowiły wystarczająco mały ułamek, a dokładność modelu nie wpłynęła na więcej niż 2%.

Przepływ pracy i maszyna stanów ML

Maszyna stanu Step Functions została opracowana, aby pomóc w automatycznym ponownym szkoleniu modelu Amazon Rekognition. Informacje zwrotne są zbierane podczas wprowadzania do profilu — za każdym razem, gdy rasa wywnioskowana ze zdjęcia zostanie przez użytkownika zmodyfikowana na inną rasę, korekta jest rejestrowana. Ta maszyna stanów jest wyzwalana przez konfigurowalną liczbę progową poprawek i dodatkowych fragmentów danych.

Maszyna stanów przechodzi przez kilka kroków, aby utworzyć rozwiązanie:

  1. Utwórz pliki manifestu pociągu i testu zawierające listę Usługa Amazon Simple Storage Ścieżki obrazów (Amazon S3) i ich etykiety do użytku przez Amazon Rekognition.
  2. Utwórz zestaw danych Amazon Rekognition, korzystając z plików manifestu.
  3. Trenuj wersję modelu Amazon Rekognition po utworzeniu zestawu danych.
  4. Uruchom wersję modelu po zakończeniu uczenia.
  5. Oceń model i utwórz metryki wydajności.
  6. Jeśli metryki wydajności są zadowalające, zaktualizuj wersję modelu w magazynie parametrów.
  7. Poczekaj, aż nowa wersja modelu rozpropaguje się w funkcjach Lambda (20 minut), a następnie zatrzymaj poprzedni model.

Ocena modelu

Aby zweryfikować nasz model, używamy losowego 20% zestawu wstrzymanego pobranego z naszej próbki danych. Ponieważ wykrywane przez nas rasy można konfigurować, nie używamy stałego zestawu danych do walidacji podczas szkolenia, ale używamy ręcznie oznaczonego zestawu ewaluacyjnego do testów integracyjnych. Do obliczenia wskaźników wykorzystuje się nakładanie się ręcznie oznaczonego zestawu i wykrywalnych ras modelu. Jeśli dokładność wykrywania rasy przez model przekracza określony próg, promujemy model do wykorzystania w punkcie końcowym.

Poniżej znajduje się kilka zrzutów ekranu przedstawiających przepływ pracy przewidywania zwierząt domowych z poziomu niestandardowych etykiet Rekognition.

Optimize pet profiles for Purina’s Petfinder application using Amazon Rekognition Custom Labels and AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Optimize pet profiles for Purina’s Petfinder application using Amazon Rekognition Custom Labels and AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Wdrożenie za pomocą AWS CDK

Maszyna stanu Step Functions i powiązana infrastruktura (w tym funkcje Lambda, projekty CodeBuild i parametry Systems Manager) są wdrażane z AWS CDK przy użyciu języka Python. Kod AWS CDK syntetyzuje szablon CloudFormation, którego używa do wdrożenia całej infrastruktury rozwiązania.

Integracja z aplikacją Petfinder

Aplikacja Petfinder uzyskuje dostęp do punktu końcowego klasyfikacji obrazu poprzez punkt końcowy API Gateway za pomocą żądania POST zawierającego ładunek JSON z polami ścieżki Amazon S3 do obrazu i liczbą zwracanych wyników.

KPI, na które ma to mieć wpływ

Aby uzasadnić dodatkowy koszt działania punktu końcowego wnioskowania o obrazie, przeprowadziliśmy eksperymenty w celu określenia wartości, jaką punkt końcowy dodaje do Petfindera. Użycie punktu końcowego oferuje dwa główne typy ulepszeń:

  • Mniejszy wysiłek schronisk dla zwierząt tworzących profile zwierząt
  • Bardziej kompletne profile zwierząt domowych, które mają poprawić trafność wyszukiwania

Metryki mierzące wysiłek i kompletność profilu obejmują liczbę automatycznie wypełnionych pól, które zostały poprawione, całkowitą liczbę wypełnionych pól i czas przesłania profilu zwierzaka. Poprawę trafności wyszukiwania można pośrednio wywnioskować z pomiaru kluczowych wskaźników wydajności związanych ze wskaźnikami adopcji. Według Puriny po uruchomieniu rozwiązania średni czas tworzenia profilu zwierzaka w aplikacji Petfinder skrócił się z 7 minut do 4 minut. To ogromna poprawa i oszczędność czasu, ponieważ w 2022 roku przesłano 4 miliony profili zwierząt.

Bezpieczeństwo

Dane przepływające przez diagram architektury są szyfrowane podczas przesyłania i przechowywania, zgodnie z Najlepsze praktyki dobrze zaprojektowanej platformy AWS. Podczas wszystkich prac związanych z AWS ekspert ds. bezpieczeństwa sprawdza rozwiązanie, aby zapewnić bezpieczne wdrożenie.

Wnioski

Dzięki rozwiązaniu opartemu na etykietach Rekognition Custom Labels zespół Petfinder jest w stanie przyspieszyć tworzenie profili zwierząt dla schronisk dla zwierząt, zmniejszając obciążenie administracyjne personelu schroniska. Wdrożenie oparte na AWS CDK wdraża przepływ pracy Step Functions w celu zautomatyzowania procesu szkolenia i wdrażania. Aby rozpocząć korzystanie z niestandardowych etykiet Rekognition, zobacz Pierwsze kroki z niestandardowymi etykietami Amazon Rekognition. Możesz też sprawdzić niektóre Przykłady funkcji kroku i rozpocznij pracę z AWS CDK.


O autorach

Optimize pet profiles for Purina’s Petfinder application using Amazon Rekognition Custom Labels and AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Masona Cahilla jest starszym konsultantem DevOps w AWS Professional Services. Lubi pomagać organizacjom w osiąganiu ich celów biznesowych i pasjonuje się budowaniem i dostarczaniem zautomatyzowanych rozwiązań w chmurze AWS. Poza pracą uwielbia spędzać czas z rodziną, wędrować i grać w piłkę nożną.

Optimize pet profiles for Purina’s Petfinder application using Amazon Rekognition Custom Labels and AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Mateusz Chass jest konsultantem Data Science w Amazon Web Services, gdzie pomaga klientom budować skalowalne rozwiązania do uczenia maszynowego. Matthew ma doktorat z matematyki, a w wolnym czasie lubi wspinaczkę skałkową i muzykę.

Optimize pet profiles for Purina’s Petfinder application using Amazon Rekognition Custom Labels and AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Rushikesh Jagtap jest architektem rozwiązań z ponad 5-letnim doświadczeniem w usługach AWS Analytics. Pasjonuje się pomaganiem klientom w budowaniu skalowalnych i nowoczesnych rozwiązań do analizy danych w celu uzyskania wglądu w dane. Poza pracą uwielbia oglądać Formułę 1, grać w badmintona i ścigać się na gokartach.

Optimize pet profiles for Purina’s Petfinder application using Amazon Rekognition Custom Labels and AWS Step Functions | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Tayo Olajide’a to doświadczony specjalista ds. inżynierii danych w chmurze z ponad dziesięcioletnim doświadczeniem w projektowaniu i wdrażaniu rozwiązań dotyczących danych w środowiskach chmurowych. Mając pasję do przekształcania surowych danych w cenne spostrzeżenia, Tayo odegrał kluczową rolę w projektowaniu i optymalizacji potoków danych dla różnych branż, w tym finansów, opieki zdrowotnej i przemysłu samochodowego. Jako lider myśli w tej dziedzinie Tayo wierzy, że siła danych leży w ich zdolności do podejmowania świadomych decyzji i stara się pomagać firmom w wykorzystaniu pełnego potencjału ich danych w erze chmury. Kiedy nie tworzy potoków danych, Tayo odkrywa najnowsze trendy technologiczne, spaceruje po świeżym powietrzu lub majstruje przy gadżetach i oprogramowaniu.

Znak czasu:

Więcej z Uczenie maszynowe AWS