IA et stockage : les conseils de Nvidia
Dans cette interview, le patron des systèmes DGX de Nvidia partage ses conseils sur la manière de mettre en route des projets d’IA, de la curation des données à la problématique du stockage, en passant par les étapes pour choisir un modèle.
Les charges de travail liées à l’intelligence artificielle sont très différentes de celles connues précédemment dans les entreprises. Et au cours des différentes phases du travail d’IA, le profil des entrées/sorties et l’impact sur le stockage peuvent varier considérablement.
Après la phase d’entraînement, la plus intensive en matière de trafic informatique, l’IA se met au travail en déduisant des réponses d’après ce qu’elle a appris auparavant. Dans cette seconde phase, il faut tenir compte des bibliothèques fonctionnelles utilisées et de leurs caractéristiques pour dessiner l’architecture la plus optimale. Il y a notamment des exigences particulières en matière de stockage qui sont liées au référencement et aux points de contrôle (check-points).
Charlie Boyle, directeur général des systèmes DGX chez Nvidia, expose, dans l’interview ci-dessous, les principaux enjeux en matière de données pour les entreprises qui se lancent dans des projets d’IA. Il partage des conseils pratiques pour les clients qui débutent avec l’IA et pointe les particularités à prendre en compte au niveau de l’infrastructure de stockage.
Selon vos observations, quelle est la problématique la plus importante des entreprises quand elles se lancent dans un projet d’IA ?
Charlie Boyle : Le plus grand défi est de savoir quelles données sont bonnes pour votre IA, quelles données sont mauvaises pour elle, et quelles données n’ont peut-être pas d’importance.
De bonnes données fourniront de meilleures informations et des résultats plus précis. De toute évidence, qu’il s’agisse d’un chatbot ou d’autre chose, ces données fourniront la bonne réponse à l’utilisateur final. Ce que je considère comme de mauvaises données, ce sont des données qui pourraient brouiller la réponse et qui n’apportent pas de valeur ajoutée.
Il peut s’agir de données anciennes. Si je crée un chatbot pour le service client, est-il utile d’appuyer ses connaissances sur un ticket d’assistance datant d’il y a 15 ans ? Peut-être que oui, peut-être que non. C’est à vous, dans votre propre entreprise, dans votre propre domaine, de faire cette distinction.
S’il s’agit d’une question du service d’assistance datant d’il y a 15 ans, on pourrait demander si votre ligne téléphonique est connectée à votre modem. Cette question ne s’applique plus à vous.
Mais dans un contexte industriel, avec une infrastructure dans une usine, des équipements peuvent être utilisés depuis 20 ou 30 ans. Ainsi, ce ticket d’assistance pour un problème survenu il y a 15 ans, qui ne se produit qu’une fois par décennie sur cet équipement, peut vous être très utile.
Une grande partie de l’IA pour l’entreprise consiste donc à comprendre les données dont vous disposez. Lorsqu’il s’agit de se lancer dans l’IA, il est toujours plus facile de commencer avec des données que l’on estime sûres.
Si je vais créer un chatbot et que mon ensemble de données d’entraînement est constitué de tickets de problèmes informatiques des 24 derniers mois, c’est probablement très sûr. Il s’agit d’une donnée interne. Elles ont été élaborées par des experts parce que les informaticiens ont pris le problème en main et ont rédigé des notes. Il peut aussi s’agir de données d’entreprise qui ont été vérifiées, d’informations tirées de mes communiqués de presse, de mes déclarations à la SEC, par exemple, des informations dont je sais qu’elles doivent être exactes sur le plan juridique.
En tant qu’entreprise, vous devez d’abord vous demander si les 20 années de données que vous possédez peuvent servir à créer de l’information encore pertinente. Il faut savoir montrer que cela sera utile à un type d’utilisateurs. L’idée est de procéder étape par étape, en créant des hypothèses : de quoi ont besoin, l’une après l’autre, les différentes catégories d’utilisateurs ?
Il ne faut pas avoir peur d’y passer du temps. D’autant plus qu’il est assez facile à présent d’entraîner une IA en affinant les modèles existants sur vos données. Il n’est plus nécessaire d’attendre six mois pour construire un modèle fondamental tel que GPT-3 ou GPT-4. Vous pouvez utiliser un modèle standard, librement disponible, comme Llama, l’adapter à votre domaine et le faire en quelques semaines. Ou en un jour, en fonction de la taille du modèle et de votre infrastructure informatique.
Quels sont vos principaux conseils pour une entreprise qui se lance dans l’IA ?
Charlie Boyle : Tout d’abord, il existe une multitude d’applications d’IA prêtes à l’emploi auxquelles il suffit d’ajouter ses données. Nous avons un grand catalogue sur le site de Nvidia. Il existe des sites comme Hugging Face, ce genre de choses, où des utilisateurs témoignent de leur expérience sur chaque modèle qu’ils ont utilisé.
Charlie BoyleDirecteur général des systèmes DGX, Nvidia
Ce que les entreprises souhaitent le plus souvent mettre en œuvre, ce sont des chatbots. Même mes utilisateurs d’IA les plus avancés, ceux qui ont des doctorats dans ce domaine, me disent qu’il n’est pas nécessaire de coder soi-même un chatbot. Toutes les variantes de chatbots sont déjà disponibles sur les plateformes. Choisissez-en une pour commencer. Adaptez-le à vos propres besoins. Vous n’avez pas besoin d’un doctorat pour vous lancer dans l’IA.
Choisissez donc d’accompagner votre application chatbot d’un modèle standard. Sur de nombreux sites, y compris le nôtre, vous pouvez essayer le modèle standard entièrement en ligne. Vous n’avez pas besoin d’y introduire vos propres données. Vous pouvez donc tester, par exemple, ce que ce type de modèle peut faire pour vous, à quels types de questions il va permettre à votre chatbot de répondre. Vous pouvez décider si c’est utile pour votre entreprise, si cela ferait un bon chatbot pour l’IT, ou un bon chatbot pour votre service client.
Ensuite, introduisez vos propres données dans le modèle que vous avez choisi. Mais commencez par y mettre des données qui sont accessibles au public, parce qu’elles ne vous poseront pas de problème de conformité, vous ne risquerez pas de divulguer les informations confidentielles de votre entreprise. Typiquement, vous choisirez les données de votre site web public.
Une fois que vous avez expérimenté ces deux étapes, consultez des catalogues de modèles pour voir s’il existe un exemple qui correspondrait à une problématique spécifique dans votre entreprise et à laquelle vous seriez prêt à consacrer un mois ou trois d’efforts.
Concernant l’infrastructure, notamment le stockage des données, y a-t-il un paramètre à prendre plus particulièrement en compte ?
Charlie Boyle : Oui, le système des check-points lors de l’entraînement ou du fine-tuning, qui reviennent à dire qu’il faut un stockage très rapide. Une grande partie de la façon dont fonctionne l’entraînement en IA est que plusieurs nœuds de calcul accèdent au même fichier. Dans les faits, une donnée calculée doit être stockée et relue juste après, très rapidement, et pas nécessairement par le même nœud de calcul.
Si un seul nœud effectue l’entraînement, le temps de calcul sera très long, mais vous n’aurez pas de problème d’incohérence entre une écriture et une relecture. Pour réduire ce temps de calcul, vous aurez donc vocation à mettre en parallèle plusieurs nœuds de calcul. Mais, dans ce cas, si un problème arrive – un nœud tombe en panne, un câble réseau est coupé, etc. – vos calculs seront faux et il faudra les recommencer. Le check-point permet de ne pas avoir à les recommencer depuis le début.
Problème, un check-point est un dispositif qui stoppe tous les calculs en cours pour stocker un snapshot de l’état des données. En fonction de la taille de votre modèle et de vos données, cette écriture peut durer plus d’une heure. La question est donc de savoir à quelle fréquence il faut activer les check-points pour trouver le bon équilibre entre vitesse et fiabilité des calculs. Cette fréquence idéale est fonction de la rapidité de votre système de stockage.
D’autant qu’au délai d’écriture des check-points s’ajoute aussi la latence pour les mettre en route. Dans un cluster idéal, tous les nœuds terminent un traitement exactement au même moment. Dans un cluster bien réglé, ils sont à quelques secondes près. Et puis occasionnellement, sur un très grand cluster, vous pouvez avoir quelques nœuds qui, pour une raison quelconque, peuvent être un peu plus lents que d’autres. Il se peut qu’ils dérivent de plusieurs minutes.