Kecerdasan Data Generatif

Optimalkan profil hewan peliharaan untuk aplikasi Petfinder Purina menggunakan Label Kustom Amazon Rekognition dan AWS Step Functions | Layanan Web Amazon

Tanggal:

Purina US, anak perusahaan Nestlé, memiliki sejarah panjang dalam membantu masyarakat untuk lebih mudah mengadopsi hewan peliharaan Penemu hewan peliharaan, pasar digital yang mencakup lebih dari 11,000 tempat penampungan hewan dan kelompok penyelamat di seluruh AS, Kanada, dan Meksiko. Sebagai platform adopsi hewan peliharaan terkemuka, Petfinder telah membantu jutaan hewan peliharaan menemukan rumah selamanya.

Purina secara konsisten mencari cara untuk membuat platform Petfinder menjadi lebih baik bagi tempat penampungan dan kelompok penyelamat serta pengguna hewan peliharaan. Salah satu tantangan yang mereka hadapi adalah mencerminkan secara memadai jenis hewan tertentu yang akan diadopsi. Karena banyak hewan yang dilindungi merupakan ras campuran, mengidentifikasi ras dan atribut dengan benar dalam profil hewan peliharaan memerlukan upaya manual, yang memakan waktu. Purina menggunakan kecerdasan buatan (AI) dan pembelajaran mesin (ML) untuk mengotomatisasi deteksi ras hewan dalam skala besar.

Posting ini merinci bagaimana Purina digunakan Label Kustom Amazon Rekognition, Fungsi Langkah AWS, dan Layanan AWS lainnya untuk membuat model ML yang mendeteksi jenis hewan peliharaan dari gambar yang diunggah dan kemudian menggunakan prediksi untuk mengisi atribut hewan peliharaan secara otomatis. Solusi ini berfokus pada prinsip dasar pengembangan alur kerja aplikasi AI/ML yang meliputi persiapan data, pelatihan model, evaluasi model, dan pemantauan model.

Ikhtisar solusi

Memprediksi ras hewan dari suatu gambar memerlukan model ML khusus. Mengembangkan model khusus untuk menganalisis gambar adalah tugas besar yang memerlukan waktu, keahlian, dan sumber daya, dan seringkali memerlukan waktu berbulan-bulan untuk menyelesaikannya. Selain itu, seringkali diperlukan ribuan atau puluhan ribu gambar berlabel tangan untuk menyediakan data yang cukup bagi model agar dapat mengambil keputusan secara akurat. Menyiapkan alur kerja untuk mengaudit atau meninjau prediksi model guna memvalidasi kepatuhan terhadap persyaratan Anda dapat semakin menambah kompleksitas keseluruhan.

Dengan Label Kustom Rekognition, yang dibangun berdasarkan kemampuan yang ada Rekognisi Amazon, Anda dapat mengidentifikasi objek dan pemandangan dalam gambar yang spesifik untuk kebutuhan bisnis Anda. Itu sudah dilatih pada puluhan juta gambar di banyak kategori. Daripada ribuan gambar, Anda dapat mengunggah sekumpulan kecil gambar pelatihan (biasanya beberapa ratus gambar atau kurang per kategori) yang khusus untuk kasus penggunaan Anda.

Solusinya menggunakan layanan berikut:

  • Gerbang API Amazon adalah layanan terkelola sepenuhnya yang memudahkan pengembang untuk mempublikasikan, memelihara, memantau, dan mengamankan API pada skala apa pun.
  • Grafik Kit Pengembangan AWS Cloud (AWS CDK) adalah kerangka pengembangan perangkat lunak sumber terbuka untuk mendefinisikan infrastruktur cloud sebagai kode dengan bahasa pemrograman modern dan menerapkannya melalui Formasi AWS Cloud.
  • Pembuatan Kode AWS adalah layanan integrasi berkelanjutan yang terkelola sepenuhnya di cloud. CodeBuild mengkompilasi kode sumber, menjalankan pengujian, dan menghasilkan paket yang siap untuk diterapkan.
  • Amazon DynamoDB adalah layanan database nonrelasional yang cepat dan fleksibel untuk skala apa pun.
  • AWS Lambda adalah layanan komputasi berbasis peristiwa yang memungkinkan Anda menjalankan kode untuk hampir semua jenis aplikasi atau layanan backend tanpa menyediakan atau mengelola server.
  • Rekognisi Amazon menawarkan kemampuan computer vision (CV) terlatih dan dapat disesuaikan untuk mengekstrak informasi dan wawasan dari gambar dan video Anda. Dengan Label Kustom Amazon Rekognition, Anda dapat mengidentifikasi objek dan pemandangan dalam gambar yang spesifik untuk kebutuhan bisnis Anda.
  • Fungsi Langkah AWS adalah layanan terkelola sepenuhnya yang memudahkan koordinasi komponen aplikasi terdistribusi dan layanan mikro menggunakan alur kerja visual.
  • Manajer Sistem AWS adalah solusi manajemen end-to-end yang aman untuk sumber daya di AWS dan di lingkungan multicloud dan hybrid. Toko Parameter, sebuah kemampuan Manajer Sistem, menyediakan penyimpanan hierarkis yang aman untuk manajemen data konfigurasi dan manajemen rahasia.

Solusi Purina diterapkan sebagai HTTP Gerbang API titik akhir, yang merutekan permintaan untuk mendapatkan atribut hewan peliharaan. Ia menggunakan Label Kustom Pengakuan untuk memprediksi ras hewan peliharaan. Model ML dilatih dari profil hewan peliharaan yang diambil dari database Purina, dengan asumsi label ras utama adalah label sebenarnya. DynamoDB digunakan untuk menyimpan atribut hewan peliharaan. Lambda digunakan untuk memproses permintaan atribut hewan peliharaan dengan mengatur antara API Gateway, Amazon Rekognition, dan DynamoDB.

Arsitektur diimplementasikan sebagai berikut:

  1. Aplikasi Petfinder merutekan permintaan untuk mendapatkan atribut hewan peliharaan melalui API Gateway.
  2. API Gateway memanggil fungsi Lambda untuk mendapatkan atribut pet.
  3. Fungsi Lambda memanggil titik akhir inferensi Rekognition Custom Label untuk memprediksi ras hewan peliharaan.
  4. Fungsi Lambda menggunakan informasi ras hewan peliharaan yang diprediksi untuk melakukan pencarian atribut hewan peliharaan di tabel DynamoDB. Ia mengumpulkan atribut hewan peliharaan dan mengirimkannya kembali ke aplikasi Petfinder.

Diagram berikut mengilustrasikan alur kerja solusi.

Tim Petfinder di Purina menginginkan solusi otomatis yang dapat mereka terapkan dengan perawatan minimal. Untuk mewujudkan hal ini, kami menggunakan Step Functions untuk membuat mesin status yang melatih model dengan data terbaru, memeriksa performanya pada kumpulan benchmark, dan menerapkan ulang model jika sudah ditingkatkan. Pelatihan ulang model dipicu dari jumlah koreksi ras yang dilakukan oleh pengguna yang mengirimkan informasi profil.

Pelatihan model

Mengembangkan model khusus untuk menganalisis gambar adalah tugas penting yang memerlukan waktu, keahlian, dan sumber daya. Selain itu, seringkali diperlukan ribuan atau puluhan ribu gambar berlabel tangan untuk menyediakan data yang cukup bagi model agar dapat mengambil keputusan secara akurat. Pembuatan data ini memerlukan waktu berbulan-bulan untuk dikumpulkan dan memerlukan upaya besar untuk memberi label agar dapat digunakan dalam pembelajaran mesin. Sebuah teknik disebut belajar transfer membantu menghasilkan model berkualitas lebih tinggi dengan meminjam parameter model yang telah dilatih sebelumnya, dan memungkinkan model dilatih dengan gambar yang lebih sedikit.

Tantangan kami adalah data kami tidak diberi label dengan sempurna: manusia yang memasukkan data profil bisa dan memang melakukan kesalahan. Namun, kami menemukan bahwa untuk sampel data yang cukup besar, gambar yang diberi label yang salah hanya menyumbang sebagian kecil dan performa model tidak terpengaruh pada akurasi lebih dari 2%.

Alur kerja ML dan mesin status

Mesin status Step Functions dikembangkan untuk membantu pelatihan ulang otomatis model Amazon Rekognition. Umpan balik dikumpulkan selama entri profil—setiap kali suatu ras yang disimpulkan dari suatu gambar dimodifikasi oleh pengguna ke ras yang berbeda, koreksinya dicatat. Mesin negara ini dipicu dari jumlah koreksi ambang batas yang dapat dikonfigurasi dan data tambahan.

Mesin negara menjalankan beberapa langkah untuk membuat solusi:

  1. Buat file manifes kereta dan uji yang berisi daftar Layanan Penyimpanan Sederhana Amazon (Amazon S3) jalur gambar dan labelnya untuk digunakan oleh Amazon Rekognition.
  2. Buat himpunan data Amazon Rekognition menggunakan file manifes.
  3. Latih versi model Amazon Rekognition setelah dataset dibuat.
  4. Mulai versi model saat pelatihan selesai.
  5. Evaluasi model dan hasilkan metrik kinerja.
  6. Jika metrik performa memuaskan, perbarui versi model di Penyimpanan Parameter.
  7. Tunggu hingga versi model baru disebarkan di fungsi Lambda (20 menit), lalu hentikan model sebelumnya.

Evaluasi model

Kami menggunakan kumpulan ketidaksepakatan 20% acak yang diambil dari sampel data kami untuk memvalidasi model kami. Karena ras yang kami deteksi dapat dikonfigurasi, kami tidak menggunakan kumpulan data tetap untuk validasi selama pelatihan, namun kami menggunakan kumpulan evaluasi yang diberi label secara manual untuk pengujian integrasi. Tumpang tindih kumpulan yang diberi label secara manual dan ras model yang terdeteksi digunakan untuk menghitung metrik. Jika akurasi deteksi ras model berada di atas ambang batas yang ditentukan, kami mempromosikan model tersebut untuk digunakan di titik akhir.

Berikut adalah beberapa tangkapan layar alur kerja prediksi hewan peliharaan dari Rekognition Custom Labels.

Penerapan dengan AWS CDK

Mesin status Step Functions dan infrastruktur terkait (termasuk fungsi Lambda, proyek CodeBuild, dan parameter Systems Manager) di-deploy dengan AWS CDK menggunakan Python. Kode AWS CDK mensintesis templat CloudFormation, yang digunakan untuk menerapkan semua infrastruktur untuk solusi tersebut.

Integrasi dengan aplikasi Petfinder

Aplikasi Petfinder mengakses titik akhir klasifikasi gambar melalui titik akhir API Gateway menggunakan permintaan POST yang berisi payload JSON dengan bidang untuk jalur Amazon S3 ke gambar dan jumlah hasil yang akan dikembalikan.

KPI yang akan terkena dampak

Untuk membenarkan biaya tambahan dalam menjalankan titik akhir inferensi gambar, kami menjalankan eksperimen untuk menentukan nilai yang ditambahkan titik akhir untuk Petfinder. Penggunaan titik akhir menawarkan dua jenis peningkatan utama:

  • Mengurangi upaya untuk tempat penampungan hewan peliharaan yang membuat profil hewan peliharaan
  • Profil hewan peliharaan yang lebih lengkap, diharapkan dapat meningkatkan relevansi pencarian

Metrik untuk mengukur upaya dan kelengkapan profil mencakup jumlah kolom pengisian otomatis yang diperbaiki, jumlah total kolom yang diisi, dan waktu untuk mengunggah profil hewan peliharaan. Peningkatan relevansi penelusuran secara tidak langsung disimpulkan dari pengukuran indikator kinerja utama yang terkait dengan tingkat adopsi. Menurut Purina, setelah solusi tersebut diluncurkan, rata-rata waktu pembuatan profil hewan peliharaan di aplikasi Petfinder berkurang dari 7 menit menjadi 4 menit. Ini merupakan peningkatan besar dan penghematan waktu karena pada tahun 2022, 4 juta profil hewan peliharaan telah diunggah.

Security

Data yang mengalir melalui diagram arsitektur dienkripsi saat transit dan saat diam, sesuai dengan Praktik terbaik AWS Well-Architected. Selama seluruh keterlibatan AWS, pakar keamanan meninjau solusi untuk memastikan penerapan yang aman disediakan.

Kesimpulan

Dengan solusi berdasarkan Rekognition Custom Labels, tim Petfinder mampu mempercepat pembuatan profil hewan peliharaan untuk tempat penampungan hewan peliharaan, sehingga mengurangi beban administratif pada personel tempat penampungan. Penerapan berdasarkan AWS CDK menerapkan alur kerja Step Functions untuk mengotomatiskan proses pelatihan dan penerapan. Untuk mulai menggunakan Label Kustom Pengakuan, lihat Memulai dengan Label Kustom Amazon Rekognition. Anda juga dapat memeriksa beberapa Contoh Fungsi Langkah dan memulai dengan AWS CDK.


Tentang Penulis

Mason Cahill adalah Konsultan DevOps Senior di Layanan Profesional AWS. Dia senang membantu organisasi mencapai tujuan bisnis mereka, dan bersemangat membangun dan memberikan solusi otomatis di AWS Cloud. Di luar pekerjaan, dia suka menghabiskan waktu bersama keluarganya, mendaki gunung, dan bermain sepak bola.

Matius Chasse adalah konsultan Ilmu Data di Amazon Web Services, yang membantu pelanggan membangun solusi pembelajaran mesin yang skalabel. Matthew memiliki gelar PhD Matematika dan menikmati panjat tebing dan musik di waktu luangnya.

Rushikesh Jagtap adalah Arsitek Solusi dengan pengalaman lebih dari 5 tahun dalam layanan AWS Analytics. Dia bersemangat membantu pelanggan membangun solusi analisis data yang terukur dan modern untuk mendapatkan wawasan dari data. Di luar pekerjaan, dia suka menonton Formula1, bermain bulu tangkis, dan balap Go Kart.

Tayo Olajide adalah seorang generalis Cloud Data Engineering berpengalaman dengan pengalaman lebih dari satu dekade dalam merancang dan mengimplementasikan solusi data di lingkungan cloud. Dengan hasrat untuk mengubah data mentah menjadi wawasan berharga, Tayo telah memainkan peran penting dalam merancang dan mengoptimalkan saluran data untuk berbagai industri, termasuk industri keuangan, layanan kesehatan, dan otomotif. Sebagai pemimpin pemikiran di bidangnya, Tayo percaya bahwa kekuatan data terletak pada kemampuannya untuk mendorong pengambilan keputusan yang tepat dan berkomitmen untuk membantu bisnis memanfaatkan potensi data mereka secara maksimal di era cloud. Saat dia tidak sedang menyusun saluran data, Anda dapat menemukan Tayo menjelajahi tren terkini dalam teknologi, berjalan-jalan di alam bebas, atau mengutak-atik gadget dan perangkat lunak.

tempat_img

Intelijen Terbaru

tempat_img