
magicplan-AI, un voyage dans le merveilleux monde de l'apprentissage profond (Partie 3/3)



Partager
Dans la partie 2, nous avons montré comment vous pouviez atteindre un bon niveau de précision de détection sur un modèle d'apprentissage profond fonctionnant sur un GPU puissant, lorsque vous avez la bonne expertise en formation d'apprentissage profond. Malheureusement, cela ne suffit pas lorsque vous souhaitez implémenter la fonctionnalité sur un smartphone et devez faire face à des ressources matérielles vraiment limitées tant en termes de mémoire que de puissance de calcul.
Intégrer la fonctionnalité dans un smartphone
Le travail précédent a permis de concevoir et de former un modèle de détection d'objets de porte / fenêtre « suffisamment bon ». Cependant, même pour la partie d'inférence, cette architecture ne peut fonctionner que sur un puissant GPU NVIDIA. Elle est incompatible avec les ressources matérielles limitées des smartphones, tant en termes d'exigences de mémoire que de temps de traitement. C'est un énorme problème qui nous a bloqués pendant un certain temps.
L'approche à distance
Au départ, la solution envisagée était de décharger le calcul GPU sur le cloud.

Solution basée sur un GPU distant
Le principal avantage de cette approche est que le serveur dispose de la mémoire GPU requise et de la puissance de calcul pour faire fonctionner correctement le modèle. Ainsi, cette solution est disponible dès le premier jour.
Cependant, 3 facteurs ont rendu cette approche problématique :
magicplan est conçu pour fonctionner à la fois en ligne et hors ligne. Compter sur une connexion à distance pour la détection des fenêtres / portes changerait ce paradigme,
les durées de téléchargement et de téléchargement créent un décalage indésirable et imprévisible qui peut être vraiment ennuyeux pendant la session de capture en temps réel,
il y avait une incertitude quant au coût de déploiement des serveurs GPU sur le cloud pour évoluer avec la demande potentielle, une fois en production.
Néanmoins, l'approche a été très utile pour « simuler », localement sur un réseau privé et dans des conditions de capture réelles, la fiabilité du modèle et valider que l'expérience utilisateur était acceptable. Finalement, la combinaison de 3 solutions nous a permis de surmonter cette barrière critique :
Appliquer une approche de quantification pour réduire l'empreinte mémoire en abaissant la précision flottante,
Appliquer l'approche Enseignant / Étudiant à notre modèle pour le « réduire » à une taille de mémoire acceptable, tout en conservant la même précision de détection,
Déplacer une partie du modèle du cadre standard TensorFlow vers le cadre accéléré Apple CoreML pour optimiser les performances de calcul sur le smartphone.
Appliquer une approche de quantification
La quantification est l'idée de passer de l'arithmétique à virgule flottante à l'arithmétique entière, économisant ainsi en mémoire et en temps de calcul. C'était un gain rapide car TensorFlow offre des outils pour revisiter un modèle donné et effectuer la quantification très facilement.
Plus sur le sujet : Zhouhan Lin, Matthieu Courbariaux, Roland Memisevic et Yoshua Bengio. Réseaux neuronaux avec peu de multiplications. CoRR, abs/1510.03009, 2015.
Appliquer l'approche Enseignant / Étudiant
Nous devons remercier le laboratoire MILA avec lequel nous avons collaboré dans une initiative financée par IRAP car ils nous ont recommandé cette approche comme moyen de réduire le modèle et cela a fonctionné ! Il était essentiel d'avoir l'expertise de MILA pour nous guider sur cette solution, une solution que nous n'aurions probablement pas envisagée autrement.
Cette approche avancée est assez fascinante. Pour faire court, elle repose sur l'idée que les petits modèles sont moins performants en général qu'un grand modèle durant la procédure d'entraînement. Donc, afin d'avoir une bonne formation pour un petit modèle, il est utile d'avoir un grand modèle « distillant » des connaissances de ses couches internes dans certaines couches internes du petit modèle.

Implémentation Enseignant — Étudiant
Plus sur le sujet :
Adriana Romero, Nicolas Ballas, Samira Ebrahimi Kahou, Antoine Chassang, Carlo Gatta et Yoshua Bengio. Fitnets : Indices pour les réseaux profonds minces. Dans ICLR, 2015.
Passage au cadre accéléré GPU Apple CoreML
Alors que les cadres d'apprentissage profond sur PC avec accélération GPU sont assez matures, ce n'est pas le cas en ce qui concerne le portage de ces cadres sur iOS ou Android :
Les versions intégrées des principaux cadres (comme TensorFlow Mobile) en sont encore à leurs débuts et ne tirent pas pleinement parti du matériel des smartphones.
D'un autre côté, il y a Apple CoreM. CoreML est le cadre officiel d'apprentissage machine d'Apple pour iOS, optimisé pour les performances sur appareil. Malheureusement, de nos jours, il ne couvre qu'un sous-ensemble limité de nœuds de calcul implémentés dans TensorFlow.
De plus, il n'existe toujours pas de format d'interopérabilité standard permettant de porter facilement un modèle d'un cadre à un autre jusqu'à l'implémentation intégrée, même si des initiatives comme ONNX ou NNEF se frayent un chemin.
En conséquence, la seule façon d'obtenir le meilleur sur iOS est de refactoriser manuellement l'ensemble du graphe en plusieurs parties pour pouvoir facilement porter le sous-graphe pertinent vers CoreML. Après toutes ces opérations, le modèle SSD résultant a la performance du meilleur modèle R-CNN validé sur un grand GPU tout en occupant 14 Mo et en effectuant une inférence en 250 ms sur l'iPhone X. Quel exploit !
Le travail précédent a permis de concevoir et de former un modèle de détection d'objets de porte / fenêtre « suffisamment bon ». Cependant, même pour la partie d'inférence, cette architecture ne peut fonctionner que sur un puissant GPU NVIDIA. Elle est incompatible avec les ressources matérielles limitées des smartphones, tant en termes d'exigences de mémoire que de temps de traitement. C'est un énorme problème qui nous a bloqués pendant un certain temps.
L'approche à distance
Au départ, la solution envisagée était de décharger le calcul GPU sur le cloud.

Solution basée sur un GPU distant
Le principal avantage de cette approche est que le serveur dispose de la mémoire GPU requise et de la puissance de calcul pour faire fonctionner correctement le modèle. Ainsi, cette solution est disponible dès le premier jour.
Cependant, 3 facteurs ont rendu cette approche problématique :
magicplan est conçu pour fonctionner à la fois en ligne et hors ligne. Compter sur une connexion à distance pour la détection des fenêtres / portes changerait ce paradigme,
les durées de téléchargement et de téléchargement créent un décalage indésirable et imprévisible qui peut être vraiment ennuyeux pendant la session de capture en temps réel,
il y avait une incertitude quant au coût de déploiement des serveurs GPU sur le cloud pour évoluer avec la demande potentielle, une fois en production.
Néanmoins, l'approche a été très utile pour « simuler », localement sur un réseau privé et dans des conditions de capture réelles, la fiabilité du modèle et valider que l'expérience utilisateur était acceptable. Finalement, la combinaison de 3 solutions nous a permis de surmonter cette barrière critique :
Appliquer une approche de quantification pour réduire l'empreinte mémoire en abaissant la précision flottante,
Appliquer l'approche Enseignant / Étudiant à notre modèle pour le « réduire » à une taille de mémoire acceptable, tout en conservant la même précision de détection,
Déplacer une partie du modèle du cadre standard TensorFlow vers le cadre accéléré Apple CoreML pour optimiser les performances de calcul sur le smartphone.
Appliquer une approche de quantification
La quantification est l'idée de passer de l'arithmétique à virgule flottante à l'arithmétique entière, économisant ainsi en mémoire et en temps de calcul. C'était un gain rapide car TensorFlow offre des outils pour revisiter un modèle donné et effectuer la quantification très facilement.
Plus sur le sujet : Zhouhan Lin, Matthieu Courbariaux, Roland Memisevic et Yoshua Bengio. Réseaux neuronaux avec peu de multiplications. CoRR, abs/1510.03009, 2015.
Appliquer l'approche Enseignant / Étudiant
Nous devons remercier le laboratoire MILA avec lequel nous avons collaboré dans une initiative financée par IRAP car ils nous ont recommandé cette approche comme moyen de réduire le modèle et cela a fonctionné ! Il était essentiel d'avoir l'expertise de MILA pour nous guider sur cette solution, une solution que nous n'aurions probablement pas envisagée autrement.
Cette approche avancée est assez fascinante. Pour faire court, elle repose sur l'idée que les petits modèles sont moins performants en général qu'un grand modèle durant la procédure d'entraînement. Donc, afin d'avoir une bonne formation pour un petit modèle, il est utile d'avoir un grand modèle « distillant » des connaissances de ses couches internes dans certaines couches internes du petit modèle.

Implémentation Enseignant — Étudiant
Plus sur le sujet :
Adriana Romero, Nicolas Ballas, Samira Ebrahimi Kahou, Antoine Chassang, Carlo Gatta et Yoshua Bengio. Fitnets : Indices pour les réseaux profonds minces. Dans ICLR, 2015.
Passage au cadre accéléré GPU Apple CoreML
Alors que les cadres d'apprentissage profond sur PC avec accélération GPU sont assez matures, ce n'est pas le cas en ce qui concerne le portage de ces cadres sur iOS ou Android :
Les versions intégrées des principaux cadres (comme TensorFlow Mobile) en sont encore à leurs débuts et ne tirent pas pleinement parti du matériel des smartphones.
D'un autre côté, il y a Apple CoreM. CoreML est le cadre officiel d'apprentissage machine d'Apple pour iOS, optimisé pour les performances sur appareil. Malheureusement, de nos jours, il ne couvre qu'un sous-ensemble limité de nœuds de calcul implémentés dans TensorFlow.
De plus, il n'existe toujours pas de format d'interopérabilité standard permettant de porter facilement un modèle d'un cadre à un autre jusqu'à l'implémentation intégrée, même si des initiatives comme ONNX ou NNEF se frayent un chemin.
En conséquence, la seule façon d'obtenir le meilleur sur iOS est de refactoriser manuellement l'ensemble du graphe en plusieurs parties pour pouvoir facilement porter le sous-graphe pertinent vers CoreML. Après toutes ces opérations, le modèle SSD résultant a la performance du meilleur modèle R-CNN validé sur un grand GPU tout en occupant 14 Mo et en effectuant une inférence en 250 ms sur l'iPhone X. Quel exploit !
Leçons apprises
Lorsqu'il s'agit d'intégrer des modèles dans des smartphones, la réalité est que les cadres intégrés et les outils d'interopérabilité sont encore à leurs débuts, en opposition frappante avec l'expérience que nous avons eue avec le POC sur des PC alimentés par GPU.
De plus, des techniques avancées de formation en Deep Learning sont nécessaires pour obtenir de bons résultats. Vous avez besoin d'une équipe spécialisée en Deep Learning pour gérer ces procédures de formation avancées ainsi que pour jouer avec l'interopérabilité et des codes d'accélération complexes.
C'est ici qu'une collaboration avec des organisations académiques de premier plan en IA peut être décisive pour choisir les bonnes directions et options afin d'atteindre les objectifs.
Lorsqu'il s'agit d'intégrer des modèles dans des smartphones, la réalité est que les cadres intégrés et les outils d'interopérabilité sont encore à leurs débuts, en opposition frappante avec l'expérience que nous avons eue avec le POC sur des PC alimentés par GPU.
De plus, des techniques avancées de formation en Deep Learning sont nécessaires pour obtenir de bons résultats. Vous avez besoin d'une équipe spécialisée en Deep Learning pour gérer ces procédures de formation avancées ainsi que pour jouer avec l'interopérabilité et des codes d'accélération complexes.
C'est ici qu'une collaboration avec des organisations académiques de premier plan en IA peut être décisive pour choisir les bonnes directions et options afin d'atteindre les objectifs.
Conclusion
Notre parcours en Deep Learning a été une expérience incroyable mais difficile. En vérité, la règle des 80 / 20 s'applique :
il est facile d'obtenir des résultats encourageants grâce à la disponibilité d'outils de prototypage matures et de modèles prêts à l'emploi au début,
en ce qui concerne une véritable application, vous êtes beaucoup plus seul pour déployer la technologie sur un smartphone et gérer des techniques d'entraînement avancées pour produire des modèles compatibles avec les contraintes des smartphones.
Nous sommes maintenant dans la phase bêta de magicplan-AI. Cela signifie que la fonctionnalité est disponible sur magicplan 7.2 pour iOS !


Le but de cette bêta est d'améliorer l'ensemble de données d'entraînement ainsi que de mieux comprendre l'expérience utilisateur et d'identifier ce qui fonctionne et ce qui doit être changé. Il reste encore beaucoup de travail important à faire pour en faire une fonctionnalité officielle, mais nous croyons qu'éventuellement, l'IA fera partie intégrante de magicplan, tout comme la RA l'a été dans magicplan pendant les 5 dernières années.
Que ce soit par une extension de son usage (aux prises électriques ou à la détection de coins), ou en mettant en œuvre une approche d'entraînement continu des modèles, l'équipe de recherche de Sensopia a beaucoup de travaux passionnants en Deep Learning à venir !
Et à cette fin, nous recrutons !
Remerciements
Je tiens à remercier Jonathan Aigrain et Vahid Ettehadi, nos deux meilleurs ingénieurs de recherche, pour leur travail exceptionnel qui a permis à magicplan-AI de voir le jour. C'est leur réussite avant tout.
Je tiens également à remercier Sylvain Laroche du Conseil national de recherches Canada pour la confiance qu'il a toujours démontrée dans les capacités de Sensopia. Le CNRC nous a aidés à des étapes critiques de l'entreprise au fil des ans, permettant à notre petite structure de réaliser des projets ambitieux tout en atténuant les risques financiers.
Enfin, notre gratitude va à Mike Pieper (Équipe R&D et transfert technologique de MILA) pour tous les bons conseils qu'il nous a donnés. Cela a fait la différence à la fin.
Notre parcours en Deep Learning a été une expérience incroyable mais difficile. En vérité, la règle des 80 / 20 s'applique :
il est facile d'obtenir des résultats encourageants grâce à la disponibilité d'outils de prototypage matures et de modèles prêts à l'emploi au début,
en ce qui concerne une véritable application, vous êtes beaucoup plus seul pour déployer la technologie sur un smartphone et gérer des techniques d'entraînement avancées pour produire des modèles compatibles avec les contraintes des smartphones.
Nous sommes maintenant dans la phase bêta de magicplan-AI. Cela signifie que la fonctionnalité est disponible sur magicplan 7.2 pour iOS !

Le but de cette bêta est d'améliorer l'ensemble de données d'entraînement ainsi que de mieux comprendre l'expérience utilisateur et d'identifier ce qui fonctionne et ce qui doit être changé. Il reste encore beaucoup de travail important à faire pour en faire une fonctionnalité officielle, mais nous croyons qu'éventuellement, l'IA fera partie intégrante de magicplan, tout comme la RA l'a été dans magicplan pendant les 5 dernières années.
Que ce soit par une extension de son usage (aux prises électriques ou à la détection de coins), ou en mettant en œuvre une approche d'entraînement continu des modèles, l'équipe de recherche de Sensopia a beaucoup de travaux passionnants en Deep Learning à venir !
Et à cette fin, nous recrutons !
Remerciements
Je tiens à remercier Jonathan Aigrain et Vahid Ettehadi, nos deux meilleurs ingénieurs de recherche, pour leur travail exceptionnel qui a permis à magicplan-AI de voir le jour. C'est leur réussite avant tout.
Je tiens également à remercier Sylvain Laroche du Conseil national de recherches Canada pour la confiance qu'il a toujours démontrée dans les capacités de Sensopia. Le CNRC nous a aidés à des étapes critiques de l'entreprise au fil des ans, permettant à notre petite structure de réaliser des projets ambitieux tout en atténuant les risques financiers.
Enfin, notre gratitude va à Mike Pieper (Équipe R&D et transfert technologique de MILA) pour tous les bons conseils qu'il nous a donnés. Cela a fait la différence à la fin.


Sam Miller
Responsable RevOps
À l'intérieur de magicplan
4 minutes de lecture
Articles connexes



Restauration
Comment bien réaliser le mapping d'humidité (travaux de dégâts des eaux)
3 minutes de lecture



Régleur de sinistres
Xactimate®, Cotality™, QuickBooks, T&M : Quand et comment les utiliser efficacement
5 minutes de lecture



Restauration
Gérer efficacement : Comment des équipes de restauration de 2 personnes peuvent fonctionner comme des professionnels
5 minutes de lecture

© 2026 magicplan. Tous droits réservés.

© 2026 magicplan. Tous droits réservés.

© 2026 magicplan. Tous droits réservés.