IA, Cloud ou infra-physique : un tour d’horizon

IA, CLOUD OU INFRA-PHYSIQUE : UN TOUR D'HORIZON

Que ce soit pour faire de l’Intelligence Artificielle ou un autre type d’application, on peut distinguer deux grands types d’approches : l’infrastructure physique et le cloud, souvent public. Avant même de discuter de l’influence de l’IA sur le choix de plateforme, il est important de comprendre les particularités de ces deux approches.

Infrastructure physique  

L’infrastructure physique consiste à héberger la plateforme dans les locaux de l’entreprise « on-premise », ou dans un datacenter, en gardant le contrôle total de l’achat et la maintenance des machines.

Une infrastructure physique locale vous permet d’avoir une main mise sur vos ressources, de contrôler vos coûts. Que vous optiez pour une installation dans les locaux de l’entreprise ou une installation dans un datacenter, vous choisirez et installerez les machines nécessaires pour répondre à vos besoins.

Ce choix offre aussi bien une grande flexibilité, qu’un contrôle total sur la sécurité de vos données. Vous êtes à la fois le garant et le responsable de votre sécurité informatique.

Faire ce choix s’accompagne, néanmoins, de coûts non négligeables. L’acquisition du matériel peut être un frein pour des structures de petite taille, de taille moyenne ou intermédiaire.  Autre facteur de coût à prendre en compte, réaliser et maintenir une infrastructure physique on-premise demande des compétences parfois difficiles à trouver sur le marché du travail actuel. En effet, vous allez avoir besoin d’au moins un(e) architecte système et d’un(e) admin système pour imaginer, mettre en place et maintenir le réseau de machines dont vous avez besoin. Il ne faut pas oublier qu’il faut aussi également mettre en place un système de monitoring pour surveiller la santé de l’infrastructure. Cela est impératif pour être réactif et minimiser les temps de panne.

Il est très difficile de garantir une fiabilité à toute épreuve. En effet, il faut idéalement mettre en place une redondance géographique pour assurer le service en cas de coupure d’électricité ou de réseau.

Lorsque vous connectez vos machines en cluster configuré pour allouer des ressources de manière flexible à vos différentes applications, on parle alors de cloud privé. Cette solution permet plus de flexibilité et d’extensibilité (ou scalabilité). Cette approche utilise les mêmes technologies de virtualisation et d’orchestration que les plateformes de cloud public.

Cloud public  

Le cloud public est devenu incontournable dans le paysage des DSI. Aujourd’hui, des acteurs venus principalement de l’Amérique du Nord, et maintenant d’Asie, proposent des solutions adoptées par bon nombre de structures.  Leur promesse : constituer votre cluster à réception d’un formulaire et sur un simple clic, puis libérer les ressources quand les traitements ont été effectués.

Attention, même si les fournisseurs de cloud public présentent leur solution comme étant clef en main, il faut faire preuve de prudence. L’utilisation du cloud public suppose également une analyse des ressources pour effectuer l’installation, la configuration des serveurs utilisés, et de ce fait des compétences en architecture et en administration de systèmes.

Les fournisseurs de cloud public utilisent la virtualisation pour partager les ressources entre leurs utilisateurs. Cela maximise la souplesse et l’évolutivité de cette solution, mais cela n’est pas forcément adapté à des cas d’usage IA.

Les besoins en ressources de l’IA

Lorsqu’on fait de l’IA, les besoins en ressources sont très différents d’une utilisation classique des infrastructures. L’apprentissage, qu’il soit du Machine Learning ou du Deep Learning, se fait grâce à des traitements gourmands en stockage, GPU et CPU, et sur des temps longs.

Par exemple, entraîner un réseau de neurones peut prendre trois semaines, en utilisant à 100 % le CPU et la GPU d’une machine ultra-moderne, sur des centaines de Go de données d’entraînement.

Stockage

Parlons d’abord du stockage des données. Les données d’apprentissage et les données de test utiles au Machine Learning doivent constituer un volume important et nous font accéder au Big Data.

Lorsqu’on fait du Big Data, la question des coûts en stockage de données devient primordiale.

Si les disques durs sont de moins en moins chers pour des capacités de plus en plus grandes, cela est un point positif pour les infrastructures physique. En revanche, sur le cloud public, ce n’est pas aussi simple.

Il est tout à fait possible d’acheter du stockage peu cher dans un cloud public. Cependant, ce type de stockage servira plutôt à stocker de la donnée relativement froide, soit de la donnée rarement lue ou écrite. Lorsque vous avez besoin de stockage pour des données qui sont utilisées intensivement par des traitements, le coût de stockage devient rapidement conséquent.  Les fournisseurs de cloud public facturent d’une part le stockage à proprement parler et, d’autre part, les entrées/sorties : l’écriture et la lecture des données. À titre d’exemple, 150 GB de données accédées fréquemment par vos traitements sera facturé à 27 000 dollars par mois chez un des grands fournisseurs de cloud public nord-américain.

Temps de traitement

Autre élément à considérer quand on parle de Machine Learning : le temps de traitements en CPU et GPU.

Dans une démarche de développement et d’exploration de données, le cloud public représente un réel avantage car seul le temps de traitement réellement utilisé est facturé ! Sur des traitements lourds de type création de modèles de Machine Learning, le facteur temps de traitement est important en raison de sa durée. Des traitements peuvent nécessiter des jours, des semaines voire des mois. Par exemple, il faut 4 à 6 semaines pour entraîner AlphaGo, l’IA championne du monde de Go.

Dans ces cas de temps de traitement allongés, le cloud public n’apporte plus d’économies, mais un surcoût. On perd l’un des intérêts majeurs du cloud public : le fait de ne payer que le temps réel de calcul. Le pricing des fournisseurs de cloud public part du principe que vous n’utiliserez réellement la capacité de calcul de votre cluster qu’une fraction du temps. Si ce n’est pas votre cas, il faut être conscient que des machines dédiées peuvent être moins coûteuses.

En guise d’exemple, un Datascientist seul, effectuant une mission d’exploration de données aura tout intérêt à utiliser du temps de calcul sur le cloud. Cependant, les besoins en ressources d’une équipe de 5 Datascientists qui industrialisent leurs modèles de Machine Learning peuvent être plus coûteux en cloud public qu’en infrastructure physique.

Et s’il existait une alternative à ces deux modèles ?

Des structures proposent des solutions entre les fournisseurs d’infrastructure physique et le cloud public : le cloud privé.

Opter pour un cloud privé permet de ne pas s’enquérir de l’acquisition du matériel, se charger des coûts annexes tels que la maintenance, la sécurité de votre environnement. On parle également de cloud semi-privé : l’infrastructure est hébergée chez un fournisseur et non chez l’entreprise proposant le service.

Les avantages du cloud public vous sont assurés :

  • Pas besoin d’acheter du matériel ;
  • Maintenance assurée par le fournisseur de services;
  • Garantie d’une haute fiabilité.

Vous bénéficiez également des avantages de l’infrastructure physique :

  • Flexibilité de personnaliser votre environnement cloud pour répondre spécifiquement à vos besoins métier ;
  • Contrôle total sur l’administration et la sécurité de votre cluster.

Cette solution de fournisseur de cloud privé a aussi un avantage qui lui est spécifique : la stabilité des coûts. En cloud public, vous êtes facturés par le fournisseur un montant différent chaque mois selon votre utilisation réelle. En infrastructure physique, vous assumez les coûts d’investissement en matériel qui créent des pics de dépense.

En optant pour un cloud privé, vous obtenez un prix fixe d’un mois sur l’autre. Ce point est très important, car l’absence de pics de dépenses vous permet, au-delà de la tranquillité d’esprit, de gagner en précision dans vos prévisions financières.

L’IA a des besoins en ressources spécifiques, qu’il faut intégrer dans la réflexion du type d’infrastructure informatique à adopter. Si monter une infrastructure physique on-premise représente un investissement, il ne faut pas oublier que le cloud public peut être plus coûteux et plus complexe qu’il n’apparaît de prime abord.
Les fournisseurs de cloud privé ou semi-privé offrent une solution intermédiaire intéressante, qui vaut le coup d’être étudiée lorsqu’on travaille sur des sujets d’IA et de Big Data.