Der Kaltstart eines lokalen KI-Modells hängt vom Speicherlayout ab, da die Laufzeit vor der Inferenz jedes erforderliche Gewicht finden, lesen, dekodieren, abbilden und übertragen muss.
Zwei Kopien desselben Modells können unterschiedlich schnell starten, wenn eine bereits im lokalen NVMe-Cache liegt und in einem ladeoptimierten Format gespeichert ist, während die andere auf einer Netzwerkfreigabe, einem fragmentierten Dateisystem, einem komprimierten Archiv oder in einem Verzeichnis mit ungünstig angeordneten Shards liegt. Zum Kaltstart gehören außerdem Tokenizer-Dateien, Konfiguration, Laufzeitinitialisierung, die Zuweisung des Beschleunigers und die erste Ausführung. Die folgenden Abschnitte trennen die reine Speicherbandbreite vom Checkpoint-Layout, damit sich Verzögerungen beim Start der richtigen Phase zuordnen lassen.
Der Kaltstart ist eine Kette aus Speicher- und Laufzeitphasen
Ein Modell ist nicht bereit, sobald der Prozess lediglich seine erste Datei öffnet. Die Laufzeit muss Checkpoint-Metadaten ermitteln, die Modellstruktur erstellen, Gewichtsdaten lesen, Tensoren deserialisieren oder abbilden, den Zielspeicher zuweisen, Daten übertragen und Kernel oder Ausführungsgraphen initialisieren.
Forschung zu serverloser Inferenz identifiziert das Laden beim Kaltstart als einen wesentlichen Teil der Verzögerung, bevor ein LLM-Dienst bereit ist. Welche Phase am längsten dauert, hängt von Modellgröße, Format, Speicherebene, Hostspeicher und Beschleunigerpfad ab.
Eine schnelle SSD kann die Lesevorgänge verkürzen, während Deserialisierung, CPU-Kopien, GPU-Übertragung oder das Aufwärmen der Kernel unverändert bleiben. Messen Sie die Zeit an jeder Grenze, statt die gesamte Pause als einen einzigen Festplatten-Benchmark zu betrachten.
Der Speicherort entscheidet, ob die Gewichte aus dem Cache, dem LAN oder von der Festplatte kommen
Gewichte auf einer lokalen NVMe können ohne Netzwerklatenz oder die Warteschlange eines anderen Servers gelesen werden. Ein Modell auf SMB, NFS, Objektspeicher oder einer kalten externen Festplatte verursacht zusätzliche Übertragungs- und Remote-Cache-Aktivitäten, bevor das lokale Laden beginnt.
Aktuelle Arbeiten zu Modellen im Node-Cache zeigen, dass die lokale Speicherung großer Artefakte dafür sorgen kann, dass spätere Starts von Replikaten deutlich weniger von wiederholten Übertragungen aus der Ferne abhängen. Auf einem Heimserver gilt dasselbe Prinzip für den Unterschied zwischen einem ersten Download und einem wiederholten lokalen Start.
Lokal bedeutet nicht immer warm. Ein Neustart, die Verdrängung aus dem Cache, das erneute Einhängen des Dateisystems oder ein konkurrierender umfangreicher Lesevorgang können dazu führen, dass der nächste Start die meisten Modellseiten erneut vom physischen Speicher lesen muss.
Der Artikel von ZimaSpace über die Modellverdrängung behandelt die damit verbundene Speichergrenze: Sobald ein Modell nicht mehr resident ist, muss die nächste Anfrage den schnellen Ausführungszustand erneut aufbauen.
Das Checkpoint-Format bestimmt den Aufwand für Deserialisierung und Kopiervorgänge
Ein Checkpoint kann aus einer zusammenhängenden, ladeoptimierten Datei, mehreren Tensor-Shards mit Index, einem komprimierten Archiv oder einer frameworkspezifischen Serialisierung bestehen, die Python-Objekte und Tensor-Metadaten rekonstruiert.
ServerlessLLM verwendet sequenzielle Checkpoint-Lesevorgänge, um den Kaltstartaufwand zu reduzieren. Ein Layout, das große direkte Lesevorgänge und eine vorhersehbare Platzierung von Tensoren unterstützt, benötigt weniger Zeit für kleine Metadatenoperationen und die Zwischenrekonstruktion.
Sharding kann den maximal benötigten Host-RAM reduzieren, weil jeweils nur ein Shard verarbeitet wird. Zu viele kleine Dateien erhöhen jedoch die Anzahl von Verzeichnisabfragen, Öffnungen, Suchvorgängen und Indexverarbeitungen. Die optimale Shard-Größe hängt von der Parallelität des Loaders und vom zugrunde liegenden Dateisystem ab.
Komprimierung tauscht Speicherkapazität gegen CPU-Aufwand beim Start. Sie kann hilfreich sein, wenn der Speicher sehr langsam ist, aber nachteilig, wenn eine schnelle SSD auf Dekomprimierung und Speicherkopien warten muss.
Memory-Mapping verändert, wann Seiten in den RAM gelangen
Ein Eager-Loader kann einen großen Host-Puffer reservieren und den gesamten oder fast den gesamten Checkpoint lesen, bevor er die Tensoren weiterkopiert. Ein Memory-Mapped-Loader erstellt virtuelle Abbildungen und lässt das Betriebssystem Dateiseiten bei ihrem Zugriff in den RAM laden.
Forschung und moderne Ladesysteme verwenden Memory-Mapped-Loading, um eine vollständige Duplizierung des Artefakts im anonymen Speicher zu vermeiden. Dadurch kann der maximale RAM-Bedarf sinken, und mehrere Prozesse können Seiten über den Dateisystem-Cache gemeinsam nutzen.
Memory-Mapping beseitigt die Speicherlatenz nicht. Es verschiebt die Lesevorgänge auf den Zeitpunkt des Seitenfehlers. Daher kann die erste Inferenz weiterhin ins Stocken geraten, wenn erforderliche Seiten noch nicht geladen oder vorab abgerufen wurden.
Sequenzielles Prefetching kann bei einem Modell helfen, das die meisten Gewichte der Reihe nach verarbeitet. Der zufällige Zugriff auf Experten oder multimodale Komponenten kann das Muster der Seitenfehler dagegen weniger vorhersehbar machen.
Paralleles Laden hilft nur, wenn der Speicherpfad noch Reserven hat
Mehrere Loader-Threads oder GPU-Kopier-Streams können Lesen, Dekodieren und Übertragen überlappen. Sie können aus einem geordneten Lesevorgang jedoch auch mehrere konkurrierende Streams machen, die eine schwache SSD, eine USB-Bridge, eine Netzwerkfreigabe oder den Metadatenpfad des Dateisystems auslasten.
Die technischen Ergebnisse von NVIDIA zum parallelen Streaming von Gewichten zeigen, dass Ladeverfahren und Speicherwahl gemeinsam über die Verbesserung entscheiden. Parallelität ist nützlich, wenn Quelle und Ziel sie ohne wachsende Warteschlangen bewältigen können.
Ein Heimserver kann gleichzeitig Medien bereitstellen, Backups schreiben, Dateien scannen oder Datenbanken auf demselben Speicherpool ausführen. Diese Workloads verändern die Kaltstartlatenz, obwohl das Modellverzeichnis selbst unverändert bleibt.
Warmer Cache und die Wiederverwendung von Gewichten können wiederholte Starts dominieren
Der erste Start nach dem Booten kann jedes Modellbyte vom Speicher lesen, während der zweite vom Dateisystem-Seitencache, weiterhin im GPU-Speicher vorhandenen Daten oder einer Laufzeit profitiert, die die Gewichte zur Wiederverwendung bereithält.
Tangram beschleunigt den Start durch die Wiederverwendung von Gewichten im GPU-Speicher. Die allgemeinere Erkenntnis für einen Heimserver lautet, dass beim Begriff „Kaltstart“ angegeben werden muss, welche Caches und Prozesse vor dem Test geleert wurden.
Vergleichen Sie nicht ein Modell direkt nach einem warmen Lauf mit einem anderen Modell nach einem Neustart. Definieren Sie Kaltstart, warmen Dateisystemzustand, warmen Laufzeitzustand und warmen Beschleunigerzustand getrennt.
Testen Sie das Layout mit einem wiederholbaren Kaltstart-Test
Erfassen Sie Modellgröße, Dateianzahl, Shard-Größen, Dateisystem, Mount-Optionen, Speichergerät, Netzwerkpfad, Loader-Modus, Host-RAM, Beschleunigerspeicher und konkurrierende I/O. Messen Sie anschließend die Zeit für Metadatenermittlung, Lesen auf dem Host, Deserialisierung, Geräteübertragung, Laufzeitinitialisierung und das erste Token.
FlowLoader untersucht lokales Modell-Caching, da die Platzierung von Checkpoints und die Überlappung von Pipelines den Start von Sekunden oder Minuten auf deutlich kürzere Zeiten reduzieren können. Der genaue Gewinn hängt davon ab, ob der tatsächliche Engpass im Speicher, bei Kopiervorgängen oder bei der Initialisierung liegt.
Wiederholen Sie den Test nach dem Leeren des Dateisystem-Caches, nach einem normalen warmen Lauf und während repräsentativem NAS-Datenverkehr. Die entstehende Differenz zeigt, ob eine Änderung des Layouts, eine schnellere lokale Speicherebene, weniger Shards, Memory-Mapping oder eine Keep-Alive-Richtlinie helfen wird.
Tech- & KI-Zentrum
Mehr zum Lesen

Was verursacht, dass ein KI-Agentenplaner bereits abgeschlossene Schritte wiederholt?
Verfolge wiederholte Planungsschritte anhand von Zustandsbeibehaltung, Abschlussnachweisen, der Analyse von Tool-Ergebnissen, dem Erhalt des Kontexts, Wiederholungsversuchen, neuer Planung und Abbruchbedingungen.

Was verursacht Berechtigungsfehler nur innerhalb von KI-Agenten-Unterprozessen?
Vergleichen Sie die Identität des übergeordneten Prozesses und des untergeordneten Prozesses, die Dateisystemansicht, die Umgebung, die Fähigkeiten, die Sicherheitsrichtlinie und den Pfad zur ausführbaren...

Was verursacht eine CPU-Sättigung, wenn Hardware-Transkodierung und Video-KI gleichzeitig ausgeführt werden?
Verfolge die CPU-Auslastung bei Codec-Offloading, Pixeldatenkonvertierung, Frame-Kopien, KI-Vorverarbeitung, Audio, Untertiteln, Speicherzugriffen und Prozessplanung.

