L'intelligence artificielle générative a le potentiel d'accroître considérablement la productivité humaine. Cependant, peu d'organisations disposent actuellement de l'expertise et des ressources nécessaires pour développer et former des modèles fondamentaux essentiels depuis le début. Les défis sont double : d'une part, la collecte de données d'entraînement est de plus en plus difficile en raison des droits de propriété intellectuelle stricts détenus par les propriétaires de contenu. D'autre part, les ressources financières nécessaires à la formation peuvent être prohibitivement coûteuses. Néanmoins, les avantages sociétaux de rendre les technologies d'IA générative largement accessibles sont considérables.
Alors, comment les petites entreprises ou les développeurs individuels peuvent-ils intégrer l'IA générative dans leurs applications ? La solution réside dans la création et le déploiement de versions personnalisées des modèles fondamentaux existants. Étant donné l'investissement considérable nécessaire pour développer de nouveaux modèles d'IA générative, ceux-ci doivent être suffisamment polyvalents pour s'adapter à divers cas d'utilisation, à l'instar des nombreuses façons dont les modèles basés sur GPT sont actuellement exploités. Cependant, un modèle à usage général peut ne pas répondre adéquatement aux besoins spécifiques de différents domaines. L'utilisation d'un grand modèle généraliste pour une application de niche peut également entraîner une consommation inutile de ressources informatiques, de temps et d'énergie.
Ainsi, la plupart des entreprises et des développeurs sont mieux servis en commençant par un grand modèle d'IA générative comme point de départ, en l'adaptant à leurs besoins spécifiques avec beaucoup moins d'efforts de développement. Cette approche offre également une flexibilité d'infrastructure en utilisant des CPU ou des accélérateurs IA disponibles, contournant ainsi les problèmes liés aux pénuries de GPU. L'essentiel est de se concentrer sur le cas d'utilisation spécifique, en réduisant la portée du projet tout en optimisant la flexibilité grâce à des logiciels ouverts basés sur des normes et du matériel largement disponible.
Adopter l'approche du cas d'utilisation pour le développement d'applications IA
Dans le développement de logiciels, un cas d'utilisation décrit les caractéristiques de l'utilisateur cible, le problème à résoudre et la manière dont l'application y parviendra. Cette définition détermine les exigences du produit, influence l'architecture logicielle et fournit une feuille de route pour le cycle de vie du produit. Plus important encore, elle clarifie ce qui dépasse le cadre du projet.
Pour les projets d'IA générative, établir un cas d'utilisation peut réduire la taille du modèle, les besoins computationnels et la consommation d'énergie, tout en améliorant la précision grâce à une concentration sur un ensemble de données spécifique. Cette approche ciblée conduit à des efforts et à des coûts de développement réduits.
Les facteurs définissant un cas d'utilisation pour l'IA générative peuvent varier selon le projet, mais plusieurs questions directrices peuvent aider :
- Exigences en données : Quel type et quelle quantité de données d'entraînement sont nécessaires et disponibles ? Les données sont-elles structurées (entrepôt de données) ou non structurées (lac de données) ? Quelles restrictions s'appliquent ? Comment l'application va-t-elle gérer les données : par traitement par lots ou en streaming ? Quelle est la fréquence des mises à jour du modèle ? Former des modèles de langage de grande taille (LLMs) de zéro prend du temps ; si des connaissances en temps réel sont vitales pour votre application (par exemple, en santé), des approches alternatives peuvent être nécessaires pour garantir des données à jour.
- Exigences du modèle : Des considérations telles que la taille du modèle, sa performance et la transparence des résultats sont cruciales lors du choix du bon modèle. La performance des LLMs peut aller de milliards à des trillions de paramètres—le modèle Llama 2 de Meta propose des versions de 7 à 70 milliards de paramètres, tandis que le GPT-4 d'OpenAI afficherait 1,76 trillion de paramètres. Les modèles plus grands offrent généralement de meilleures performances, mais des modèles plus petits peuvent mieux correspondre à vos besoins. Les modèles ouverts permettent une personnalisation plus approfondie, tandis que les modèles fermés offrent des solutions prêtes à l'emploi avec accès API. Adapter un modèle à vos données peut être important pour des applications nécessitant de la traçabilité, telles que la génération de résumés d'états financiers pour les investisseurs, alors qu'un modèle prêt à l'emploi peut suffire pour des tâches créatives comme la génération de textes publicitaires.
- Exigences de l'application : Identifiez les normes nécessaires en termes de précision, de latence, de confidentialité et de sécurité. Combien d'utilisateurs simultanés doit-elle prendre en charge ? Comment les utilisateurs interagiront-ils avec l'application ? Par exemple, que votre modèle fonctionne sur un appareil edge à faible latence ou dans un environnement cloud à haute capacité influencera considérablement les décisions de mise en œuvre.
- Exigences informatiques : Une fois que les facteurs ci-dessus sont clarifiés, établissez les ressources informatiques nécessaires. Avez-vous besoin de paralléliser le traitement des données à l'aide de Modin* ? Vos besoins en ajustement et en inférence justifient-ils une configuration hybride cloud-edge ? Même si vous avez le talent et les données pour développer un modèle d'IA générative à partir de zéro, évaluez si votre budget peut soutenir la refonte nécessaire de l'infrastructure informatique.
Ces considérations guideront les discussions pour définir et cerner les exigences de votre projet. Les aspects financiers—concernant l'ingénierie des données, les frais de développement initiaux, et le modèle d'affaires soutenant les coûts d'inférence—dictent également les stratégies pour les données, la formation et le déploiement.
Comment les technologies d'IA générative d'Intel peuvent vous aider
Intel propose des solutions matérielles d'IA hétérogènes adaptées à divers besoins informatiques. Pour maximiser le potentiel de votre matériel, Intel fournit des versions optimisées d'outils d'analyse de données populaires et d'outils d'IA de bout en bout. Récemment, Intel a introduit un modèle optimisé, le modèle de 7 milliards de paramètres classé n°1 sur le classement ouvert des LLMs de Hugging Face (en date de novembre 2023). Ces ressources, ainsi que celles de l'écosystème des développeurs IA d'Intel, peuvent répondre aux exigences d'exactitude, de latence et de sécurité de vos applications. Commencez avec des centaines de modèles pré-entraînés disponibles sur Hugging Face ou GitHub, optimisés pour le matériel Intel. Vous pouvez prétraiter des données à l'aide d'outils Intel comme Modin, ajuster des modèles fondamentaux à l'aide d'outils tels que Intel® Extension for Transformers ou Hugging Face Optimum, et automatiser le réglage des modèles avec SigOpt, le tout sur la base d'optimisations contribuant à des frameworks IA open-source tels que TensorFlow, PyTorch et DeepSpeed.
Exemples de cas d'utilisation d'IA générative
1. Service Client : Cas d'utilisation de chatbot
Les chatbots basés sur des LLM améliorent l'efficacité du service en fournissant des réponses immédiates aux questions courantes, permettant aux représentants de traiter des problèmes plus complexes. Les LLM à usage général peuvent converser dans diverses langues mais peuvent manquer de connaissances spécifiques à l'entreprise ou "halluciner" des informations avec assurance, alors qu'elles n'ont pas de fondement. Le fine-tuning met à jour le modèle de manière incrémentielle, tandis que des méthodes de récupération, telles que la génération augmentée par récupération (RAG), vont chercher des données pertinentes dans une base de données externe construite à partir de documents spécifiques à l'entreprise. Les deux approches produisent des réponses spécifiques au contexte et peuvent utiliser des CPU disponibles comme les processeurs Intel® Xeon® Scalable.
2. Vente au détail : Cas d'utilisation d'essai virtuel
L'IA générative peut offrir des expériences de shopping en ligne immersives, telles que des essais virtuels, augmentant la satisfaction client et optimisant l'efficacité de la chaîne d'approvisionnement. Cette application repose sur la génération d'images et doit se concentrer sur la gamme de vêtements spécifique. L'ajustement des modèles d'images comme Stable Diffusion peut nécessiter un nombre limité d'images traitées sur des plateformes CPU. Pour protéger la confidentialité des clients, les images doivent être stockées localement, éventuellement sur des appareils des consommateurs.
3. Santé : Cas d'utilisation de surveillance des patients
Combiner l'IA générative avec la surveillance en temps réel des patients peut générer des rapports et des plans d'action personnalisés. Ce cas d'utilisation nécessite une IA multimodale pour traiter divers types d'entrée et générer des rapports. Former des modèles en santé soulève des préoccupations en matière de confidentialité, nécessitant que les données des patients restent avec les prestataires. L'apprentissage fédéré permet au modèle de s'entraîner localement sans transférer de données sensibles. Bien que l'inférence locale soit idéale, des solutions hybrides impliquant à la fois des composants edge et cloud peuvent être nécessaires, nécessitant potentiellement des techniques d'optimisation.
Comment commencer
Commencez par définir votre cas d'utilisation en utilisant les questions directrices ci-dessus pour clarifier les besoins en données, en calcul, en modèle et en application. Ensuite, explorez les modèles fondamentaux pertinents, les implémentations de référence et les ressources communautaires disponibles dans l'écosystème de l'IA. Identifiez et utilisez les techniques de fine-tuning et d'optimisation les mieux adaptées à votre projet.
Réaliser les besoins en calcul peut prendre du temps, et ils évoluent souvent tout au long du projet. Intel® Developer Cloud propose diverses CPU, GPU et accélérateurs IA pour vous accompagner dès le début de votre développement.
Enfin, pour faciliter la transition entre différentes plateformes de calcul lors du développement et du déploiement, choisissez des outils et des frameworks IA qui soient ouverts, basés sur des normes, et capables de donner des performances optimales sur divers appareils sans nécessiter d'importantes réécritures de code.