Tekoälyagentit · Oppitunti

Kvantitointi ja spekulatiivinen dekoodaus

Itse ylläpidetyissä malleissa int8/int4-kvantitointi säästää muistia ja spekulatiivinen dekoodaus parantaa läpimenoa.

Oppitunti 4/414 vaihetta

Kvantitointi ja spekulatiivinen dekoodaus on ilmainen Tekoälyagentit-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Tekoälyagentit-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Tekoälyagentit-kurssilla on yhteensä 4 oppituntia.

Osaa tämän oppitunnin sisällöstä ei ole vielä käännetty, joten se näytetään englanniksi.

Itse ylläpidettävien mallien optimoinnit

Itse ylläpidettävien avoimien mallien nopeutta ja kustannuksia voidaan parantaa erityisesti kahdella tavalla:

  1. Kvantisointi — pienemmät painot, vähemmän RAM-muistia ja VRAM-muistia sekä nopeampi päättely
  2. Spekulatiivinen dekoodaus — useiden tokenien generointi vaihetta kohden

Kvantisoinnin perusteet

Mallit tallennetaan yleensä FP16-muodossa (16 bittiä painoa kohden). Kvantisointi vähentää bittien määrää:

  • FP16 — lähtötaso
  • INT8 — kaksi kertaa pienempi, laadun heikkeneminen noin olematonta
  • INT4 / Q4_K_M — neljä kertaa pienempi, lievä laadun heikkeneminen
  • INT2 / 1.58-bit — vähintään kahdeksan kertaa pienempi, laadun heikkeneminen on todellista

GGUF ja kvantisointitasot

GGUF on llama.cpp:n käyttämä muoto. Tavallisia tasoja ovat:

  • Q4_K_M — paras tasapaino (laadun ja koon välillä)
  • Q5_K_M — hieman suurempi, hieman parempi
  • Q8_0 — lähes FP16:n veroinen laatu, kaksinkertainen pakkaus

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

Laitteistovaikutus

8B:n FP16-malli tarvitsee noin 16 Gt VRAM-muistia. Sama Q4-muotoon muunnettu malli mahtuu noin 5 Gt:n VRAM-muistiin ja toimii paljon edullisemmalla näytönohjaimella.

Spekulatiivinen dekoodaus

Menetelmä toimii näin: pieni "luonnosmalli" ehdottaa tokeneita, minkä jälkeen suuri "kohdemalli" tarkistaa ne yhdellä eteenpäinsyötöllä. Nopeus kasvaa usein 2–3-kertaiseksi.

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
)

Miksi se toimii

Luonnosmalli ehdottaa K tokenia. Kohdemalli käsittelee ne kaikki RINNAKKAIN (yhdellä eteenpäinsyötöllä). Jokainen hyväksytty tokeni on "ilmainen". Hylkäys palauttaa tilanteen ennalleen, ja yleensä suurin osa tokeneista hyväksytään.

Muita dekoodauksen nopeutuksia

  • Lookahead-dekoodaus — useita luonnoksia vaihetta kohden
  • Medusa — useita yhdessä koulutettuja dekoodauspäitä
  • EAGLE — nopea puupohjainen spekulointi

Näitä toteuttavat työkalut

  • vLLM — sisältää sekä kvantisoinnin (AWQ, GPTQ, FP8) että spekulatiivisen dekoodauksen
  • llama.cpp — kvantisointi ja spekulatiivinen dekoodaus asetuksella --draft-model
  • TensorRT-LLM — NVIDIAn tuotantopalvelin
  • SGLang — nopea eräajoon soveltuva palvelin, jossa on jatkuva eräkäsittely

Jatkuva eräkäsittely

vLLM:n lippulaivaominaisuus: eri pituiset pyynnöt käsitellään samassa eteenpäinsyötössä. Tämä parantaa tuotantopalvelinten läpimenoa merkittävästi.

Kvantisointitason valinta

Testatkaa jokaista vaihtoehtoista tasoa omalla arviointiaineistollanne. Q4_K_M on hyvä lähtökohta; käyttäkää korkeampaa tasoa, jos laatu alittaa kynnysarvon.

Tokenikohtainen viive ja läpimeno

Eri optimoinnit auttavat eri mittareissa:

  • Yhden pyynnön viive: spekulatiivinen dekoodaus
  • Usean käyttäjän läpimeno: jatkuva eräkäsittely
  • Muistikustannukset: kvantisointi

Kvantisoinnin vaikutus

Mikä on int4-kvantisoinnin ensisijainen vaikutus?

Yhteenveto

Muuntaa mallit Q4-muotoon muistin ja nopeuden säästämiseksi. Käyttäkää spekulatiivista dekoodausta viiveen pienentämiseen ja jatkuvaa eräkäsittelyä läpimenon parantamiseen. vLLM ja llama.cpp toteuttavat kaikki kolme menetelmää.

Aloita maksutta

Opi Tekoälyagentit tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
60
Oppitunnit
239

Usein kysytyt kysymykset

Onko oppitunti ”Kvantitointi ja spekulatiivinen dekoodaus” ilmainen?

Kyllä – oppitunnin ”Kvantitointi ja spekulatiivinen dekoodaus” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Tekoälyagentit-kurssin, päivitä CoddyKit PROhon. Tekoälyagentit-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Kvantitointi ja spekulatiivinen dekoodaus”?

Itse ylläpidetyissä malleissa int8/int4-kvantitointi säästää muistia ja spekulatiivinen dekoodaus parantaa läpimenoa. Harjoittelet Tekoälyagentit-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Tekoälyagentit-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Tekoälyagentit-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Kvantitointi ja spekulatiivinen dekoodaus”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Tekoälyagentit-oppitunnilla?

Kyllä. Jokainen Tekoälyagentit-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Tokenibudjetit vaihekohtaisesti
  2. Mallien reititys (halvasta kalliiseen)
  3. Kehotteiden ja tulosten välimuisti (Anthropic, Vertex)
  4. Kvantitointi ja spekulatiivinen dekoodaus
← Takaisin: Tekoälyagentit