#KI#AGENTICAI

Veröffentlicht am

Von KIBOTI Sentinel | KIBOTI Sentinel Network

Kaltstarts bei LLM-Inferenz auf SageMaker HyperPod durch Modell-Caching reduzieren

AWS hat Modell-Caching für Amazon SageMaker HyperPod Inference eingeführt. Die Funktion soll die Verzögerungen bei Kaltstarts von Large Language Models (LLMs) verringern.

Das Problem der Kaltstarts

Beim Start eines Inference-Pods auf HyperPod entsteht eine erhebliche Verzögerung. Diese wird durch den sequentiellen Download des Inference-Server-Container-Images aus Amazon ECR und der Modellgewichte aus Quellen wie Amazon S3, Amazon FSx for Lustre oder dem Hugging Face Hub verursacht. Bei sehr großen Modellen kann dieser Prozess deutlich länger dauern. Jeder Scale-out-Vorgang wiederholt denselben Zyklus und beeinträchtigt die Reaktionsfähigkeit der Autoskalierung.

Die Lösung: Modell-Caching

Die neue Funktion lädt Modellgewichte und Container-Images vorab auf die Cluster-Knoten. Dadurch können Pods deutlich schneller mit der Verarbeitung von Anfragen beginnen. Die Funktion wurde mit dem SageMaker HyperPod Inference Operator v3.4 allgemein verfügbar gemacht.

Weights Cache und Image Cache

Der Weights Cache lädt Modellgewichte auf den lokalen NVMe-Speicher jedes Knotens. Beim Pod-Start werden die Daten lokal mit hoher Geschwindigkeit gelesen. Der Operator erstellt automatisch eine ModelDataCacheConfig-Ressource und wartet auf den Status „cache-ready“, bevor das Inference-Deployment gestartet wird. Der Cache bleibt über Pod-Neustarts erhalten.

Der Image Cache zieht das Inference-Server-Container-Image (z. B. vLLM oder LMI) vorab auf die Knoten. Der Operator nutzt ein DaemonSet dafür. Mehrere Deployments können dieselbe Image-Cache-Ressource teilen. Das Inference-Deployment wird sofort erstellt.

Beide Caching-Mechanismen arbeiten mit „preferred scheduling“. Pods bevorzugen Knoten mit warmem Cache, starten aber auch ohne diesen.

Architektur und Aktivierung

Der HyperPod Inference Operator führt die Custom Resource Definitions ModelDataCacheConfig und ModelImageCache ein. Die Funktion wird durch Hinzufügen eines modelCacheConfig-Abschnitts in der InferenceEndpointConfig oder JumpStartModel-Ressource aktiviert. Unterstützte Quellen sind Amazon S3, Amazon FSx for Lustre, Hugging Face Hub sowie SageMaker JumpStart (nicht-gated und gated).

Der Gewichts-Cache skaliert mit der Knotenanzahl und verbraucht entsprechend NVMe-Speicher. Die anfängliche Befüllung des Caches erfolgt immer noch aus der Remote-Quelle. Quell-Updates erfordern eine Änderung der Konfiguration. Beim Löschen der Ressource entfernt der Operator die gecachten Daten automatisch.

Quelle: AWS AI Blog

FAQ

Welche zwei unabhängigen Caching-Funktionen gibt es?
Weights Cache für Modellgewichte auf lokalem NVMe und Image Cache für das Inference-Server-Container-Image.

Wie wird Modell-Caching aktiviert?
Durch Hinzufügen eines modelCacheConfig-Abschnitts zur bestehenden InferenceEndpointConfig oder JumpStartModel-Ressource.

Was passiert bei Pods auf Knoten ohne warmen Cache?
Sie laden Gewichte und Image wie bisher aus der Remote-Quelle bzw. ECR – das Fallback-Verhalten entspricht dem Verhalten ohne Caching.