Goed ontworpen overwegingen voor AI-workloads in Azure-infrastructuur (IaaS)
Goed ontworpen overwegingen voor AI in de Azure-infrastructuur omvatten best practices voor het optimaliseren van de betrouwbaarheid, beveiliging, operationele efficiëntie, kostenbeheer en prestaties van AI-oplossingen. Deze principes zorgen voor robuuste implementatie, veilige gegevensverwerking, efficiënte modelbewerking en schaalbare infrastructuur op het IaaS-platform van Azure. Door deze principes toe te passen, kunnen organisaties robuuste, veilige en rendabele AI-modellen bouwen die voldoen aan de bedrijfsbehoeften.
Betrouwbaarheid
Betrouwbaarheid omvat het minimaliseren van downtime en het garanderen van consistente prestaties voor AI-toepassingen in de Azure-infrastructuur. Het garanderen van betrouwbare bewerkingen op gedistribueerde virtuele machines (VM's) en het onderhouden van prestaties tijdens wijzigingen in de infrastructuur voorkomt onderbrekingen van de service. Deze procedures zijn belangrijk omdat ze continue beschikbaarheid van modellen garanderen en de gebruikerservaring verbeteren.
Virtuele machines verdelen over Beschikbaarheidszones. Minimaliseer downtime van hardwarefouten of onderhoudsevenementen met behulp van Beschikbaarheidszones. Ze distribueren VM's over fout- en updatedomeinen om een continue toepassingsbewerking te garanderen.
Statuscontrole instellen met Azure Monitor. Houd de CPU-, geheugen- en netwerkprestaties op uw VM's bij met behulp van Azure Monitor en configureer waarschuwingen om u te informeren over prestatievermindering of fouten in de infrastructuur die uw modellen ondersteunt. Zie Azure Monitor VM Insights voor meer informatie.
Automatiseer patching en updates met rolling exemplaren. Gebruik Azure Updatebeheer om patches op een doorlopende manier toe te passen, zodat één exemplaar kan worden bijgewerkt terwijl anderen verkeer blijven leveren, waardoor downtime tijdens onderhoud wordt voorkomen.
Ontwerp voor respijtvolle degradatie tijdens gedeeltelijke storingen. Zorg ervoor dat de kernfunctionaliteit beschikbaar blijft door minder complexe AI-modellen te leveren of specifieke functies te beperken wanneer sommige VM's niet beschikbaar zijn, zodat gebruikers zelfs tijdens storingen toegang hebben tot essentiële services.
Implementeer regelmatige back-ups voor belangrijke assets. Maak regelmatig een back-up van modelgegevens, trainingsgegevenssets en configuraties om snel herstel mogelijk te maken als er een fout is opgetreden, waardoor waardevolle voortgang en gegevens worden beschermd.
Beveiliging
Beveiliging omvat beschermende maatregelen om AI-modellen, -gegevens en -infrastructuur te beschermen tegen onbevoegde toegang en bedreigingen. Implementeer updates, bewaak modelintegriteit en beheer de toegang om beveiligingsproblemen te voorkomen die gevoelige informatie in gevaar kunnen brengen. Deze stappen zijn essentieel voor het onderhouden van gegevensprivacy en betrouwbaarheid van AI-oplossingen in productieomgevingen.
Updates voor Azure-resources plannen. Gebruik onderhoudsconfiguraties om specifieke updateschema's in te stellen voor VM's en extensies, waardoor vensters met beveiligingsproblemen worden verminderd.
Patch regelmatig virtuele machines en containerinstallatiekopieën. Schakel automatische gastpatching in voor VM's en schaalsets om de beveiliging tegen nieuwe bedreigingen te handhaven. Zie Het overzicht van gastupdates en hostonderhoud voor meer informatie.
Controleer op modeldrift en zorg voor integriteit. Zorg voor modelintegriteit door beveiligingsmechanismen zoals digitale handtekeningen of hashverificaties voor modelbestanden te implementeren om onbevoegde wijzigingen te voorkomen. Gebruik Azure Monitor om belangrijke prestatiegegevens bij te houden en modeldrift te identificeren, wat kan duiden op mogelijke beveiligingsproblemen of gegevensverschuivingen. U kunt aangepaste metrische gegevens (nauwkeurigheid, F1-score en gegevensdistributie op uw modellen) definiëren in uw code met behulp van de Azure Monitor Metrics SDK. Met de Azure Monitor Metrics SDK kunt u de prestatiestatistieken en gegevensdriftmetingen van uw model verzenden naar Azure Monitor. Het bewaken van prestatiewijzigingen in de loop van de tijd kan helpen detecteren wanneer het gedrag van een model afwijkt, mogelijk een aanval signaleert of dat er opnieuw moet worden getraind. Deze proactieve aanpak helpt bij het beveiligen van modelintegriteit en het handhaven van beveiligingsnaleving.
Controle- en toegangslogboeken implementeren. Gebruik Azure Monitor en Log Analytics om toegang tot modellen en VM's te registreren, zodat onbevoegde toegang of ongebruikelijke gebruikspatronen kunnen worden geïdentificeerd. Zie Activiteitenlogboeken in Azure Monitor voor meer informatie.
Gebruik versiebeheer voor modelbestanden. Sla modelbestanden op in Azure Storage (Blob, Bestand of Schijf) met versiebeheer om wijzigingen bij te houden, zodat er een duidelijke audittrail is voor het identificeren en terugdraaien van schadelijke wijzigingen. Het gebruik van Azure DevOps voor versiebeheer verbetert de beveiliging door de toegang tot codewijzigingen te beheren en aanbevolen procedures in codebeoordelingen af te dwingen. Deze gelaagde benadering beperkt de risico's van niet-geautoriseerde wijzigingen en biedt verantwoordelijkheid. Zie Blob Versioning in Azure Storage voor meer informatie.
Anomaliedetectie instellen voor modeluitvoer. Gebruik Azure Monitor om de metrische uitvoergegevens van uw modellen bij te houden en waarschuwingen in te stellen voor ongebruikelijk gedrag. Het bewaken van API-antwoorden van uw model kan bijvoorbeeld helpen bij het detecteren van abnormale uitvoer. U kunt anomaliedetectie instellen op een metrische waarde, zoals voorspellingsnauwkeurigheid, om automatisch te detecteren wanneer deze buiten een verwacht bereik valt. Zie Waarschuwingen voor metrische gegevens maken en beheren met dynamische drempelwaarden voor meer informatie.
Modeltoegangsbeleid afdwingen. Gebruik op rollen gebaseerd toegangsbeheer van Azure (RBAC) en Microsoft Entra ID om de toegang tot VM's en modelbestanden te beveiligen, waardoor alleen de toegang tot geautoriseerde gebruikers wordt beperkt.
Geldige modellen regelmatig opnieuw op basis van bijgewerkte gegevens. Het implementeren van periodieke hervalidatie van uw model met behulp van geautomatiseerde scripts of werkstromen op uw VM's zorgt ervoor dat het model nauwkeurig en effectief blijft ten opzichte van huidige gegevenssets, waardoor de risico's van verouderde of onnauwkeurige voorspellingen worden beperkt. Door deze taken te plannen met Azure Automation of Azure Logic Apps, kunt u de naleving van gegevensstandaarden behouden en de algehele modelbeveiliging verbeteren. Deze proactieve aanpak helpt bij het vroegtijdig identificeren van beveiligingsproblemen, waardoor continue verbetering en beveiliging tegen potentiële bedreigingen worden gewaarborgd. U kunt uw automatiseringswerkstromen plannen om periodiek hervalidatietaken te activeren. Begin met een Azure Automation-runbook, voer deze uit op de virtuele machine en maak een geschikte planning om validatieresultaten op te halen.
Wijzigingen in gegevensherkomsten en modelbestanden bijhouden. Schakel versiebeheer in Azure Blob Storage in en volg gegevens die worden gebruikt in de training en deductie, zodat niet-geautoriseerde gegevens van invloed zijn op modelresultaten.
Resourcequota en frequentielimieten toepassen. Implementeer frequentielimieten en quota voor uw model-API's via Azure API Management om overgebruik of misbruik te voorkomen, wat kan leiden tot systeemproblemen of servicestoringen. Deze strategie zorgt ervoor dat het systeem responsief blijft tijdens hoog verkeer en risico's beperkt die zijn gekoppeld aan denial-of-service-aanvallen. Door de toegang te beheren, kunt u prestaties onderhouden en gevoelige gegevens beschermen tegen mogelijke quota en limieten voor API Management.
Voer regelmatig scans voor beveiligingsproblemen uit. Gebruik Microsoft Defender Vulnerability Scanning om evaluaties van beveiligingsproblemen van uw VM's en gerelateerde resources uit te voeren. Controleer regelmatig op beveiligingsproblemen of onjuiste configuraties in uw VM-installatie die uw modellen beschikbaar kunnen maken. Scannen op beveiligingsproblemen in Microsoft Defender.
Kostenoptimalisatie
Kostenoptimalisatie omvat het afstemmen van resourcegebruik met workloadvereisten om onnodige kosten te voorkomen. Met de juiste grootte van VM's, het doorvoeren van gereserveerde instanties en het instellen van automatische schaalaanpassing kunt u kosten beheren zonder de prestaties in gevaar te brengen. Het beheren van de kosten in de Azure-infrastructuur is essentieel voor duurzaamheid en schaalbaarheid op lange termijn van AI-implementaties.
Doorvoeren naar gereserveerde instanties. Bespaar op kosten voor virtuele machines (VM's) door een termijn van één of drie jaar vast te leggen, die kortingstarieven biedt.
Azure Virtual Machine Scale Sets gebruiken voor automatisch schalen.Automatisch schalen VM-exemplaren op basis van metrische gegevens, zoals CPU-gebruik, betalen alleen voor wat u nodig hebt en voorkomt overinrichting.
Stel automatische afsluitingen in voor niet-actieve exemplaren. Vermijd kosten van ongebruikte resources door automatisch afsluiten in te schakelen, met name voor ontwikkel- en testomgevingen.
Gebruik Azure Savings Plans voor voorspelbaar gebruik. Verlaag de kosten in vergelijking met prijzen voor betalen per gebruik door het doorvoeren van consistent gebruik voor vm-grootten en regio's.
Gebruik Azure Spot-exemplaren voor fouttolerante workloads. Krijg aanzienlijke kortingen op reservecapaciteit voor workloads die onderbrekingen kunnen verdragen.
Selecteer de juiste opslagoplossing. Kosten en prestaties verdelen op basis van workloadbehoeften. Kies Azure Managed Lustre (AMLFS) voor hoge doorvoer, grootschalige toepassingen en Azure NetApp Files (ANF) voor geavanceerd gegevensbeheer en betrouwbaarheid.
Operationele uitmuntendheid
Operationele uitmuntendheid omvat het optimaliseren van de configuratie en het beheer van Azure-resources om de functionaliteit van AI-toepassingen te verbeteren. Efficiënte resourcetoewijzing, afstemming van prestaties en gedistribueerde training bieden ondersteuning voor een soepele werking en aanpassingsvermogen aan verschillende eisen. Deze focus op operationele efficiëntie zorgt ervoor dat AI-modellen naar behoren presteren, zonder overmatig resourcegebruik.
Resourcetoewijzing optimaliseren. Controleer regelmatig de grootten en configuraties van azure-VM's op basis van het werkelijke resourcegebruik om te voldoen aan de behoeften van de workload. Gebruik Azure Advisor voor aanbevelingen voor optimale grootte en schaalaanpassing.
Configureer automatische schaalaanpassing voor efficiëntie. Stel automatische schaalaanpassing in voor VM's of containers om workloadvereisten af te handelen zonder overinrichting. Gebruik Virtuele-machineschaalsets van Azure om resources dynamisch aan te passen op basis van de vraag. Zie Azure Virtual Machine Scale Sets voor meer informatie.
Voer regelmatig prestatieafstemming uit. Profileer de toepassing continu om prestatieknelpunten te identificeren en op te lossen. Gebruik Application Insights Profiler om modelcode en resourcegebruik te analyseren.
Implementeer gedistribueerde training voor efficiëntie. Gebruik gedistribueerde trainingstechnieken, indien van toepassing, om de trainingstijd te verminderen met behulp van meerdere VM's. Frameworks zoals Horovod en PyTorch ondersteunen gedistribueerde training in Azure.
Sla controlepunten op in Azure Blob Storage. Sla periodiek modelstatussen, gewichten en configuraties op in Azure Blob Storage. U kunt Azure SDK's of bibliotheken gebruiken die beschikbaar zijn in de programmeertaal die u gebruikt voor de LLM. Sla de controlepunten op in een gestructureerde indeling, zoals TensorFlow SavedModel- of PyTorch-controlepuntbestanden. Pas uw trainings- of deductiecode aan om controlepuntlogica op te nemen. Begin met het instellen van intervallen (na elke periode of enkele iteraties) om de status van het model op te slaan. Gebruik een consistente naamconventie voor controlepuntbestanden om eenvoudig de meest recente status bij te houden.
Ontwerp voor statusherstel. Zorg ervoor dat uw toepassing kan herstellen vanaf een opgeslagen controlepunt. Implementeer logica om de status van het model te laden vanuit Azure Blob Storage wanneer de toepassing wordt gestart. Het omvat, controleren op bestaande controlepunten en het laden van het meest recente controlepunt indien beschikbaar, zodat de toepassing kan worden hervat zonder dat de voortgang verloren gaat.
Prestatie-efficiëntie
Prestatie-efficiëntie verwijst naar het maximaliseren van de verwerkingskracht van de Azure-infrastructuur om te voldoen aan de vereisten van AI-modellen. U moet GPU-instellingen afstemmen, invoer-/uitvoerprocessen (I/O) optimaliseren en benchmarkingtests uitvoeren om de rekensnelheid en reactiesnelheid te verbeteren. Ervoor zorgen dat hoge prestaties de uitvoering van complexe AI-modellen op schaal ondersteunen, wat de tevredenheid van gebruikers verbetert en de latentie vermindert.
GPU-afstemming
Verhoog de kloksnelheid van een GPU (Graphics Processing Unit) om de prestaties te verbeteren, met name voor taken die een hoge grafische verwerking of complexe berekeningen vereisen. Met hogere kloksnelheden kan de GPU in een bepaalde periode meer bewerkingen uitvoeren, waardoor de algehele efficiëntie wordt verbeterd. Gebruik dit GPU-optimalisatiescript om de GPU-klokfrequenties in te stellen op hun maximumwaarden.
- Versneld netwerken inschakelen. Versneld netwerken is een hardwareversnellingstechnologie waarmee virtuele machines gebruikmaken van I/O-virtualisatie met één hoofdmap (SR-IOV) op ondersteunde typen virtuele machines. Het biedt lagere latentie, verminderde jitter en verminderd CPU-gebruik. Versneld netwerken inschakelen biedt aanzienlijke verbeteringen in front-endnetwerkprestaties.
I/O-afstemming
Optimaliseer scratchopslag. Scratch moet hoge doorvoer en lage latentie hebben. De trainingstaak vereist het lezen van gegevens, het verwerken ervan en het gebruik van deze opslaglocatie als scratchruimte terwijl de taak wordt uitgevoerd. In het ideale voorbeeld gebruikt u de lokale SSD rechtstreeks op elke VIRTUELE machine. Als u een gedeeld bestandssysteem voor scratch nodig hebt, is het combineren van alle NVMe-SSD's voor het maken van een Parallel File System (PFS) een uitstekende optie in termen van kosten en prestaties, ervan uitgaande dat deze voldoende capaciteit heeft. Een methode is het gebruik van Azure Managed Lustre. Als Azure Managed Lustre niet geschikt is, kunt u opslagopties verkennen, zoals Azure NetApp Files of Azure Native Qumulo.
Implementeer controlepuntopslag. Grote deep learning-trainingstaken kunnen weken worden uitgevoerd, afhankelijk van het aantal gebruikte VM's. Net als bij elk HPC-cluster kunt u fouten tegenkomen, zoals InfiniBand-problemen, dubbele inline geheugenmodulefouten (DIMM), fout-corrigerende ode-fouten (ECC) in GPU-geheugen. Het is essentieel om een controlepuntstrategie te hebben. Het controlepuntinterval kennen (wanneer gegevens worden opgeslagen). Begrijpen hoeveel gegevens er elke keer worden overgedragen. Een opslagoplossing hebben die voldoet aan de capaciteits- en prestatievereisten. Gebruik Blob Storage als deze voldoet aan de prestatiebehoeften.
Benchmarkingtests
Benchmarkingtests helpen bij het evalueren en verbeteren van gedistribueerde deep learning-trainingsprestaties op GPU's, met name voor grootschalige modellen. Deze tests meten de efficiëntie van GPU-communicatie tussen knooppunten, met als doel het verminderen van knelpunten voor gegevensoverdracht tijdens gedistribueerde training. De drie besproken tests zijn:
- Megatron framework: ondersteunt grootschalige taalmodellen door de efficiëntie van gedistribueerde training te verbeteren.
- De RCCL-tests (NVIDIA Collective Communications Library) en ROCm Communication Collectives Library (RCCL): Evalueer prestaties en nauwkeurigheid in multi-GPU-communicatie met NCCL- of RCCL-bibliotheken, testpatronen zoals all-reduce en spreiding.
Deze tests zorgen voor schaalbaarheid en optimale prestaties voor LLM's, waarbij Megatron zich richt op modeltraining en NCCL/RCCL op GPU-communicatie.
NVIDIA Megatron-LM-test
NVIDIA Megatron-LM is een opensource-framework voor het trainen van grote taalmodellen. Hiermee kunnen ontwikkelaars enorme neurale netwerken maken voor NLP-taken, met functies zoals:
- Parallellisme: ondersteunt model-, gegevens- en pijplijnparallelisme voor modellen met miljarden parameters.
- Schaalbaarheid: schaalt over meerdere GPU's en knooppunten voor efficiënte training van grote modellen.
- Flexibiliteit: hiermee kunt u modelarchitectuur, gegevens laden en trainingsstrategieën configureren.
- Optimalisaties: maakt gebruik van NVIDIA GPU-optimalisaties voor prestatieverbeteringen.
Megatron-LM wordt geïmplementeerd in de Azure HPC-infrastructuur en maakt gebruik van de schaalbaarheid van Azure voor grote taalmodellen zonder dat er on-premises hardware nodig is.
Megatron-LM-test ingesteld
Voor het implementeren van Megatron-LM zijn specifieke software en hardware vereist.
Kies de juiste implementatieopties. Gebruik de CycleCloud-werkruimte voor Slurm om de implementatie te vereenvoudigen. Kies SKU's uit de NC-serie of de ND-serie voor de GPU-partitie. Voor training met meerdere knooppunten worden SKU's uit de ND-serie aanbevolen voor RDMA-ondersteuning. De HPC Marketplace-installatiekopieën van Azure bevatten over het algemeen deze stuurprogramma's en bibliotheken. Als aanpassing nodig is, kan de opslagplaats azhpc-images compatibiliteit garanderen.
Gebruik de juiste afbeelding. De softwarevereisten voor het project bevatten een op Linux gebaseerd besturingssysteem, meestal Ubuntu. Voor communicatie met meerdere GPU's en meerdere knooppunten is het essentieel om communicatiebibliotheken zoals NCCL en MPI te hebben. Daarnaast moeten de juiste NVIDIA-stuurprogramma's worden geïnstalleerd om ervoor te zorgen dat GPU-versnelling wordt gegarandeerd. De HPC Marketplace-installatiekopieën van Azure worden geleverd met deze stuurprogramma's en bibliotheken die vooraf zijn geïnstalleerd. Als aanpassing echter noodzakelijk is, kan de opslagplaats azhpc-images worden gebruikt om compatibiliteit te garanderen.
Megatron-LM-testgebruik
U moet Megatron-LM uitvoeren met behulp van de nieuwste versie van de PyTorch-container van NGC. Als u de container wilt uitvoeren op een traditioneel HPC-cluster op basis van Slurm, moet u deze andere onderdelen in uw cluster installeren en configureren:
- enroot: een hulpprogramma waarmee gebruikers containertoepassingen kunnen uitvoeren op HPC-clusters zonder dat hiervoor hoofdbevoegdheden zijn vereist of het hostsysteem kan worden gewijzigd.
- pyxis: een invoegtoepassing voor Slurm die naadloze integratie van enroot met Slurm mogelijk maakt, zodat gebruikers containertaken kunnen verzenden naar Slurm-wachtrijen en deze kunnen uitvoeren op HPC-knooppunten.
Beide onderdelen zijn opgenomen in CycleCloud Workspace voor Slurm , maar zijn momenteel niet opgenomen in Slurm-clusters die zijn gebouwd via CycleCloud. U kunt deze extra onderdelen introduceren via cluster-init met CycleCloud-projecten. Als aan deze vereisten is voldaan, kunt u Megatron-LM voor LLM-training gebruiken door:
- De prestaties van uw cluster controleren: identificeer mogelijke hardwareproblemen voordat u uw workload uitvoert met knooppuntstatuscontroles. Gebruik NCCL-tests om de gedistribueerde all-reduce-prestaties van het cluster te controleren.
- Selecteer uw trainingsgegevens: Gebruik het codeParrot-model als uitgangspunt om uw werkstroom te valideren.
- Uw gegevens vooraf verwerken: gebruik het preprocess_data.py script in de Megatron-LM-opslagplaats om uw gegevens te converteren naar een indeling die compatibel is met Megatron-LM.
- Training met Megatron-LM: Gebruik de voorbeelden in Megatron-LM als referentie om Megatron te configureren voor training.
Deze installatie zorgt voor een efficiënte implementatie en training van grote taalmodellen in de infrastructuur van Azure.
NCCL-bandbreedtetest
Als u GPU-communicatie tussen knooppunten wilt controleren en optimaliseren, voert u de NCCL-bandbreedtetest uit. De NCCL-bandbreedtetest is een speciaal hulpprogramma binnen NCCL, een bibliotheek die communicatie tussen GPU's mogelijk maakt. NCCL ondersteunt collectieve bewerkingen, waaronder all-reduce, all-gather, reduce, broadcast en reduce-scatter, over één of meerdere GPU-knooppunten, en biedt optimale prestaties op platforms met PCIe, NVLink, NVswitch of netwerkinstellingen zoals InfiniBand of TCP/IP. Zie NVIDIA/NCCL-tests voor meer informatie.
Metrische gegevens over NCCL-prestaties
Gebruik de NCCL-bandbreedtetest om belangrijke metrische gegevens te evalueren, inclusief tijd en bandbreedte. 'Tijd' (in milliseconden) meet de overhead of latentie in bewerkingen, waardoor het handig is om bewerkingen met kleine gegevensgrootten te evalueren. 'Bandbreedte' (in GB/s) evalueert de efficiëntie van punt-naar-puntbewerkingen, zoals verzenden/ontvangen. 'Busbandbreedte' weerspiegelt de efficiëntie van het hardwaregebruik door rekening te houden met communicatiesnelheid tussen GPU's en knelpunten in onderdelen zoals NVLink of PCI. Berekeningen voor verschillende collectieve bewerkingen worden geleverd, zoals AllReduce, ReduceScatter, AllGather, Broadcast en Reduce.
NCCL-testinitiatie
Als u deze tests binnen een CycleCloud-implementatie wilt initiëren, maakt u verbinding met het scheduler-knooppunt via SSH en opent u een rekenknooppunt dat is uitgerust met GPU. Kloon de Git-opslagplaats voor NCCL-tests, navigeer naar de nccl-tests
map en maak een hostbestand met de knooppunten voor testen. Haal het IP-adres van het scheduler-knooppunt op uit de web-app van CycleCloud.
NCCL-testargumenten
Voordat u tests uitvoert, geeft u verschillende -G
). Raadpleeg de NCCL-testdocumentatie voor een volledige lijst met aanpasbare parameters.
RCCL-tests
ROCm Communication Collectives Library (RCCL) is een gespecialiseerde bibliotheek die is ontworpen voor efficiënte communicatie tussen AMD GPU's. Het biedt collectieve bewerkingen, zoals all-reduce, all-gather, broadcast en reduce, die ondersteuning bieden voor GPU-communicatie binnen en tussen knooppunten. Geoptimaliseerd voor platforms die PCIe en netwerktechnologieën zoals InfiniBand gebruiken, zorgt RCCL voor schaalbare gegevensoverdracht in omgevingen met meerdere GPU's. Het biedt ondersteuning voor integratie in werkstromen voor één en meerdere processen, zoals werkstromen met MPI. Zie ROCm Communication Collectives Library (ROCm Communication Collectives Library) voor meer informatie
- Omgeving instellen. Installeer ROCm en zorg ervoor dat RCCL correct is geïnstalleerd op alle knooppunten.
- RCCL-tests bouwen. Kloon de opslagplaats, navigeer naar de map rccl-tests en compileer de tests.
- Voer bandbreedtetests uit. Gebruik de meegeleverde test uitvoerbare bestanden (rccl-tests), waarmee communicatiebewerkingen worden opgegeven, zoals all-reduce.
- Prestaties analyseren. Vergelijk de resultaten van bandbreedte en latentie tussen knooppunten en GPU's.