AIUnlimited
🌳

KI-Grundlagen

🌱
AI Seeds

Starte bei null

🌿
AI Sprouts

Fundament aufbauen

🌳
AI Branches

In der Praxis anwenden

🏕️
AI Canopy

In die Tiefe gehen

🌲
AI Forest

KI meistern

🔨

KI-Meisterschaft

✏️
AI Sketch

Starte bei null

🪨
AI Chisel

Fundament aufbauen

⚒️
AI Craft

In der Praxis anwenden

💎
AI Polish

In die Tiefe gehen

🏆
AI Masterpiece

KI meistern

📘

KI-Praxis

📖
Open-Source-Modelle verstehen

Grundlagen und Ressourcen für Open-Source-Modelle

🎯
Vom Problem zur Modellaufgabe

Geschäftsprobleme in Modellaufgaben umwandeln

⚡
Ihr erstes Modell ausführen

Sehen Sie Ihre ersten Ergebnisse in 30 Minuten

🔧
Fine-Tuning und Evaluierung

Modelle feinjustieren und Leistung bewerten

🚀
Anwendungssysteme

Bauen Sie reale KI-Anwendungen

🎨
Generative KI

Erkunden Sie Open-Source-AIGC-Modelle

🤖
Agenten

Lernen Sie Agent-Frameworks und MCP-Werkzeuge

📐
Ergänzende Grundlagen

LLM-Grundlagen und Evaluierung

🎓

Claude Akademie

🤖
Claude 101

Learn AI basics with Claude

💻
Claude Code 101

Code with Claude as your pair programmer

🤝
Introduction to Claude Cowork

Collaborate with Claude on complex projects

⚙️
Claude Platform 101

Build apps with the Claude API

Labor

7 Experimente geladen
🧬Neuronales Netz Sandbox🤖KI oder Mensch?🥋Prompt Engineering Dojo🏁Algorithmus-Rennen🧠KI-Quizduell🏗️Systemdesign-Leinwand
🎯ProbeinterviewLabor betreten→
🚀

Karriereentwicklung

🚀
Interview-Startrampe

Starte deine Reise

🌟
Verhaltensinterview-Meisterschaft

Soft Skills meistern

💻
Technische Interviews

Die Coding-Runde bestehen

🤖
AI- & ML-Interviews

ML-Interview meistern

🏆
Angebot & Karriere

Das beste Angebot sichern

Loslegen
AIUnlimited

MIT-Lizenz

沪ICP备18025655号-11

Lernen

  • KI-Grundlagen
  • KI-Praxis
  • Claude Akademie
  • Labor
  • Karriereentwicklung

Community

  • Über uns
  • FAQ

Unterstützung

  • Nutzungsbedingungen
  • Datenschutzerklärung
  • Kontakt
KI & Engineering Programme›⚡ Ihr erstes Modell ausführen›Lektionen›Server Configuration for Models
🖥️
Ihr erstes Modell ausführen • Anfänger⏱️ 15 Min. Lesezeit

Server Configuration for Models

Wählen Sie die richtige Serverkonfiguration für Ihre Modellgröße

Nachdem Sie Ihr erstes Ergebnis erzielt haben, ist es leicht, größere Modelle ausprobieren zu wollen. Sie können von 0.5B auf 7B wechseln, aber das ursprüngliche Gerät reicht möglicherweise nicht mehr aus.

Bei der Auswahl der Ressourcen unterscheiden Sie zunächst zwischen einigen Dingen. CPU und GPU sind für Berechnungen zuständig, Speicher und Videospeicher halten Daten während der Ausführung, und Festplatten speichern Modelldateien. Ein Modell erfolgreich herunterzuladen bedeutet nur, dass die Festplatte genügend Platz hat — ob es reibungslos laufen kann, hängt auch von Speicher, Videospeicher und Rechenleistung ab. Dasselbe Modell, je nach Ladepräzision, Eingabelänge und gleichzeitig verarbeiteter Anfragenanzahl, beeinflusst alles die Ressourcennutzung. Inferenz und Training haben auch unterschiedliche Anforderungen.

Schauen wir uns zunächst an, wofür CPU und GPU jeweils geeignet sind, dann schätzen wir ab, wie viel Platz Modellparameter einnehmen werden, um die Wahl eines Laptops oder einer Cloud-Instanz vorzubereiten.

CPU und GPU: Worin ist jeder gut?

Einer übertrifft in flexibler Verarbeitung, der andere in parallelem Rechnen

CPU und GPU unterscheiden sich erheblich in ihren Rechenansätzen.

CPU ist für Allzweckberechnungen konzipiert, wobei jeder Kern über relativ vollständige Steuerungs- und Rechenfähigkeiten verfügt. Er kann Entscheidungen treffen, Springen und Aufgaben basierend auf dem Programmausführungsprozess planen und verschiedene Arten von Berechnungsaufgaben flexibel handhaben.

GPU verwendet eine parallele Rechenarchitektur mit einer großen Anzahl von Recheneinheiten, die eine große Anzahl von Berechnungsaufgaben gleichzeitig ausführen können. Es ist für die Verarbeitung von Aufgaben mit großen Datenskalen und hoher Berechnungsredundanz geeignet.

Ist GPU bei allem schneller?

Die Verarbeitungsgeschwindigkeit von CPU und GPU hängt vom Aufgabentyp und der Berechnungsskala ab.

Für Szenarien mit einer großen Menge logischer Urteile, Programmkontrolle und Aufgabenplanung hat CPU eine höhere Ausführungseffizienz. Aufgaben wie Betriebssystembetrieb und Datenbankabfragen eignen sich für CPU.

Für große parallele Berechnungsaufgaben kann GPU einen höheren Rechendurchsatz bieten. Matrixmultiplikation und Faltungsoperationen im Deep Learning können in mehrere parallele Unteraufgaben aufgeteilt werden, die gleichzeitig von GPU-Recheneinheiten ausgeführt werden, was die Gesamtberechnungseffizienz verbessert.

Allerdings werden die Vorteile von GPU erst bei großem Umfang der Berechnungsaufgaben signifikant. Wenn das Datenvolumen gering ist, können GPU-Rechenressourcen nicht voll genutzt werden, und Datenübertragung und Aufgabenplanung zwischen CPU und GPU bringen zusätzliche Kosten mit sich. In diesem Fall kann die Verwendung von CPU effizienter sein.

Neben dem Kauf von Equipment, welche weiteren Kosten sollten Sie berücksichtigen?

Lektion 2 von 50% abgeschlossen
←Your First Inference in 30 Minutes

Diskussion

Anmelden an der Diskussion teilnehmen

Die Kosten von CPU und GPU umfassen nicht nur die Hardware-Anschaffungspreise, sondern auch den Stromverbrauch während des Betriebs sowie die nachfolgenden Nutzungs- und Wartungskosten.

Bei der Hardware-Beschaffung ist CPU Standard — normale Server und Personal Computer benötigen alle eine CPU-Konfiguration. Hochleistungs-GPU für KI-Training und -Inferenz sind typischerweise teuer. Neben dem GPU selbst müssen Sie auch die Kosten für Server, Videospeicher, Speicher und andere unterstützende Hardware berücksichtigen.

Während des Betriebs hat GPU einen hohen Stromverbrauch bei der Durchführung großer Berechnungen. Je mehr GPU in einem Server, desto größer der Druck auf Stromversorgung und Kühlung, und die Strom- und Kühlkosten von Rechenzentren steigen erheblich.

Bei Nutzung und Wartung ist das CPU-Ökosystem relativ ausgereift, und routinemäßige Serverwartung ist relativ unkompliziert. GPU erfordert die Berücksichtigung der Kompatibilität von Treibern, RechenFrameworks und Hardware-Umgebung. Konflikte zwischen verschiedenen Versionen können verhindern, dass Modelle normal funktionieren. Multi-GPU-Umgebungen beinhalten auch die Datenkommunikation zwischen Geräten, was bestimmte Anforderungen an Hardware-Verbindungen und Software-Konfiguration hat.

Wie wählt man zwischen CPU und GPU?

Training und Inferenz haben unterschiedliche Ressourcenanforderungen, und Modelle verschiedener Größen und Typen haben auch signifikante Unterschiede bei Rechenressourcen. Die Hardware-Auswahl muss Modellskala, Datenvolumen, Leistungsanforderungen und Ressourcenbedarf in beiden Szenarien Training und Inferenz umfassend berücksichtigen.

In der Trainingsphase des Modells, wenn die Datenskala klein ist, kann CPU die Trainingsanforderungen der meisten traditionellen maschinellen Lernmodelle erfüllen, wie lineare Regression, logistische Regression und Random Forests. Einige leichtgewichtige neuronale Netze können auch CPU für Training verwenden, aber mit zunehmendem Datenvolumen und steigender Modellstrukturkomplexität wird die Trainingszeit deutlich länger. Wenn Sie häufig Modelloptimierungen durchführen müssen, kann die Verwendung von GPU die Trainingszeit verkürzen.

Das Training großer neuronaler Netze und großer Sprachmodelle erfordert umfangreiche Matrixberechnungen mit hohen Anforderungen an Rechenleistung und Videospeicherkapazität. Große Sprachmodelle mit Milliarden von Parametern wie Qwen benötigen Hochleistungs-Beschleunigungsgeräte wie GPU für das Training.

Die Modellanforderungen während der Inferenz unterscheiden sich vom Training. Für Szenarien mit kleineren Parameterskalen und geringeren Zugriffsvolumina kann CPU die Inferenzanforderungen erfüllen, und die Ressourcennutzung kann auch durch Methoden wie Quantisierung reduziert werden. Für große Modelle, Hochlast-Dienste und Szenarien, die schnelle Reaktion erfordern, kann GPU eine höhere Inferenzleistung bieten.

CPU und GPU haben jeweils anwendbare Szenarien, und Sie müssen Modellskala, Datenvolumen, gleichzeitige Anfragen, Leistungsanforderungen und Bereitstellungskosten umfassend berücksichtigen.

Wie groß ist das Modell? Wie viel Speicher und Videospeicher müssen reserviert werden?

Zuerst die Parameteranzahl, dann die Ladepräzision

Die Bewertung der Ressourcenanforderungen eines Modells hängt hauptsächlich von zwei Indikatoren ab: Parameterskala und Datenpräzision.

Die Modellparameterskala wird allgemein in B ausgedrückt, wobei 1B eine Milliarde Parameter repräsentiert. Parameter sind die numerischen Werte, die das Modell während des Trainings lernt. Während der Inferenz müssen diese Parameter in Speicher (CPU) oder Videospeicher (GPU) geladen werden. Je größer die Parameteranzahl, desto mehr Ressourcen belegt.

Datenpräzision bezieht sich auf das numerische Format, das Modellparameter für Speicherung und Berechnung verwenden. Gängige Formate umfassen FP32, FP16, BF16 und Quantisierungsformate wie INT8 und INT4. Für dieselbe Parameteranzahl bedeutet höhere Datenpräzision mehr belegte Ressourcen.

Der geschätzte Speicherplatz für 1B Parameter bei verschiedenen Präzisionen ist wie folgt:

PräzisionPlatz pro 1B Parameter (ca.)Gängige Verwendungen
FP32 (Einfache Präzision) 4GBTraining, Hochpräzisionsinferenz
FP16 (Halbpräzision) 2GBTraining, Inferenz
BF16 2GBTraining, Inferenz
INT8 1GBQuantisierte Inferenz
INT4 0.5GBNiedrigpräzisions-Quantisierte Inferenz

Modellgewichte = Parameteranzahl × Speicherplatz pro 1B Parameter bei dieser Präzision. Für ein 7B-Modell mit FP16-Präzisionsinferenz beträgt die Belegung der Modellgewichte ungefähr: 7 × 2GB ≈ 14GB.

Zuerst die Parameteranzahl, dann die Ladepräzision

Während der Modellinferenz werden zusätzlich zum Laden der Modellgewichte weitere Ressourcen für KV Cache, Laufzeit-Framework und temporäre Berechnungen benötigt.

KV Cache wird verwendet, um Token-bezogene Informationen zu speichern, die bereits während des Generierungsprozesses berechnet wurden, um redundante Berechnungen zu vermeiden. Seine Nutzung hängt von der Modellstruktur, Kontextlänge und Anzahl gleichzeitiger Anfragen ab. Je länger der Kontext, desto mehr Informationen müssen gespeichert werden; je mehr Anfragen gleichzeitig verarbeitet werden, desto mehr steigt die KV-Cache-Nutzung.

Schätzformel für Inferenz-Ressourcennutzung:

CPU-Inferenz benötigter Speicher ≈ Modellgewichte + Framework- und temporäre Kosten.

GPU-Inferenz benötigter Videospeicher ≈ Modellgewichte + KV Cache + Framework- und temporäre Kosten.

Davon sind Gewichte statisch, Framework-Kosten grundsätzlich konstant, und die Variable liegt vollständig in KV Cache. In langen Sequenz-Szenarien muss KV-Cache-Platz reserviert werden.

Für dasselbe Modell, warum verwendet das Training mehr Ressourcen?

Die Ressourcenanforderungen der Trainingsphase sind höher als die der Inferenzphase. Neben der Speicherung der Modellgewichte müssen auch Gradienten, Optimierzustände und Zwischenergebnisse während des Trainings gespeichert werden, was mehr Ressourcen erfordert. Die Trainings-Ressourcenanforderungen hängen vom Optimierertyp und der Trainingsstrategie ab.

(1) Vollständiges Modelltraining

Beim vollständigen Modelltraining müssen Modellgewichte, Gradienten, Optimierzustände und Aktivierungen gleichzeitig gespeichert werden. Am Beispiel des vollständigen Trainings mit Adam-Optimierer und FP16-Präzision benötigt jeder 1B Parameter ungefähr:

KomponentePro 1B Parameter
Modellgewichte (FP16)2 GB
Gradienten (FP16)2 GB
Optimierzustände8 GB
FP32-Gewichtskopie4 GB
Subtotal (ohne Aktivierungen)16 GB

Hinweis: Der Adam-Optimierer muss zwei Kopien von FP32-Präzisionszuständen (Impuls und Varianz) speichern, daher nehmen Optimierzustände 8GB ein; die FP32-Gewichtskopie wird für die Optimierer-Parameteraktualisierung verwendet.

Die vorläufige Schätzformel für vollständiges Training ist:

GPU-Training benötigter Videospeicher ≈ Parameteranzahl × 16 Byte + Aktivierungskosten

CPU-Training benötigter Speicher ≈ Parameteranzahl × 16 Byte + Aktivierungskosten

GPU-Training ist durch Videospeicherkapazität begrenzt, während CPU-Training durch Berechnungsgeschwindigkeit begrenzt ist. Zum Beispiel benötigt ein 7B-Modell mit vollständigem FP16-Training auf GPU mindestens 7B × 16 Byte ≈ 112GB Videospeicher, und der tatsächliche Bedarf wird nach Hinzufügen von Aktivierungen größer sein.

(2) Parameter-effizientes Feintuning (wie LoRA)

Für das Feintuning großer Modelle werden parameter-effiziente Feintuning-Methoden wie LoRA (Low-Rank Adaptation) in der Praxis häufiger verwendet. LoRA aktualisiert nicht alle ursprünglichen Modellparameter während des Trainings; es friert die ursprünglichen Modellgewichte ein und trainiert nur die neu hinzugefügten niedrigrangigen Anpassungsparameter, wodurch die Videospeicheranforderungen erheblich reduziert werden.

LoRA-Training-Videospeicher ≈ Basis-Modellgewichte + LoRA-Parameter + LoRA-Parametergradienten und Optimierzustände + Aktivierungen.

Davon müssen Basis-Modellgewichte nur geladen werden und nehmen nicht an Aktualisierungen teil; die von LoRA hinzugefügten Parameter betragen nur 0,1%~1% des Originalmodells, und ihre Gradienten und Optimierer-Kosten sind fast vernachlässigbar. Der tatsächliche Videospeicher hängt hauptsächlich von Modellgewichten, Kontextlänge, Stapelgröße und Trainingsframework-Optimierungsmethoden ab. LoRA-Feintuning kann die Videospeicheranforderungen im Vergleich zum vollständigen Training erheblich reduzieren.

Zum Beispiel belegen Modellgewichte beim Laden eines 7B-Modells mit FP16 4GB. Auf einem einzelnen GPU mit 24GB Videospeicher kann LoRA-Feintuning normalerweise laufen (mit geeigneten Anpassungen von Stapelgröße und Kontextlänge). Die Verwendung von QLoRA (Quantisierung des Basismodells auf INT4) kann die Videospeichernutzung weiter reduzieren und Feintuning auf begrenzterer Hardware ermöglichen.