Hyppää sisältöön

Docs CSC now features an automatic Finnish translation. Click here for more information.

Warning!

Puhti and Mahti are being decommissioned in stages, and their storage areas will become fully unavailable from 15 October 2026. Clean up unnecessary files and move any data you need to keep by 31 August 2026. See the Roihu data migration guide for instructions on transferring your data to Roihu.

Puhti computing services have been decommissioned and no new jobs are accepted or executed on its compute nodes. Puhti login nodes and storage services are planned to remain available until 15 October 2026.

LLM-mallien käyttäminen Ollamalla SD Desktopissa

Ollama on suosittu työkalu LLM-mallien käyttöön, sillä se tukee useita uusimman kehitystason malleja, joita voidaan käyttää API:n kautta. Ollamaa voidaan käyttää myös SD Desktopissa. Oletusarvoisesti Ollama lataa LLM-mallit internetissä olevista julkisista repositorioista. Tämä ei kuitenkaan ole mahdollista SD Connectissa. Siksi sinun täytyy ensin ladata mallit jossain muualla ja sitten tuoda ne SD Desktopiin SD Connectin kautta.

Tässä ohjeessa annetaan esimerkki siitä, miten LLM-malli voidaan ensin ladata CSC:n Roihu-supertietokoneelle ja sitten tuoda SD Desktopiin.

Vaihe 1. Mallien lataaminen Roihuun

Kirjaudu ensin Roihun selainkäyttöliittymään ja avaa Login node -komentotulkki Roihu CPU:ssa. Siirry komentotulkki-istunnossa projektisi scratch-hakemistoon.

cd /scratch/project_200xxxx/

Luo hakemisto Ollamalle ja asenna se sinne:

mkdir ollama
cd ollama
wget https://ollama.com/download/ollama-linux-amd64.tar.zst
tar -xf ollama-linux-amd64.tar.zst
rm ollama-linux-amd64.tar.zst
export PATH=$PWD/bin:$PATH

Luo sitten hakemisto LLM-malleille ja määritä OLLAMA_MODELS-ympäristömuuttuja osoittamaan kyseiseen hakemistoon.

mkdir ollama_models
export OLLAMA_MODELS=$PWD/ollama_models

Käynnistä sen jälkeen Ollama-palvelu komennolla:

ollama serve &

Lataa seuraavaksi tarvitsemasi Ollama-mallit joko käyttämällä LLM-repositorion nimiä tai lataamalla ja tuomalla gguf-tiedostot.

ollama pull llama3.1:8b

wget https://huggingface.co/mradermacher/Ahma-2-4B-Instruct-GGUF/resolve/main/Ahma-2-4B-Instruct.Q4_K_M.gguf
ollama create Ahma-2-4B-Instruct.Q4_K_M.gguf

Ladatut mallit on nyt tallennettu ollama_models-hakemistoon. Seuraavaksi pakkaa hakemisto siirtoa varten tar-tiedostoksi:

tar cvf ollama_models.tar ollama_models

Tämän jälkeen sinun täytyy aktivoida yhteys SD Connect -palveluun ja ladata tar-paketti SD Connectiin. (vaihda 200xxxx projektinumeroksesi)

module load allas
allas-conf –sdc
a-put –sdc ollama_models.tar -b 200xxxx-ollama

Vaihe 2. Ollaman käyttäminen SD Desktopissa

Ollama voidaan asentaa SD Desktop -virtuaalikoneisiin käyttämällä SD Tool Installeria:

Avaa DataGateway-yhteys SD Connectiin, avaa SD Tool Installer ja paina Ollama-painiketta.

Ollama-ohjelmiston lisäksi tarvitset LLM-mallit, jotka ladattiin SD Connectiin edellisessä vaiheessa. Koska mallit voivat vaatia huomattavan paljon tallennustilaa, ne kannattaa asentaa taltiolle. Avaa pääte SD Desktop -koneessasi ja anna komennot:

cd /media/volume
tar xvf $HOME/Projects/SD-Connect/*/20*-ollama/ollama_models.tar

Kun LLM:t on ladattu, aseta OLLAMA_MODELS-ympäristömuuttuja osoittamaan ollama_models-hakemistoosi:

export OLLAMA_MODELS=/media/volume/ollama_models

Nyt olet valmis käyttämään Ollamaa. Käynnistä ensin Ollama-palvelin:

ollama serve > ollama-server-log  2>&1 &

Tämän jälkeen voit listata saatavilla olevat LLM:t ja testata, että ne toimivat:

ollama list
ollama run llama3.1:8b  "Describe shortly the main features of the llama3.1 language model."

Kun Ollama-palvelin on käynnissä SD Desktop -koneessasi, voit käyttää sitä mistä tahansa pääteistunnosta. Lisäksi voit käyttää Ollamaa Python-skripteissä. Ollama-kirjastoa ei ole saatavilla SD Desktopin oletus-Pythonissa, mutta se sisältyy esimerkiksi ympäristöön python3-for-medimaging, joka voidaan asentaa auto-apptainerilla:

auto-apptainer python3-for-medimaging

Esimerkki Python-skriptistä:

import ollama

#read input file
file = open("/media/volume/interview1.txt", "r")
content = file.read()

#define prompt for ollama
myprompt = f"Replace names of persons with letter X in following text:\n\"\"\"\n{content}\n\"\"\""

#execute the prompt with Ollama
result = ollama.generate(model='llama3.1:8b', prompt=myprompt)

#write the results into file
anonymized = open("/media/volume/interview1_anonymized.txt", "w")
anonymized.write(result['response'])
anonymized.close

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta