
Amazon SageMaker Inference unterstützt GPU-Partitionierung mit NVIDIA MIG
Amazon hat für SageMaker Inference eine GPU-Partitionierung auf Basis von NVIDIA Multi-Instance GPU, kurz MIG, angekündigt. Dabei wird eine physische GPU in hardwareisolierte Partitionen aufgeteilt. Jede Partition erhält einen festen Anteil der Rechenleistung und einen eigenen Speicherblock. Abhängig von der GPU kann MIG bis zu sieben Instanzen erzeugen. Jede davon verfügt über eigene Rechenressourcen, Cache, Speicher und Speicherbandbreite.
Für ein Modell lässt sich damit ein unterstütztes Partitionsprofil wählen, statt ihm automatisch das gesamte Gerät zuzuweisen. Nachdem die Profile ausgewählt wurden, übernimmt SageMaker AI die GPU-Konfiguration, Platzierung und Skalierung. Die Hardwareisolation der MIG-Partitionen ist jedoch keine vollständige Mandantengrenze: Modelle auf derselben Instanz teilen weiterhin Host-CPU, Systemspeicher, Datenspeicher, Netzwerk und das Routing des Endpunkts.
Geltungsbereich der Unterstützung
Die GPU-Partitionierung funktioniert bei Echtzeit-Endpunkten, die Inference Components verwenden. Nicht unterstützt werden Single-Model-Endpunkte, serverlose Endpunkte, heterogene Instanzpools und asynchrone Arbeitslasten. Vor einer Planung müssen daher sowohl die Endpunktform als auch die gewählte GPU auf ihre Eignung geprüft werden.
Eine Partition erstreckt sich niemals über mehrere Beschleuniger. Modelle, die eine vollständige GPU oder mehrere GPUs benötigen, müssen weiterhin ganze Geräte verwenden. Das gewünschte Profil muss von der ausgewählten GPU angeboten werden. Außerdem darf die Summe der Rechen- und Speichereinheiten eines Layouts die Kapazität eines einzelnen Geräts nicht überschreiten. Ungültige Layouts werden abgelehnt; es erfolgt kein stiller Rückfall auf einen vollständigen Beschleuniger.
Zwei optionale API-Felder
Die Funktion ergänzt zwei optionale Felder. AcceleratorPartitionLayouts an einer Produktionsvariante deklariert das Beschleunigerlayout. AcceleratorPartitionType an einer Inference Component wählt den Partitionstyp für ein Modell aus. Es kommen keine neuen API-Operationen, Ressourcentypen oder IAM-Aktionen hinzu. Werden beide Felder weggelassen, bleibt das bisherige Endpunktverhalten erhalten. Auch der Aufruf eines Modells ändert sich nicht.
Das Partitionslayout wird beim Erstellen des Endpunkts festgelegt. Für die Änderung des Partitionsprofils einer Inference Component ist eine neue Komponente erforderlich. Soll die Aufteilung der GPU am Endpunkt geändert werden, sind ein neuer Endpunkt und eine Migration des Datenverkehrs notwendig. Das Layout ist damit eine Entscheidung für den Lebenszyklus der Bereitstellung und keine beliebig umschaltbare Einstellung eines bestehenden Endpunkts.
Von Amazon gemeldeter Benchmark
Amazon beschrieb einen Benchmark mit Llama-3.1-8B-Instruct. Darin lieferte eine H100-Partition des Typs mig-3g.40gb mehr Ausgabetoken pro Sekunde, eine niedrigere Latenz zwischen einzelnen Token und eine kürzere Zeit bis zum ersten Token als eine vollständige A100-40GB. Diese Vorteile wurden für alle im Test enthaltenen Verkehrsformen und Parallelitätsstufen gemeldet.
Oberhalb arbeitslastabhängiger Schnittpunkte war die H100-Partition in diesem Benchmark pro Million Ausgabetoken den Angaben zufolge 18 bis 34 Prozent günstiger. Unterhalb dieser Punkte war die vollständige A100 günstiger. Das Ergebnis bezieht sich ausschließlich auf das geprüfte Modell, die Endpunkte, Konfigurationen, Verkehrsformen, Parallelitätsstufen, Preise und die verwendete Region. Andere Arbeitslasten müssen jeweils separat gemessen werden.
Regionen, Instanzen und Abrechnung
Die GPU-Partitionierung ist für die Instanzfamilien P4d, P5, G7 und G7e in US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Tokyo), Europe (Frankfurt) und Europe (Ireland) verfügbar. Die Instanzverfügbarkeit unterscheidet sich je nach Region. Aus der Liste folgt deshalb nicht, dass jeder unterstützte Instanztyp in jeder genannten Region angeboten wird.
Abgerechnet wird weiterhin die vollständige GPU-Instanz zu ihrem bestehenden Stundenpreis. Partitionen werden nicht unabhängig voneinander berechnet, und die Partitionierung verändert den Stundenpreis der Instanz nicht. Ein wirtschaftlicher Effekt hängt somit davon ab, wie viel nutzbare Arbeit die bezahlte Instanz für eine konkrete Arbeitslast leistet, und nicht von einem gesonderten Preis für eine MIG-Partition.
Für eine Bereitstellung sind damit mehrere verbundene Bedingungen maßgeblich: ein unterstützter Echtzeit-Endpunkt mit Inference Components, ein auf der GPU verfügbares Profil und ein Layout innerhalb der Kapazität eines Geräts. Hinzu kommt, dass Profil- oder Layoutänderungen neue Komponenten beziehungsweise einen neuen Endpunkt erfordern. Diese Grenzen bestimmen, wann eine kleinere Zuteilung möglich ist, während die bestehende Schnittstelle für Modellaufrufe erhalten bleibt.