Bagaimana Veriff mengurangi waktu penerapan sebesar 80% menggunakan titik akhir multi-model Amazon SageMaker | Layanan Web Amazon

Bagaimana Veriff mengurangi waktu penerapan sebesar 80% menggunakan titik akhir multi-model Amazon SageMaker | Layanan Web Amazon

verifikasi adalah mitra platform verifikasi identitas untuk organisasi inovatif yang didorong oleh pertumbuhan, termasuk pionir dalam layanan keuangan, FinTech, kripto, game, mobilitas, dan pasar online. Mereka menyediakan teknologi canggih yang menggabungkan otomatisasi bertenaga AI dengan masukan manusia, wawasan mendalam, dan keahlian.

Bagaimana Veriff mengurangi waktu penerapan sebesar 80% menggunakan titik akhir multi-model Amazon SageMaker | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Veriff memberikan infrastruktur terbukti yang memungkinkan pelanggannya mempercayai identitas dan atribut pribadi penggunanya di semua momen relevan dalam perjalanan pelanggan mereka. Veriff dipercaya oleh pelanggan seperti Bolt, Deel, Monese, Starship, Super Awesome, Trustpilot, dan Wise.

Sebagai solusi yang didukung AI, Veriff perlu membuat dan menjalankan lusinan model pembelajaran mesin (ML) dengan cara yang hemat biaya. Model-model ini berkisar dari model ringan berbasis pohon hingga model visi komputer pembelajaran mendalam, yang perlu dijalankan pada GPU untuk mencapai latensi rendah dan meningkatkan pengalaman pengguna. Veriff juga saat ini menambahkan lebih banyak produk ke dalam penawarannya, menargetkan solusi yang sangat dipersonalisasi untuk pelanggannya. Melayani model yang berbeda untuk pelanggan yang berbeda menambah kebutuhan akan solusi penyajian model yang skalabel.

Dalam postingan ini, kami menunjukkan kepada Anda bagaimana Veriff menstandardisasi alur kerja penerapan model mereka Amazon SageMaker, mengurangi biaya dan waktu pengembangan.

Tantangan infrastruktur dan pembangunan

Arsitektur backend Veriff didasarkan pada pola layanan mikro, dengan layanan yang berjalan pada klaster Kubernetes berbeda yang dihosting di infrastruktur AWS. Pendekatan ini awalnya digunakan untuk semua layanan perusahaan, termasuk layanan mikro yang menjalankan model ML computer vision yang mahal.

Beberapa model ini memerlukan penerapan pada instans GPU. Sadar akan biaya jenis instans yang didukung GPU yang relatif lebih tinggi, Veriff mengembangkan a solusi khusus di Kubernetes untuk berbagi sumber daya GPU tertentu di antara replika layanan yang berbeda. Sebuah GPU biasanya memiliki VRAM yang cukup untuk menampung beberapa model visi komputer Veriff di memori.

Meskipun solusi ini memang meringankan biaya GPU, solusi ini juga memiliki kendala yang mengharuskan para ilmuwan data untuk menunjukkan terlebih dahulu berapa banyak memori GPU yang dibutuhkan model mereka. Selain itu, DevOps dibebani dengan penyediaan instans GPU secara manual sebagai respons terhadap pola permintaan. Hal ini menyebabkan overhead operasional dan penyediaan mesin virtual yang berlebihan, sehingga menghasilkan profil biaya yang kurang optimal.

Selain penyediaan GPU, penyiapan ini juga mengharuskan data scientist untuk membuat wrapper REST API untuk setiap model, yang diperlukan untuk menyediakan antarmuka umum untuk digunakan oleh layanan perusahaan lain, dan untuk merangkum prapemrosesan dan pascapemrosesan data model. API ini memerlukan kode tingkat produksi, sehingga menyulitkan ilmuwan data untuk memproduksi model.

Tim platform ilmu data Veriff mencari cara alternatif untuk pendekatan ini. Tujuan utamanya adalah untuk mendukung ilmuwan data perusahaan dalam transisi yang lebih baik dari penelitian ke produksi dengan menyediakan jalur penerapan yang lebih sederhana. Tujuan kedua adalah mengurangi biaya operasional penyediaan instans GPU.

Ikhtisar solusi

Veriff memerlukan solusi baru yang memecahkan dua masalah:

  • Izinkan pembuatan wrapper REST API di sekitar model ML dengan mudah
  • Izinkan pengelolaan kapasitas instans GPU yang disediakan secara optimal dan, jika memungkinkan, secara otomatis

Pada akhirnya, tim platform ML sepakat dalam mengambil keputusan untuk menggunakan Titik akhir multi-model Sagemaker (MME). Keputusan ini didorong oleh dukungan MME terhadap NVIDIA Server Inferensi Triton (server yang berfokus pada ML yang memudahkan untuk menggabungkan model sebagai REST API; Veriff juga sudah bereksperimen dengan Triton), serta kemampuannya untuk mengelola penskalaan otomatis instance GPU melalui kebijakan penskalaan otomatis sederhana.

Dua MME dibuat di Veriff, satu untuk pementasan dan satu lagi untuk produksi. Pendekatan ini memungkinkan mereka menjalankan langkah-langkah pengujian di lingkungan pementasan tanpa mempengaruhi model produksi.

MME SageMaker

SageMaker adalah layanan yang terkelola sepenuhnya yang memberi pengembang dan ilmuwan data kemampuan untuk membuat, melatih, dan menerapkan model ML dengan cepat. MME SageMaker memberikan solusi yang dapat diskalakan dan hemat biaya untuk menerapkan sejumlah besar model untuk inferensi real-time. MME menggunakan wadah penyajian bersama dan kumpulan sumber daya yang dapat menggunakan instans yang dipercepat seperti GPU untuk menghosting semua model Anda. Ini mengurangi biaya hosting dengan memaksimalkan pemanfaatan titik akhir dibandingkan dengan menggunakan titik akhir model tunggal. Ini juga mengurangi overhead penerapan karena SageMaker mengelola pemuatan dan pembongkaran model dalam memori dan menskalakannya berdasarkan pola lalu lintas titik akhir. Selain itu, semua titik akhir waktu nyata SageMaker mendapat manfaat dari kemampuan bawaan untuk mengelola dan memantau model, seperti varian bayangan, penskalaan otomatis, dan integrasi asli dengan amazoncloudwatch (untuk informasi lebih lanjut, lihat Metrik CloudWatch untuk Penerapan Titik Akhir Multi-Model).

Model ansambel Triton khusus

Ada beberapa alasan Veriff memutuskan untuk menggunakan Triton Inference Server, yang utama adalah:

  • Hal ini memungkinkan ilmuwan data untuk membangun REST API dari model dengan mengatur file artefak model dalam format direktori standar (tanpa solusi kode)
  • Ini kompatibel dengan semua kerangka AI utama (PyTorch, Tensorflow, XGBoost, dan banyak lagi)
  • Ini menyediakan optimasi server dan tingkat rendah khusus ML seperti pengelompokan dinamis permintaan

Penggunaan Triton memungkinkan data scientist menerapkan model dengan mudah karena mereka hanya perlu membuat repositori model yang diformat, bukan menulis kode untuk membuat REST API (Triton juga mendukung model piton jika logika inferensi khusus diperlukan). Hal ini mengurangi waktu penerapan model dan memberikan lebih banyak waktu bagi data scientist untuk fokus membangun model dibandingkan menerapkannya.

Fitur penting lainnya dari Triton adalah memungkinkan Anda membangun ansambel model, yang merupakan kelompok model yang dirangkai menjadi satu. Ansambel ini dapat dijalankan seolah-olah merupakan satu model Triton. Veriff saat ini menggunakan fitur ini untuk menerapkan logika prapemrosesan dan pascapemrosesan pada setiap model ML menggunakan model Python (seperti yang disebutkan sebelumnya), memastikan bahwa tidak ada ketidakcocokan dalam data masukan atau keluaran model saat model digunakan dalam produksi.

Berikut ini adalah tampilan repositori model Triton pada umumnya untuk beban kerja ini:

Bagaimana Veriff mengurangi waktu penerapan sebesar 80% menggunakan titik akhir multi-model Amazon SageMaker | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Grafik model.py file berisi kode prapemrosesan dan pascapemrosesan. Anak timbangan model yang dilatih ada di screen_detection_inferencer direktori, di bawah versi model 1 (model dalam format ONNX dalam contoh ini, tetapi bisa juga dalam format TensorFlow, PyTorch, atau lainnya). Definisi model ansambel ada di screen_detection_pipeline direktori, tempat input dan output antar langkah dipetakan dalam file konfigurasi.

Dependensi tambahan yang diperlukan untuk menjalankan model Python dirinci dalam a requirements.txt file, dan perlu dikemas conda untuk membangun lingkungan Conda (python_env.tar.gz). Untuk informasi lebih lanjut, lihat Mengelola Runtime dan Perpustakaan Python. Selain itu, file konfigurasi untuk langkah-langkah Python perlu ditunjukkan python_env.tar.gz menggunakan EXECUTION_ENV_PATH Directive.

Folder model kemudian perlu dikompresi TAR dan diganti namanya menggunakan model_version.txt. Akhirnya, hasilnya <model_name>_<model_version>.tar.gz file disalin ke Layanan Penyimpanan Sederhana Amazon Bucket (Amazon S3) terhubung ke MME, memungkinkan SageMaker mendeteksi dan menyajikan model.

Pembuatan versi model dan penerapan berkelanjutan

Seperti yang dijelaskan pada bagian sebelumnya, membangun repositori model Triton sangatlah mudah. Namun, menjalankan semua langkah yang diperlukan untuk menerapkannya akan membosankan dan rawan kesalahan, jika dijalankan secara manual. Untuk mengatasi hal ini, Veriff membangun monorepo yang berisi semua model untuk diterapkan ke MME, tempat para ilmuwan data berkolaborasi dalam pendekatan mirip Gitflow. Monorepo ini memiliki beberapa fitur berikut:

  • Itu dikelola menggunakan Celana.
  • Alat kualitas kode seperti Black dan MyPy diterapkan menggunakan Pants.
  • Pengujian unit ditentukan untuk setiap model, yang memeriksa apakah keluaran model adalah keluaran yang diharapkan untuk masukan model tertentu.
  • Bobot model disimpan bersama repositori model. Bobot ini bisa berupa file biner besar DVC digunakan untuk menyinkronkannya dengan Git secara berversi.

Monorepo ini terintegrasi dengan alat integrasi berkelanjutan (CI). Untuk setiap dorongan baru ke repo atau model baru, langkah-langkah berikut dijalankan:

  1. Lulus pemeriksaan kualitas kode.
  2. Unduh bobot model.
  3. Bangun lingkungan Conda.
  4. Jalankan server Triton menggunakan lingkungan Conda dan gunakan untuk memproses permintaan yang ditentukan dalam pengujian unit.
  5. Bangun file TAR model akhir (<model_name>_<model_version>.tar.gz).

Langkah-langkah ini memastikan bahwa model memiliki kualitas yang diperlukan untuk penerapan, sehingga untuk setiap dorongan ke cabang repo, file TAR yang dihasilkan disalin (dalam langkah CI lainnya) ke bucket S3 penahapan. Ketika dorongan dilakukan di cabang utama, file model disalin ke bucket S3 produksi. Diagram berikut menggambarkan sistem CI/CD ini.

Bagaimana Veriff mengurangi waktu penerapan sebesar 80% menggunakan titik akhir multi-model Amazon SageMaker | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.

Manfaat biaya dan kecepatan penerapan

Penggunaan MME memungkinkan Veriff menggunakan pendekatan monorepo untuk menerapkan model ke produksi. Singkatnya, alur kerja penerapan model baru Veriff terdiri dari langkah-langkah berikut:

  1. Buat cabang di monorepo dengan model atau versi model baru.
  2. Tentukan dan jalankan pengujian unit di mesin pengembangan.
  3. Dorong cabang saat model siap untuk diuji di lingkungan pementasan.
  4. Gabungkan cabang ke main ketika model siap digunakan dalam produksi.

Dengan adanya solusi baru ini, penerapan model di Veriff menjadi bagian langsung dari proses pengembangan. Waktu pengembangan model baru berkurang dari 10 hari menjadi rata-rata 2 hari.

Penyediaan infrastruktur terkelola dan fitur penskalaan otomatis SageMaker memberikan manfaat tambahan bagi Veriff. Mereka menggunakan DoaPerInstance Metrik CloudWatch untuk diskalakan berdasarkan pola lalu lintas, menghemat biaya tanpa mengorbankan keandalan. Untuk menentukan nilai ambang batas metrik, mereka melakukan pengujian beban pada titik akhir staging untuk menemukan trade-off terbaik antara latensi dan biaya.

Setelah menerapkan tujuh model produksi ke MME dan menganalisis pembelanjaan, Veriff melaporkan pengurangan biaya sebesar 75% dalam penyajian model GPU dibandingkan dengan solusi asli berbasis Kubernetes. Biaya operasional juga berkurang, karena beban penyediaan instans secara manual dihilangkan dari teknisi DevOps perusahaan.

Kesimpulan

Dalam postingan ini, kami meninjau mengapa Veriff memilih MME Sagemaker daripada penerapan model yang dikelola sendiri di Kubernetes. SageMaker melakukan pekerjaan berat yang tidak dapat dibedakan, memungkinkan Veriff mengurangi waktu pengembangan model, meningkatkan efisiensi teknik, dan secara signifikan menurunkan biaya untuk inferensi real-time sambil mempertahankan kinerja yang diperlukan untuk operasi bisnis penting mereka. Terakhir, kami memamerkan pipeline CI/CD penerapan model Veriff yang sederhana namun efektif dan mekanisme pembuatan versi model, yang dapat digunakan sebagai referensi implementasi dalam menggabungkan praktik terbaik pengembangan perangkat lunak dan MME SageMaker. Anda dapat menemukan contoh kode untuk menghosting beberapa model menggunakan MME SageMaker di GitHub.


Tentang Penulis

Bagaimana Veriff mengurangi waktu penerapan sebesar 80% menggunakan titik akhir multi-model Amazon SageMaker | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.Ricard Borras adalah Senior Machine Learning di Veriff, tempat dia memimpin upaya MLOps di perusahaan. Dia membantu ilmuwan data untuk membangun produk AI/ML yang lebih cepat dan lebih baik dengan membangun Platform Sains Data di perusahaan, dan menggabungkan beberapa solusi sumber terbuka dengan layanan AWS.

Bagaimana Veriff mengurangi waktu penerapan sebesar 80% menggunakan titik akhir multi-model Amazon SageMaker | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.Joรฃo Moura adalah Arsitek Solusi Spesialis AI/ML di AWS, yang berbasis di Spanyol. Dia membantu pelanggan dengan pelatihan skala besar model pembelajaran mendalam dan pengoptimalan inferensi, dan secara lebih luas membangun platform ML skala besar di AWS.

Bagaimana Veriff mengurangi waktu penerapan sebesar 80% menggunakan titik akhir multi-model Amazon SageMaker | Kecerdasan Data PlatoBlockchain Layanan Web Amazon. Pencarian Vertikal. Ai.Miguel Ferreira bekerja sebagai Sr. Solutions Architect di AWS yang berbasis di Helsinki, Finlandia. AI/ML telah menjadi minatnya sejak lama dan dia telah membantu banyak pelanggan mengintegrasikan Amazon SageMaker ke dalam alur kerja ML mereka.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS