Configurer un environnement open source de formation automatique et d'intelligence artificielle

Configurez rapidement un environnement d’apprentissage automatique et d’intelligence artificielle (IA) à l’aide d’une pile de GPU préconfigurée avec des IDE, des blocs-notes et des structures communs préinstallés afin de pouvoir commencer à produire des résultats.

L'environnement préconfiguré d'Oracle pour un apprentissage approfondi est utile dans de nombreux secteurs dans un large éventail d'applications.

  • Traitement du langage naturel

  • Reconnaissance d’images et classification

  • Détection des fraudes pour les services financiers

  • Moteurs de recommandation pour les détaillants en ligne

  • Gestion des risques

Cet environnement préconfiguré inclut une machine virtuelle avec des pilotes NVIDIA GPU et CUDA et cuDNN, des environnements de développement intégrés Python et R communs, des blocs-notes Jupyter et des structures d'apprentissage automatique (ML) et d'apprentissage approfondi (DL) open source.

Vous pouvez redimensionner vos ressources Compute à l'aide du redimensionnement automatique. Vous pouvez également arrêter l'instance Compute lorsque cela n'est pas nécessaire pour contrôler les coûts. La machine virtuelle comprend des exemples de données et de code de base à tester et à explorer.

L'image AI Datascience VM for Oracle Cloud Infrastructure est disponible dans Oracle Cloud Marketplace.

Architecture

Cette architecture de référence explique comment implémenter un environnement d'apprentissage automatique et d'intelligence artificielle (IA) dans une région sur Oracle Cloud Infrastructure.

Cette architecture de référence déploie un bastion, un noeud de formation, un noeud d'inférence, une machine virtuelle d'application utilisateur et d'autres composants sur Oracle Cloud Infrastructure. L'architecture utilise une région avec un domaine de disponibilité et des sous-réseaux régionaux. Vous pouvez utiliser la même architecture dans une région comportant plusieurs domaines de disponibilité.



Cette architecture comporte les composants suivants :

  • Bastion

    Instance de calcul qui permet d'accéder à d'autres instances Compute dans un sous-réseau privé.

  • Noeud de formation

    Instance de calcul dans laquelle les clients développent et vérifient le modèle de leur application, telle qu'une simulation de réseau neuronal. Les noeuds de formation sont des instances puissantes qui extraient des données à partir d'Object Storage, effectuent des opérations sur les données en fonction du modèle utilisé et stockent les données dans le stockage de volume de blocs partagé attaché.

  • Serveur d'inférence

    Instance de calcul qui prépare les données stockées dans les volumes de blocs (traitées par les noeuds d'entraînement) en vue d'une utilisation par les applications utilisateur. Les serveurs d'inférence stockent leurs données traitées dans File Storage.

  • Machine virtuelle d'application utilisateur

    Cette machine virtuelle exécute l'application utilisateur et accède aux données traitées par le serveur d'inférence stocké dans le stockage de fichiers partagé.

  • Equilibreur de charge

    L'équilibreur de charge distribue le trafic entrant aux machines virtuelles d'application utilisateur.

  • File Storage

    Le système de fichiers est monté sur les machines virtuelles du serveur d'inférence et de l'application utilisateur.

  • Object Storage

    Object Storage est utilisé en tant que lac de données pour stocker les données utilisées par les noeuds de formation.

  • Volume de blocs

    Le service Oracle Cloud Infrastructure Block Volume permet de configurer et de gérer les volumes de stockage de blocs de façon dynamique. Vous pouvez créer, attacher, connecter et déplacer des volumes, ainsi que modifier leurs performances pour répondre à vos exigences en matière de stockage, de performances et d'application. Une fois qu'un volume est attaché et connecté à une instance, vous pouvez l'utiliser comme un disque dur classique. Vous pouvez également déconnecter un volume et l'associer à une autre instance sans perdre de données. Utilisez le stockage par blocs pour stocker les fichiers journaux ou journaux.

  • Réseau cloud virtuel (VCN) et sous-réseaux

    Chaque instance Compute est déployée dans un VCN pouvant être segmenté en sous-réseaux.

  • Liste de sécurité

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui spécifient la source, la destination et le type de trafic qui doivent être autorisés en entrée et en sortie du sous-réseau.

  • Domaines de disponibilité

    Les domaines de disponibilité sont des centres de données autonomes et indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui assure la tolérance de pannes. Les domaines de disponibilité ne partagent pas d'infrastructure telle que l'alimentation ou le refroidissement ou le réseau interne du domaine de disponibilité. Par conséquent, il est improbable qu'un problème affecte les autres domaines de disponibilité de la région.

  • Domaines de pannes

    Un domaine de panne est un regroupement de matériel et d'infrastructures au sein d'un domaine de disponibilité. Chaque domaine de disponibilité comporte trois domaines de pannes dotés d'une alimentation et d'un matériel indépendants. Lorsque vous distribuez des ressources entre plusieurs domaines de pannes, vos applications peuvent tolérer les pannes de serveur physique, la maintenance du système et les pannes d'alimentation au sein d'un domaine de pannes.

Recommandations

Vos besoins peuvent être différents de ceux de l'architecture décrite ici. Utilisez les recommandations suivantes comme point de départ.

  • Bastion

    Utilisez une forme de calcul VM.Standard.1.1. Cet hôte est utilisé pour accéder à d'autres noeuds de calcul et n'est pas impliqué dans le traitement des données ou d'autres tâches.

  • Noeud de formation

    Utilisez la forme BM.GPU3.8, qui fournit 2x25 Gbits/s de bande passante réseau et un GPU suffisant (8xV100) pour les applications Data Science. Ce noeud déploie et vérifie le modèle de l'application. Il a donc besoin d'une puissance de GPU améliorée. Démarrez avec jusqu'à trois noeuds et utilisez la fonctionnalité de redimensionnement automatique pour augmenter ou réduire le nombre de noeuds si nécessaire.

  • Serveur d'inférence

    Utilisez la forme BM.GPU2.2, qui fournit 2x25 Gbits/s de bande passante réseau et un GPU suffisant (2xP100) pour les applications Data Science. Ce noeud nécessite une puissance GPU légèrement inférieure en raison de la nature de son rôle. Commencez par un noeud et utilisez la fonctionnalité de redimensionnement automatique pour augmenter le nombre de fois que nécessaire.

  • Machine virtuelle d'application utilisateur

    Utilisez VM.Standard.2.2shape. Ces noeuds sont utilisés pour l'application utilisateur. Une machine virtuelle doit donc être suffisante. Commencez par deux noeuds de machine virtuelle et utilisez la fonction de redimensionnement automatique pour augmenter ou diminuer si nécessaire.

  • Equilibreur de charge

    L'équilibreur de charge distribue le trafic entrant aux machines virtuelles d'application utilisateur. Utilisez la forme 100-Mbps.

  • File Storage

    File Storage s'adapte automatiquement si nécessaire.

  • Object Storage

    Utilisez un seul bucket privé avec un lien pré-authentifié pour un objet de lac de données.

  • Volume de blocs

    Outre le stockage connecté en local, utilisez au moins trois volumes de blocs (1 To) à l'aide de la fonctionnalité à plusieurs connexions. Cet ajout offre davantage de stockage.

  • VCN
    • Lorsque vous créez un VCN, déterminez le nombre de blocs CIDR requis et la taille de chaque bloc en fonction du nombre de ressources que vous prévoyez d'attacher aux sous-réseaux du VCN. Utilisez des blocs CIDR compris dans l'espace d'adresse IP privée standard.

    • Sélectionnez des blocs CIDR qui ne chevauchent aucun autre réseau (dans Oracle Cloud Infrastructure, votre centre de données on-premise ou un autre fournisseur cloud) auquel vous souhaitez configurer des connexions privées.

    • Une fois que vous avez créé un VCN, vous pouvez modifier, ajouter et supprimer ses blocs CIDR.

    • Lorsque vous concevez les sous-réseaux, tenez compte de vos exigences en matière de fonctionnalité et de sécurité. Associez toutes les instances de calcul du même niveau ou rôle au même sous-réseau.

    • Utilisez des sous-réseaux régionaux.

  • Liste de sécurité

    Utilisez des listes de sécurité pour définir des règles entrantes et sortantes qui s'appliquent à l'ensemble du sous-réseau. Par exemple, cette architecture autorise ICMP en interne pour l'ensemble du sous-réseau privé.

Remarques

Tenez compte des points suivants lors du déploiement de cette architecture de référence.

  • Performances

    Pour obtenir les meilleures performances, choisissez la forme de calcul appropriée avec la bande passante appropriée.

  • Disponibilité

    Envisagez d'utiliser une option de haute disponibilité en fonction de vos besoins de déploiement et de votre région. Les options incluent l'utilisation de plusieurs domaines de disponibilité dans une région et des domaines de pannes.

  • Coût

    Une instance de GPU Bare Metal fournit la puissance CPU nécessaire pour un coût plus élevé. Evaluez vos besoins afin de choisir la forme de calcul appropriée.

  • Surveillance et alertes

    Configurez la surveillance et des alertes sur l'utilisation de l'UC et de la mémoire pour vos noeuds, afin que vous puissiez augmenter ou réduire la forme selon vos besoins.

déploiement

Le code Terraform de cette architecture de référence est disponible sous forme de pile dans Oracle Cloud Marketplace.

  1. Accédez à Oracle Cloud Marketplace.
  2. Cliquez sur Obtenir l'application.
  3. Suivez les invites à l'écran.

Journal des modifications

Ce journal répertorie uniquement les modifications importantes :