Tokopedia, makine öğreniminden yararlanarak satıcı web uygulamasını iyileştirerek operasyonel maliyetleri nasıl azalttı?

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

Tokopedia, Endonezya'daki bir teknoloji şirketidir ve 40'tan fazla dijital ürün barındıran, en büyük e-ticaret pazarlarından biri olan ve platformunda 14 milyondan fazla kayıtlı satıcı yer alıyor.

Mitra Tokopedia, Tokopedia'nın bünyesinde küçük işletme sahiplerinin satış yapmalarına yardımcı olan kredi ve oyun kuponları, veri paketleri, elektrik gibi dijital ürünler jetonlar, ulusal sağlık faturaları vb. Web sitesi, internetteki Mitra Tokopedia'nın 700'den fazla şehirde bulunan satıcıları için kanal sorunsuz bir kullanıcı deneyimi sağlar.

Oryantasyon sürecinin önemli bir adımı, bu satıcıların kimliği. Satıcının resmi kimliğinin yanı sıra Satıcı doğrulamasını tamamlamak için kimliği. Bu işlem sürecidir.

Bu kritik MT sürecine makine öğrenimi özellikleri ekleyerek Mitra Tokopedia, Android'e giriş yaparak daha iyi bir kullanıcı deneyimi doğrulama başarısızlığında% 20'den fazla azalma sağladı. Ayrıca operasyonel ve manuel onayları yaklaşık %70 azaltarak maliyet tasarrufu elde ettik.

Zorluk

MT verilerinin büyük bir kısmı reddediliyordu ve bu da haftada binlerce destek kaydı oluşturulmasına neden oluyordu. . Bu durum, hem yüksek kötü bir kullanıcı deneyimine yol açıyordu. Ayrıca, belirli bir süre boyunca zaman alabilir. Bunun en büyük nedeni, satıcılar kimlik kartlarının bulunduğu selfie'leri doğru yüklemedi. Mitra Tokopedia modern web özelliklerini kullanarak bu sorunu ölçeklenebilir şekilde çözmeye istekli.

Çözüm

Tokopedia'daki ekip bu sorunu çözmek için TensorFlow.js ile makine öğrenimi kullanmaya karar verdi MT sürecinin ilk adımında, yani kullanıcı resimleri yüklediğinde. Onlar MediaPipe ve TensorFlow'un Yüz Algılama kitaplığı Satıcı kimliği yüklediğinde altı önemli noktayla satıcının yüzünün algılanması kart ve selfie resimleri. Modelin çıkışı, daha sonra kabul kriterlerini açıklayabiliyorsunuz. Doğrulama başarıyla tamamlandıktan sonra bilgiler şu adrese gönderilir: arka uçta yer alır. Doğrulama başarısız olursa satıcıya bir hata mesajı gönderilir ve yeniden deneme seçeneği sunulur. Modelin gerçeğe dönüştüğü noktada telefonunun özelliklerine bağlı olarak cihaz üzerinde veya sunucu tarafında çıkarım özellikler. Çıkarım, sunucuda daha düşük düzeydedir.

MT sürecinin ilk aşamalarında bir ML modeli kullanmak şunları sağlar:

  • MT sürecinde reddedilme oranını iyileştirin.
  • Kullanıcıları, görsellerinin kalitesine bağlı olarak görsellerinin reddedilebileceği konusunda uyar model tarafından değerlendirilir.

Neden diğer çözümler yerine makine öğrenimini tercih etmelisiniz?

Makine öğrenimi, zaman alan ya da diğer süreçlerde zaman alan bunu manuel olarak yapmak pratik değildir. Tokopedia'da ise mevcut makine öğrenimi olmayan önemli sonuçlar veremiyordu. Ancak makine öğrenimi çözümleri manuel olarak işlem yapması gereken operasyon ekibinin üzerindeki yükü önemli ölçüde onay alırsınız. Görüntü kontrolleri, makine öğrenimi çözümüyle yapılabilir. daha iyi bir kullanıcı deneyimi sağlar ve operasyonel süreçleri iyileştirmenizi sağlar. birçok proje verisi türü bulunur. Daha fazla bilgi: çerçeveleme sorunu makine öğreniminin sorununuz için uygun bir çözüm olup olmadığını belirleyin.

Model seçerken dikkat edilmesi gereken noktalar

ML modeli seçilirken aşağıdaki faktörler dikkate alındı.

Maliyet

Modeli kullanmanın toplam maliyetini değerlendirdiler. TensorFlow.js bakımını yaptığımız açık kaynak paketimiz sayesinde, lisans ve lisans maliyetlerinden tasarruf ediyoruz. bakım masraflarını da karşılar. Dikkate alınması gereken bir diğer nokta da çıkarım maliyetidir. Olmak çıkarımları yapmak, 2008'e kıyasla çok daha fazla para tasarrufu pahalı GPU'larla sunucu tarafında işlemesi (özellikle de sonra geçersiz ve kullanılamaz hale gelir.

Ölçeklenebilirlik

Modelin ve teknolojinin ölçeklenebilirliği de dikkate alındı. Şunları yapabilir mi? projemiz geliştikçe verilerdeki büyümeyle başa çıkmaya ve karmaşıklığı modellemeye odaklanıyor? Olabilir mi? kapsamı nasıl genişletildi? Cihaz üzerinde işleme yardımcı olur Çünkü model CDN'de barındırılıp istemci tarafında yayınlanabilir. Bu da son derece ölçeklenebilirdir.

Performans

Kitaplığın boyutunu (KB cinsinden) ve çalışma zamanının gecikmesini dikkate aldılar bahsedeceğim. Mitra Tokopedia'nın kullanıcı tabanının çoğunda orta ila düşük teknolojiye sahip cihaz bulunuyor orta düzeyde internet hızı ve bağlantıyla. Bu nedenle, en önemli faktörlerden biri, indirme ve çalışma zamanı (modelin ne kadar hızlı çıktı üretebileceği) öncelikli olarak ele alacağız.

Dikkat edilmesi gereken diğer noktalar

Yönetmeliklere uygunluk: Seçilen kitaplığın politikaya uymasını sağlamak zorundaydılar. ilgili veri koruma ve gizlilik düzenlemelerine tabidir.

Beceri: Ekibinin uzmanlığını ve beceri kümesini değerlendirdiler. Biraz makine öğrenimi çerçeveler ve kitaplıklar, belirli programlama dilleri veya uzmanlık gerektirebilir. göz atmanızı öneririm. Bu faktörleri göz önünde bulundurarak, tüketicinin doğru modeli seçerken karar vermelerine yardımcı olur.

Teknoloji seçildi

TensorFlow.js değerlendirdikten sonra ihtiyaçlarını karşıladı yardımcı olur. WebGL arka ucunu kullanarak cihaz üzerinde tam olarak çalışır. cihazın GPU'sunu kullanma. Cihaz üzerinde model çalıştırmak daha hızlı geri bildirim sağlar daha az sunucu gecikmesi ve sunucu bilgi işlem maliyetini azaltır. Okunanlar bu makalede cihaz üzerinde makine öğrenimi hakkında daha fazla bilgi Cihaz üzerinde makine öğreniminin avantajları ve sınırlamaları.

"TensorFlow.js, Google'ın hedeflediği açık kaynak makine öğrenimi kitaplığıdır: Tarayıcıda istemci tarafını çalıştırabilen JavaScript geliştiricileri. Bu Kapsamlı WebGL, WebAssembly ve WebGPU içeren Web Yapay Zeka için en gelişmiş seçenek hızlı bir şekilde tarayıcıda kullanılabilecek arka uç operatör desteğini performansı."Adobe, web için Photoshop'u geliştirmek amacıyla TensorFlow.js ile Web ML'yi nasıl kullandı?

Teknik uygulama

Mitra Tokopedia, MediaPipe ve TensorFlow'un Yüz Algılama kitaplığı, için modeller sağlayan bir pakettir. Daha ayrıntılı belirtmek gerekirse, MediaPipeFaceDetector-TFJS Bu kitaplıkta sağlanan, tfjs çalışma zamanını uygulayan model çözmüştük.

Uygulamaya geçmeden önce MediaPipe'in ne olduğunu kısaca özetleyin. MediaPipe, geliştirme ve dağıtım işlemlerini gerçekleştirmenizi sağlar mobil (Android, iOS), web, masaüstü, uç cihazlarda cihaz üzerinde makine öğrenimi çözümleri ve IoT'yi keşfedin.

Her biri 100'den az gösterim alan 14 farklı çözüm şu anda MediaPipe tarafından sunulmuştu. Şunu kullanabilirsiniz: mediapipe veya tfjs çalışma zamanı. tfjs çalışma zamanı, JavaScript ve web üzerinden harici olarak indirilebilecek bir JavaScript paketi sağlar bir uygulamadır. Bu, ile geliştirilen mediapipe çalışma zamanından farklıdır C++ ile derlenmiştir ve bir WebAssembly modülüne derlenir. Aralarındaki temel farklar performans, ve gruplandırmayı öğrendiniz. JavaScript paketi, klasik paketleyicileri kullanabilirsiniz. Bunun aksine Wasm modülü, daha büyük ve ikili kaynak (yükleme süresi bağımlılığı olmaması nedeniyle azalır) ve farklı bir Wasm hata ayıklama iş akışı. Ancak, teknik ve performans gereksinimlerinin karşılanmasına yardımcı olmak için daha hızlı çalışır.

Örnek olarak FaceDetection'ın kullanıldığı, MediaPipe ve TensorFlow modellerinin farklı çalışma zamanları için nasıl çalıştığını gösteren şema.
Örnek olarak FaceDetection kullanılarak, MediaPipe ve TensorFlow modellerinin farklı çalışma zamanları için nasıl çalıştığına dair genel bir resim

Tokopedia uygulamasına geri dönersek, ilk adım olarak ilişkilendirme modelini kullanır. Kullanıcı bir fotoğraf yüklediğinde HTMLImageElement öğesi iletilir algılamasını sağlar.

// 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);

Yüz listesinin sonucu, resimdeki her yüz için algılanan yüzleri içerir. Model herhangi bir yüz algılayamazsa liste boş olur. Her yüz için, algılanan yüzün sınırlayıcı bir kutusu ve altı tuş noktasından oluşan dizi. Bu, gözler, burun ve ağızlardan oluşur. Her bir tuş noktasında x ve y ile bir ad bulunur.

[
  {
    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 },
      ...
    ],
  }
]

box, x sınırlarını belirten xMin, xMax, y sınırlarını belirten yMin, yMax ve width, height sınırlayıcı kutunun boyutlarıdır. keypoints için x ve y, resimdeki gerçek anahtar noktası konumunu temsil eder piksel alanına sahiptir. name, anahtar noktası için bir etiket sağlar. Bu etiket 'rightEye', 'leftEye', Sırasıyla 'noseTip', 'mouthCenter', 'rightEarTragion' ve 'leftEarTragion'. Bu gönderinin başında belirtildiği gibi, satıcının kendi ödemelerini yüklemek için Satıcıyı tamamlamak için resmi kimlik ve kimliğin bulunduğu bir selfie doğrulama. Modelin çıkışı daha sonra kabul kriterleriyle karşılaştırma yapmak için kullanılır. Yani, daha önce bahsedilen altı temel noktanın eşleştirilmesinin geçerli kabul edilmesi için Kimlik kartı ve selfie resmi.

Doğrulama başarıyla tamamlandıktan sonra, ilgili satıcı bilgileri arka uçta olması gerekir. Doğrulama başarısız olursa, satıcıya bir hata mesajı verilir ve yeniden deneme seçeneği sunulur. Arka uca bilgi gönderilmez.

Mitra KYC sayfasının, TensorFlow.js modelinin ve birbiriyle etkileşimde bulunan sunucunun şeması.
Mita KYC sayfası, TensorFlow.js modeli ve sunucu birbiriyle nasıl etkileşime girer?

Eski teknolojiye sahip cihazlar için performansla ilgili dikkat edilmesi gereken noktalar

Bu paketin boyutu yalnızca 24,8 KB'tır (küçültülmüş ve gzip ile sıkıştırılmış). indirme süresini önemli ölçüde etkiler. Ancak çok düşük teknolojili cihazlarda olması uzun sürer. Kontrol etmek için ek mantık eklendi İki görüntüyü makine öğrenimi yüzüne aktarmadan önce cihaz RAM'i ve CPU modelidir.

Cihazda 4 GB'tan fazla RAM varsa ve ağ bağlantısı 4G'den fazlaysa ve 6'dan fazla çekirdekli bir CPU varsa görüntüler cihaz üzerindeki modele aktarılır. kullanın. Bu şartlar karşılanmazsa cihazdaki model atlanır ve görüntüler doğrulama için doğrudan sunucuya gönderilir sağlamak için karma bir yaklaşım benimsedi. Zamanla, daha fazlası donanım sunucudan işlem yapmaya devam ettikçe cihazlar da yardımcı olur.

Etki

Tokopedia, makine öğrenimi entegrasyonu sayesinde büyük problemleri çözmeyi şu sonuçları elde ettiniz:

  • Reddedilme oranı %20'den fazla azaldı.
  • Manuel onay sayısı neredeyse %70 azaldı.

Bu, yalnızca satıcılar için daha sorunsuz bir kullanıcı deneyimi sunmakla kalmayıp, aynı zamanda ekibin operasyon maliyetini karşılıyor.

Sonuç

Bu örnek olayın sonuçları genel olarak doğru kullanım alanları için web'deki cihaz üzerinde makine öğrenimi çözümleri, kullanıcı deneyimini iyileştirme konusunda değerli olabilir. özelliklerin etkililiğinin yanı sıra maliyet tasarrufları ve ticari faydaları var.

MediaPipe Yüz Algılama özelliğini kendiniz deneyin: MediaPipe Studio ve şunun için kod örneği: Web için MediaPipe Yüz Dedektörü.

Kendi web uygulamanızın özelliklerini aşağıdaki kaynaklara göz atın: