Tässä blogissa kerromme miten voit asentaa paikallisen (lokaalin) kielimallin omalle Windows-tietokoneellesi tukemaan ohjelmistokehitystäsi.
Paikallinen kielimalli (Large Language Model, LLM) sijaitsee fyysisesti lähellä käyttäjää, kuten henkilökohtaisessa tietokoneessa, yrityksen palvelimella tai muussa paikallisessa laitteessa.
Paikallisen mallin käyttöön voi olla useita syitä, esimerkiksi
- Tietoturva ja yksityisyys: Kun käytät paikallista kielimallia, voit analysoida ja käsitellä dataa ilman, että sitä tarvitsee lähettää ulkopuolisille palvelimille.
- Riippumattomuus ja hallinta: Omalla laitteella toimiminen antaa sinulle täydellisen hallinnan kielimallisi käyttöön ja päivityksiin.
- Kustannussäästöt: Vaikka palvelinresursseihin saatetaan joutua investoimaan alussa, pitkällä aikavälillä paikallinen ratkaisu voi olla kustannustehokas, etenkin jos käyttö on laajamittaista ja jatkuvaa.
Paikallinen kielimalli ei ole paras ratkaisu, jos
- Tarve on suurelle ja raskaalle kielimallille.
- Halutaan nopeutta ja helppoutta asennuksen, päivitysten ja ylläpidon suhteen.
- Skaalautuvuus ja integroitavuus ovat olennaisia.
Tässä blogissa tehdään asennus, joka toimii modernilla tietokoneella, jossa on Nvidian tai Intelin valmistama näytönohjain ja Windows-käyttöjärjestelmä.
Asennuksen pääosat ovat:
- Ollama – kielimallien lataaminen ja ajaminen omassa tietokoneessa
- Continue – kielimallin toiminnallisuus saadaan Visual Studion osaksi
Koneen suorituskykyvaatimukset
Tarkista koneesi resurssit ennen kuin aloitat asentamisen (tehtävänhallinta > suorituskyky > Suoritin ja GPU). Varmista, että sinulta löytyy GPU (näytönohjain), jossa on vähintään 8 Gt vRAM:ia ja moderni CPU (prosessori).
Malli | Parametrien määrä (mrd) | Min. muisti (GB) | Max. muisti (GB) |
TinyLlama | 1.1 | 0.69 | 3.30 |
Phi 2 | 2 | 1.25 | 4.55 |
Llama 2 | 7 | 4.37 | 7.40 |
Llama 2 | 13 | 8.12 | 11.95 |
Mixtral 8x7b | 45 | 28.12 | 35.00 |
Llama 2 | 70 | 43.00 | 52.64 |
Tarkista myös onko koneessasi Nvidian vai Intelin GPU. Nvidian GPU hyödyntää CUDA-ajuria, jota Ollama käyttää. Jos koneessasi on Nvidian GPU, jatka kappaleesta Ollama + CUDA. Jos koneessasi on Intelin GPU (esim. intel iris xe graphics), siirry kappaleeseen Ollama + IPEX-LLM.
Ollama + CUDA
1. Hae Ollaman sivuilta (https://ollama.com/) Windowsissa ajettava paketti.
2. Aja ladattu paketti.
3. Tarkista, että Ollama on ladattu ajamalla seuraava komento komentoriviltä:
“ollama –version”
4. Tarkista, että rajapinta on käytössä menemällä selaimella osoitteeseen http://localhost:11434:
Ollama + IPEX-LLM
Varmista, että sinulta löytyy Intelin GPU-ajuri, joka on vähintään versio (>=) 31.0.101.5522. Päivitä GPU-ajurisi tarvittaessa.
Varmista, että sinulta löytyy Anaconda asennettuna tai lataa ja asenna se (https://www.anaconda.com/). Voit varmistaa version hakemalla koneeltasi “Anaconda Prompt” ja kirjoittamalla komennon “conda –version”.
Lataa IPEX-llm
1. Avaa ja suorita “Anaconda Prompt” järjestelmänvalvojana. Tätä tarvitaan 3. vaiheessa.
2. Aluksi luodaan virtuaaliympäristö, johon IPEX-llm ladataan:
“conda create -n llm-cpp python=3.11”
“conda activate llm-cpp”
“pip install –pre –upgrade ipex-llm[cpp]”
3. Seuraavaksi alustetaan Ollama komennolla: “init-ollama.bat”
4. Näiden ohjeiden jälkeen on aika käynnistää Ollama virtuaaliympäristössä:
“set OLLAMA_NUM_GPU=999
set no_proxy=localhost,127.0.0.1
set ZES_ENABLE_SYSMAN=1
set SYCL_CACHE_PERSISTENT=1
set SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1
ollama serve”
Huom! Jos saat joko komentoriviltä tai Continuesta muistiin liittyvän virheen (esim. model requires more system memory). Aseta “set OLLAMA_NUM_PARALLEL=1” ennen kun ajat “ollama serve”. Eli:
“set OLLAMA_NUM_PARALLEL=1
ollama serve”
5. Tämän jälkeen Anacondan Prompt-konsoliin pitäisi ilmestyä lokitustekstiä ja Ollaman pitäisi olla käynnissä. Voit tarkistaa tämän avaamalla selaimesta osoitteen: http://localhost:11434
Huom! Kun haluat ajaa Ollaman komentoja, niin avaa toinen komentorivi ja anna “Anaconda prompt” -ikkunan olla päällä. Jos haluat lopettaa ohjelman, niin paina Ctrl + c.
Miten Ollamaa käytetään?
Mallien lataaminen
Ennen kuin Ollamaa sekä Continueta voi käyttää, niin täytyy ladata kielimalli. Kielimalleja on useita Ollaman kirjastossa (https://ollama.com/library).
Valitse koneelle sopiva malli (suositus enintään 8B; riippuen koneen tehoista). Voit joutua testaamaan useita malleja, ennenkuin löydät koneellesi ja käyttötapaukseesi sopivan.
Malli (esim. dolphin-phi 2.7B) ladataan seuraavasti:
“ollama run dolphin-phi:2.7b”
tai
“ollama pull dolphin-phi:2.7b”
Voit ladata eri kielimalleja ja kokeilla mikä itsellesi toimii parhaiten. Kannattaa ensin kokeilla pienillä malleilla, minkä jälkeen voit päivittää isompiin, jos koneesi kyvykkyys sen mahdollistaa.
Mallien poistaminen
Voit poistaa kielimallin seuraavalla komennolla, jos et halua sitä pitää omalla koneella:
“ollama rm ”
Esim: “ollama rm dolphin-phi:2.7b”
Mallien listaaminen
Jos haluat nähdä mitä malleja koneellasi on, voit ajaa seuraavan komennon:
“ollama list”
Kielimallin ajaminen Visual Studio Codessa Continuen avulla
Voit ajaa asentamaasi kielimallia Visual Studio Codessa.
1. Asenna Visual Studio Code (https://code.visualstudio.com/).
2. Avaa Visual Studio Code ja klikkaa laajennukset (extensions).
3. Hae nimellä “Continue” ja lataa laajennus.
4. Kun laajennus on ladattu, oikeassa palkissa pitäisi olla Continuen symboli. Klikkaa sitä ja suunnista asetuksiin.
5. Asetustiedostossa “config.json” aseta asennetun mallin tiedot “models” -listan sisälle. Title voi olla vapaamuotoinen, “provider” on “ollama” ja “model”-arvon löydät mallin nimestä. Voit tarkistaa lataamiesi mallien nimet komentorivikomennolla “ollama list”:
“embeddingsProvider” ja muut arvot voi jättää miten ne on jo määritetty. Jos haluat käyttää muuta embedding-mallia, niin sen voi myös määritellä (esim. “nomic-embed-text”).
Miten käyttää Continueta Visual Studiossa
Keskustelu kielimallin kanssa: Ctrl + L
Keskustelu tietystä koodialueesta: maalaa koodialue + Ctrl + L
Muista käyttötavoista enemmän: https://docs.continue.dev/getting-started/overview
Avuliaat lähteet
Ollama ja IPEX-LLM: https://github.com/intel-analytics/ipex-llm/blob/main/docs/mddocs/Quickstart/ollama_quickstart.md
Ollama ja Continue: https://ollama.com/blog/continue-code-assistant
Miten käyttää Continueta: https://docs.continue.dev/how-to-use-continue
Muiden kielimallitarjoajien konfigurointi Continuessa: https://docs.continue.dev/setup/configuration
Paikallisten suurien kielimallinen hyödyntäminen liiketoiminnan sovelluksissa: https://aaltodoc.aalto.fi/server/api/core/bitstreams/1b63c648-44b3-46a9-9385-059d2584abea/content