Paikalliset tekoälymallit: mitä koneeltasi vaaditaan

0

Milloin paikallinen malli kannattaa ja paljonko muistia se vaatii: mallikoot, kvantisointi, työkalut ja konevaatimukset selkokielellä.

aiuutiset.fi — Tekoälyuutiset suomeksi

Paikallinen tekoälymalli tarkoittaa kielimallia, joka pyörii omalla tietokoneellasi ilman verkkopalvelua. Tämä opas käy läpi, milloin paikallinen malli kannattaa, mitä koneelta vaaditaan, miten mallin koko ja kvantisointi vaikuttavat muistintarpeeseen sekä mitkä työkalut sopivat eri käyttäjiin. Erikoistermit selitetään heti ensimmäisellä käyttökerralla, ja taulukoiden yhteydessä kerrotaan, mihin luku perustuu.

Mitä paikallinen tekoälymalli tarkoittaa ja milloin se kannattaa?

Paikallinen malli on kielimalli, jonka parametrit eli painot on tallennettu tiedostona omalle koneellesi. Laskenta tapahtuu näytönohjaimella tai suorittimella; tätä kutsutaan inferenssiksi. Kysymys ja vastaus eivät poistu koneelta, ellei ohjelmaa erikseen yhdistetä verkkoon.

Yleisin mallitiedoston muoto on GGUF, jonka kehitti llama.cpp-niminen avoimen lähdekoodin hanke. Tiedostossa ovat mukana sekä painot että tiedot mallin rakenteesta, joten sama tiedosto toimii useassa ohjelmassa. Malli ei opi keskustelustasi eikä lähetä tietoja eteenpäin; käyttöliittymä ja asetukset tulevat siitä ohjelmasta, jolla sitä ajat.

Paikallinen malli ratkaisee neljä käytännön ongelmaa. Yksityisyys: arkaluonteinen aineisto voidaan käsitellä siirtämättä sitä toiselle palvelimelle. Kustannus: hankinta on kertaluonteinen, eikä jokainen kysymys kuluta rajapinnan krediittejä. Offline-käyttö: malli toimii ilman verkkoyhteyttä. Ei rajoja: kysymysmääriä tai päivittäisiä kiintiöitä ei ole samalla tavalla kuin pilvipalvelussa.

Toinen puoli on yhtä tärkeä. Vastausten laatu on tyypillisesti heikompi kuin suurten pilvimallien, etenkin monimutkaisessa päättelyssä ja ohjelmoinnissa. Päivitykset ja tietoturvakorjaukset jäävät sinun vastuullesi. Satunnainen ja vaativa tehtävä kannattaa usein hoitaa pilvipalvelussa — ks. opas Avoin vs. suljettu malli: mitä eroa sillä on. Nyrkkisääntö: paikallinen malli kannattaa, kun aineisto on arkaluonteista, käyttö on toistuvaa tai verkkoyhteyttä ei ole.

Mitä koneelta vaaditaan?

Tärkein rajoite on muisti. Mallin painot ladataan kokonaan muistiin ennen kuin vastaaminen alkaa, ja lisäksi tarvitaan tilaa keskustelun käsittelyyn. Siksi hidas mutta muistiltaan riittävä kone toimii, kun taas nopea kone, jonka muisti loppuu, ei toimi.

Näytönohjaimen muisti eli VRAM

Näytönohjaimen oma muisti eli VRAM on nopein paikka ajaa mallia: kun malli mahtuu kokonaan VRAMiin, vastaukset syntyvät moninkertaisesti nopeammin kuin keskusmuistissa. Jos malli ei mahdu, ohjelma siirtää osan kerroksista keskusmuistiin (RAM) tai levylle, mikä näkyy jyrkkänä hidastumisena. LM Studion ohje suosittelee vähintään 16 gigatavua keskusmuistia ja 4 gigatavua VRAMia, ja Ollama tukee Nvidian näytönohjaimia, joiden ajuriversio on 550 tai uudempi.

Keskusmuisti ja suoritin

Jos koneessa ei ole erillistä näytönohjainta, malli ajetaan suorittimella keskusmuistissa: se toimii, mutta on selvästi hitaampaa. 16 gigatavua on mukava lähtötaso ja 32 gigatavua tekee keskikokoisten mallien käytöstä sujuvaa. Käyttöjärjestelmä varaa osan muistista, joten käytettävissä on aina ilmoitettua vähemmän.

Applen yhtenäismuisti

Applen M-sarjan koneissa suoritin ja näytönohjain jakavat saman yhtenäismuistin, joten käytössä on koko koneen muisti ilman painojen kopiointia muistista toiseen. Applen mittausten mukaan 24 gigatavun MacBook Pro pystyy pitämään 8 miljardin parametrin mallin 16-bittisenä tai 4-bittisenä kvantisoituna 30 miljardin parametrin asiantuntijamallin niin, että muistinkäyttö pysyy alle 18 gigatavussa. Samoissa mittauksissa M5-piirin muistikaista oli 153 gigatavua sekunnissa ja M4:n 120 gigatavua sekunnissa.

Mallikoko ja muistintarve taulukkona

Arviot on laskettu kertomalla parametrimäärä painon bittimäärällä ja jakamalla kahdeksalla; sarake kertoo pelkän mallitiedoston koon. Vertailun vuoksi llama.cpp:n mittaukset: Llama 3.1 -mallin 8 miljardin versio on Q4_K_M-muodossa 4,58 GiB ja Q8_0-muodossa 7,95 GiB, ja 70 miljardin versio Q4_K_M-muodossa noin 43 gigatavua.

Mallikoko Q4-arvio Q8-arvio Mihin riittää
7–8B noin 4–5 GB noin 8 GB 8 GB VRAM tai 16 GB keskusmuisti
14B noin 8 GB noin 15 GB 8–12 GB VRAM
32B noin 18 GB noin 34 GB 24 GB VRAM tai 32–48 GB keskusmuisti
70B noin 40–43 GB noin 74 GB 48 GB VRAM tai 64 GB yhtenäismuisti

Luvut ovat vain lähtökohta, sillä konteksti-ikkunan eli kerralla huomioitavan tekstimäärän kasvattaminen lisää muistintarvetta. Ollama valitsee oletuskontekstin näytönohjaimen muistin mukaan: alle 24 gigatavun VRAMilla 4k, 24–48 gigatavulla 32k ja yli 48 gigatavulla 256k. Paljon tekstiä lukevat työkalut kannattaa asettaa vähintään 64 000 merkin kontekstiin.

Mallin koko ja kvantisointi

Mitä 7B, 14B, 32B ja 70B tarkoittavat

Mallin koko ilmoitetaan parametrimääränä: 7B tarkoittaa 7 miljardia parametria ja 70B puolestaan 70 miljardia. Mitä enemmän parametreja, sitä enemmän tarvitaan muistia ja laskentatehoa, mutta myös sitä enemmän mallilla on kapasiteettia oppia kielen rakenteita ja tietoa. Pieni 7–8 miljardin versio riittää tiivistämiseen, luokitteluun ja yksinkertaiseen keskusteluun, 14 miljardin luokassa laatu paranee selvästi ja 30–32 miljardin mallit pärjäävät jo vaativammissa tehtävissä. 70 miljardin luokka lähestyy pilvipalveluiden keskitasoa, mutta vaatii kalliin näytönohjaimen tai Applen koneen, jossa on vähintään 64 gigatavua yhtenäismuistia. Pelkkä parametrimäärä ei ratkaise laatua.

Q4 vai Q8 — mitä laatu tarkoittaa

Kvantisointi tarkoittaa painojen tallentamista vähemmillä biteillä. Alkuperäinen malli on usein 16-bittinen, ja kvantisoinnissa se pakataan esimerkiksi 4- tai 8-bittiseksi. Tiedosto pienenee murto-osaan ja laskenta nopeutuu, mutta tarkkuutta menetetään jonkin verran. llama.cpp:n ohjeen mukaan Q4_K_M on yleinen kompromissi: selvästi pienempi kuin Q8_0 mutta laadultaan lähellä sitä. Saman ohjeen mittauksissa 8 miljardin parametrin malli oli Q4_K_M-muodossa 4,58 GiB, Q8_0-muodossa 7,95 GiB ja kvantisoimattomana 14,96 GiB, ja tekstin tuottonopeus oli Q4_K_M-muodossa noin 72 ja Q8_0-muodossa noin 51 tokenia sekunnissa.

Käytännön suositus: aloita Q4_K_M-versiosta, joka mahtuu useimpiin koneisiin. Jos muistia on reilusti, Q8_0 antaa hieman tarkemman tuloksen etenkin laskennassa ja koodissa. Hyvin pieniin 2–3-bittisiin muotoihin kannattaa suhtautua varauksella: tiedosto pienenee edelleen, mutta laatu heikkenee selvästi. Kuvantunnistuksen kaltaiset lisäosat kannattaa pitää korkeammassa tarkkuudessa, koska niiden laatu vaikuttaa suoraan koko mallin vastauksiin.

Työkalut: tapoja ajaa malli omalla koneella

Työkalu Mitä se on Kenelle
Ollama Avoimen lähdekoodin mallipalvelu, joka lataa mallit valmiiksi pakattuina ja tarjoaa rajapinnan muille ohjelmille. Käyttäjälle, joka haluaa nopean alun ja liittää mallin sovelluksiin.
LM Studio Graafinen sovellus, jossa mallit ladataan ja testataan hiirellä. Aloittelijalle, joka ei halua kirjoittaa komentoja.
llama.cpp Moottori, jonka päälle useimmat muut työkalut rakentuvat; tukee myös mallien muuntamista ja kvantisointia. Tekniselle käyttäjälle, joka haluaa säätää suorituskykyä.
Unsloth Työkalu mallien hienosäätöön eli oman aineiston opettamiseen kevyemmällä muistinkäytöllä. Käyttäjälle, joka haluaa opettaa mallille oman aineiston. Ks. Unsloth Desktop -opas.
MLX Applen avoimen lähdekoodin kehys Applen piireille; hyödyntää yhtenäismuistia ja tukee kvantisointia. Mac-käyttäjälle, joka haluaa parasta suorituskykyä.

Kaikkia näitä yhdistää se, että malli on erillinen tiedosto: saman GGUF-tiedoston voi ladata sekä Ollamalla että LM Studiolla. Ero on siinä, miten ohjelma hoitaa latauksen ja muistinjaon.

Mallin valinta, lisenssit ja suorituskyky

Mallin valinta

Aloita koneen muistista, älä mallin maineesta. Valitse suurin malli, joka mahtuu VRAMiin tai yhtenäismuistiin kvantisoituna niin, että kontekstille jää tilaa. Ratkaise sitten, tarvitsetko monikielisyyttä, pitkää kontekstia vai koodauskykyä, ja kokeile kahta tai kolmea vaihtoehtoa samalla tehtävällä. Yleiset vertailumittaukset eivät kerro, miten malli suoriutuu aineistostasi.

Lisenssit

Mallin painoilla on aina lisenssi, joka määrää, mitä niillä saa tehdä. Osa malleista on avoimilla painoilla ja hyvin sallivalla lisenssillä, osa ehdoiltaan rajoitetumpi. Metan Llama-mallien lisenssi esimerkiksi vaatii, että kopioissa säilytetään tekijän ilmoitus, ja käytön on noudatettava erillistä hyväksyttävän käytön periaatteita koskevaa asiakirjaa. Ehtoihin kuuluu myös raja, jonka jälkeen erittäin suurten palveluiden on haettava erillinen lisenssi; raportoitu raja on 700 miljoonaa kuukausittaista käyttäjää, joten kaupallisessa käytössä ehdot kannattaa lukea itse.

Suorituskyky ja nopeus

Nopeudesta on erotettava kaksi mittaria. Aika ensimmäiseen merkkiin kertoo, kuinka kauan vastauksen aloittaminen kestää, ja se on laskentatehon varassa. Tuottonopeus kertoo, montako tekstinosasta eli tokenia sekunnissa syntyy vastauksen aikana, ja se on muistikaistan varassa. Applen mittausten mukaan M5-piiri tuottaa ensimmäisen merkin alle 10 sekunnissa 14 miljardin parametrin mallille ja on 19–27 prosenttia nopeampi kuin M4. Yli 20 tokenia sekunnissa tuntuu sujuvalta, kun taas alle 5 tokenia sekunnissa tekee pitkästä vastauksesta raskasta odottaa.

Yleisimmät sudenkuopat

  • Muistilaskelma pelkän mallitiedoston koon perusteella. Malli tarvitsee tilaa myös keskustelulle ja väliaikaisille laskuille, joten varaa ylimääräistä.
  • Liian suuri malli liian pieneen koneeseen. Jos ohjelma siirtää kerroksia keskusmuistiin tai levylle, nopeus romahtaa. Pienempi nopea malli on hyödyllisempi kuin suuri hidas.
  • Lisenssin laiminlyönti. Avoin saatavuus ei tarkoita rajattomia oikeuksia. Lue ehdot ennen kaupallista käyttöä.
  • Laadun olettaminen parametrimäärän perusteella. Uusi pienempi malli voi päihittää vanhemman suuremman.
  • Vastausten pitäminen tarkistamatta. Paikallinen malli voi keksiä vakuuttavan kuuloisen virheen siinä missä pilvimallikin.
  • Verkkoyhteyden puuttumisen unohtaminen. Ilman verkkoa malli ei hae tuoreita tietoja, joten ne pitää antaa itse.

Aiheeseen liittyvät oppaat

Lähteet

Leave a Reply

Pakolliset kentät on merkitty *

Share with