Sprachmodelle sind statistische Methoden, die die Abfolge von Tokens in Sequenzen unter Verwendung von natürlichem Text vorhersagen. Large Language Models (LLMs) sind auf neuronalen Netzwerken basierende Sprachmodelle mit Hunderten von Millionen (BERT) auf über eine Billion Parameter (MiCS) und deren Größe Einzel-GPU-Training unpraktisch macht. Die generativen Fähigkeiten von LLMs machen sie beliebt für Textsynthese, Zusammenfassung, maschinelle Übersetzung und mehr.
Die Größe eines LLM und seiner Trainingsdaten ist ein zweischneidiges Schwert: Es bringt Modellierungsqualität, bringt aber Infrastrukturherausforderungen mit sich. Das Modell selbst ist oft zu groß, um in den Speicher eines einzelnen GPU-Geräts oder auf mehrere Geräte einer Multi-GPU-Instanz zu passen. Diese Faktoren erfordern das Training eines LLM über große Cluster von Instanzen des beschleunigten maschinellen Lernens (ML). In den vergangenen Jahren haben zahlreiche Kunden die AWS Cloud für LLM-Schulungen genutzt.
In diesem Beitrag tauchen wir in Tipps und Best Practices für ein erfolgreiches LLM-Training ein Amazon SageMaker-Schulung. SageMaker Training ist ein verwalteter Batch-ML-Rechendienst, der den Zeit- und Kostenaufwand für das Training und Tuning von Modellen in großem Umfang reduziert, ohne dass die Infrastruktur verwaltet werden muss. Innerhalb eines Startbefehls Amazon Sage Maker startet einen voll funktionsfähigen, ephemeren Rechencluster, der die Aufgabe Ihrer Wahl ausführt, und mit erweiterten ML-Funktionen wie Metastore, verwalteter E/A und Verteilung. Der Beitrag deckt alle Phasen eines LLM-Schulungsworkloads ab und beschreibt die damit verbundenen Infrastrukturfunktionen und Best Practices. Einige der Best Practices in diesem Beitrag beziehen sich speziell auf ml.p4d.24xlarge-Instances, aber die meisten sind auf jeden Instance-Typ anwendbar. Diese Best Practices ermöglichen es Ihnen, LLMs auf SageMaker im Umfang von Dutzenden bis Hunderten Millionen Parametern zu trainieren.
Beachten Sie in Bezug auf den Umfang dieses Beitrags Folgendes:
- Wir behandeln nicht das wissenschaftliche Design neuronaler Netze und die damit verbundenen Optimierungen. Amazon.Wissenschaft verfügt über zahlreiche wissenschaftliche Veröffentlichungen, einschließlich und nicht beschränkt auf LLMs.
- Obwohl sich dieser Beitrag auf LLMs konzentriert, sind die meisten seiner Best Practices für jede Art von Großmodelltraining relevant, einschließlich Computer Vision und multimodaler Modelle wie Stable Diffusion.
Best Practices
Wir diskutieren die folgenden Best Practices in diesem Beitrag:
- Berechnen – SageMaker Training ist eine großartige API zum Starten von CPU-Dataset-Vorbereitungsjobs und GPU-Jobs im Tausender-Maßstab.
- Lagerung – Wir sehen das Laden von Daten und Checkpoints auf zwei Arten, je nach Fähigkeiten und Vorlieben: mit einer Amazon FSx Glanz Dateisystem bzw Amazon Simple Storage-Service (Amazon S3) nur.
- Parallelität – Ihre Wahl der verteilten Trainingsbibliothek ist entscheidend für die angemessene Verwendung der GPUs. Wir empfehlen die Verwendung einer Cloud-optimierten Bibliothek, z. B. SageMaker-Sharded-Data-Parallelität, aber selbstverwaltete und Open-Source-Bibliotheken können ebenfalls funktionieren.
- Networking – Stellen Sie sicher, dass EFA und NVIDIA GPUDirectRDMA für eine schnelle Kommunikation zwischen Computern aktiviert sind.
- Elastizität – In großem Umfang können Hardwareausfälle auftreten. Wir empfehlen regelmäßige Checkpoints. Alle paar Stunden ist üblich.
Regionsauswahl
Der Instance-Typ und die gewünschte Kapazität sind ein entscheidender Faktor für die Auswahl der Region. Für die von SageMaker unterstützten Regionen und die Amazon Elastic Compute-Cloud (Amazon EC2) Instance-Typen, die in jeder Region verfügbar sind, siehe Amazon SageMaker Preise. In diesem Beitrag gehen wir davon aus, dass der Trainingsinstanztyp ein von SageMaker verwaltetes ml.p4d.24xlarge ist.
Wir empfehlen, mit Ihrem AWS-Kontoteam zusammenzuarbeiten oder Kontakt aufzunehmen AWS-Verkäufe um die geeignete Region für Ihre LLM-Workload zu bestimmen.
Datenaufbereitung
LLM-Entwickler trainieren ihre Modelle an großen Datensätzen mit natürlich vorkommendem Text. Beliebte Beispiele für solche Datenquellen sind Allgemeines Crawlen und Der Stapel. Natürlich vorkommender Text kann Verzerrungen, Ungenauigkeiten, Grammatikfehler und Syntaxabweichungen enthalten. Die letztendliche Qualität eines LLM hängt maßgeblich von der Auswahl und Pflege der Trainingsdaten ab. Die Vorbereitung von LLM-Trainingsdaten ist ein aktiver Forschungs- und Innovationsbereich in der LLM-Branche. Die Vorbereitung eines Datensatzes zur Verarbeitung natürlicher Sprache (NLP) ist reich an Gelegenheiten für Parallelität, bei der nichts geteilt wird. Mit anderen Worten, es gibt Schritte, die auf Arbeitseinheiten – Quelldateien, Absätze, Sätze, Wörter – angewendet werden können, ohne dass eine Synchronisation zwischen Mitarbeitern erforderlich ist.
Die Job-APIs von SageMaker, nämlich SageMaker Training und SageMaker Processing, eignen sich hervorragend für diese Art von Aufgaben. Sie ermöglichen es Entwicklern, einen beliebigen Docker-Container auf einer Flotte von mehreren Maschinen auszuführen. Im Fall der SageMaker Training API kann die Rechenflotte sein heterogen. Zahlreiche Distributed-Computing-Frameworks wurden auf SageMaker verwendet, darunter Instrumententafel, Strahl, und auch PySpark, die eine dedizierte haben Von AWS verwalteter Container und SDK in der SageMaker-Verarbeitung.
Wenn Sie einen Job mit mehreren Computern starten, führt SageMaker Training and Processing Ihren Code einmal pro Computer aus. Sie müssen kein bestimmtes Framework für verteiltes Rechnen verwenden, um eine verteilte Anwendung zu schreiben: Sie können den Code Ihrer Wahl schreiben, der einmal pro Maschine ausgeführt wird, um Share-Nothing-Parallelität zu realisieren. Sie können auch die Inter-Node-Kommunikationslogik Ihrer Wahl schreiben oder installieren.
Daten werden geladen
Es gibt mehrere Möglichkeiten, die Trainingsdaten zu speichern und sie von ihrem Speicher zu den beschleunigten Rechenknoten zu verschieben. In diesem Abschnitt besprechen wir die Optionen und Best Practices für das Laden von Daten.
Speicher- und Ladeoptionen von SageMaker
Eine typische LLM-Datensatzgröße liegt bei Hunderten von Millionen Texttokens, die einige Hundert Gigabyte darstellen. Von SageMaker verwaltete Cluster von ml.p4d.24xlarge-Instanzen bieten mehrere Optionen zum Speichern und Laden von Datensätzen:
- On-Node-NVMe-SSD – ml.P4d.24xlarge-Instanzen sind mit 8 TB NVMe ausgestattet, verfügbar unter
/opt/ml/input/data/<channel>
wenn du benutzt SageMaker-DateimodusUnd bei/tmp
. Wenn Sie die Einfachheit und Leistung eines lokalen Lesevorgangs suchen, können Sie Ihre Daten auf die NVMe-SSD kopieren. Das Kopieren kann entweder im SageMaker-Dateimodus oder durch Ihren eigenen Code erfolgen, z. B. mithilfe von Multi-Processed Boto3 or S5cmd. - FSx für Glanz – On-Node-NVMe-SSDs sind in der Größe begrenzt und erfordern die Aufnahme von Amazon S3 bei jedem Job oder jeder Warm-Cluster-Erstellung. Wenn Sie auf größere Datasets skalieren und gleichzeitig den wahlfreien Zugriff mit geringer Latenz beibehalten möchten, können Sie FSx für Lustre verwenden. Amazon FSx ist ein paralleles Open-Source-Dateisystem, das im Hochleistungsrechnen (HPC) beliebt ist. FSx für Lustre-Anwendungen verteilte Dateiablage (Stripping) und trennt Dateimetadaten physisch vom Dateiinhalt, um hochleistungsfähige Lese-/Schreibvorgänge zu erreichen.
- SageMaker FastFile-Modus – FastFile-Modus (FFM) ist eine reine SageMaker-Funktion, die entfernte S3-Objekte in von SageMaker verwalteten Compute-Instanzen unter einer POSIX-kompatiblen Schnittstelle darstellt und sie nur beim Lesen mit FUSE streamt. FFM liest Ergebnisse in S3-Aufrufen, die entfernte Dateien Block für Block streamen. Als bewährte Methode zur Vermeidung von Fehlern im Zusammenhang mit Amazon S3-Datenverkehr sollten FFM-Entwickler darauf abzielen, die zugrunde liegende Anzahl von S3-Aufrufen angemessen zu halten, indem sie beispielsweise Dateien sequenziell und mit einem kontrollierten Maß an Parallelität lesen.
- Selbstverwaltetes Laden von Daten – Natürlich können Sie sich auch dafür entscheiden, Ihre eigene, vollständig benutzerdefinierte Datenladelogik zu implementieren, indem Sie proprietären oder Open-Source-Code verwenden. Einige Gründe für die Verwendung des selbstverwalteten Ladens von Daten sind die Erleichterung einer Migration durch die Wiederverwendung von bereits entwickeltem Code, die Implementierung einer benutzerdefinierten Fehlerbehandlungslogik oder eine bessere Kontrolle über die zugrunde liegende Leistung und das Sharding. Beispiele für Bibliotheken, die Sie für das selbstverwaltete Laden von Daten verwenden können, sind unter anderem Torchdata.datapipes (vorher AWS PyTorch S3-Plugin) und Webdatensatz. Das AWS-Python-SDK Boto3 auch kombinierbar mit Taschenlampen-Datensatz Klassen, um benutzerdefinierten Code zum Laden von Daten zu erstellen. Benutzerdefinierte Datenladeklassen ermöglichen auch die kreative Nutzung von heterogenen SageMaker-Clustern, um die CPU- und GPU-Balance fein an eine bestimmte Arbeitslast anzupassen.
Weitere Informationen zu diesen Optionen und deren Auswahl finden Sie unter Wählen Sie die beste Datenquelle für Ihren Amazon SageMaker-Schulungsauftrag.
Best Practices für groß angelegte Interaktionen mit Amazon S3
Amazon S3 ist in der Lage, LLM-Workloads sowohl zum Lesen von Daten als auch zum Checkpointing zu verarbeiten. Es unterstützt a Anforderungsrate von 3,500 PUT/COPY/POST/DELETE- oder 5,500 GET/HEAD-Anforderungen pro Sekunde und Präfix in einem Bucket. Diese Rate ist jedoch nicht unbedingt standardmäßig verfügbar. Stattdessen skaliert Amazon S3 automatisch, wenn die Anforderungsrate für ein Präfix wächst, um die erhöhte Rate zu bewältigen. Weitere Informationen finden Sie unter Warum erhalte ich 503 Slow Down-Fehler von Amazon S3, wenn die Anforderungen innerhalb der unterstützten Anforderungsrate pro Präfix liegen.
Wenn Sie eine hochfrequente Amazon S3-Interaktion erwarten, empfehlen wir die folgenden Best Practices:
- Versuchen Sie, aus mehreren S3-Buckets zu lesen und zu schreiben Präfixe. Beispielsweise können Sie Trainingsdaten und Kontrollpunkte über verschiedene Präfixe hinweg partitionieren.
- Checken Sie Amazon S3-Metriken ein Amazon CloudWatch Anforderungsraten zu verfolgen.
- Versuchen Sie, die Menge an gleichzeitigem PUT/GET zu minimieren:
- Nutzen Sie weniger Prozesse gleichzeitig mit Amazon S3. Wenn beispielsweise acht Prozesse pro Knoten einen Prüfpunkt auf Amazon S3 setzen müssen, können Sie den PUT-Datenverkehr um den Faktor 8 reduzieren, indem Sie hierarchische Prüfpunkte erstellen: zuerst innerhalb des Knotens, dann vom Knoten zu Amazon S3.
- Lesen Sie mehrere Trainingsdatensätze aus einer einzelnen Datei oder S3 GET, anstatt ein S3 GET für jeden Trainingsdatensatz zu verwenden.
- Wenn Sie Amazon S3 über SageMaker FFM verwenden, führt SageMaker FFM S3-Aufrufe durch, um Dateien Stück für Stück abzurufen. Um den von FFM generierten Amazon S3-Datenverkehr zu begrenzen, empfehlen wir Ihnen, Dateien sequenziell zu lesen und die Anzahl der parallel geöffneten Dateien zu begrenzen.
Wenn du ein ... hast Entwickler-, Business- oder Enterprise-Supportplan, können Sie einen technischen Support-Fall zu S3 503 Slow Down-Fehlern eröffnen. Stellen Sie jedoch zunächst sicher, dass Sie die Best Practices befolgt haben, und Abrufen der Anforderungs-IDs für die fehlgeschlagenen Anfragen.
Parallelität trainieren
LLMs haben üblicherweise Dutzende bis Hunderte Milliarden Parameter, was sie zu groß macht, um in eine einzelne NVIDIA-GPU-Karte zu passen. LLM-Praktiker haben mehrere Open-Source-Bibliotheken entwickelt, die die verteilte Berechnung des LLM-Trainings erleichtern, einschließlich FSDP, Tiefgeschwindigkeit und Megatron. Sie können diese Bibliotheken in SageMaker Training ausführen, aber Sie können auch verteilte SageMaker-Schulungsbibliotheken verwenden, die für die AWS Cloud optimiert wurden und eine einfachere Entwicklererfahrung bieten. Entwickler haben zwei Möglichkeiten für das verteilte Training ihres LLM auf SageMaker: verteilte Bibliotheken oder selbstverwaltete.
Verteilte SageMaker-Bibliotheken
Um Ihnen eine verbesserte verteilte Trainingsleistung und Benutzerfreundlichkeit zu bieten, schlägt SageMaker Training mehrere proprietäre Erweiterungen zum Skalieren von TensorFlow- und PyTorch-Trainingscode vor. LLM-Schulungen werden häufig in 3D-Parallelität durchgeführt:
- Datenparallelität teilt die Trainings-Mini-Batches auf und führt sie mehreren identischen Nachbildungen des Modells zu, um die Verarbeitungsgeschwindigkeit zu erhöhen
- Pipeline-Parallelität ordnet verschiedene Ebenen des Modells verschiedenen GPUs oder sogar Instanzen zu, um die Modellgröße über eine einzelne GPU und einen einzelnen Server hinaus zu skalieren
- Tensorparallelität teilt eine einzelne Ebene in mehrere GPUs auf, normalerweise innerhalb desselben Servers, um einzelne Ebenen auf Größen zu skalieren, die eine einzelne GPU überschreiten
Im folgenden Beispiel wird ein 6-Schichten-Modell auf einem Cluster von k*3 Servern mit 8*k*3 GPUs (8 GPUs pro Server) trainiert. Der Grad der Datenparallelität ist k, der Pipeline-Parallelismus 6 und der Tensor-Parallelismus 4. Jede GPU im Cluster enthält ein Viertel einer Modellebene, und ein vollständiges Modell wird über drei Server verteilt (insgesamt 24 GPUs).
Für LLMs besonders relevant sind:
- SageMaker verteiltes Modell parallel – Diese Bibliothek verwendet Graphpartitionierung, um eine intelligente Modellpartitionierung zu erzeugen, die für Geschwindigkeit oder Speicher optimiert ist. SageMaker Distributed Model Parallel stellt die neueste und beste Trainingsoptimierung für große Modelle bereit, einschließlich Datenparallelismus, Pipeline-Parallelismus, Tensorparallelismus, Optimizer State Sharding, Aktivierungs-Checkpointing und Offloading. Mit der parallelen SageMaker-Bibliothek für verteilte Modelle haben wir ein 175-Milliarden-Parameter-Modelltraining über 920 NVIDIA A100-GPUs dokumentiert. Weitere Informationen finden Sie unter Trainieren Sie mehr als 175 Milliarden Parameter-NLP-Modelle mit modellparallelen Ergänzungen und Hugging Face auf Amazon SageMaker.
- SageMaker fragmentierte Daten parallel - Im MiCS: Nahezu lineare Skalierung zum Trainieren gigantischer Modelle in der Public Cloud, Zhanget al. Führen Sie eine Parallelstrategie für Modelle mit geringer Kommunikation ein, bei der Modelle nur über eine Datenparallelgruppe verteilt werden, anstatt über den gesamten Cluster. Mit MiCS konnten AWS-Wissenschaftler 176 Teraflops pro GPU (56.4 % der theoretischen Spitze) für das Training eines 210-Layer-Modells mit 1.06 Billionen Parametern auf EC2 P4de-Instances erreichen. MiCS ist jetzt für SageMaker Training-Kunden als verfügbar SageMaker fragmentierte Daten parallel.
Verteilte SageMaker-Schulungsbibliotheken bieten eine hohe Leistung und ein einfacheres Entwicklererlebnis. Insbesondere müssen Entwickler kein benutzerdefiniertes Startprogramm für parallele Prozesse schreiben und verwalten oder ein Framework-spezifisches Starttool verwenden, da das Startprogramm für parallele Prozesse in das Auftragsstart-SDK integriert ist.
Selbstverwaltet
Mit SageMaker Training haben Sie die Freiheit, das Framework und wissenschaftliche Paradigma Ihrer Wahl zu verwenden. Insbesondere wenn Sie das verteilte Training selbst verwalten möchten, haben Sie zwei Möglichkeiten, Ihren benutzerdefinierten Code zu schreiben:
- Verwenden Sie einen AWS Deep Learning Container (DLC) – AWS entwickelt und wartet DLCs, das AWS-optimierte Docker-basierte Umgebungen für Top-Open-Source-ML-Frameworks bereitstellt. SageMaker Training verfügt über eine einzigartige Integration, die es Ihnen ermöglicht, AWS DLCs mit einem externen, benutzerdefinierten Einstiegspunkt abzurufen und auszuführen. Insbesondere für LLM-Schulungen sind AWS-DLCs für TensorFlow, PyTorch, Hugging Face und MXNet besonders relevant. Mit einem Framework-DLC können Sie Framework-native Parallelität wie PyTorch Distributed verwenden, ohne Ihre eigenen Docker-Images entwickeln und verwalten zu müssen. Zusätzlich enthalten unsere DLCs eine MPI-Integration, mit dem Sie parallelen Code einfach starten können.
- Schreiben Sie ein benutzerdefiniertes SageMaker-kompatibles Docker-Image – Sie können Ihr eigenes (BYO) Image mitbringen (siehe Verwenden Sie Ihre eigenen Trainingsalgorithmen und Benutzerdefinierte Schulungscontainer von Amazon SageMaker), entweder von Grund auf neu beginnen oder ein vorhandenes DLC-Image erweitern. Wenn Sie ein benutzerdefiniertes Image für das LLM-Training auf SageMaker verwenden, ist es besonders wichtig, Folgendes zu überprüfen:
- Ihr Bild enthält EFA mit entsprechenden Einstellungen (mehr dazu später in diesem Beitrag)
- Ihr Image enthält eine NVIDIA NCCL-Kommunikationsbibliothek, die mit GPUDirectRDMA aktiviert ist
Kunden konnten eine Reihe selbstverwalteter verteilter Schulungsbibliotheken nutzen, darunter DeepSpeed.
Kommunikation
Angesichts der verteilten Natur eines LLM-Trainingsjobs ist die Kommunikation zwischen Maschinen entscheidend für die Machbarkeit, Leistung und Kosten der Arbeitsbelastung. In diesem Abschnitt stellen wir die wichtigsten Funktionen für die Kommunikation zwischen Maschinen vor und schließen mit Tipps zur Installation und Abstimmung ab.
Adapter aus elastischem Stoff
Um ML-Anwendungen zu beschleunigen und die Leistung zu verbessern, indem Sie die von der Cloud bereitgestellte Flexibilität, Skalierbarkeit und Elastizität erreichen, können Sie die Vorteile nutzen Adapter aus elastischem Stoff (EFA) mit SageMaker. Unserer Erfahrung nach ist die Verwendung von EFA eine Voraussetzung, um eine zufriedenstellende Multi-Node-LLM-Trainingsleistung zu erzielen.
Ein EFA-Gerät ist eine Netzwerkschnittstelle, die während der Ausführung der Trainingsjobs mit EC2-Instances verbunden ist, die von SageMaker verwaltet werden. EFA ist für bestimmte Instance-Familien verfügbar, einschließlich P4d. EFA-Netzwerke können einen Durchsatz von mehreren hundert Gbit/s erreichen.
In Verbindung mit EFA hat AWS die eingeführt Skalierbares zuverlässiges Datagramm (SRD), ein Ethernet-basierter Transport, der von der Zuverlässiges InfiniBand-Datagramm, entwickelt mit gelockerter Paketordnungsbeschränkung. Weitere Informationen zu EFA und SRD finden Sie unter Auf der Suche nach Leistung gibt es mehr als eine Möglichkeit, ein Netzwerk aufzubauen, das Video Wie EFA funktioniert und warum wir kein Infiniband in der Cloud verwenden, und die Forschungsarbeit Ein Cloud-optimiertes Transportprotokoll für elastisches und skalierbares HPC von Shalev et al.
Sie können die EFA-Integration auf kompatiblen Instanzen zu vorhandenen SageMaker-Docker-Containern oder benutzerdefinierten Containern hinzufügen, die zum Trainieren von ML-Modellen mithilfe von SageMaker-Jobs verwendet werden können. Weitere Informationen finden Sie unter Lauftraining mit EFA. EFA wird über Open Source bereitgestellt Bibliothek Kommunikationspaket. LLM-Entwickler programmieren es jedoch selten direkt mit Libfabric und verlassen sich normalerweise stattdessen auf die NVIDIA Collective Communications Library (NCCL).
AWS-OFI-NCCL-Plugin
In verteiltem ML wird EFA am häufigsten mit der NVIDIA Collective Communications Library (NCCL) verwendet. NCCL ist eine von NVIDIA entwickelte Open-Source-Bibliothek, die Kommunikationsalgorithmen zwischen GPUs implementiert. Die Kommunikation zwischen GPUs ist ein Eckpfeiler des LLM-Trainings, das Skalierbarkeit und Leistung katalysiert. Es ist so entscheidend für das DL-Training, dass das NCCL oft direkt als Kommunikations-Backend in Deep-Learning-Trainingsbibliotheken integriert wird, sodass LLM-Entwickler es – manchmal ohne es zu merken – von ihrem bevorzugten Python-DL-Entwicklungsframework aus verwenden. Um die NCCL auf EFA zu verwenden, verwenden LLM-Entwickler die von AWS entwickelte AWS OFI NCCL-Plugin, das NCCL-Aufrufe der von EFA verwendeten Libfabric-Schnittstelle zuordnet. Wir empfehlen die Verwendung der neuesten Version von AWS OFI NCCL, um von den jüngsten Verbesserungen zu profitieren.
Um zu überprüfen, ob der NCCL EFA verwendet, sollten Sie die Umgebungsvariable festlegen NCCL_DEBUG
zu INFO
, und prüfen Sie in den Protokollen, ob EFA vom NCCL geladen wird:
Weitere Informationen zur NCCL- und EFA-Konfiguration finden Sie unter Testen Sie Ihre EFA- und NCCL-Konfiguration. Sie können den NCCL mit mehreren weiter anpassen Umgebungsvariablen. Beachten Sie, dass AWS ab NCCL 2.12 und höher eine automatisierte Auswahllogik für Kommunikationsalgorithmen für EFA-Netzwerke beigesteuert hat (NCCL_ALGO
kann undefiniert bleiben).
NVIDIA GPUDirect RDMA über EFA
Mit dem P4d-Instance-Typ we eingeführt GPUDirect RDMA (GDR) über EFA-Fabric. Es ermöglicht Netzwerkschnittstellenkarten (NICs) den direkten Zugriff auf den GPU-Speicher, wodurch die Remote-GPU-zu-GPU-Kommunikation über NVIDIA-GPU-basierte EC2-Instances schneller wird und der Orchestrierungsaufwand für CPUs und Benutzeranwendungen reduziert wird. GDR wird vom NCCL unter der Haube verwendet, wenn dies möglich ist.
GDR-Nutzung erscheint in der Inter-GPU-Kommunikation, wenn die Protokollebene auf INFO gesetzt ist, wie im folgenden Code:
Verwenden von EFA in AWS Deep Learning-Containern
AWS verwaltet Deep Learning Containers (DLCs), von denen viele mit von AWS verwalteten Dockerfiles geliefert werden und EFA, AWS OFI NCCL und NCCL enthalten. Die folgenden GitHub-Repositorys bieten Beispiele mit PyTorch und TensorFlow. Sie müssen diese Bibliotheken nicht selbst installieren.
Verwenden von EFA in Ihrem eigenen SageMaker-Schulungscontainer
Wenn Sie Ihren eigenen SageMaker-Schulungscontainer erstellen und NCCL über EFA für eine beschleunigte Kommunikation zwischen Knoten verwenden möchten, müssen Sie EFA, NCCL und AWS OFI NCCL installieren. Weitere Informationen finden Sie unter Lauftraining mit EFA. Darüber hinaus sollten Sie die folgenden Umgebungsvariablen in Ihrem Container oder in Ihrem Einstiegspunktcode festlegen:
FI_PROVIDER="efa"
gibt den Fabric-Schnittstellenanbieter anNCCL_PROTO=simple
weist das NCCL an, ein einfaches Protokoll für die Kommunikation zu verwenden (derzeit unterstützt der EFA-Anbieter keine LL-Protokolle; ihre Aktivierung könnte zu Datenbeschädigung führen)FI_EFA_USE_DEVICE_RDMA=1
verwendet die RDMA-Funktionalität des Geräts für einseitige und zweiseitige ÜbertragungNCCL_LAUNCH_MODE="PARALLEL"
NCCL_NET_SHARED_COMMS="0"
Besetzung
Die Verwaltung des Lebenszyklus und der Arbeitslast von Dutzenden bis Hunderten von Recheninstanzen erfordert Orchestrierungssoftware. In diesem Abschnitt bieten wir Best Practices für die LLM-Orchestrierung
Innerbetriebliche Orchestrierung
Entwickler müssen in den meisten verteilten Frameworks sowohl serverseitigen Trainingscode als auch clientseitigen Launcher-Code schreiben. Trainingscode wird auf Trainingscomputern ausgeführt, während clientseitiger Launcher-Code die verteilte Arbeitslast von einem Clientcomputer aus startet. Heute gibt es wenig Standardisierung, zum Beispiel:
- In PyTorch können Entwickler Tasks mit mehreren Maschinen starten
torchrun
,torchx
,torch.distributed.launch
(Verfallpfad) odertorch.multiprocessing.spawn
- DeepSpeed schlägt einen eigenen Deepspeed-CLI-Launcher vor und unterstützt auch den MPI-Start
- MPI ist ein beliebtes Parallel-Computing-Framework, das den Vorteil hat, dass es ML-agnostisch und angemessen verwaltet und daher stabil und dokumentiert ist und zunehmend in verteilten ML-Workloads zu sehen ist
In einem SageMaker-Schulungscluster wird der Schulungscontainer einmal auf jeder Maschine gestartet. Folglich haben Sie drei Möglichkeiten:
- Nativer Launcher – Sie können als Einstiegspunkt den nativen Launcher eines bestimmten DL-Frameworks verwenden, zum Beispiel a
torchrun
-Aufruf, der selbst mehrere lokale Prozesse hervorbringt und die Kommunikation zwischen Instanzen herstellt. - SageMaker MPI-Integration – Sie können die SageMaker MPI-Integration verwenden, die in unserem AWS DLC verfügbar ist, oder sich selbst installieren über Sagemaker-Training-Toolkit, um Ihren Einstiegspunktcode N-mal pro Maschine direkt auszuführen. Dies hat den Vorteil, dass die Verwendung von zwischengeschalteten Framework-spezifischen Launcher-Skripten in Ihrem eigenen Code vermieden wird.
- Verteilte SageMaker-Bibliotheken – Wenn Sie die verteilten SageMaker-Bibliotheken verwenden, können Sie sich auf den Trainingscode konzentrieren und müssen überhaupt keinen Launcher-Code schreiben! Der verteilte Launcher-Code von SageMaker ist in das SageMaker SDK integriert.
Jobübergreifende Orchestrierung
LLM-Projekte bestehen oft aus mehreren Jobs: Parametersuche, Skalierungsexperimente, Wiederherstellung nach Fehlern und mehr. Um Trainingsaufgaben zu starten, zu stoppen und zu parallelisieren, ist es wichtig, einen Job Orchestrator zu verwenden. SageMaker Training ist ein serverloser ML-Job-Orchestrator, der transiente Recheninstanzen sofort auf Anfrage bereitstellt. Sie zahlen nur für das, was Sie nutzen, und Cluster werden außer Betrieb genommen, sobald Ihr Code endet. Mit SageMaker-Schulung für warme Pools, haben Sie die Möglichkeit, eine Nutzungsdauer für Trainingscluster zu definieren, um die gleiche Infrastruktur arbeitsplatzübergreifend wiederzuverwenden. Dies reduziert die Iterationszeit und die Variabilität zwischen den Stellenvermittlungen. SageMaker-Jobs können aus einer Vielzahl von Programmiersprachen gestartet werden, darunter Python und CLI.
Es gibt ein SageMaker-spezifisches Python-SDK namens the SageMaker Python-SDK und implementiert über die sagemaker Python-Bibliothek, aber ihre Verwendung ist optional.
Quotenerhöhung für Ausbildungsberufe mit großem und langem Ausbildungscluster
SageMaker verfügt über Standardkontingente für Ressourcen, die eine unbeabsichtigte Nutzung und Kosten verhindern sollen. Um einen LLM mit einem großen Cluster von High-End-Instances zu trainieren, die lange Zeit laufen, müssen Sie wahrscheinlich die Kontingente in der folgenden Tabelle erhöhen.
Kontingentname | Standardwert |
Längste Laufzeit für einen Trainingsjob | 432,000 Sekunden |
Anzahl der Instanzen für alle Trainingsjobs | 4 |
Maximale Anzahl von Instanzen pro Trainingsjob | 20 |
ml.p4d.24xlarge für die Nutzung von Trainingsjobs | 0 |
ml.p4d.24xlarge zum Trainieren der Nutzung des warmen Pools | 0 |
See AWS-Servicekontingente wie Sie Ihre Kontingentwerte anzeigen und eine Kontingenterhöhung anfordern. Kontingente für On-Demand-, Spot-Instances und warme Trainingspools werden separat nachverfolgt und geändert.
Wenn Sie sich dafür entscheiden, den SageMaker-Profiler aktiviert zu lassen, beachten Sie, dass jeder Trainingsjob einen SageMaker-Verarbeitungsjob startet, der jeweils eine ml.m5.2xlarge-Instanz verbraucht. Bestätigen Sie, dass Ihre SageMaker-Verarbeitungskontingente hoch genug sind, um die erwartete Parallelität von Trainingsjobs zu berücksichtigen. Wenn Sie beispielsweise 50 Profiler-fähige Trainingsjobs starten möchten, die gleichzeitig ausgeführt werden, müssen Sie das Nutzungslimit für ml.m5.2xlarge für Verarbeitungsjobs auf 50 erhöhen.
Um einen Job mit langer Ausführungszeit zu starten, müssen Sie außerdem die explizit festlegen Estimator max_run
Parameter auf die gewünschte maximale Dauer für den Trainingsjob in Sekunden bis zum Kontingentwert der längsten Laufzeit für einen Trainingsjob.
Überwachung und Ausfallsicherheit
Hardwareausfälle sind im Ausmaß einer einzelnen Instanz äußerst selten und werden mit zunehmender Anzahl gleichzeitig verwendeter Instanzen immer häufiger. Bei typischer LLM-Skala – Hunderte bis Tausende von GPUs, die wochen- bis monatelang rund um die Uhr verwendet werden – sind Hardwareausfälle nahezu sicher. Daher muss eine LLM-Workload geeignete Überwachungs- und Resilienzmechanismen implementieren. Erstens ist es wichtig, die LLM-Infrastruktur genau zu überwachen, um die Auswirkungen von Ausfällen zu begrenzen und die Nutzung von Rechenressourcen zu optimieren. SageMaker Training schlägt zu diesem Zweck mehrere Funktionen vor:
- Protokolle werden automatisch an CloudWatch Logs gesendet. Protokolle enthalten Ihr Trainingsskript
stdout
undstderr
. Beim MPI-basierten verteilten Training senden alle MPI-Mitarbeiter ihre Protokolle an den Leader-Prozess. - Metriken zur Auslastung von Systemressourcen wie Arbeitsspeicher, CPU-Auslastung und GPU-Auslastung werden automatisch an CloudWatch gesendet.
- Du kannst dich Definieren Sie benutzerdefinierte Trainingsmetriken die an CloudWatch gesendet werden. Die Metriken werden basierend auf von Ihnen festgelegten regulären Ausdrücken aus Protokollen erfasst. Experimentpakete von Drittanbietern wie die AWS-Partner Das Angebot von Weights & Biases kann mit SageMaker Training verwendet werden (ein Beispiel finden Sie unter Optimierung von CIFAR-10-Hyperparametern mit W&B und SageMaker).
- SageMaker-Profiler ermöglicht es Ihnen, die Nutzung der Infrastruktur zu überprüfen und Optimierungsempfehlungen zu erhalten.
- Amazon EventBridge und AWS Lambda ermöglichen es Ihnen, eine automatisierte Client-Logik zu erstellen, die auf Ereignisse wie Auftragsfehler, Erfolge, S3-Datei-Uploads und mehr reagiert.
- SageMaker SSH-Hilfsprogramm ist eine von der Community verwaltete Open-Source-Bibliothek, mit der Sie sich über SSH mit Hosts für Schulungsjobs verbinden können. Es kann hilfreich sein, Codeausführungen auf bestimmten Knoten zu untersuchen und Fehler zu beheben.
Neben der Überwachung bietet SageMaker auch Ausrüstung für die Ausfallsicherheit von Jobs:
- Cluster-Zustandsprüfungen – Bevor Ihr Job beginnt, führt SageMaker GPU-Zustandsprüfungen durch und verifiziert die NCCL-Kommunikation auf GPU-Instanzen, wobei gegebenenfalls fehlerhafte Instanzen ersetzt werden, um sicherzustellen, dass Ihr Trainingsskript auf einem fehlerfreien Cluster von Instanzen ausgeführt wird. Zustandsprüfungen sind derzeit für P- und G-GPU-basierte Instance-Typen aktiviert.
- Eingebaute Wiederholungen und Cluster-Update – Sie können SageMaker automatisch konfigurieren wiederholen Trainingsjobs, die mit einem internen SageMaker-Serverfehler (ISE) fehlschlagen. Als Teil der Wiederholung eines Auftrags ersetzt SageMaker alle Instanzen, bei denen nicht behebbare GPU-Fehler aufgetreten sind, durch neue Instanzen, startet alle fehlerfreien Instanzen neu und startet den Auftrag erneut. Dies führt zu schnelleren Neustarts und Workload-Abschluss. Das Cluster-Update ist derzeit für P- und G-GPU-basierte Instance-Typen aktiviert. Sie können Ihre eigenen hinzufügen Applikativer Wiederholungsmechanismus rund um den Client-Code, der den Job übermittelt, um andere Arten von Startfehlern zu behandeln, z. B. das Überschreiten Ihres Kontokontingents.
- Automatisiert Checkpoint zu Amazon S3 – Das hilft Ihnen Kontrollpunkt Ihren Fortschritt und laden Sie einen vergangenen Zustand auf neue Jobs.
Um von der Ersetzung auf Knotenebene zu profitieren, muss Ihr Code fehlerhaft sein. Kollektive können hängen bleiben, anstatt einen Fehler zu verursachen, wenn ein Knoten ausfällt. Um eine sofortige Behebung zu erreichen, legen Sie daher ein Timeout für Ihre Kollektive richtig fest und lassen Sie den Code einen Fehler ausgeben, wenn es erreicht wird.
Einige Kunden richten einen Überwachungsclient ein, um zu überwachen und im Falle von Job-Hängen oder Anwendungskonvergenzstopps zu handeln, indem sie CloudWatch-Protokolle und -Metriken auf abnormale Muster wie keine geschriebenen Protokolle oder 0 % GPU-Nutzung überwachen, um auf ein Hängen, Konvergenzstopp und Auto hinzuweisen stoppen/wiederholen Sie den Job.
Tiefer Einblick in Checkpointing
Das SageMaker-Checkpoint Die Funktion kopiert alles, worauf Sie schreiben /opt/ml/checkpoints
zurück zu Amazon S3 als URI, der in der angegeben ist checkpoint_s3_uri
SDK-Parameter. Wenn ein Job gestartet oder neu gestartet wird, wird alles, was an diesem URI geschrieben wurde, an alle Maschinen unter at zurückgesendet /opt/ml/checkpoints
. Dies ist praktisch, wenn Sie möchten, dass alle Knoten Zugriff auf alle Checkpoints haben, aber in großem Umfang – wenn Sie viele Maschinen oder viele historische Checkpoints haben, kann dies zu langen Downloadzeiten und zu hohem Datenverkehr auf Amazon S3 führen. Außerdem benötigen die Worker bei der Tensor- und Pipeline-Parallelität nur einen Bruchteil des Checkpoint-Modells, nicht alles davon. Wenn Sie mit diesen Einschränkungen konfrontiert sind, empfehlen wir die folgenden Optionen:
- Checkpointing auf FSx für Lustre – Dank leistungsstarker zufälliger E/A können Sie das Sharding- und Dateizuordnungsschema Ihrer Wahl definieren
- Selbstverwaltetes Amazon S3-Checkpointing – Beispiele für Python-Funktionen, die zum nicht blockierenden Speichern und Lesen von Checkpoints verwendet werden können, finden Sie unter Kontrollpunkte speichern
Wir empfehlen dringend, Ihr Modell alle paar Stunden zu überprüfen, z. B. alle 1–3 Stunden, je nach damit verbundenem Aufwand und Kosten.
Frontend und Benutzerverwaltung
Die Benutzerverwaltung ist eine der wichtigsten Usability-Stärken von SageMaker im Vergleich zu älteren gemeinsam genutzten HPC-Infrastrukturen. SageMaker-Schulungsberechtigungen werden von mehreren geregelt AWS Identity and Access Management and (IAM) Abstraktionen:
- Prinzipale – Benutzer und Systeme – erhalten die Berechtigung, Ressourcen zu starten
- Trainingsjobs tragen selbst Rollen, die es ihnen ermöglichen, eigene Berechtigungen zu haben, beispielsweise in Bezug auf Datenzugriff und Dienstaufruf
Darüber hinaus haben wir 2022 hinzugefügt SageMaker-Rollenmanager um die Erstellung von Persona-gesteuerten Berechtigungen zu erleichtern.
Zusammenfassung
Mit SageMaker Training können Sie die Kosten senken und die Iterationsgeschwindigkeit Ihres Trainingsworkloads für große Modelle erhöhen. Wir haben Erfolgsgeschichten in zahlreichen Beiträgen und Fallstudien dokumentiert, darunter:
Wenn Sie Ihre LLM-Markteinführungszeit verbessern und gleichzeitig Ihre Kosten senken möchten, werfen Sie einen Blick auf die SageMaker-Schulungs-API und lassen Sie uns wissen, was Sie bauen!
Besonderer Dank geht an Amr Ragab, Rashika Kheria, Zmnako Awrahman, Arun Nagarajan, Gal Oshri für ihre hilfreichen Rezensionen und Lehren.
Über die Autoren
Anastasia Tzeveleka ist Machine Learning and AI Specialist Solutions Architect bei AWS. Sie arbeitet mit Kunden in EMEA zusammen und unterstützt sie bei der Entwicklung von Lösungen für maschinelles Lernen in großem Maßstab mithilfe von AWS-Services. Sie hat an Projekten in verschiedenen Bereichen gearbeitet, darunter Natural Language Processing (NLP), MLOps und Low-Code-No-Code-Tools.
Gili Nachum ist ein Senior AI/ML Specialist Solutions Architect, der als Teil des EMEA Amazon Machine Learning-Teams arbeitet. Gili interessiert sich leidenschaftlich für die Herausforderungen beim Training von Deep-Learning-Modellen und dafür, wie maschinelles Lernen die Welt, wie wir sie kennen, verändert. In seiner Freizeit spielt Gili gerne Tischtennis.
Olivier Cruchant ist Principal Machine Learning Specialist Solutions Architect bei AWS mit Sitz in Frankreich. Olivier hilft AWS-Kunden – von kleinen Startups bis hin zu großen Unternehmen – bei der Entwicklung und Bereitstellung von Anwendungen für maschinelles Lernen auf Produktionsniveau. In seiner Freizeit liest er gerne Forschungsarbeiten und erkundet mit Freunden und Familie die Wildnis.
Bruno Piston ist ein AI/ML Specialist Solutions Architect für AWS mit Sitz in Mailand. Er arbeitet mit Kunden jeder Größe zusammen, um ihnen dabei zu helfen, ihre technischen Anforderungen genau zu verstehen und KI- und maschinelle Lernlösungen zu entwickeln, die die AWS Cloud und den Amazon Machine Learning-Stack optimal nutzen. Seine Fachgebiete sind Machine Learning End-to-End, Machine Learning Industrialization und MLOps. Er genießt es, Zeit mit seinen Freunden zu verbringen, neue Orte zu erkunden und zu neuen Zielen zu reisen.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- Platoblockkette. Web3-Metaverse-Intelligenz. Wissen verstärkt. Hier zugreifen.
- Quelle: https://aws.amazon.com/blogs/machine-learning/training-large-language-models-on-amazon-sagemaker-best-practices/
- :Ist
- ][P
- $UP
- 000
- 1
- 100
- 2022
- 7
- 8
- a
- Fähigkeiten
- Fähig
- Über Uns
- oben
- beschleunigen
- beschleunigt
- Zugang
- unterbringen
- Konto
- Erreichen
- Erreichen
- über
- Handlung
- Aktivierung
- aktiv
- automatisch
- hinzugefügt
- Zusatz
- zusätzlich
- Zugänge
- Vorteil
- AI
- AI / ML
- AL
- Algorithmus
- Algorithmen
- Alle
- Zulassen
- erlaubt
- Amazon
- Amazon EC2
- Amazon FSx
- Amazon Machine Learning
- Amazon Sage Maker
- Betrag
- und
- Bienen
- APIs
- anwendbar
- Anwendung
- Anwendungen
- angewandt
- angemessen
- SIND
- Bereich
- um
- AS
- damit verbundenen
- At
- Attribute
- Auto
- Automatisiert
- Im Prinzip so, wie Sie es von Google Maps kennen.
- verfügbar
- Vermeidung von
- AWS
- Zurück
- Backend
- Balance
- basierend
- BE
- weil
- wird
- Bevor
- Sein
- Nutzen
- BESTE
- Best Practices
- Beyond
- Big
- Milliarde
- Milliarden
- Blockieren
- bringen
- Brings
- bauen
- erbaut
- Geschäft
- by
- rufen Sie uns an!
- namens
- Aufrufe
- CAN
- fähig
- Kapazität
- Karte
- Karten
- tragen
- Häuser
- Case Studies
- katalysiert
- Herausforderungen
- Ändern
- Kanal
- aus der Ferne überprüfen
- Schecks
- Wahl
- Entscheidungen
- Auswählen
- Unterricht
- Auftraggeber
- eng
- Cloud
- Cluster
- Code
- Collective
- kombiniert
- wie die
- gemeinsam
- häufig
- Kommunikation
- Kommunikation
- verglichen
- kompatibel
- Abschluss
- Berechnung
- Berechnen
- Computer
- Computer Vision
- Computing
- Schluss
- durchgeführt
- Konfiguration
- Schichtannahme
- Vernetz Dich
- Folglich
- enthalten
- Container
- Behälter
- enthält
- Inhalt
- beigetragen
- Smartgeräte App
- gesteuert
- Praktische
- Konvergenz
- Korruption
- Kosten
- Kosten
- könnte
- Kurs
- Abdeckung
- Covers
- erstellen
- Schaffung
- Kreativ (Creative)
- kritischem
- wichtig
- curation
- Zur Zeit
- Original
- Kunden
- anpassen
- technische Daten
- Datenzugriff
- Datenaufbereitung
- Datensätze
- entscheidet
- gewidmet
- tief
- tiefe Lernen
- Standard
- Grad
- Abhängig
- hängt
- einsetzen
- Design
- entworfen
- erwünscht
- Reiseziele
- Bestimmen
- Festlegung
- entwickeln
- entwickelt
- Entwickler:in / Unternehmen
- Entwickler
- Entwicklung
- entwickelt
- Gerät
- Geräte
- anders
- Rundfunk
- Direkt
- diskutieren
- diskutiert
- verteilt
- Verteiltes rechnen
- verteiltes Training
- Verteilung
- Docker
- Tut nicht
- Domains
- Nicht
- nach unten
- herunterladen
- Dutzende
- im
- jeder
- leicht
- Effektiv
- entweder
- EMEA
- ermöglichen
- freigegeben
- ermöglicht
- ermöglichen
- ermutigen
- endet
- verbesserte
- genießen
- genug
- gewährleisten
- Unternehmen
- Unternehmen
- Eintrag
- Arbeitsumfeld
- Umgebungen
- Ausrüstung
- ausgestattet
- Fehler
- Fehler
- etablieren
- Sogar
- Veranstaltungen
- schließlich
- Jedes
- alles
- entwickelt
- Beispiel
- Beispiele
- Excel
- vorhandenen
- erwarten
- erwartet
- ERFAHRUNGEN
- Experiment
- Möglichkeiten sondieren
- ausgesetzt
- Ausdrücke
- Verlängerung
- Erweiterungen
- extern
- äußerst
- Stoff
- Gesicht
- erleichtern
- erleichtern
- Faktoren
- Gescheitert
- scheitert
- Scheitern
- Familien
- Familie
- Fashion
- FAST
- beschleunigt
- fehlerhaft
- möglich
- Merkmal
- Eigenschaften
- wenige
- Feld
- Reichen Sie das
- Mappen
- Vorname
- passen
- FLOTTE
- Flexibilität
- Setzen Sie mit Achtsamkeit
- konzentriert
- gefolgt
- Folgende
- Aussichten für
- Fraktion
- Unser Ansatz
- Gerüste
- Frankreich
- Freiheit
- häufig
- frisch
- Freunde
- für
- voller
- voll
- funktional
- Funktionalität
- Funktionen
- weiter
- GAL
- erzeugt
- generativ
- bekommen
- bekommen
- GitHub
- gegeben
- GPU
- GPUs
- Graph
- groß
- größte
- Gruppe an
- Wächst
- Griff
- Handling
- Aufhängen
- passieren
- Hardware
- Haben
- mit
- Gesundheit
- gesund
- hilfreich
- Unternehmen
- hilft
- GUTE
- Hochfrequenz
- Hohe Leistungsfähigkeit
- historisch
- Haube
- Gastgeber
- STUNDEN
- Ultraschall
- Hilfe
- aber
- hpc
- HTML
- http
- HTTPS
- hunderte
- hunderte Millionen
- i
- identisch
- Identitätsschutz
- Image
- Bilder
- sofort
- Impact der HXNUMXO Observatorien
- implementieren
- umgesetzt
- Umsetzung
- wichtig
- zu unterstützen,
- verbessert
- Verbesserungen
- in
- In anderen
- das
- Einschließlich
- Erhöhung
- hat
- Steigert
- zunehmend
- Krankengymnastik
- Energiegewinnung
- Info
- Information
- Infrastruktur
- Innovation
- inspirierte
- installieren
- Instanz
- beantragen müssen
- integriert
- Integration
- Intelligent
- Interaktion
- Schnittstelle
- Vermittler
- intern
- einführen
- eingeführt
- IT
- Iteration
- SEINE
- selbst
- Job
- Jobs
- jpg
- Behalten
- Wesentliche
- Art
- Wissen
- Sprache
- Sprachen
- grosse
- großflächig
- größer
- neueste
- starten
- ins Leben gerufen
- startet
- Schicht
- Lagen
- führen
- Führer
- lernen
- Legacy
- Niveau
- Bibliotheken
- Bibliothek
- Lebenszyklus
- Gefällt mir
- wahrscheinlich
- LIMIT
- Einschränkungen
- Limitiert
- wenig
- LLM
- Laden
- aus einer regionalen
- Lang
- lange Zeit
- aussehen
- suchen
- Sneaker
- Maschine
- Maschinelles Lernen
- Maschinen
- halten
- Aufrechterhaltung
- unterhält
- um
- MACHT
- Making
- verwalten
- verwaltet
- Management
- viele
- Landkarten
- maximal
- Memory
- Metadaten
- Methoden
- Metrik
- Migration
- MILAN
- Millionen
- ML
- MLOps
- Model
- Modell
- für
- geändert
- Überwachen
- Überwachung
- mehr
- vor allem warme
- schlauer bewegen
- mehrere
- nämlich
- nativen
- Natürliche
- Verarbeitung natürlicher Sprache
- Natur
- Notwendig
- notwendig,
- Need
- Bedürfnisse
- Netzwerk
- netzwerkbasiert
- Netzwerke
- neuronale Netzwerk
- Neu
- Nlp
- Knoten
- Fiber Node
- Anzahl
- und viele
- Nvidia
- Objekte
- of
- bieten
- bieten
- Olive
- on
- On-Demand
- EINEM
- XNUMXh geöffnet
- Open-Source-
- Open-Source-Code
- geöffnet
- Entwicklungsmöglichkeiten
- Optimierung
- Optimieren
- optimiert
- Option
- Optionen
- Orchesterbearbeitung
- Auftrag
- Andere
- besitzen
- Paket
- Pakete
- Papier
- Papiere
- Paradigma
- Parallel
- Parameter
- Parameter
- Teil
- besondere
- besonders
- leidenschaftlich
- passt
- Weg
- Muster
- AUFMERKSAMKEIT
- Haupt
- Leistung
- Leistungen
- Erlaubnis
- Berechtigungen
- Physisch
- Pipeline
- Länder/Regionen
- Plato
- Datenintelligenz von Plato
- PlatoData
- spielend
- Points
- Pool
- Pools
- Beliebt
- Post
- BLOG-POSTS
- Praxis
- Praktiken
- Vorhersage
- Vorlieben
- bevorzugt
- Gegenwart
- Geschenke
- verhindern
- vorher
- Principal
- Prozessdefinierung
- anpassen
- Verarbeitung
- produziert
- Programm
- Programmierung
- Programmiersprachen
- Fortschritt
- Projekte
- richtig
- bietet
- schlägt vor
- Eigentums-
- Protokoll
- Protokolle
- die
- vorausgesetzt
- Versorger
- Bereitstellung
- Öffentlichkeit
- Publikationen
- Zweck
- setzen
- Python
- Pytorch
- Qualität
- erhöhen
- zufällig
- RARE
- Bewerten
- Honorar
- erreicht
- Lesen Sie mehr
- Lesebrillen
- realisieren
- vernünftig
- Gründe
- erhalten
- kürzlich
- empfehlen
- Empfehlungen
- Rekord
- Aufzeichnungen
- Erholung
- Veteran
- reduziert
- Reduzierung
- in Bezug auf
- Region
- Regionen
- regulär
- regelmäßig
- bezogene
- relevant
- zuverlässig
- entfernt
- ersetzen
- Darstellen
- Anforderung
- Zugriffe
- erfordern
- Anforderung
- erfordert
- Forschungsprojekte
- Forschung und Innovation
- Ressourcen
- Downloads
- Die Ergebnisse
- Bewertungen
- Rollen
- Rollen
- Führen Sie
- Laufen
- sagemaker
- gleich
- Speichern
- Skalierbarkeit
- skalierbaren
- Skalieren
- Waage
- Skalierung
- Schema
- wissenschaftlich
- Wissenschaftler
- Umfang
- Skripte
- Sdk
- Suche
- Zweite
- Sekunden
- Abschnitt
- auf der Suche nach
- ausgewählt
- Auswahl
- Senior
- Serverlos
- Fertige Server
- Lösungen
- kompensieren
- Einstellungen
- mehrere
- geschert
- sharding
- von Locals geführtes
- sollte
- bedeutend
- Einfacher
- Einfachheit
- gleichzeitig
- Single
- Größe
- Größen
- Fähigkeiten
- langsam
- klein
- So
- Software
- Lösungen
- einige
- Quelle
- Quellen
- Spezialist
- spezifisch
- speziell
- angegeben
- Geschwindigkeit
- Ausgabe
- Spagat
- Spot
- stabil
- Stapel
- Anfang
- Beginnen Sie
- beginnt
- Startups
- Bundesstaat
- statistisch
- Shritte
- Stoppen
- Einstellung
- Lagerung
- speichern
- Geschichten
- Strategie
- Strom
- Ströme
- Stärke
- Strippen
- starker
- Es wurden Studien
- Erfolg
- Erfolgsgeschichten
- erfolgreich
- so
- Support
- Unterstützte
- Unterstützt
- Synchronisation
- Syntax
- System
- Tabelle
- Nehmen
- Aufgabe
- und Aufgaben
- Team
- Technische
- Tensorfluss
- Vielen Dank
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- die Welt
- ihr
- Sie
- sich
- theoretisch
- deswegen
- Diese
- basierte Online-to-Offline-Werbezuordnungen von anderen gab.
- Tausende
- nach drei
- Durch
- Durchsatz
- Zeit
- mal
- Tipps
- zu
- heute
- Tokens
- auch
- Werkzeug
- Werkzeuge
- Top
- Gesamt
- verfolgen sind
- der Verkehr
- Training
- trainiert
- Ausbildung
- Übersetzungen
- Transportwesen
- Billion
- Typen
- typisch
- für
- zugrunde liegen,
- verstehen
- einzigartiges
- Bereiche
- Aktualisierung
- us
- Nutzbarkeit
- Anwendungsbereich
- -
- Mitglied
- gewöhnlich
- Wert
- Werte
- Vielfalt
- verschiedene
- überprüfen
- Version
- Video
- Anzeigen
- Seh-
- warm
- Weg..
- Wege
- Wochen
- GUT
- Was
- welche
- während
- WHO
- ganze
- werden wir
- mit
- .
- ohne
- Worte
- Arbeiten
- gearbeitet
- Arbeiter
- arbeiten,
- Werk
- weltweit wie ausgehandelt und gekauft ausgeführt wird.
- schreiben
- geschrieben
- Jahr
- Du
- Ihr
- sich selbst
- Youtube
- Zephyrnet