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.
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.
| Modell | QLoRA | Vollständiges Fine-Tuning | Verhältnis | Was das bedeutet |
|---|---|---|---|---|
| Llama 3.1 8B | 13 GB | 141 GB | 11× | Eine 24-GB-Karte |
| Gemma 3 27B | 27 GB | 475 GB | 17× | Eine 48-GB-Karte |
| Qwen 3 32B | 31 GB | 563 GB | 18× | Eine 48-GB-Karte |
| Llama 3.3 70B | 61 GB | 1,232 GB | 20× | Eine 80-GB-Karte |
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.
| Modell | Trainingsspeicher | Günstigster Knoten für Training | Günstigster Knoten für Serving |
|---|---|---|---|
| Llama 3.1 8B | 13 GB | NVIDIA L4 | NVIDIA L4 |
| Mistral Small 24B | 25 GB | NVIDIA RTX A6000 | NVIDIA L4 |
| Gemma 3 27B | 27 GB | NVIDIA RTX A6000 | NVIDIA L4 |
| Qwen 3 32B | 31 GB | NVIDIA RTX A6000 | NVIDIA L4 |
| Llama 3.3 70B | 61 GB | NVIDIA A100 PCIe | 2 × NVIDIA L4 |
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.
$ 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
$ 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
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.
| Maschine | Kartenspeicher | Pro Monat | Geeignet für |
|---|---|---|---|
| NVIDIA L4 | 24 GB | $125/Monat | QLoRA bis 8B |
| NVIDIA RTX 5090 | 32 GB | $335/Monat | QLoRA bis 32B |
| NVIDIA A100 PCIe | 40 GB | $392/Monat | QLoRA bis 32B |
| NVIDIA RTX A6000 | 48 GB | $286/Monat | QLoRA bis 32B |
| NVIDIA A100 PCIe | 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 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.
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 - 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 - 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