Mallien ja palveluiden valinta
Paikallinen tekoäly omalla koneella: milloin se kannattaa
Kielimallin voi ajaa omalla koneella ilman pilveä. Näin muistin määrä ja kvantisointi ratkaisevat, mikä malli mahtuu ja mihin sen laatu riittää.
Lyhyt vastaus
Paikallinen tekoäly tarkoittaa sitä, että mallin painot ladataan omalle laitteelle ja vastaukset lasketaan sen muistilla ja suorittimella. Ratkaiseva rajoite on käytettävissä oleva muisti, ei prosessorin kellotaajuus. Tavallisella kannettavalla toimivat pienet ja keskikokoiset mallit riittävät hyvin tiivistämiseen, luokitteluun ja tiedon poimintaan, mutta jäävät selvästi jälkeen suurista pilvimalleista vaativassa päättelyssä, koodissa ja suomen kielen tarkkuudessa.
Sisällys
- Mitä paikallisella tekoälyllä tarkoitetaan
- Neljä syytä ajaa malli itse, ja kuinka hyvin ne kestävät
- Muisti ratkaisee, ei prosessorin nopeus
- Kvantisointi: miten iso malli mahdutetaan pieneen muistiin
- Mitä millekin laitteistolle mahtuu
- Laatuero pilvimalleihin: mitä käytännössä menetät
- Mihin paikallinen malli riittää ja mihin ei
- Kustannus ja kokeilu ilman investointia
- Rajat ja epävarmuudet
- Usein kysytyt kysymykset
- Lähteet ja lisälukemista
Kielimallin voi ajaa omalla koneella ilman, että mikään lähtee verkkoon. Käytännön este ei ole ohjelmiston asentaminen, joka vie nykyään muutaman minuutin, vaan muisti: mallin pitää mahtua laitteen muistiin kokonaan. Tästä seuraa suoraan, kuinka iso malli sinulle kelpaa ja kuinka hyviä vastauksia siltä voi odottaa.
Vastaus kysymykseen "kannattaako" riippuu tehtävästä. Rajattuihin tehtäviin, joissa vastaus löytyy antamastasi aineistosta, paikallinen malli riittää yllättävän hyvin. Yleiseen kysymiseen se on selvästi heikompi kuin suuret pilvipalvelut, eikä ero ole kaventumassa nopeasti.
Mitä paikallisella tekoälyllä tarkoitetaan
Paikallinen tekoäly tarkoittaa, että mallin painot eli opitut parametrit ladataan tiedostona omalle laitteelle ja vastausten laskenta tapahtuu siellä. Pilvipalvelussa sama laskenta tehdään palveluntarjoajan konesalissa, ja koneesi lähettää vain tekstin ja vastaanottaa vastauksen. Ero pilven ja oman laitteen välillä on sama kuin muissakin palveluissa, ja se on käyty läpi artikkelissa pilvipalvelu selitetty.
Paikallisajo edellyttää, että mallin painot ovat ladattavissa. Tällaisia kutsutaan avoimen painon malleiksi. Nimitys ei tarkoita avointa lähdekoodia eikä avointa opetusaineistoa: painot ovat saatavilla, mutta lisenssiehdot vaihtelevat ja osa kieltää kaupallisen käytön tai tietyt käyttötavat. Lisenssi kannattaa lukea, jos malli tulee työkäyttöön.
Ajamiseen tarvitaan ohjelma, joka lataa painot muistiin ja pyörittää laskennan. Yleisimmät vaihtoehdot ovat komentorivityökaluja tai graafisia sovelluksia, jotka näyttävät tutulta chattikäyttöliittymältä. Asennus on nykyään suoraviivainen, ja mallin voi vaihtaa toiseen lataamalla uuden tiedoston.
Mallitiedosto kannattaa ladata julkaisijan omalta sivulta tai tunnetusta mallikirjastosta. Painotiedosto on käytännössä ohjelmakoodin kaltainen luottamuskysymys: se voi olla muokattu versio, jonka käyttäytymistä on muutettu, eikä sisältöä voi tarkistaa lukemalla. Tarkista siis kuka mallin on julkaissut ja mistä lataamasi tiedosto on peräisin, samalla huolellisuudella kuin ohjelmistoa asentaessa.
Neljä syytä ajaa malli itse, ja kuinka hyvin ne kestävät
Tietosuoja. Vahvin syy. Kun syöte ei poistu laitteelta, ei ole palveluntarjoajaa, joka voisi tallentaa sen, käyttää sitä mallin kehittämiseen tai vuotaa sen. Tämä on aito ja mitattava ero verrattuna tilanteeseen, jota käsitellään artikkelissa tekoäly ja tietosuoja. Varaus: hyöty katoaa, jos käyttöliittymäohjelma lähettää telemetriaa tai jos laite itsessään on huonosti suojattu.
Kustannus. Kestää huonosti pienillä käyttömäärillä. Yksittäisen käyttäjän kuukausitilaus on halpa verrattuna riittävän muistin sisältävään näytönohjaimeen. Perustelu alkaa toimia vasta, kun ajettavia pyyntöjä on kymmeniä tuhansia, esimerkiksi silloin kun koko dokumenttiarkisto luokitellaan kertaalleen.
Saatavuus. Paikallinen malli toimii ilman verkkoa, ilman jonoja ja ilman käyttörajoja. Se ei myöskään muutu yön yli. Pilvipalvelun mallia voidaan päivittää, ja tulokset voivat muuttua ilman ilmoitusta, mikä on ongelma automaatiossa. Paikallinen tiedosto pysyy samana niin kauan kuin haluat.
Kokeilu ja oppiminen. Aliarvioitu syy. Kun näet, miten mallin koko, kvantisointi ja asetukset vaikuttavat tulokseen, mallien käyttäytyminen lakkaa olemasta arvoitus. Sama koskee promptin rakennetta, jonka vaikutus näkyy paikallisessa mallissa usein selvemmin kuin suuressa pilvimallissa.
Muisti ratkaisee, ei prosessorin nopeus
Mallin ajaminen on käytännössä valtava määrä kertolaskuja, joissa jokainen tuotettu token vaatii koko painojoukon lukemista muistista. Siksi pullonkaula on muistin kaistanleveys, ei laskentateho.
Tästä seuraa kaksi asiaa. Ensinnäkin mallin pitää mahtua kokonaan nopeaan muistiin. Jos se ei mahdu, käyttöjärjestelmä siirtää osan levylle, ja nopeus putoaa kertaluokkia, tyypillisesti käyttökelvottomalle tasolle. Toiseksi näytönohjaimen muisti on tavallista keskusmuistia huomattavasti nopeampaa, joten sama malli tuottaa tekstiä näytönohjaimella moninkertaisella nopeudella. Osassa kannettavia suoritin ja näytönohjain jakavat saman nopean yhtenäisen muistin, mikä tekee niistä poikkeuksellisen käyttökelpoisia tähän tarkoitukseen.
Muistintarpeen arvio on yksinkertainen: parametrien määrä kerrottuna tavuilla per parametri. Alkuperäisessä 16 bitin tarkkuudessa yksi parametri vie kaksi tavua, joten 7 miljardin parametrin malli vaatii noin 14 gigatavua. Päälle tulee tilaa keskustelun kontekstille, ja se kasvaa keskustelun pidetessä.
Kvantisointi: miten iso malli mahdutetaan pieneen muistiin
Kvantisointi tarkoittaa painojen tallentamista karkeammalla numeerisella tarkkuudella. Kun 16 bitin liukuluku korvataan 4 bitin kokonaisluvulla, yksi parametri vie kahden tavun sijaan noin puoli tavua ja malli kutistuu noin neljäsosaan. Sama 7 miljardin parametrin malli vie silloin noin 4 gigatavua.
Menetelmä ei ole pyöristystä umpimähkään. Käytännön toteutukset jakavat painot pieniin ryhmiin ja tallentavat jokaiselle ryhmälle oman skaalauskertoimen, jolloin virhe jää pieneksi. Osa menetelmistä käyttää lisäksi näytedataa selvittääkseen, mitkä painot vaikuttavat tulokseen eniten, ja tallentaa ne tarkemmin.
Käytännössä tämä näkyy mallitiedostojen nimissä. Latauslistoissa saman mallin rinnalla on useita versioita, joiden nimessä on bittimäärä ja menetelmän tunnus. Suurempi luku tarkoittaa isompaa tiedostoa ja parempaa laatua. Jos et halua vertailla, valitse neljän tai viiden bitin versio, joka mahtuu muistiisi väljästi, ja vaihda tarvittaessa.
Laatuvaikutus on tässä kohtaa se, mikä kannattaa tietää. Kahdeksan bitin tarkkuudella ero alkuperäiseen on useimmissa tehtävissä mittausvirheen luokkaa. Viidessä ja kuudessa bitissä ero on pieni. Neljässä bitissä se alkaa näkyä pitkissä päättelyketjuissa ja tarkkuutta vaativissa tehtävissä. Kolmen bitin alapuolella laatu heikkenee nopeasti. Tärkeä nyrkkisääntö: isompi malli voimakkaammin kvantisoituna on yleensä parempi kuin pienempi malli kevyesti kvantisoituna, kun molemmat vievät saman verran muistia.
Mitä millekin laitteistolle mahtuu
Taulukko on suuntaa antava ja perustuu 4 bitin kvantisointiin. Todelliset rajat riippuvat mallista, kontekstin pituudesta ja käyttöjärjestelmän omasta muistinkulutuksesta. Mallien koot ja tehokkuus muuttuvat nopeasti, joten lukuja kannattaa pitää kertaluokkina eikä lupauksina.
| Käytettävissä oleva muisti | Mikä mahtuu | Mihin se riittää |
|---|---|---|
| 8 gigatavua | 3 tai 4 miljardin parametrin malli | Tiivistäminen, luokittelu, kokeilu |
| 16 gigatavua | 7 tai 8 miljardin parametrin malli | Arjen tekstityöt, poiminta, luonnokset |
| 24 gigatavua | 13 miljardia, tiukasti 30 miljardia | Koodin selittäminen, pidemmät aineistot |
| 48 gigatavua tai enemmän | 30 tai 70 miljardin luokka | Lähimpänä pilvimallien laatua, hitaammin |
Sarakkeen "mihin se riittää" tulkinnassa kannattaa olla armollinen. Kyse on siitä, mihin malli riittää ilman jatkuvaa korjaamista, ei siitä mitä se suostuu yrittämään.
Laatuero pilvimalleihin: mitä käytännössä menetät
Ero ei näy tasaisesti kaikissa tehtävissä, ja juuri siksi yleiset vertailuluvut johtavat harhaan. Suurimmat erot ovat neljässä kohdassa.
Harvinainen tieto. Pieni malli on nähnyt vähemmän aineistoa ja tiivistää sen pienempään parametrimäärään. Vähän tunnetut henkilöt, paikat ja tapahtumat menevät sekaisin selvästi useammin, ja hallusinaatiot ovat tavallisempia.
Pitkät päättelyketjut. Monivaiheiset tehtävät, joissa jokainen askel riippuu edellisestä, epäonnistuvat pienemmillä malleilla useammin. Virhe ensimmäisessä vaiheessa kulkeutuu loppuun asti.
Suomen kieli. Ero on suomessa suurempi kuin englannissa, koska suomenkielistä opetusaineistoa on murto-osa ja tokenisointi on suomelle tehottomampaa. Taustan selittää artikkeli miten kielimalli toimii. Julkaisukelpoinen suomi vaatii paikalliselta mallilta lähes aina ihmisen viimeistelyn.
Ympäröivät työkalut. Suuri osa pilvipalvelun hyödystä ei tule mallista vaan sen ympärille rakennetuista toiminnoista: verkkohaku, koodin ajaminen, tiedostojen lukeminen ja pitkä konteksti. Näitä voi rakentaa itsekin, mutta se on projekti eikä asennus. Vertailun periaatteet käydään läpi artikkelissa tekoälyassistenttien erot.
Mihin paikallinen malli riittää ja mihin ei
Riittää hyvin, kun vastaus löytyy antamastasi aineistosta tai tehtävä on muodoltaan kapea:
- tekstin tiivistäminen, uudelleenmuotoilu ja tyylin muuttaminen
- luokittelu ja tunnisteiden lisääminen suurelle määrälle dokumentteja
- rakenteisen tiedon poiminta vapaasta tekstistä
- luonnostelu, kun ihminen viimeistelee tuloksen
- arkaluontoinen aineisto, jota ei saa siirtää palveluun
Ei riitä, kun tehtävä vaatii tietoa mallin ulkopuolelta tai virhe on kallis:
- ajantasainen tieto hinnoista, laeista ja tapahtumista
- tarkka laskenta ja monivaiheinen päättely ilman apuvälineitä
- julkaisukelpoinen suomenkielinen teksti ilman tarkistusta
- terveyteen, talouteen tai oikeuksiin liittyvät päätökset
Jako noudattaa yhtä sääntöä: mitä enemmän vastaus riippuu mallin omasta muistista, sitä suurempi ero pilvimalliin. Mitä enemmän vastaus riippuu antamastasi tekstistä, sitä pienempi ero. Siksi paikallista mallia kannattaa käyttää työkaluna aineistolle, ei tietolähteenä.
Kustannus ja kokeilu ilman investointia
Laitteistoinvestoinnin perustelu kannattaa laskea auki. Riittävän muistin sisältävä näytönohjain maksaa monen vuoden tilausmaksun verran, ja päälle tulee sähkö ja oma aika. Yhden käyttäjän tavallisessa käytössä pilvipalvelu on lähes aina halvempi. Laskelma kääntyy, jos ajettavia pyyntöjä on paljon, jos aineistoa ei saa siirtää ulos tai jos kone on jo olemassa muusta syystä.
Kokeilun ei tarvitse maksaa mitään. Useimmat viime vuosien kannettavat ajavat 3 tai 4 miljardin parametrin mallin 4 bitin tarkkuudella ilman lisälaitteita. Aloita pienimmästä mallista, anna sille oma oikea työtehtäväsi ja katso tulos. Jos pieni malli hoitaa tehtävän, isompaa ei tarvita. Jos se epäonnistuu selvästi, kokeile seuraavaa kokoluokkaa ennen kuin harkitset laitehankintaa.
Rajat ja epävarmuudet
Tämän artikkelin luvut ovat suuruusluokkia. Muistintarpeen arviot pitävät paikkansa kohtuullisesti, koska ne seuraavat suoraan parametrien määrästä, mutta nopeudet vaihtelevat laitteistoittain niin paljon, ettei tokeneita sekunnissa kannata luvata. Mallien laatu samalla parametrimäärällä on parantunut nopeasti, joten arviot siitä, mihin tietty kokoluokka riittää, vanhenevat todennäköisesti nopeammin kuin muut tämän artikkelin väitteet.
Yksi asia ei kuitenkaan muutu. Muistin määrä asettaa kovan rajan sille, mitä laitteella voi ajaa, ja kvantisointi on ainoa keino venyttää sitä. Kun uusi malli ilmestyy, nämä kaksi lukua kertovat nopeammin kuin mikään vertailutesti, onko se sinun koneellasi käyttökelpoinen.
Usein kysytyt kysymykset
Voiko tekoälyä käyttää ilman internetyhteyttä?
Voi, jos mallin painot on ladattu etukäteen laitteelle ja käytössä on ohjelma, joka ajaa mallin paikallisesti. Lataus vaatii verkkoyhteyden, mutta sen jälkeen käyttö onnistuu kokonaan ilman yhteyttä. Verkkohaku, ajantasainen tieto ja pilvipalvelujen lisätoiminnot jäävät silloin pois.
Kuinka paljon muistia paikallinen kielimalli vaatii?
Karkea arvio saadaan kertomalla parametrien määrä tavuilla per parametri. Neljän bitin tarkkuudella se on noin puoli tavua, joten 7 miljardin parametrin malli vie noin 4 gigatavua, ja päälle tulee tilaa keskustelun kontekstille. Kahdeksan gigatavun koneella pyörivät pienet mallit, 16 gigatavulla keskikokoiset.
Mitä kvantisointi tarkoittaa kielimallissa?
Kvantisointi tarkoittaa mallin painojen tallentamista pienemmällä numeerisella tarkkuudella, esimerkiksi neljällä bitillä 16 bitin sijaan. Malli pienenee ja nopeutuu, ja vastineeksi vastausten laatu heikkenee hieman. Kahdeksan ja viiden bitin tarkkuudella ero on useimmiten huomaamaton, neljässä bitissä havaittava ja sen alle mentäessä selvä.
Onko paikallinen tekoäly yhtä hyvä kuin ChatGPT tai vastaava pilvipalvelu?
Ei tavallisella kuluttajalaitteistolla. Ero johtuu mallin koosta ja siitä, että pilvipalveluihin on kytketty verkkohaku, koodin ajo ja tiedostojen käsittely. Rajatuissa tehtävissä, joissa vastaus löytyy annetusta aineistosta, ero kaventuu paljon pienemmäksi kuin yleisissä tietokysymyksissä.
Onko paikallinen malli tietoturvallisempi?
Aineiston osalta kyllä, koska syöte ei siirry palveluntarjoajalle. Muilta osin vastuu siirtyy sinulle: laitteen suojaus, mallitiedoston alkuperä ja käyttöliittymäohjelman luotettavuus ovat omalla vastuullasi. Henkilötietojen käsittelyä koskevat velvoitteet pysyvät voimassa myös silloin, kun käsittely tapahtuu omalla koneella.
Tarvitseeko paikallinen tekoäly näytönohjaimen?
Ei välttämättä. Pieni malli toimii pelkällä suorittimella, mutta hitaasti, koska nopeus riippuu muistin kaistanleveydestä. Näytönohjaimen oma muisti tai kannettavien yhtenäinen muisti nopeuttaa käyttöä selvästi. Nopeudet vaihtelevat laitteistoittain niin paljon, ettei yleispätevää lukua kannata luvata.