Le changement est constant, et l’intelligence artificielle (IA) et l’apprentissage machine (AM) sont en train de tout changer, encore une fois. Pour les développeurs qui tentent de mettre sur le marché de nouveaux produits et services qui tirent parti de l’intelligence artificielle et du blanchiment d’argent, les défis sont aggravés par le fait que le paysage technologique est encore en développement.
Contrairement au secteur traditionnel de l’embarqué, qui présente une relation linéaire entre la nécessité d’améliorer les performances de traitement et la manière dont ces performances sont utilisées, il existe une disparité entre l’intelligence artificielle et l’apprentissage machine, ainsi qu’entre les plates-formes matérielles sur lesquelles elles fonctionnent : ML est en constante évolution.
L’abandon de la pensée séquentielle
ML est susceptible d’être utilisé partout, tout comme les logiciels embarqués traditionnels sont utilisés aujourd’hui. Cependant, contrairement au code traditionnel, qui est écrit ligne par ligne selon un modèle séquentiel (même si la génération automatique est utilisée), ML sera déployé comme modèle, créé par des frameworks qui apprennent. Et comme toute forme de progéniture, vous ne pouvez jamais vraiment être sûr de ce que vous obtiendrez jusqu’à ce qu’il arrive.
Pour les développeurs, la nature prévisible des logiciels embarqués disparaîtra ou changera considérablement. Des outils sont en cours d’élaboration pour aider à prédire comment un modèle fonctionnera ou imposera certaines restrictions sur la façon dont le modèle sera formé pour se conformer à la plate-forme, mais ces outils en sont à leurs débuts et ne constituent en aucun cas une panacée. Il est probable que l’adaptation aux contraintes du système entraînera une perte de précision. La nature de ML est de fournir la précision nécessaire sur le matériel fourni. Il s’ensuit que si le matériel est capable de s’adapter, vous pouvez éviter de faire des compromis sur la précision.
La façon dont un modèle fonctionne sur une plate-forme matérielle fixe changera également. La nature prévisible des logiciels embarqués est depuis longtemps un pilier de la conception ; en effet, l’idée que les caractéristiques du code vont changer après son déploiement est un cauchemar pour les ingénieurs. Les systèmes embarqués sont développés selon des paramètres de performance, une enveloppe basée sur la puissance, le coût, la dissipation de la chaleur, la taille, le poids et un nombre quelconque d’éléments mesurables qui peuvent être échangés les uns contre les autres pour atteindre des objectifs définis. C’est essentiellement ainsi que le développement intégré a toujours été réalisé, mais ce n’est pas ainsi qu’il le sera à l’avenir.
L’évolutivité est la nouvelle norme
Au lieu de cela, les ingénieurs devront concevoir des systèmes qui offrent des performances évolutives, capables d’ajuster dynamiquement le type de ressources de traitement qu’ils fournissent en fonction de la tâche à accomplir. Depuis quelques années, les processeurs embarqués ont la possibilité de varier leur fréquence de fonctionnement et leur tension d’alimentation en fonction de la charge de travail. Essentiellement, le cœur d’un processeur peut fonctionner plus lentement lorsqu’il n’est pas occupé ; la réduction de la fréquence de l’horloge principale se traduit directement par moins de transistors allumés et éteints par seconde, ce qui économise de l’énergie. Lorsque le cœur a vraiment besoin d’être occupé, la fréquence d’horloge est mise à l’échelle, ce qui augmente le débit. Il existe une relation entre la tension d’alimentation et la fréquence d’horloge ; en réduisant les deux, la quantité de puissance conservée est amplifiée. Ce type de mise à l’échelle ne suffira pas à fournir la puissance et les performances nécessaires aux dispositifs embarqués actuellement en cours de développement pour faire fonctionner les modèles ML.