Praxis-Guide · 10 Min. Lesezeit

# Ein 70B-Modell auf einer Karte fine-tunen.

QLoRA macht aus einem Trainingsjob, der ein Rack braucht, einen, der mit einer einzelnen 48-GB-GPU auskommt. Hier sehen Sie, was passt, was es im Monat kostet und wo die Technik an ihre Grenzen stößt.

Die kurze Antwort

- **QLoRA auf 70B:** ~61 GB — passt bei kurzen Sequenzlängen auf eine 48-GB-Karte, auf einer 80-GB-Karte problemlos
- **Vollständiges Fine-Tuning von 70B:** ~1,232 GB — ein Multi-Knoten-Cluster, den wir nicht vermieten
- **Das Verhältnis:** Etwa **20×** weniger Speicher, für eine Technik, die bei den meisten Aufgaben den Großteil der Qualität erreicht
- **Was es hier kostet:** Ab $286/Monat, die Karte gehört Ihnen für den ganzen Monat statt nur für den Lauf

## Was tatsächlich passt

LoRA friert das Modell ein und trainiert neben jeder Gewichtsmatrix ein kleines Paar Low-Rank-Matrizen. QLoRA geht weiter und hält die eingefrorenen Gewichte in 4-Bit. Was Sie im Speicher vorhalten müssen, ändert sich dadurch vollständig.

Eingefrorene Gewichte 4 Bit pro Parameter 35 GB für ein 70B-Modell. Bei jedem Schritt gelesen, nie aktualisiert, brauchen sie daher nie einen Gradienten.

Adapter Rund 1–2 % der Parameter Ein bis zwei Gigabyte in BF16. Das sind die einzigen Gewichte, die sich ändern, und das Einzige, was am Ende übrig bleibt.

Optimizer-Zustand Adam, nur auf die Adapter Zwei Momente pro trainiertem Parameter. Das ist der Term, der beim vollständigen Fine-Tuning dominiert und hier fast verschwindet.

Aktivierungen Der variable Anteil Skaliert mit Batchgröße und Sequenzlänge. Gradient Checkpointing tauscht etwa 30 % mehr Rechenaufwand gegen eine deutliche Reduktion — der übliche Hebel, wenn ein Lauf nicht passt.

## Warum vollständiges Fine-Tuning das nicht tut

Vollständiges Fine-Tuning in BF16 braucht etwa 16 Byte pro Parameter: 2 für das Gewicht, 2 für seinen Gradienten und 8 für Adams zwei Momente in FP32, dazu die Master-Kopie. Das ist ein fester Multiplikator, und er ist brutal.

**Trainingsspeicher — QLoRA im Vergleich zu vollständigem Fine-Tuning**

| Modell | QLoRA | Vollständiges Fine-Tuning | Verhältnis | Was das bedeutet |
|---|---|---|---|---|
| Llama 3.1 8B 8B Parameter | 13 GB | 141 GB | 11× | Eine 24-GB-Karte Vollständig: ein 8-GPU-Knoten |
| Gemma 3 27B 27B Parameter | 27 GB | 475 GB | 17× | Eine 48-GB-Karte Vollständig: ein 8-GPU-Knoten |
| Qwen 3 32B 32B Parameter | 31 GB | 563 GB | 18× | Eine 48-GB-Karte Vollständig: ein 8-GPU-Knoten |
| Llama 3.3 70B 70B Parameter | 61 GB | 1,232 GB | 20× | Eine 80-GB-Karte Vollständig: mehr als ein Knoten |

Dies sind Größenordnungen mit einem moderaten Puffer für Aktivierungen — genug, um eine Maschine auszuwählen, nicht genug, um einen bestimmten Lauf zu versprechen. Sequenzlänge und Batch-Größe verändern die QLoRA-Spalte erheblich; die Spalte für vollständiges Fine-Tuning bewegt sich kaum, da sie von den festen 16 Byte pro Parameter dominiert wird.

## Modell für Modell

Der günstigste Knoten in unserem Katalog, der jedes Modell mit QLoRA trainieren kann, zusammen mit der Maschine, die Sie für das Serving des Ergebnisses bräuchten.

**Günstigster Knoten für QLoRA-Training und für das Serving des Ergebnisses**

| Modell | Trainingsspeicher | Günstigster Knoten für Training | Günstigster Knoten für Serving |
|---|---|---|---|
| Llama 3.1 8B | 13 GB | [NVIDIA L4](https://gpuserver.io/de/gpu/nvidia-l4) 24 GB pro Karte · $125/Monat | [NVIDIA L4](https://gpuserver.io/de/gpu/nvidia-l4) $125/Monat |
| Mistral Small 24B | 25 GB | [NVIDIA RTX A6000](https://gpuserver.io/de/gpu/rtx-a6000) 48 GB pro Karte · $286/Monat | [NVIDIA L4](https://gpuserver.io/de/gpu/nvidia-l4) $125/Monat |
| Gemma 3 27B | 27 GB | [NVIDIA RTX A6000](https://gpuserver.io/de/gpu/rtx-a6000) 48 GB pro Karte · $286/Monat | [NVIDIA L4](https://gpuserver.io/de/gpu/nvidia-l4) $125/Monat |
| Qwen 3 32B | 31 GB | [NVIDIA RTX A6000](https://gpuserver.io/de/gpu/rtx-a6000) 48 GB pro Karte · $286/Monat | [NVIDIA L4](https://gpuserver.io/de/gpu/nvidia-l4) $125/Monat |
| Llama 3.3 70B | 61 GB | [NVIDIA A100 PCIe](https://gpuserver.io/de/gpu/a100-80gb) 80 GB pro Karte · $1,091/Monat | [2 × NVIDIA L4](https://gpuserver.io/de/gpu/nvidia-l4) $285/Monat |

Training braucht Speicher; Serving braucht Speicher *und* Bandbreite. Häufig ist die richtige Karte fürs Training eine günstige mit viel Speicher, während die richtige Karte fürs Serving eine teure, schnelle ist — und da hier beides monatlich abgerechnet wird, ist es oft günstiger, beide auf getrennten Maschinen zu betreiben, als bei einer Karte Kompromisse einzugehen.

## Durchführung

Axolotl ist als eines der Images im Konfigurator vorinstalliert. Dies ist ein vollständiger Lauf auf einer einzelnen Karte, ausgehend von einer leeren Maschine.

Ein QLoRA-Lauf auf einer Karte

```
$ mkdir -p /scratch/ft && cd /scratch/ft
$ cat > qlora.yml <<'YAML'
base_model: meta-llama/Llama-3.3-70B-Instruct
load_in_4bit: true
adapter: qlora
lora_r: 16
lora_alpha: 32
lora_dropout: 0.05
lora_target_linear: true

sequence_len: 2048
sample_packing: true
gradient_checkpointing: true
micro_batch_size: 1
gradient_accumulation_steps: 16
num_epochs: 2
learning_rate: 0.0001
optimizer: paged_adamw_8bit
bf16: true

datasets:
  - path: /scratch/ft/data.jsonl
    type: chat_template
output_dir: /scratch/ft/out
YAML

$ docker run --rm --gpus all --ipc=host --shm-size=16g \
    -v /scratch/ft:/workspace -v /scratch/models:/root/.cache/huggingface \
    -e HF_TOKEN="$HF_TOKEN" \
    axolotlai/axolotl:main-latest \
    axolotl train /workspace/qlora.yml
```

Achten Sie in den ersten zwei Minuten auf den Speicher, nicht auf den Loss.

```
$ nvidia-smi dmon -s um

# If memory sits just under the card's total, you are one long batch
# away from an out-of-memory error four hours into the run.
# Lower sequence_len or micro_batch_size now, not then.
```

## Die Einstellungen, auf die es ankommt

lora_r 16 to 64 Der Rang, und der wichtigste Regler zwischen Qualität und Speicher. 16 ist ein sinnvoller Standardwert; über 64 hinauszugehen lohnt sich selten, außer Sie vermitteln wirklich neues Wissen statt nur ein Format oder einen Stil.

lora_target_linear true Passt jede lineare Schicht an statt nur Attention. Kostet wenig und übertrifft durchweg den Standard, der nur Attention anpasst.

sequence_len Der größte Speicherhebel Die Aktivierungen skalieren damit. Es zu halbieren, halbiert grob den variablen Teil Ihres Speichers. Setzen Sie es auf die Länge, die Ihre Daten tatsächlich haben, nicht auf das Maximum des Modells.

gradient_checkpointing true, fast immer Etwa 30 % langsamer, aber genau das ermöglicht es, einen 70B-Lauf überhaupt auf eine Karte zu bekommen. Schalten Sie es nur ab, wenn Speicher übrig ist.

micro_batch_size & Akkumulation Eines gegen das andere abwägen Der effektive Batch ist ihr Produkt. Halten Sie den Mikro-Batch bei 1 und erhöhen Sie die Akkumulation, wenn der Speicher knapp ist — gleicher Gradient, weniger Spitzenspeicher, etwas langsamer.

Optimizer paged_adamw_8bit 8-Bit-Optimizer-Zustände mit CPU-Paging als Sicherheitsventil. Es fängt die Spitzen ab, die einen Lauf sonst in Stunde vier beenden würden.

## Was ein Monat kostet

Der Grund, warum monatliche Abrechnung beim Training mehr zählt als beim Serving: Ein Fine-Tuning-Projekt ist nicht ein einzelner Lauf. Es ist ein erster Lauf, der an einem Datenfehler scheitert, ein zweiter, der overfittet, ein dritter, der funktioniert, und dann noch fünf weitere mit unterschiedlichen Rängen.

**Kosten eines Fine-Tuning-Projekts, nach Maschine**

| Maschine | Kartenspeicher | Pro Monat | Geeignet für |
|---|---|---|---|
| [NVIDIA L4](https://gpuserver.io/de/gpu/nvidia-l4) 300 GB/s | 24 GB | $125/Monat | QLoRA bis 8B |
| [NVIDIA RTX 5090](https://gpuserver.io/de/gpu/rtx-5090) 1,792 GB/s | 32 GB | $335/Monat | QLoRA bis 32B |
| [NVIDIA A100 PCIe](https://gpuserver.io/de/gpu/a100-40gb) 1,555 GB/s | 40 GB | $392/Monat | QLoRA bis 32B |
| [NVIDIA RTX A6000](https://gpuserver.io/de/gpu/rtx-a6000) 768 GB/s | 48 GB | $286/Monat | QLoRA bis 32B |
| [NVIDIA A100 PCIe](https://gpuserver.io/de/gpu/a100-80gb) 1,935 GB/s | 80 GB | $1,091/Monat | QLoRA bis 70B |

Vergleichen Sie das mit stündlicher Abrechnung über ein ganzes Projekt statt über einen einzelnen Lauf: Der [Break-even-Guide](https://gpuserver.io/de/guides/monthly-vs-hourly) rechnet das durch. Eine Maschine, die drei Wochen lang existiert, während Sie iterieren, ist genau der Fall, in dem eine Abrechnung nach Verbrauch mehr kostet als eine feste Laufzeit.

## Wo LoRA nicht mehr funktioniert

Es ist eine sehr gute Technik mit einer echten Grenze, und es lohnt sich, vor jeder Anmietung zu wissen, auf welcher Seite dieser Grenze man steht.

**Ein wirklich neues Fachgebiet vermitteln.** LoRA passt Verhalten gut an, fügt aber kaum neues Wissen hinzu. Ein Modell, das Ihr Fachgebiet nie gesehen hat, lernt es nicht von einem Low-Rank-Adapter.

**Das Vokabular oder den Tokenizer ändern.** Neue Token brauchen trainierte Embeddings, was außerhalb dessen liegt, was ein Adapter berührt.

**Fortgesetztes Pre-Training über Milliarden von Token.** Das ist vollständiges Fine-Tuning, und dafür braucht es die Maschine aus der rechten Spalte der Tabelle oben — mehr als einen Knoten, und mehr, als wir vermieten.

**Die letzten zwei Punkte eines Benchmarks herausholen.** Vollständiges Fine-Tuning gewinnt im Grenzbereich immer noch. Wenn genau dieser Grenzbereich das ist, wofür Sie bezahlt werden, ist LoRA das falsche Werkzeug.

Für alles andere — einen Tonfall, ein Format, ein Schema, ein Fachgebiet, das das Basismodell schon halb kennt — erreicht QLoRA auf einer einzelnen Karte den Großteil der Qualität für einen Bruchteil der Maschine. Das ist der Kompromiss, und bei den Modellen, die die meisten Leute tatsächlich fine-tunen, ist es ein guter.

## Karte wählen und für das ganze Projekt behalten.

Jede Konfiguration ist monatlich, mit Root-Zugriff und ohne Verbrauchszähler — genau das, was das Iterieren an einem Fine-Tune tatsächlich braucht.

[Katalog durchsuchen](https://gpuserver.io/de/#catalog) [Guides lesen](https://gpuserver.io/de/guides)

## Weitere Guides

- [Zahlung · 8 Min. Einen Server mit Krypto bezahlen Was zwischen dem Klick auf Zahlen und dem Erhalt von Root passiert, welchen Coin Sie wählen sollten, und die vier Fehler, die bei der ersten Zahlung Geld kosten. Guide lesen](https://gpuserver.io/de/guides/pay-in-crypto)
- [Dimensionierung · 9 Min. Wie viel VRAM ein Modell tatsächlich braucht Die Rechnung hinter der Frage „Passt es?": Gewichte, KV-Cache und die zwei Stellen, an denen eine Faustregel um den Faktor drei danebenliegt. Guide lesen](https://gpuserver.io/de/guides/vram-sizing)
- [Dimensionierung · 7 Min. NVLink oder PCIe: Was Ihr Workload braucht Wann die Verbindung zwischen Karten über Ihren Durchsatz entscheidet, wann sie nichts ändert, und wie Sie das vor dem falschen Knoten erkennen. Guide lesen](https://gpuserver.io/de/guides/nvlink-vs-pcie)

---

Quelle: https://gpuserver.io/de/guides/lora-finetune/. Diese Datei wird aus denselben Daten wie die Website erzeugt; weicht eine Zahl hier von einer Seite ab, ist die Seite maßgeblich und diese Datei veraltet — die kanonische Quelle ist https://gpuserver.io/.
