AI-agenter · Lektion

Kvantisering og spekulativ dekodning

Til selvhostede modeller: int8/int4-kvantisering for at spare hukommelse og spekulativ dekodning for større gennemløb.

Lektion 4 af 414 trin

Kvantisering og spekulativ dekodning er en gratis AI-agenter-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i AI-agenter, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. AI-agenter-kurset indeholder 4 lektioner i alt.

Dele af denne lektion er endnu ikke oversat og vises på engelsk.

Optimering af selvhostede modeller

For selvhostede åbne modeller er der to store hastigheds- og omkostningsgevinster:

  1. Kvantisering — mindre vægte, mindre RAM/VRAM og hurtigere inferens
  2. Spekulativ dekodning — generér flere tokens pr. trin

Grundlæggende kvantisering

Modeller gemmes normalt som FP16 (16 bit pr. vægt). Kvantisering reducerer antallet af bit:

  • FP16 — udgangspunktet
  • INT8 — 2 gange mindre, næsten ubetydeligt kvalitetstab
  • INT4 / Q4_K_M — 4 gange mindre, lille kvalitetstab
  • INT2 / 1,58 bit — mindst 8 gange mindre, mærkbart kvalitetstab

GGUF og kvantiseringsniveauer

GGUF er det format, der bruges af llama.cpp. Almindelige niveauer:

  • Q4_K_M — den bedste balance mellem kvalitet og størrelse
  • Q5_K_M — lidt større, lidt bedre
  • Q8_0 — næsten samme kvalitet som FP16, 2 gange komprimering

Quantise With llama.cpp

./llama-quantize models/llama-3-8b-f16.gguf models/llama-3-8b-q4_k_m.gguf Q4_K_M

# Or download pre-quantised from TheBloke / unsloth on HuggingFace

Hardwarepåvirkning

En 8B FP16-model kræver omkring 16 GB VRAM. Den samme model i Q4 kan være på omkring 5 GB VRAM og køre på en langt billigere GPU.

Spekulativ dekodning

Tricket er at bruge en lille udkastmodel til at foreslå tokens og derefter verificere dem med den store målmodel i ét fremadgående gennemløb. Det giver ofte 2-3 gange højere hastighed.

from transformers import AutoModelForCausalLM

target = AutoModelForCausalLM.from_pretrained('meta-llama/Llama-3.1-70B')
draft = AutoModelForCausalLM.from_pretrained('meta-llama/Llama-3.1-8B')

outputs = target.generate(
    input_ids,
    assistant_model=draft,    # speculative decoding
    max_new_tokens=200
)

Hvorfor det virker

Udkastmodellen foreslår K tokens. Målmodellen behandler dem alle PARALLELT i ét fremadgående gennemløb. Hvert accepteret token er uden ekstra omkostning. Ved en afvisning rulles der tilbage; som regel accepterer du de fleste.

Andre hastighedsforbedringer ved dekodning

  • Forudblik-dekodning — flere udkast pr. trin
  • Medusa — flere dekoderingshoveder, der trænes sammen
  • EAGLE — hurtig træbaseret spekulation

Værktøjer, der implementerer dette

  • vLLM — har både kvantisering (AWQ, GPTQ, FP8) og spekulativ dekodning
  • llama.cpp — kvantisering og spekulation via --draft-model
  • TensorRT-LLM — NVIDIAs produktionsserver
  • SGLang — hurtig server, der er velegnet til batchbehandling, med kontinuerlig batchbehandling

Kontinuerlig batchbehandling

vLLM's vigtigste funktion: Behandl flere forespørgsler med forskellig længde i det samme fremadgående gennemløb. Det giver en enorm gevinst i gennemløb for produktionsservere.

Valg af kvantiseringsniveau

Test hvert muligt niveau på DIN evaluering. Q4_K_M er det naturlige startpunkt; vælg et højere niveau, hvis kvaliteten falder under tærsklen.

Latenstid pr. token kontra gennemløb

Forskellige optimeringer hjælper med forskellige målepunkter:

  • Latenstid for én forespørgsel: spekulativ dekodning
  • Gennemløb for flere brugere: kontinuerlig batchbehandling
  • Hukommelsesomkostning: kvantisering

Effekten af kvantisering

Hvad er den primære effekt af int4-kvantisering?

Opsummering

Kvantiser til Q4 for at spare hukommelse og øge hastigheden. Brug spekulativ dekodning for lav latenstid. Brug kontinuerlig batchbehandling for højt gennemløb. vLLM og llama.cpp implementerer alle tre.

Gratis at komme i gang

Lær AI-agenter med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
60
Lektioner
239

Ofte stillede spørgsmål

Er lektionen “Kvantisering og spekulativ dekodning” gratis?

Ja — hele teksten til “Kvantisering og spekulativ dekodning” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af AI-agenter-kurset, skal du opgradere til CoddyKit PRO. AI-agenter-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Kvantisering og spekulativ dekodning”?

Til selvhostede modeller: int8/int4-kvantisering for at spare hukommelse og spekulativ dekodning for større gennemløb. Du øver dig i AI-agenter med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på AI-agenter?

Der kræves ingen tidligere erfaring. AI-agenter på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Kvantisering og spekulativ dekodning”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne AI-agenter-lektion?

Ja. Alle AI-agenter-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Tokenbudgetter pr. trin
  2. Modelrouting (billig -> dyr)
  3. Caching af prompts og resultater (Anthropic, Vertex)
  4. Kvantisering og spekulativ dekodning
← Tilbage til AI-agenter