Comprendre les considérations relatives aux ingénieurs en IA

Effectué

Un ingénieur logiciel

De plus en plus, les solutions logicielles incluent des fonctionnalités d’IA, les ingénieurs logiciels doivent donc savoir comment intégrer ces fonctionnalités à leurs applications et services.

Les progrès accomplis en matière de Machine Learning, ainsi que la disponibilité accrue de grands volumes de données et de calcul performant pour les traiter et former des modèles prédictifs ont conduit à la disponibilité des services logiciels préemballés encapsulant les fonctionnalités d’IA. Les ingénieurs logiciels peuvent tirer profit de ces services afin de créer des applications et des agents qui utilisent la fonctionnalité d’IA sous-jacente, en les utilisant comme blocs de construction pour créer des solutions intelligentes.

Cela veut dire que les ingénieurs logiciels peuvent appliquer leurs compétences existantes à la programmation, aux tests, à l’utilisation de systèmes de contrôle de code source et à l’empaquetage d’applications pour le déploiement, sans être obligés de devenir des scientifiques des données ou des experts en Machine Learning.

Toutefois, pour tirer pleinement parti des opportunités de l’IA, les ingénieurs logiciels doivent posséder une compréhension conceptuelle des principes clés de l’IA et du Machine Learning.

Formation et inférence du modèle

De nombreux systèmes d’IA s’appuient sur des modèles prédictifs qui doivent être formés avec des échantillons de données. Le processus de formation analyse les données et détermine les relations entre les fonctionnalités des données (les valeurs de données qui sont généralement présentes dans les nouvelles observations) et l’étiquette (la valeur que le modèle est formé à prédire).

Une fois le modèle formé, vous pouvez envoyer de nouvelles données incluant des valeurs de fonctionnalités connues et faire en sorte que le modèle prédise l’étiquette la plus probable. L’utilisation du modèle pour faire des prédictions est appelée « inférence ».

Un grand nombre des services et infrastructures que les ingénieurs logiciels peuvent utiliser pour générer des solutions basées sur l’IA requièrent un processus de développement qui implique la formation d’un modèle à partir de données existantes, avant qu’il ne puisse être utilisé pour déduire de nouvelles valeurs dans une application.

Scores de probabilité et indices de confiance

Un modèle Machine Learning bien formé peut être précis, mais aucun modèle prédictif n’est infaillible. Les prédictions effectuées par des modèles Machine Learning sont basées sur la probabilité et, bien que les ingénieurs logiciels n’aient pas besoin d’une compréhension mathématique approfondie de la théorie des probabilités, il est important de comprendre que les prédictions reflètent la probabilité statistique, et non la vérité absolue. Dans la plupart des cas, les prédictions ont un indice de confiance associé reflétant la probabilité sur laquelle la prédiction est établie. Les développeurs de logiciels doivent utiliser des valeurs d’indice de confiance pour évaluer les prédictions et appliquer des seuils appropriés afin d’optimiser la fiabilité des applications et réduire le risque de prédictions pouvant être basées sur des probabilités marginales.

IA responsable et éthique

Il est important pour les ingénieurs logiciels de prendre en compte l’impact de leur logiciel sur les utilisateurs et sur la société de manière générale, notamment les considérations éthiques relatives à son utilisation. Lorsque l’application est imprégnée d’intelligence artificielle, ces considérations sont particulièrement importantes en raison de la nature du fonctionnement des systèmes d’IA et de la manière dont ils prennent des décisions. Elles sont souvent basées sur des modèles probabilistes, qui sont à leur tour dépendants des données avec lesquelles ils ont été formés.

La nature de type humain des solutions d’IA est un avantage significatif pour rendre les applications conviviales, mais elle peut également inciter les utilisateurs à accorder une grande confiance en la capacité de l’application à prendre des décisions correctes. Le risque de nuire à des personnes ou des groupes en raison de prédictions incorrectes ou d’une mauvaise utilisation des fonctionnalités d’IA est un problème majeur et les ingénieurs logiciels qui créent des solutions basées sur l’IA doivent être prudents pour limiter les risques et garantir l’impartialité, la fiabilité et la protection adéquate contre les atteintes ou la discrimination.