Déployer un cluster de GPU Bare Metal pour les charges de travail d'IA dans un cloud dédié

Le déploiement de workloads pour l'intelligence artificielle, le machine learning et les modèles de deep learning pour la modélisation du langage peut, dans certains cas, avoir des exigences strictes en matière de résidence des données, de sécurité et de conformité.

Pour ces charges de travail, Oracle Cloud propose plusieurs modèles opérationnels et de déploiement distribués, notamment un cloud gouvernemental, un cloud souverain et un cloud dédié. L'une de ces solutions est Oracle Cloud Infrastructure Dedicated Region, une région cloud déployée dans un centre de données contrôlé par le client avec les mêmes fonctionnalités de service et d'infrastructure que les régions de cloud public d'Oracle.

Dans les régions cloud publiques et dédiées, Oracle Cloud Infrastructure (OCI) permet un accès direct à un cluster de serveurs Bare Metal alimenté par des GPU hautes performances et des réseaux de cluster Oracle RoCEv2. Le cluster de GPU Bare Metal offre le meilleur rapport prix-performances du secteur pour le déploiement d'une IA, d'un ML ou d'un DL dédiés.

Architecture

Cette architecture illustre la relation entre les différents composants d'un système standard avec un cluster GPU bare metal HPC au cœur.

Le traitement du langage naturel est un modèle d'apprentissage en profondeur préentraîné. Chaque modèle varie en complexité et peut être dimensionné pour des performances optimales en fonction des spécifications du processeur GPU et de la mémoire nécessaires pour contenir ses paramètres. Certains des plus grands modèles contiennent des centaines de milliards de paramètres, nécessitant une énorme quantité de mémoire et de capacité de traitement pour exécuter le modèle en temps réel, ce qui est essentiel pour les applications d'inférence d'IA.

Avec des modèles plus grands, il est nécessaire d'avoir non seulement une seule instance multi-GPU, mais aussi un cluster de centaines de GPU travaillant de concert. Ces instances nécessitent également l'utilisation d'un système de fichiers de cluster s'exécutant sur le réseau de cluster pour fournir à la fois des IOPS élevées et la meilleure latence possible pour les opérations entre les noeuds du cluster.

Pour fournir ce système de fichiers à faible latence et à bande passante élevée, Oracle Cloud Infrastructure (OCI) utilise le réseau de cluster à faible latence d'Oracle, basé sur RDMA (Remote Direct Memory Access), exécuté sur Ethernet convergé (RoCE) avec une latence inférieure à 10 microsecondes entre les noeuds. RDMA permet des connexions à faible latence entre les noeuds et l'accès à la mémoire GPU sans impliquer la CPU. OCI permet au client de mettre en cluster jusqu'à 4096 noeuds Bare Metal, chacun avec 8 GPU, jusqu'à 32768 GPU.

OCI fournit plusieurs solutions de stockage hautes performances à faible latence pour les workloads IA/ML, telles que le SSD NVMe local, le réseau et les systèmes de fichiers parallèles. Le serveur OCI Bare Metal est fourni avec le stockage local SSD NVMe. Il peut être utilisé pour créer un système de fichiers NFS provisoire ou un système de fichiers parallèle provisoire (BeeOND, Weka) pour les fichiers temporaires. Grâce à la fonctionnalité d'attachement multiple de Block Volume, vous pouvez utiliser un seul volume pour stocker l'ensemble de vos ensembles de données d'entraînement et l'associer à plusieurs instances de GPU. Vous pouvez également utiliser Bare Metal ou une machine virtuelle et le stockage de blocs du niveau de performances équilibré pour créer des serveurs de fichiers à débit le plus élevé et à coût le plus faible, avec NFS (NFS-HA, FSS) ou système de fichiers parallèle (Weka.io, Spectrum Scale, BeeGFS, BeeOND). Les résultats de la formation sont enregistrés dans Oracle Cloud Infrastructure Object Storage pour un stockage à long terme.

Le diagramme suivant illustre cette architecture de référence.

Description de l'image architecture-bm-gpu-dedicated-region.png
Description de l'illustration architecture-bm-gpu-dedicated-region.png

architecture-bm-gpu-dedicated-region-oracle.zip

L'architecture comporte les composants suivants :

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique précise qui contient un ou plusieurs centres de données, appelés domaines de disponibilité. Les régions sont indépendantes les unes des autres et de grandes distances peuvent les séparer (dans des pays voire des continents).

  • Cloud Guard

    Vous pouvez utiliser Oracle Cloud Guard pour surveiller et maintenir la sécurité de vos ressources dans Oracle Cloud Infrastructure. Cloud Guard utilise des recettes de détecteur que vous pouvez définir pour examiner vos ressources à la recherche de failles de sécurité et pour surveiller les opérateurs et les utilisateurs pour certaines activités à risque. En cas de détection d'une mauvaise configuration ou d'une activité non sécurisée, Cloud Guard recommande des actions correctives et aide à effectuer ces actions, en fonction des recettes de répondeur que vous pouvez définir.

  • Domaines de disponibilité

    Les domaines de disponibilité sont des centres de données autonomes indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées de celles des autres, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent ni infrastructure (par exemple, alimentation, système de refroidissement), ni réseau de domaine de disponibilité interne. Par conséquent, une panne sur un domaine de disponibilité ne doit pas affecter les autres domaines de disponibilité de la région.

  • Domaines de pannes

    Un domaine de pannes 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 avec alimentation et matériel indépendants. Lorsque vous répartissez des ressources entre plusieurs domaines de pannes, vos applications peuvent tolérer les pannes de serveur physiques, de maintenance du système et d'alimentation au sein d'un domaine de pannes.

  • Compartiment

    Les compartiments sont des partitions logiques inter-région au sein d'une location Oracle Cloud Infrastructure. Utilisez des compartiments pour organiser les ressources dans Oracle Cloud, en contrôler l'accès et définir des quotas d'utilisation. Pour contrôler l'accès aux ressources d'un compartiment donné, vous définissez des stratégies qui indiquent qui peut accéder aux ressources et les actions réalisables.

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

    Un VCN est un réseau personnalisable défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de centre de données traditionnels, les réseaux cloud virtuels vous donnent le contrôle de l'environnement réseau. Un réseau cloud virtuel peut comporter plusieurs blocs CIDR qui ne se chevauchent pas et que vous pouvez modifier après l'avoir créé. Vous pouvez segmenter un réseau cloud virtuel en plusieurs sous-réseaux ciblant une région ou un domaine de disponibilité. Chaque sous-réseau est composé d'une plage contiguë d'adresses qui ne chevauchent pas celles des autres sous-réseaux du réseau cloud virtuel. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.

  • VPN site à site

    Le VPN site à site fournit une connectivité VPN IPSec entre votre réseau sur site et vos réseaux cloud virtuels dans Oracle Cloud Infrastructure. La suite de protocoles IPSec permet de crypter le trafic IP avant le transfert des paquets de la source vers la destination, et de le décrypter lorsqu'il arrive.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect permet de créer facilement une connexion privée dédiée entre le centre de données et Oracle Cloud Infrastructure. FastConnect offre des options de bande passante plus élevée et une expérience réseau plus fiable par rapport aux connexions Internet.

  • Passerelle de routage dynamique (DRG)

    Le DRG est un routeur virtuel qui fournit un chemin pour le trafic de réseau privé entre les réseaux cloud virtuels de la même région, entre un VCN et un réseau en dehors de la région, tel qu'un VCN dans une autre région Oracle Cloud Infrastructure, un réseau sur site ou un réseau dans un autre fournisseur cloud.

  • Passerelle NAT

    Une passerelle NAT permet aux ressources privées d'un VCN d'accéder à des hôtes sur Internet, sans exposer ces ressources aux connexions Internet entrantes.

  • Passerelle Internet

    La passerelle Internet autorise le trafic entre les sous-réseaux publics d'un VCN et le réseau Internet public.

  • Passerelle de service

    La passerelle de service fournit un accès à partir d'un VCN à d'autres services, tels qu'Oracle Cloud Infrastructure Object Storage. Le trafic du VCN vers le service Oracle transite par la structure réseau Oracle et ne traverse pas Internet.

  • Liste de sécurité

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité indiquant la source, la destination et le type de trafic qui doivent être autorisés à entrer et sortir du sous-réseau.

  • Table de routage

    Les tables de routage virtuelles contiennent des règles pour acheminer le trafic des sous-réseaux vers des destinations en dehors d'un VCN, généralement via des passerelles.

  • Hôte du bastion

    Le bastion est une instance de calcul qui sert de point d'entrée sécurisé et contrôlé vers la topologie depuis l'extérieur du cloud. Le bastion est généralement provisionné dans une zone démilitarisée (DMZ). Il vous permet de protéger les ressources sensibles en les plaçant sur des réseaux privés inaccessibles directement depuis l'extérieur du cloud. La topologie comporte un seul point d'entrée connu que vous pouvez surveiller et auditer régulièrement. Vous pouvez donc éviter d'exposer les composants les plus sensibles de la topologie sans compromettre l'accès à ces composants.

  • Noeud de bastion (noeud de tête)

    Le noeud de bastion (noeud d'en-tête) utilise un portail Web pour se connecter au noeud d'en-tête et programmer des travaux. La demande de travail est transmise via Oracle Cloud Infrastructure FastConnect ou le VPN IPSec au noeud en tête. Le noeud de tête envoie également l'ensemble de données client au stockage de fichiers et peut effectuer un prétraitement sur les données. Le noeud de tête peut provisionner des clusters de noeuds et supprimer des clusters une fois le travail terminé.

  • Pool d'instances

    Un pool d'instances est un groupe d'instances d'une région créées à partir de la même configuration d'instance et gérées en tant que groupe.

    Les pools d'instances vous permettent de créer et de gérer plusieurs instances Compute dans la même région en tant que groupe. Ils permettent également l'intégration à d'autres services, tels que le service Oracle Cloud Infrastructure Load Balancing et le service Oracle Cloud Infrastructure Identity and Access Management.

  • Object Storage

    Le stockage d'objets permet d'accéder rapidement à de grandes quantités de données, structurées ou non, de tout type de contenu, y compris des sauvegardes de base de données, des données analytiques et du contenu riche tel que des images et des vidéos. Vous pouvez stocker les données, puis les extraire directement à partir d'Internet ou de la plate-forme cloud, et ce, en toute sécurité. Vous pouvez faire évoluer le stockage sans dégradation des performances ni de la fiabilité des services. Utilisez le stockage standard pour le stockage "à chaud" auquel vous devez accéder rapidement, immédiatement et fréquemment. Utilisez le stockage d'archives pour le stockage "à froid" que vous conservez pendant longtemps et auquel vous accédez rarement.

Recommandations

Utilisez les recommandations suivantes comme point de départ et adaptez-les en fonction de vos besoins spécifiques.
  • 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 qui se trouvent dans l'espace d'adressage IP privé standard.

    Sélectionnez des blocs CIDR qui ne chevauchent aucun autre réseau (dans Oracle Cloud Infrastructure, votre centre de données sur site ou un autre fournisseur cloud) vers lequel vous souhaitez configurer des connexions privées.

    Après avoir 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 flux de trafic et de sécurité. Attachez toutes les ressources d'un niveau ou d'un rôle spécifique au même sous-réseau, qui peut servir de limite de sécurité.

    Utilisez des sous-réseaux régionaux.

  • Sécurité

    Utilisez Oracle Cloud Guard pour surveiller et maintenir de manière proactive la sécurité de vos ressources dans Oracle Cloud Infrastructure. Cloud Guard utilise des recettes de détecteur que vous pouvez définir pour examiner vos ressources à la recherche de failles de sécurité et pour surveiller les opérateurs et les utilisateurs pour certaines activités à risque. Lorsqu'une mauvaise configuration ou une activité non sécurisée est détectée, Cloud Guard recommande des actions correctives et aide à effectuer ces actions, en fonction des recettes de répondeur que vous pouvez définir.

    Pour les ressources nécessitant une sécurité maximale, Oracle recommande d'utiliser des zones de sécurité. Une zone de sécurité est un compartiment associé à une recette de stratégies de sécurité définie par Oracle basée sur les meilleures pratiques. Par exemple, les ressources d'une zone de sécurité ne doivent pas être accessibles à partir du réseau Internet public et doivent être cryptées à l'aide de clés gérées par le client. Lors de la création et de la mise à jour de ressources dans une zone de sécurité, Oracle Cloud Infrastructure valide les opérations par rapport aux stratégies de la recette de zone de sécurité et refuse les opérations qui enfreignent l'une des stratégies.

  • Cloud Guard

    Clonez et personnalisez les recettes par défaut fournies par Oracle pour créer des recettes de détecteur et de répondeur personnalisées. Ces recettes vous permettent de spécifier le type de violation de sécurité qui génère un avertissement et les actions autorisées. Par exemple, vous pouvez détecter les buckets Object Storage dont la visibilité est définie sur Public.

    Appliquez Cloud Guard au niveau de la location pour couvrir la portée la plus large et réduire la charge administrative liée à la maintenance de plusieurs configurations.

    Vous pouvez également utiliser la fonctionnalité Liste gérée pour appliquer certaines configurations aux détecteurs.

  • Security Zones

    Pour les ressources nécessitant une sécurité maximale, Oracle recommande d'utiliser des zones de sécurité. Une zone de sécurité est un compartiment associé à une recette de stratégies de sécurité définie par Oracle basée sur les meilleures pratiques. Par exemple, les ressources d'une zone de sécurité ne doivent pas être accessibles à partir du réseau Internet public et doivent être cryptées à l'aide de clés gérées par le client. Lors de la création et de la mise à jour de ressources dans une zone de sécurité, Oracle Cloud Infrastructure valide les opérations par rapport aux stratégies de la recette de zone de sécurité et refuse les opérations qui enfreignent l'une des stratégies.

  • Groupes de sécurité réseau

    Vous pouvez utiliser des groupes de sécurité réseau pour définir un ensemble de règles entrantes et sortantes qui s'appliquent à des cartes d'interface réseau virtuelles spécifiques. Nous vous recommandons d'utiliser des groupes de sécurité réseau plutôt que des listes de sécurité, car les groupes de sécurité réseau vous permettent de séparer l'architecture de sous-réseau du VCN des exigences de sécurité de votre application.

  • Noeuds GPU

    Déployez les formes Bare Metal de GPU pour obtenir des performances complètes.

    Clusterisez jusqu'à 32 768 GPU.

Points à prendre en compte

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

  • Disponibilité

    Envisagez d'utiliser une option de haute disponibilité, en fonction de vos exigences de déploiement et de votre région. Vous pouvez notamment utiliser plusieurs domaines de disponibilité dans une région et des domaines de pannes.

    • Surveillance et alertes

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

    • Coût

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

      Vous pouvez supprimer le cluster lorsqu'aucun travail n'est en cours d'exécution.

      Les instances Bare Metal continuent d'entraîner des coûts d'exploitation lorsqu'elles ne sont pas sous tension. Ils doivent être résiliés pour arrêter les frais encourus.

  • Systèmes de fichiers de cluster
    Il existe plusieurs scénarios :
    • Stockage SSD NVMe local fourni avec des formes de GPU, HPC et de stockage hautes performances.
    • Les volumes de blocs à attachement multiple fournissent jusqu'à 2 680 Mo/s de débit d'E/S ou 700 k IOPS.
    • Vous pouvez également installer votre propre système de fichiers parallèle sur le stockage SSD NVMe ou le stockage de blocs, en fonction de vos exigences en matière de performances. OCI fournit des solutions NFS permanentes et provisoires (NFS-HA, FSS) ou de système de fichiers parallèle (weka.io, Spectrum Scale, BeeGFS, BeeOND, Lustre, Gluster, Quobyte), reportez-vous à "Explorer plus". Contactez le spécialiste du support pour concevoir les solutions les plus optimales pour vos besoins.

Remerciements

  • Auteur : Michael Rutledge