Jak firma Tokopedia obniżyła koszty operacyjne, ulepszając swoją aplikację internetową sprzedawcy za pomocą systemów uczących się

Dendi Sunardi
Dendi Sunardi
Geoffrey Prasetyo
Geoffrey Prasetyo
Swetha Gopalakrishnan
Swetha Gopalakrishnan

Tokopedia to indonezyjska firma technologiczna To jedna z największych platform e-commerce, która obsługuje ponad 40 produktów cyfrowych i ponad 14 milionów zarejestrowanych sprzedawców.

Mitra Tokopedia, część firmy Tokopedia różnych branż to aplikacja internetowa, która pomaga właścicielom małych firm w sprzedaży produkty cyfrowe, takie jak kupony kredytowe i do gier, pakiety danych, elektryczność; tokeny, krajowe rachunki zdrowotne i inne. Witryna jest jedną z głównych w ponad 700 miastach. dla wygody użytkowników.

Kluczowym etapem procesu wdrażania wymaga od sprzedawców potwierdzenia, tożsamości. Sprzedawca musi przesłać swój dokument tożsamości, a także selfie Identyfikator jest potrzebny do ukończenia weryfikacji sprzedawcy. Jest to tzw. proces „Poznaj swojego klienta”.

Przez dodanie funkcji uczenia maszynowego do tego kluczowego procesu PSK firmie Mitra Tokopedia poprawiła wrażenia użytkowników dzięki o ponad 20% mniej błędów weryfikacji. Rozpoczęły też operacje operacyjne oszczędności dzięki zmniejszeniu kosztów ręcznego zatwierdzania o prawie 70%.

Wyzwanie

Większość danych PSK była odrzucana, co spowodowało utworzenie tysięcy zgłoszeń tygodniowo zespołowi ds. operacji w celu ręcznej weryfikacji. Wpłynęło to nie tylko na dużą kosztów operacyjnych, ale także pogorszyły wrażenia użytkowników sprzedających, proces weryfikacji może się opóźnić. Największym powodem odrzucenia było to, sprzedawcy nie przesłali poprawnie selfie z dowodem tożsamości. Mitra Tokopedia pragną rozwiązać ten problem na dużą skalę przy użyciu nowoczesnych funkcji sieciowych.

Rozwiązanie

Aby rozwiązać ten problem, zespół Tokopedii zdecydował się wykorzystać ML z TensorFlow.js. na pierwszym etapie procesu PSK, czyli na etapie przesyłania zdjęć przez użytkownika. Ta za pomocą rozwiązań MediaPipe i TensorFlow Biblioteka wykrywania twarzy do wykrywania twarzy sprzedawcy za pomocą 6 kluczowych punktów, gdy sprzedawca przesyła identyfikator kart i zdjęć selfie. Dane wyjściowe modelu są następnie używane do sprawdzenia, kryteria akceptacji. Po pomyślnej weryfikacji informacje są wysyłane do z backendem. Jeśli weryfikacja się nie powiedzie, sprzedawca zobaczy komunikat o błędzie i ponowić próbę. Zastosowano podejście hybrydowe, w którym model po stronie urządzenia lub serwera, w zależności od tego, specyfikacji. Niższe urządzenie będzie przeprowadzać wnioskowanie na serwerze.

Zastosowanie modelu ML na wczesnym etapie procesu PSK umożliwia:

  • Zwiększ współczynnik odrzuceń w procesie PSK.
  • Ostrzegaj użytkowników o możliwym odrzuceniu ich obrazów na podstawie jakości który jest oceniony przez model.

Dlaczego warto wybrać ML, a nie inne rozwiązania?

Systemy uczące się mogą automatyzować powtarzalne zadania, które są czasochłonne lub niepraktyczne. W przypadku Tokopedii nie może przynieść istotnych wyników, a rozwiązanie ML znacznie zmniejszyć obciążenie zespołu operacyjnego, który musiał ręcznie przetwarzać tysiące zatwierdzeń tygodniowo. Dzięki rozwiązaniom ML można sprawdzać obraz niemal natychmiast, co poprawia wrażenia użytkowników i usprawnia działanie efektywność. Więcej informacji o kadrowanie problemu aby określić, czy systemy uczące się są odpowiednim rozwiązaniem w przypadku Twojego problemu.

Uwagi na temat wyboru modelu

Podczas wyboru modelu ML braliśmy pod uwagę te czynniki.

Koszt

Określili całkowity koszt korzystania z tego modelu. TensorFlow.js to dobrze utrzymywany przez Google pakiet open source. Oszczędności nie wymagają dużych nakładów kosztów utrzymania. Dodatkową kwestią jest koszt wnioskowania. Bycie takie wnioskowanie po stronie klienta pozwala zaoszczędzić sporo pieniędzy w porównaniu do jej przetwarzania po stronie serwera za pomocą drogich układów GPU, zwłaszcza jeśli dane są nieprawidłowe i bezużyteczne.

Skalowalność

Wzięła ona pod uwagę skalowalność modelu i technologii. Czy jest w stanie aby dostosować się do rosnących ilości danych i złożoności modeli w miarę rozwoju naszego projektu? Czy to będzie możliwe? i rozszerzone na inne projekty lub przypadki użycia? Przetwarzanie na urządzeniu pomaga ponieważ model może być hostowany w sieci CDN i wyświetlany po stronie klienta, jest bardzo skalowalny.

Wyniki

Uwzględniał rozmiar biblioteki (w KB) i opóźnienie środowiska wykonawczego proces tworzenia konta. Większość użytkowników witryny Mitra Tokopedia korzysta ze średniej i niskiej klasy. mają umiarkowaną szybkość i łączność. Dlatego też wydajność w kontekście pobieranie i czas wykonywania (tj. szybkość, z jaką model może generować dane wyjściowe) jest najczęstszą aby dostosować je do konkretnych potrzeb i zadbać o wygodę użytkowników.

Inne uwagi

Zgodność z przepisami: zespół musiał upewnić się, że wybrana biblioteka jest zgodna z zasadami. odpowiednich przepisów dotyczących ochrony danych i prywatności.

Zestaw umiejętności: oceniono wiedzę i zestaw umiejętności swojego zespołu. Niektóre systemy uczące się platformy i biblioteki mogą wymagać określonych języków programowania lub doświadczenia w konkretnym obszarze. Biorąc pod uwagę te czynniki, firma podjęła świadome decyzje podejmują decyzję o wyborze odpowiedniego modelu dla swojego projektu.

Wybrana technologia

Biblioteka TensorFlow.js spełniała ich potrzeby, tych czynników. Może działać w pełni na urządzeniu za pomocą backendu WebGL, korzystać z GPU urządzenia. Uruchamianie modelu na urządzeniu umożliwia szybsze przekazywanie informacji użytkownikom ze względu na krótszy czas oczekiwania na serwer i obniżenie kosztów jego mocy obliczeniowej. Odczytano Więcej informacji o uczeniu maszynowym na urządzeniu znajdziesz w artykule Zalety i ograniczenia ML na urządzeniu

„TensorFlow.js to biblioteka systemów uczących się typu open source od Google przeznaczona dla Programiści JavaScript, którzy potrafią uruchomić aplikację po stronie klienta w przeglądarce. Jest najbardziej dopracowana opcja w obszarze Web AI, wykorzystująca kompleksowe rozwiązania WebGL, WebAssembly i WebGPU obsługi operatora backendu. Można z niej korzystać w przeglądarce wydajności”jak firma Adobe wykorzystała Web ML z TensorFlow.js do ulepszenia Photoshopa w przeglądarce.

Implementacja techniczna

Mitra Tokopedia użyła narzędzi MediaPipe i TensorFlow bibliotekę wykrywania twarzy, pakietu, który zawiera modele do wykrywania twarzy w czasie rzeczywistym. Mówiąc konkretnie, MediaPipeFaceDetector-TFJS model dostępny w tej bibliotece, który implementuje środowisko wykonawcze tfjs używane do i poznam nowe rozwiązanie.

Zanim zagłębimy się w implementację, krótko podsumujmy, czym jest MediaPipe. MediaPipe umożliwia kompilowanie i wdrażanie rozwiązań ML na urządzeniu w przypadku urządzeń mobilnych (Android, iOS), przeglądarek, komputerów, urządzeń brzegowych i IoT.

Istnieją 14 różnych rozwiązań oferowane przez MediaPipe w momencie pisania tego posta. Możesz użyć zarówno Środowisko wykonawcze mediapipe lub tfjs. Środowisko wykonawcze tfjs zostało utworzone w języku JavaScript udostępnia pakiet JavaScript, który można pobrać z internetu aplikacji. Różni się ono od środowiska wykonawczego mediapipe, które obejmuje C++ w formie modułu WebAssembly. Główne różnice to wydajność, debugowanie i grupowanie. Pakiet JavaScript można połączyć w pakiet z klasyczną wersją np. Webpack. Moduł Wasm jest natomiast większy i oddzielny. zasób binarny (który ogranicza się, że nie jest zależnością czasu wczytywania), wymaga innego Proces debugowania Wasm. Pamiętaj jednak: Działa szybciej, więc spełnia wymagania techniczne i wydajne.

Schemat działania modeli MediaPipe i TensorFlow w różnych środowiskach wykonawczych z wykorzystaniem funkcji FaceDetection jako przykładu.
Ogólna ilustracja działania modeli MediaPipe i TensorFlow w różnych środowiskach wykonawczych z wykorzystaniem FaceDetection jako przykładu

Wróćmy do implementacji Tokopedii. Pierwszym krokiem jest zainicjowanie w następujący sposób. Gdy użytkownik przesyła zdjęcie, przekazywane jest HTMLImageElement jako dane wejściowe dla wzorca.

// Create the detector.
const model = faceDetection.SupportedModels.MediaPipeFaceDetector;
const detectorConfig = {
  runtime: 'tfjs'
};

const detector = await faceDetection.createDetector(model, detectorConfig);

// Run inference to start detecting faces.
const estimationConfig = {flipHorizontal: false};
const faces = await detector.estimateFaces(image, estimationConfig);

Wynik listy twarzy zawiera wykryte twarze dla każdej twarzy na zdjęciu. Jeśli model nie może wykryć żadnych twarzy, lista będzie pusta. Dla każdej ściany zawiera ramkę ograniczającą wykryte twarze, a także tablica 6 punktów kluczowych dla wykrytej twarzy. Obejmuje to takie funkcje jak: oczu, nosa i ust. Każdy klucz zawiera znaki x i y oraz nazwę.

[
  {
    box: {
      xMin: 304.6476503248806,
      xMax: 502.5079975897382,
      yMin: 102.16298762367356,
      yMax: 349.035215984403,
      width: 197.86034726485758,
      height: 246.87222836072945
    },
    keypoints: [
      {x: 446.544237446397, y: 256.8054528661723, name: "rightEye"},
      {x: 406.53152857172876, y: 255.8, "leftEye },
      ...
    ],
  }
]

Element box reprezentuje ramkę ograniczającą ścianę w przestrzeni piksela obrazu, przy czym xMin, xMax wyznaczające granice x, yMin, yMax oznaczające granice y oraz width i height to wymiary ramki ograniczającej. keypoints, x i y odzwierciedlają faktyczną pozycję kluczowego punktu na obrazie pikselową przestrzeń. Element name zawiera etykietę punktu kluczowego, czyli 'rightEye', 'leftEye', 'noseTip', 'mouthCenter', 'rightEarTragion' i 'leftEarTragion'. Jak wspomniano na początku tego posta, sprzedawca musi przesłać swoje dane dowód osobisty i selfie z dokumentem tożsamości, aby dokończyć transakcję. weryfikacji. Następnie dane wyjściowe modelu są używane do sprawdzenia, czy spełniają kryteria akceptacji, czyli zestaw 6 wymienionych wcześniej kluczowych punktów zostanie uznany za prawidłowy Dowód osobisty i zdjęcie selfie.

Po pomyślnej weryfikacji odpowiednie informacje o sprzedawcy są przekazywane z backendem. Jeśli weryfikacja się nie powiedzie, sprzedawca otrzyma komunikat o niepowodzeniu, a następnie i spróbuj jeszcze raz. Żadne informacje nie będą wysyłane do backendu.

Schemat strony Mitra PYC, modelu TensorFlow.js i serwera wchodzących w interakcje.
Jak strona Mitra KYC, model TensorFlow.js i serwer współdziałają ze sobą

Uwagi dotyczące wydajności w przypadku słabszych urządzeń

Rozmiar tego pakietu to tylko 24,8 KB (zminifikowany i skompresowany do pliku gzip), co nie będzie możliwe znacznie wpływa na czas pobierania. Jednak w przypadku bardzo mało zaawansowanych urządzeń jest bardzo ważne. Dodaliśmy dodatkową funkcję logiczną, która sprawdza, czy: Ilość pamięci RAM i procesora urządzenia przed przekazaniem 2 obrazów do tarczy systemów uczących się model wykrywania.

Jeśli urządzenie ma więcej niż 4 GB pamięci RAM, połączenie sieciowe większe niż 4G i procesora z więcej niż 6 rdzeniami, obrazy są przesyłane do modelu urządzenia weryfikacji twarzy. Jeśli te wymagania nie są spełnione, system na urządzeniu model jest pomijany, a obrazy są wysyłane bezpośrednio do serwera w celu weryfikacji korzystając z podejścia hybrydowego, aby dostosować się do starszych urządzeń. Z czasem coraz więcej urządzenia będą mogły pobierać moc obliczeniową z serwera, ponieważ sprzęt nadal ewoluować.

Wpływ

Dzięki integracji z systemami uczącymi się Tokopedia z powodzeniem odsetek odrzuceń i widzi te wyniki:

  • Współczynnik odrzuceń spadł o ponad 20%.
  • Liczba ręcznych zatwierdzeń spadła o prawie 70%.

Nie tylko poprawiło to wrażenia sprzedawców, lecz także ograniczyło kosztów operacyjnych zespołu Tokopedia.

Podsumowanie

Ogólnie wyniki tego studium przypadku pokazują, że w odpowiednich przypadkach użycia rozwiązania ML na urządzeniu w internecie mogą być cenne dla poprawy i skuteczności funkcji, a także oszczędności finansowe, innych korzyści biznesowych.

Wypróbuj funkcję wykrywania twarzy MediaPipe za pomocą MediaPipe Studio oraz przykładowy kod Aplikacja MediaPipe do wykrywania twarzy w przeglądarce

Jeśli chcesz rozszerzyć możliwości swojej aplikacji internetowej za pomocą na urządzeniu ML, zapoznaj się z tymi materiałami: