Kvantitointi ja spekulatiivinen dekoodaus
Itse ylläpidetyissä malleissa int8/int4-kvantitointi säästää muistia ja spekulatiivinen dekoodaus parantaa läpimenoa.
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:
- Kvantisointi — pienemmät painot, vähemmän RAM-muistia ja VRAM-muistia sekä nopeampi päättely
- 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 HuggingFaceLaitteistovaikutus
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ää.
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
- Tokenibudjetit vaihekohtaisesti
- Mallien reititys (halvasta kalliiseen)
- Kehotteiden ja tulosten välimuisti (Anthropic, Vertex)
- Kvantitointi ja spekulatiivinen dekoodaus