Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Entrainer et déployer un modèle de ML sur les p...

Yannick Serge Obam
October 31, 2020
18

Entrainer et déployer un modèle de ML sur les périphéries

DevFest Ouaga 2020

Yannick Serge Obam

October 31, 2020
Tweet

Transcript

  1. Entrainer et déployer un modèle de ML sur les périphéries

    Yannick Serge Obam AI/ML Engineer, isoMora ML GDE @OBAMSerge
  2. Audience idéale 2 • Développeurs en ML • Développeurs mobiles

    à la recherche de moyens d’integrer le ML dans leurs applications
  3. Agenda • Pourquoi le ML sur les périphéries ? •

    Commencer avec Tensorflow lite • Optimiser les modeles • QA 3
  4. Explosion ML sur les périphéries tfhub.dev NLP 5 • Faible

    latence et interactions étroites • Connectivité réseau • Préservation de la confidentialité Consommation d’energie
  5. C’est quoi Tensorflow Lite ? TensorFlow Lite est un framework

    de déploiement de ML sur des appareils mobiles et des systèmes embarqués 9 Convertisse une fois, déployez n'importe où
  6. Audio Image Speech Text Content Classification Prediction Recognition Text to

    Speech Speech to Text Object detection Object location OCR Gesture recognition Facial modelling Segmentation Clustering Compression Super resolution Translation Voice synthesis Video generation Text generation Audio generation https://www.tensorflow.org/lite/examples
  7. Coral 13 Prototyping Production Dev Board Mini Edge TPU Module

    PCIe card, with upto 16 Edge TPU A smaller, lower-power single-board computer featuring the Edge TPU. • For customers that want just the Edge TPU ASIC • Integrated MCM with Edge TPU, PMIC and passives • Ceramic MCM package • For customers that want high performance in a server deployable config • 1 to 16 Edge TPUs with up to 64 TOPs inference performance • Plug and play on existing PCIe slots on servers and desktops • ~40W peak power
  8. Worklow de developpement 13 1. Choisir un modele 2. Convertir

    le modele au format TensorFlow Lite 3. Deployer et executer dans un appareil 4. Optimiser votre modele
  9. 13

  10. 13

  11. E V E N T S + E X P

    E R I E N C E S I/O 2019 Object Detection & Tracking Point camera at product you’d like to know more about.
  12. // Create the object detector option. val detectorOptions = FirebaseVisionObjectDetectorOptions.Builder()

    .setDetectorMode(FirebaseVisionObjectDetectorOptions.STREAM_MODE) .build() // Create the object detector. val detector = FirebaseVision.getInstance() .getOnDeviceObjectDetector(detectorOptions) // Input image. val image = FirebaseVisionImage.fromBitmap(bitmap) // Run inference detector.processImage(image).addOnSuccessListener { objects -> for (visionObject in objects) { val boundingBox = visionObject.boundingBox val category = visionObject.classificationCategory } }
  13. ML Kit ODT On-device Cloud 相机 Cloud visual search Detect

    & track objects Coarse classification 1 2 #1 #2 #3 Find similar products 3 Cloud Vision Product Search (or 3P solution)
  14. 13

  15. Pourquoi optimiser? 13 • Puissance de calcul limitée • mémoire

    limitée • Consommation de batterie • Taille de l'application
  16. Differentes méthodes • Tirez parti de l’accélerateur materiel • Utiliser

    une architecture de modèle optimisé pour les mobiles • Appliquer la quantification • Appliquer le pruning
  17. Quantization Réduire le nombre de bits pour les poids et

    les fonctions activations des modèles
  18. 13

  19. 13

  20. 13

  21. Pruning 13 • Coupez les connexions pendant la formation. •

    Les tenseurs denses seront désormais clairsemés (remplis de zéros).
  22. 13

  23. Credits - Introduction to Google’s on-device ML products, Khanh LeViet

    - AI for Mobile and IoT Devices: TensorFlow Lite, Tim Davis and Sarah Sirajuddin - Training and deploying machine learning models on edge devices, Khanh LeViet Learn more about TensorFlow Lite at https://www.tensorflow.org/lite