Maison  >  Article  >  Périphériques technologiques  >  Un guide pour développer des applications d'intelligence artificielle de niveau entreprise

Un guide pour développer des applications d'intelligence artificielle de niveau entreprise

WBOY
WBOYavant
2023-11-13 14:29:011379parcourir

Si vous souhaitez approfondir le processus de développement d'applications d'IA, vous devez d'abord comprendre en quoi ces projets diffèrent des projets de développement d'applications classiques. En matière d’intelligence artificielle, chaque problème nécessite une solution unique, même si les entreprises ont déjà développé des projets similaires. D'une part, il existe différents modèles pré-entraînés et méthodes éprouvées pour créer une intelligence artificielle. De plus, l’IA est unique car elle repose sur différentes données et analyses de rentabilisation. Pour cette raison, les ingénieurs en IA commencent généralement leur voyage en approfondissant l'analyse de rentabilisation et les données disponibles, en explorant les méthodes et les modèles existants.

Un guide pour développer des applications dintelligence artificielle de niveau entreprise

En raison de ces aspects, la création de projets d'IA est plus proche de la recherche scientifique que du développement logiciel classique. . Voici pourquoi et comment comprendre cette réalité peut aider les organisations à se préparer à mettre en œuvre ces processus et ces budgets pour leurs projets.

Classification des projets d'intelligence artificielle

Les projets d'intelligence artificielle peuvent être divisés en quatre catégories :

  • Projets simples : les exemples typiques incluent des modèles prêts à la production qui peuvent être mis en œuvre en appliquant des ensembles de données publiques et des technologies bien connues. Par exemple, ImageNet convient aux projets visant à classer des images.
  • Projets technologiques réputés : dans ces cas, nous connaissons la technologie appropriée requise pour le projet, mais nous devons quand même travailler dur pour collecter et préparer les données.
  • Projets qui nécessitent une recherche approfondie : en principe, nous pouvons comprendre comment fonctionne le modèle, comment appliquer les données existantes ou quelles mesures doivent être prises pour entraîner le modèle à accomplir une tâche spécifique. Aucune prédiction ne peut être faite sur la seule base de l’expérience, car nous ne savons pas comment le modèle se comporte. Le processus de démarrage nécessite des tests et un traitement de cas supplémentaires.
  • Les projets de production nécessitent des efforts supplémentaires : ni les données ni les modèles de cet ensemble de cas n'ont été pleinement testés dans la pratique.

Pourquoi les projets d'intelligence artificielle sont-ils si imprévisibles ?

L'environnement de développement de projets d'intelligence artificielle peut être visualisé comme une pyramide à trois niveaux composée de technologies et de solutions prêtes à l'emploi.

La couche supérieure contient des produits prêts à l'emploi adaptés à l'utilisation de l'intelligence artificielle, tels que des bibliothèques tierces ou des solutions d'entreprise éprouvées. Par exemple, les solutions de Google pour détecter la fraude aux chèques, la reconnaissance faciale et la détection d’objets en sont de bons exemples.

Le deuxième niveau comprend la description de nouveaux domaines de défis commerciaux. Nous disposons peut-être du bon modèle pour résoudre le défi, mais la technique doit être légèrement modifiée ou adaptée pour prouver son efficacité lors de la mise en œuvre. Le modèle doit être spécialisé pour son cas d’utilisation spécifique, ce qui a conduit à l’émergence de nouvelles niches dans l’utilisation de l’intelligence artificielle.

La recherche scientifique constitue le niveau inférieur. Les études scientifiques ne sont pas prêtes à être produites car on ne sait pas quels résultats les modèles montreront. Il s’agit d’un aspect profond des systèmes d’intelligence artificielle, même si des efforts peuvent être faits dans ce sens.

Développement d'applications IA et applications régulières

Il n'y a pas de différence fondamentale entre le développement d'applications IA et d'applications non IA, et les deux nécessitent une preuve de concept (PoC) et une étape de démonstration. La phase d'interface utilisateur (UI)/expérience utilisateur (UX) commence une fois la démonstration et les composants d'IA prêts.

Lorsqu'une société de développement d'applications se voit confier la tâche de créer une application basée sur l'IA, la première chose à faire est de demander au client ses besoins. et données : l'IA est-elle au cœur du produit ou un module complémentaire ? La réponse à cette question affectera la complexité de la solution

Le client n'exigera peut-être pas la solution la plus précise et la plus moderne. Il est donc important de déterminer si le manque de composants d’IA entrave le développement de produits matures et s’il est utile de créer un produit sans composants d’IA. Une fois cela réglé, nous pouvons passer à autre chose.

Au départ, les projets d'IA peuvent être divisés en deux sous-catégories :

  • Applications créées à partir de zéro
  • Composants d'IA intégrés dans des applications existantes

Création d'applications d'IA à partir de zéro

Donc, si vous décidez de développer une nouvelle application basée sur l'IA application à partir de zéro. Pour cette raison, il n’existe aucune infrastructure pour intégrer les applications d’IA. Voici la question la plus importante : le développement de fonctionnalités d'IA peut-il être géré comme des fonctionnalités d'application habituelles telles que la connexion/déconnexion ou l'envoi/réception de messages et de photos

À première vue, l'IA est simplement quelque chose avec lequel l'utilisateur peut interagir ? Par exemple, l’IA peut être utilisée pour détecter si un message doit être considéré comme du spam, identifier les sourires sur les visages sur les photos et permettre des connexions basées sur l’IA à l’aide de la reconnaissance faciale et vocale. Cependant, le développement de solutions d’IA est encore jeune et basé sur la recherche. Cela a conduit à réaliser que la fonctionnalité IA d'une application est la partie la plus risquée de l'ensemble du projet, en particulier lorsque les objectifs commerciaux nécessitent de proposer des solutions d'IA innovantes et complexes.

Par exemple, si vous souhaitez créer une application de chat avec un écran de connexion/déconnexion, un système de messagerie et une fonctionnalité d'appel vidéo. La fonction d'appel vidéo devrait prendre en charge des filtres similaires à Snapchat. Voici un tableau des risques et un aperçu des différentes complexités fonctionnelles de l'application :

Fonctions de l'application Chat

Il est évident que du point de vue d'une stratégie de minimisation des risques, il est déraisonnable de démarrer le processus de développement avec les tâches avec le complexité et risque les plus faibles. Vous vous demandez peut-être pourquoi les filtres de type Snapchat sont les plus risqués ? Voici une réponse simple : pour créer un filtre de type Snapchat, de nombreuses technologies de pointe, telles que la réalité augmentée (AR) et l'apprentissage profond, doivent être impliquées pour les mettre en place. mélangez-les de manière appropriée et placez-les sur un téléphone mobile doté de faibles ressources informatiques. Pour ce faire, vous devez résoudre de nombreuses tâches d’ingénierie extraordinaires.

Intégrer des composants d'IA dans des applications existantes

L'intégration de capacités d'IA dans des projets existants est un peu différente de la création d'une application d'IA à partir de zéro. Premièrement, il est courant que les projets existants que nous devons compléter avec l’IA soient développés sans aucune architecture prenant en compte les capacités de l’IA. Étant donné que les capacités d’IA font partie de certains pipelines de données, nous concluons que le développement de capacités d’IA nécessitera certainement au moins quelques modifications de l’architecture des applications. Du point de vue de l'intelligence artificielle, les applications existantes peuvent être divisées dans les catégories suivantes :

Projets basés sur des bases de données :

  • Traitement de texte
  • Systèmes de recommandation
  • Chatbots
  • Prévision de séries chronologiques

Projet non basé sur une base de données :

  • Traitement d'image/vidéo
  • Traitement de la voix/du son

Principales étapes du développement d'applications d'intelligence artificielle

Voici les cinq étapes d'un processus typique de développement d'applications d'intelligence artificielle. La première est la phase de définition du problème. A ce stade, l’équipe de développement doit clarifier les objectifs de l’application et les problèmes qu’elle souhaite résoudre. Ils discutent avec les clients ou les parties prenantes concernées pour déterminer les besoins et les attentes. Vient ensuite la phase de collecte et de préparation des données. À ce stade, l’équipe collectera de grandes quantités de données, qui seront utilisées pour entraîner et optimiser l’algorithme d’intelligence artificielle. La qualité et la diversité des données sont essentielles à la performance des applications. La troisième étape est la sélection et la formation du modèle. À ce stade, l’équipe sélectionne un modèle d’IA approprié et l’entraîne à l’aide des données précédemment collectées. L'objectif de la formation est de permettre au modèle de prédire et de gérer avec précision diverses situations. Vient ensuite la phase de test et d’évaluation du modèle. À ce stade, l'équipe testera le modèle formé pour garantir ses performances dans différentes situations. Ils utilisent des ensembles de données de test pour évaluer la précision et les performances du modèle. Vient enfin la phase de déploiement et de maintenance. À ce stade, l'équipe déploiera le modèle formé dans l'environnement d'application réel et continuera à surveiller et à maintenir les performances du modèle. Il faudra peut-être les adapter et les mettre à jour pour s’adapter à l’évolution des besoins et des données. L'ordre de ces phases peut varier et le processus de développement exact variera d'un projet à l'autre. Cependant, ces étapes donnent un aperçu d'un processus typique de développement d'applications d'IA

1. Analyse commerciale

Dans la première étape, nous obtenons la contribution ou la vision du client qui peut être utilisée comme document avec un aperçu de l'idée globale. Ici, nous commençons le processus d’analyse commerciale. Pour préparer la contribution, nous devons considérer les problèmes commerciaux. Les entreprises utilisent des problèmes commerciaux pour résoudre les sociétés de développement d'applications, dont le travail consiste à trouver l'intersection des capacités commerciales et de l'intelligence artificielle.

Dans des scénarios tels que les restaurants ou les chaînes d'épicerie, les propriétaires d'entreprise manifestent un vif intérêt pour la réduction du gaspillage alimentaire et l'atteinte de l'équilibre en analysant les achats et les ventes. Pour les ingénieurs en intelligence artificielle, cette tâche se transforme en une tâche de prédiction de séries chronologiques ou d'analyse de relations, dont la solution peut aider les gens à prédire des nombres spécifiques

2 Identification des problèmes d'apprentissage automatique

Dans l'étape suivante, nous devons déterminer le besoin, discuter et résoudre. problèmes d’apprentissage automatique (ML). Cette étape doit prendre en compte les capacités techniques des sous-domaines de l'intelligence artificielle, tels que la vision par ordinateur, le traitement du langage naturel, la reconnaissance vocale, l'intelligence artificielle prédictive et générative, etc.

Collecte de données

Les données sont le carburant de l'apprentissage automatique et l'application de l'intelligence artificielle Étapes clés du développement d'un programme. Il existe deux principaux types de données : spécifiques et générales. Les données générales sont disponibles sur des sites Web de données open source. Il nous suffit donc de restreindre le public cible et de nous concentrer sur une région, un sexe, un âge ou d'autres facteurs clés spécifiques. De grandes quantités de données communes peuvent rationaliser le processus.

Ainsi, si un client dispose d'une application basée sur l'activité de suivi de la condition physique, nous pouvons appliquer les données et transférer l'apprentissage pour démarrer la mise en œuvre le plus rapidement possible. Il en va de même pour la classification d’images qui peut partir d’une grande collection.

Le contenu qui doit être réécrit est : (1) Développer AIPoC pour de nouveaux projets

La phase de preuve de concept (PoC) d'un nouveau projet d'intelligence artificielle doit être centrée sur l'IA. Qu'est-ce que cela signifie ? Pour satisfaire la stratégie de minimisation des risques, nous devons commencer par la partie la plus risquée du projet, la fonctionnalité IA, et si possible, ne toucher à aucune autre fonctionnalité du projet. La phase de preuve de concept (PoC) peut être répétée plusieurs fois pour obtenir des résultats appropriés. Après avoir obtenu des résultats satisfaisants, vous êtes libre de passer à la phase MVP/Industrialisation pour développer toutes les fonctionnalités restantes de l'application.

(2) Développer AIPoC pour les projets existants

Afin de permettre aux utilisateurs finaux d'utiliser les capacités d'intelligence artificielle, cette fonctionnalité doit d'abord être développée puis intégrée aux applications existantes. En d'autres termes, la base de code, l'architecture et l'infrastructure de l'application doivent être prises en compte

Réécrit comme : L’aspect le plus attrayant de l’intelligence artificielle est qu’elle peut être recherchée, développée et testée sans toucher à l’application principale. Cela a donné naissance à l’idée qu’il était possible de lancer une preuve de concept (PoC) d’intelligence artificielle sans risquer l’application principale. C'est en fait le cœur de votre stratégie de minimisation des risques.

Voici les trois étapes à suivre :

(1) Collectez les données de votre application existante en :

  • Faites un dump de la base de données
  • Collectez des images/échantillons vidéo/audio
  • Étiquetez les données collectées ou obtenez des ensembles de données pertinents à partir de bibliothèques open source

Collectez des données avant de créer un environnement d'IA isolé

  • Formation
  • Tests
  • Analyse

(3) Déploiement de composants d'IA entraînés avec succès :

  • Modifications pour préparer l'architecture actuelle de l'application
  • Adaptation de la base de code aux nouvelles fonctionnalités de l'IA

Selon le type de projet, les ajustements de la base de code peuvent entraîner :

  • Des changements dans l'architecture de la base de données pour en simplifier et accélérer l'accès par les modules d'intelligence artificielle
  • Changements dans la topologie des microservices de traitement vidéo/audio
  • Changements dans la configuration minimale requise pour les applications mobiles

4. Estimation de l'étape PoC

Les propriétaires d'entreprise fournissent souvent des logiciels. Les fournisseurs posent des questions sur le budget, le calendrier et les efforts qui peuvent être nécessaires lors de la réalisation une phase de preuve de concept (PoC). Comme mentionné ci-dessus, les projets d’IA sont très imprévisibles par rapport aux processus de développement classiques. En effet, les types de tâches, les ensembles de données, les méthodes et les techniques sont tous très variables. Tous ces facteurs expliquent pourquoi l’estimation de projets hypothétiques est une tâche plutôt difficile. Néanmoins, nous présentons une classification possible des projets d'IA mentionnés ci-dessus en fonction de leur complexité

5. Nouvelle itération ou production

Après la première preuve de concept (PoC), la prochaine étape peut être une nouvelle ronde de preuve de concept ( PoC) et d'autres améliorations ou déploiements. Créer une nouvelle preuve de concept (PoC) signifie ajouter des données, travailler sur des cas, effectuer une analyse des erreurs, etc. Le nombre d'itérations est conditionnel et dépend du projet spécifique

Tout projet d'intelligence artificielle est directement lié au risque. Il peut y avoir des risques liés à l'adéquation des données, ainsi que des risques algorithmiques ou de mise en œuvre. Pour réduire les risques, il est sage de commencer le développement de produits uniquement lorsque la précision du composant IA répond aux objectifs et aux attentes de l'entreprise

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer