Berechnung des Gedächtnis-Fußabdrucks großer neuronaler Netze

Der Speicherbedarf großer neuronaler Netze zu verstehen, ist für die Optimierung von Bereitstellung und Training von wesentlicher Bedeutung. Er hilft, Hardwareanforderungen und Effizienz zu bestimmen. Dieser Artikel erklärt, wie der Speicher berechnet wird, der von neuronalen Netzmodellen verwendet wird.

Komponenten der Speichernutzung

Der Gesamtspeicher-Fußabdruck umfasst mehrere Komponenten: Modellparameter, Gradienten, Optimiererzustände und temporäre Puffer während der Berechnung.

Berechnung von Modellparametern Speicher

Der Hauptfaktor ist die Größe der Modellparameter, um dies zu schätzen, multiplizieren Sie die Anzahl der Parameter mit der Größe jedes Parameters, typischerweise 4 Bytes für 32-Bit-Gleitkommazahlen.

Beispielsweise würde ein Modell mit 100 Millionen Parametern etwa 400 MB Speicher benötigen, nur um Parameter zu speichern.

Zusätzliche Gedächtnisüberlegungen

Während des Trainings verbrauchen Gradienten und Optimiererzustände auch Speicher. Gradienten sind in der Regel gleich groß wie Parameter, was den Speicherbedarf verdoppelt. Optimiererzustände, wie Momentum oder adaptive Lernratenvariablen, können zusätzlichen Overhead hinzufügen.

Temporäre Puffer für Aktivierungen und Zwischenberechnungen tragen auch zur Gesamtspeichernutzung bei, insbesondere bei großen Batchgrößen oder komplexen Architekturen.

Schätzung des Gesamtspeicherverbrauchs

Um den gesamten Speicher-Fußabdruck zu schätzen, addieren Sie den Speicher für Parameter, Gradienten, Optimiererzustände und temporäre Puffer.