Comment le plan de transformation de l'industrie d'IBM tire parti de l'IA, de la 5G et de la collaboration
55 000 projets, 30 000 développeurs, un financement de 54 millions de dollars et des clients, dont la NASA, en un peu plus de 2 ans. Edge Impulse surfe sur la vague de l’apprentissage automatique à la périphérie
Le rêve de Jan Jongboom, selon ses propres mots, était d'avoir des appareils qui comprennent vraiment ce qui se passe autour d'eux. C'était il y a dix ans, mais ce n'est qu'en 2019 qu'il a commencé à vraiment agir en conséquence. C’est à ce moment-là que Jongboom et Zach Shelby ont fondé Edge Impulse avec pour mission de permettre aux développeurs de créer la prochaine génération d’appareils intelligents.
Aujourd’hui, Edge Impulse annonce un financement de série B de 34 millions de dollars dirigé par Coatue, triplant ainsi sa valorisation boursière et ses prévisions de croissance pour 2022. Coatue rejoint les investisseurs existants, Canaan Partners, Acrew Capital, Fika Ventures, Momenta Ventures et Knollwood Investment Advisory pour couronner ce que l’équipe qualifie d'« année incroyable ».
Depuis son lancement en 2019, près de 30 000 développeurs de milliers d’entreprises ont créé près de 55 000 projets d’apprentissage automatique personnalisés à l’aide d’Edge Impulse, créant ainsi des solutions industrielles, logistiques, grand public et de santé plus intelligentes avec des clients tels qu’Oura, Polycom, Advantech et la NASA. Sa base de développeurs a été multipliée par 4, avec des revenus annuels récurrents multipliés par 3 au cours de l’année dernière.
Tout cela semble plutôt impressionnant et témoigne de la prédiction de Gartner selon laquelle « d'ici 2027, l'apprentissage automatique sous la forme d'apprentissage profond sera inclus dans plus de 65 % des cas d'utilisation en périphérie, contre moins de 10 % en 2021 ». Nous avons rencontré Jongboom pour en savoir plus sur Edge Impulse.
Rendre les appareils IoT stupides utiles
Le point de départ de Jongboom et Shelby est que les appareils IoT sont formidables, mais qu'ils sont aussi stupides. Ils peuvent enregistrer des séries temporelles à partir de différents types de capteurs, comme la température ou le son, par exemple, mais ils n’ont aucune idée de ce que cela signifie ou de la façon d’en tirer quelque chose d’utile.
Lorsque Jongboom a rencontré Shelby chez Arm, où ils travaillaient tous les deux il y a environ trois ans, ils ont commencé à parler de ce qu’ils pourraient faire pour que ces appareils comprennent vraiment le monde. Ils sont rapidement arrivés à la conclusion que l’apprentissage automatique était la solution.
Jongboom a utilisé la répression du braconnage comme exemple d’application. Si vous souhaitez utiliser un appareil IoT pour détecter la présence d’un éléphant, a-t-il déclaré, vous avez deux options. La première consiste à essayer de créer un programme qui décrit à quoi ressemble l’entrée auditive d’un éléphant. La seconde consiste à utiliser des échantillons de sons d’éléphants et à laisser un modèle d’apprentissage automatique le découvrir.
Edge Impulse est spécialisé dans l’apprentissage automatique pour les appareils IoT. Cela signifie qu’ils doivent appliquer le cycle de vie standard de l’apprentissage automatique : collecter des données - entraîner le modèle - déployer le modèle - valider le modèle - répéter. Voyons comment ils s'adaptent à chaque étape de ce processus.
Nous nous sommes demandé quel type d’appareils ou de capteurs Edge Impulse supporte pour la partie collecte de données. Jongboom a mentionné que leur écosystème de partenaires, allant des développeurs de microcontrôleurs aux siliciums super-spécialisés pour l’apprentissage automatique, prend en charge « tout ce qui se trouve sous le soleil ».
Il y a quelques facteurs à prendre en compte lorsque l’on se demande comment une entreprise fondée en 2019 aurait pu créer un tel écosystème d’ici 2021. Le fait que les fondateurs d'Edge Impulse aient eux-mêmes commencé en tant que développeurs intégrés, Shelby ayant précédemment vendu sa startup IoT à Arm, leur a donné une longueur d'avance, selon Jongboom. Ils savaient ce que les développeurs voulaient et ils savaient comment contacter les fournisseurs de matériel. De plus, ils ont rendu l’ingestion de données open source et facile à utiliser :
« C’est une très bonne histoire où nous pouvons aider les fournisseurs de silicium à se lancer sur le marché, et après nous avons du silicium pour fonctionner. Cela signifie que nous pouvons aller ensemble vers les clients et avoir une bien meilleure histoire. Ce n'est pas -- Oh, nous avons cette incroyable plate-forme d'apprentissage automatique. C'est -- nous avons cette incroyable plate-forme d'apprentissage automatique, et nous avons en fait le soutien des fournisseurs de silicium qui fonctionneront déjà sur vos appareils brownfield. C'est vraiment incroyable », a noté Jongboom.
Collecter des données, entraîner le modèle, déployer le modèle, valider le modèle, répéter
En ce qui concerne la formation des modèles d’apprentissage automatique qui fait partie du processus, Edge Impulse utilise principalement des frameworks prêts à l’emploi, tels que TensorFlow. L’idée ici est d’abstraire autant que possible, dans le but de rendre la génération de modèles aussi conviviale que possible pour les personnes qui sont les experts du domaine.
L'objectif, a déclaré Jongboom, est de donner aux experts du domaine les outils nécessaires pour collecter les données, puis analyser les anomalies, classifier ce qui se passe ou prédire l'avenir. Et il ne s'agit pas seulement de l'apprentissage automatique, mais aussi du traitement du signal, car « le traitement du signal est vraiment agréable et explicable ».
Le cheval de bataille d'Edge Impulse est TensorFlow, utilisé via Keras. Si vous avez un data scientist à bord, super, vous pouvez modifier le modèle autant que vous le souhaitez. Si ce n'est pas le cas, vous n'êtes pas obligé de le faire. Il peut donc s’agir de n’importe quoi, du low code à la liberté totale. Et oui, la référence low code signifie qu’il y a un IDE dans l’image ici -- le Studio.
Edge Impulse Studio est un IDE en ligne, et c'est également là que se déroule la partie validation du processus. Jongboom a noté que c’est vraiment important dans l’apprentissage automatique en général et encore plus dans les applications de pointe. En effet, si vous déployez quelque chose sur un appareil ou une machine, il peut être très difficile de corriger les erreurs dans les paramètres opérationnels.
Edge Impulse permet aux utilisateurs de télécharger des données réelles à utiliser pour la validation, et il peut également générer des données synthétiques. Et il leur permet également d’intervenir et d’apporter manuellement des corrections pour les faux positifs ou les faux négatifs, selon le type d’application. Parfois, il est crucial que certains événements soient identifiés, même au prix de fausses alertes, et parfois il est acceptable de manquer quelque chose.
Le but, a noté Jongboom, est de créer des applications perspicaces et d’inspirer confiance. Le fait que quelqu’un examine les données avec l’aide du modèle d’apprentissage automatique permet de voir beaucoup plus facilement les points faibles.
La dernière étape du processus, le déploiement, est actuellement quelque peu hors limites pour Edge Impulse. Edge Impulse génère le code source. Cela inclut le modèle mathématique, le code de normalisation, le code de traitement du signal, le code d’apprentissage automatique et tout le réglage post-traitement du modèle.
Pas de binaires compilés, pas de royalties non plus, a déclaré Jongboom. La façon dont l’utilisateur intègre cela dans son appareil dépend d’eux, a-t-il ajouté. Cependant, a noté Jongboom, l’écosystème joue également un rôle, et cela peut être aussi simple que deux lignes de code. Cette partie est également open source.
Edge Impulse EON : La recette secrète pour optimiser les modèles de machine learning pour la périphérie
La partie dont nous n’avons pas parlé jusqu’à présent, et qui est à la fois centrale pour Edge Impulse et non open source, est la partie TinyML. TensorFlow, ou tout autre framework d’ailleurs, peut produire des modèles qui ne sont pas adaptés au déploiement sur des appareils de périphérie en raison des contraintes imposées à ces appareils en termes de puissance et de capacités de traitement.
C'est là que l'EON (Edge Optimized Neural) d'Edge Impulse entre en jeu. Il s’agit de la technologie utilisée par Edge Impulse pour produire des modèles d’apprentissage automatique adaptés au déploiement dans des appareils contraints en périphérie. La première chose qu’il fait est de prendre en compte tous les paramètres de l’objectif de déploiement et de faire deux choses.
Tout d’abord, le tuner EON entre en jeu. Jongboom a décrit cela comme « une base de recherche très large de 1000 modèles différents que nous pourrions essayer ». Le tuner EON examine ceux qui peuvent s’adapter à l’appareil cible de déploiement, puis sélectionne celui qui offre la plus grande précision.
Ensuite, le compilateur EON compile efficacement les réseaux neuronaux vers les friches industrielles. La façon dont cela fonctionne, a déclaré Jongboom, est que le modèle d’apprentissage automatique alimente un interpréteur, qui construit un graphique et exécute l’inférence. Mais c’est un système embarqué inutile car vous devez disposer de l’interpréteur et de tous les états potentiels que l’interprète peut construire.
Le compilateur EON compile simplement le graphique en code source, puis le compile. Cela permet d’économiser entre 30 et 50 % de RAM, ce qui est beaucoup, en particulier dans les appareils Brownfield. Le compilateur est disponible à l’utilisation, et les modèles que les gens génèrent sont également open source, sous licence Apache 2.0, donc pas de royalties. Certaines personnes choisissent en fait de partager leurs modèles avec la communauté.
Edge Impulse est une plateforme de logiciel en tant que service. Les clients paient par projet et par mois ou par pipeline de données et par mois. Ils paient également pour plus de calcul, de fonctionnalités de collaboration, de transformation des données à grande échelle et d’intégration avec votre cloud pour extraire les données et les ingérer.
Edge Impulse compte actuellement une équipe de 40 personnes. L’objectif est d’utiliser ce financement de série B pour atteindre 80 au cours de l’année à venir, en mettant l’accent sur l’équipe d’ingénierie des solutions. Jongboom a déclaré qu’ils visaient également à continuer à développer la communauté et le soutien de la même manière, et à maintenir leur croissance organique.
