Skip to main content

Gewichte und Biases neuronaler Netze (Weights & Biases)

FÜR AI-AGENTENChatGPTClaude

Die fundamentale Natur eines trainierten neuronalen Netzes. Gewichte (Weights) sind Matrixkoeffizienten, die die Stärke der Verbindung zwischen künstlichen Neuronen bestimmen, während Biases Aktivierungsschwellen darstellen. Erläuterung von Speicherformaten (.safetensors, bfloat16, fp8) sowie Inspektion der Gewichte über Python und CLI.

1. Überblick über das Konzept und die mathematische Essenz

Wenn Sie ein offenes Modell von Hugging Face herunterladen (z. B. Llama 3.1 8B oder Mistral NeMo), erhalten Sie eine oder mehrere Dateien mit der Endung .safetensors, deren Größe zwischen 4 und 140 Gigabyte liegt.

Was befindet sich in diesen Dateien? Enthalten sie Wikipedia-Texte oder Programmcode?

Nein. Darin sind die Ergebnisse hunderttausender Stunden Berechnungen auf GPU-Clustern gespeichert: Gewichtsmatrizen (Weights) und Bias-Vektoren:

  • Gewichte ($W$): Skalierungskoeffizienten für Eingangsvektoren. Sie bestimmen, wie stark ein Konzept im mehrdimensionalen Raum mit einem anderen verknüpft ist.
  • Biases ($b$): Zusätzliche Verschiebungen, die die Basiswahrscheinlichkeit der Neuronaktivierung unabhängig von den Eingabedaten regulieren (Erregungsschwelle).

Die mathematische Grundlage einer linearen Schicht eines Transformers lautet: $$y = \sigma(W \cdot x + b)$$ wobei $x$ der Eingangsvektor der Tokens, $W$ die Gewichtsmatrix, $b$ der Bias-Vektor und $\sigma$ die Aktivierungsfunktion (GELU oder SwiGLU) ist.

Mentales Modell: Stellen Sie sich das Gehirn als einen riesigen Mischpult eines Tontechnikers mit 70 Milliarden Reglern vor. Die Gewichte entsprechen dann den nach einem Jahr Training millimetergenau fixierten Positionen jedes einzelnen Reglers.

┌─────────────────────────────────────────────────────────────┐
│                 МЕХАНІКА ОБЧИСЛЕННЯ НЕЙРОНА                 │
├─────────────────────────────────────────────────────────────┤
│ Вхідні токени (x):                                          │
│   • Токен 1 ("Кіт")     ─── [ Вага w1: +2.85 ] ───┐         │
│   • Токен 2 ("Гавкає")  ─── [ Вага w2: -3.40 ] ───┼──> Σ + b│
│   • Токен 3 ("М'ясо")   ─── [ Вага w3: +1.15 ] ───┘   │     │
│                                                       ▼     │
│ Зміщення (Bias b): -0.50 ────────────────────> [ АКТИВАЦІЯ ]│
│                                                       │     │
│                                                       ▼     │
│ Вихідний прогноз (y): "Муркоче" (Ймовірність: 96.4%)        │
└─────────────────────────────────────────────────────────────┘

2. Praktische CLI-Befehle und Inspektion der Gewichtsdatei in Python

Anstatt blind dem „Black Box“-Ansatz zu vertrauen, können Sie den Header und die Typen der gespeicherten Tensoren einfach im Terminal überprüfen:

# 1. Швидкий перегляд метаданих та структури тензорів без завантаження всієї моделі в RAM
python -c "
from safetensors import safe_open
with safe_open('model.safetensors', framework='pt', device='cpu') as f:
    for key in list(f.keys())[:5]:
        tensor = f.get_slice(key)
        print(f'{key}: shape={tensor.get_shape()}, dtype={tensor.get_dtype()}')
"

# 2. Перевірка цілісності та контрольної суми файлу вагів SHA256
sha256sum model-00001-of-00004.safetensors

# 3. Швидке завантаження моделі з HuggingFace через офіційний CLI
huggingface-cli download Qwen/Qwen2.5-Coder-7B-Instruct --include "*.safetensors"

3. Warum Gewichtsdateien Dutzende von Gigabytes groß sind

Jeder einzelne Gewichtskoeffizient ist eine Gleitkommazahl:

  • Das Modell Llama 3.1 mit 8 Milliarden Parametern enthält 8.000.000.000 einzelne Zahlen.
  • In der Standardpräzision Bfloat16 / FP16 belegt jede Zahl genau 2 Bytes (16 Bit).
  • Größenberechnung: $8 \times 10^9 \times 2 \text{ Bytes} \approx 16 \text{ Gigabytes}$.
  • Bei Anwendung von 4-Bit-Quantisierung (GGUF Q4_K_M oder AWQ) wird jede Zahl auf 0,5 Bytes komprimiert, und die Modellgröße sinkt auf 4,8 GB. Dies ermöglicht den Betrieb sogar auf einem herkömmlichen Laptop mit 8 GB RAM.

4. Zusammenfassendes Fazit

Die Gewichtsdatei ist die materielle Verkörperung der künstlichen Intelligenz. Wenn Unternehmen sagen „Wir öffnen die Gewichte (Open Weights)“, bedeutet dies, dass sie eine öffentliche .safetensors-Datei bereitstellen. Damit erhalten Sie die vollständige Freiheit, das Modell lokal auszuführen, zu untersuchen und zu modifizieren – ohne Abhängigkeit von Cloud-APIs.

/ Häufig gestellte FragenSchema.org FAQPage

FAQ: Gewichte und Biases neuronaler Netze (Weights & Biases)

Sie werden keine verständlichen Wörter, grammatikalischen Regeln oder Faktenbasen sehen. Die Datei enthält ein JSON-Header-Array (Tensor-Dimensionen) und einen kontinuierlichen Binärstrom aus Milliarden von Fließkommazahlen (FP16 oder Bfloat16). Dies sind die trainierten Gewichtsmatrizen.
/ Interne Links
Alle Begriffe