Keskeinen havainto
Gemma 4:n suorittaminen paikallisesti vie alle 5 minuuttia Ollama-ohjelmistolla: asenna Ollama, aja yksi komento, ja käytössäsi on täysin kyvykäs AI-malli omalla laitteistollasi ilman API-kustannuksia, ilman datan poistumista koneeltasi ja ilman käyttörajoituksia Apache 2.0 -lisenssin alaisena. E2B-malli toimii millä tahansa kannettavalla tietokoneella. 26B MoE -malli mahtuu yhdelle RTX 4090 -näytönohjaimelle ja tarjoaa laadun, joka kilpailee sellaisten mallien kanssa, joilla on 10x enemmän aktiivisia parametreja.
Suorita Gemma 4 paikallisesti: Täydellinen opas
Miksi suorittaa Gemma 4 paikallisesti?
Ennen asennukseen syventymistä, tässä on syitä sille, miksi paikallinen päättely (inference) on merkityksellistä vuonna 2026:
- Yksityisyys — Datasi ei koskaan poistu koneeltasi. Kehotteita (prompts) ei lähetetä ulkoisille palvelimille. Tämä on kriittistä omisteisen koodin, juridisten asiakirjojen, lääketieteellisen datan tai minkä tahansa arkaluonteisen tiedon kohdalla.
- Kustannukset — Nolla per-token-kustannusta kertaluonteisen laitteistoinvestoinnin jälkeen. Aktiiviset käyttäjät säästävät satoja dollareita kuukaudessa verrattuna API-hinnoitteluun.
- Viive — Ei verkon viiveitä. E2B- ja E4B-mallit vastaavat millisekunneissa nykyaikaisella laitteistolla.
- Luotettavuus — Ei API-käyttörajoituksia, ei käyttökatkoja, ei palveluntarjoajan käytäntömuutoksia. Mallisi on aina saatavilla.
- Mukauttaminen — Hienosäädä, kvantisoi ja muokkaa mallia vapaasti Apache 2.0 -lisenssin alla.
- Offline-käyttö — Toimii ilman internetyhteyttä, kunhan malli on ladattu.
Gemma 4 soveltuu erityisen hyvin paikalliseen käyttöön, koska Google suunnitteli pienemmät mallit erityisesti edge- ja laitekohtaiseen käyttöön. E2B- ja E4B-mallit eivät ole jälkiajatuksia — ne ovat ensiluokkaisia malleja, jotka on optimoitu paikallisen laitteiston rajoitteille.
Esivaatimukset
Laitteistovaatimukset malleittain
| Malli | Minimimäärä RAM-muistia | Suositeltu VRAM | Pelkkä CPU mahdollinen? | Levytila |
|---|---|---|---|---|
| E2B (4-bit) | 5 GB | 4 GB | Kyllä | ~1.5 GB |
| E4B (4-bit) | 5 GB | 4 GB | Kyllä | ~2.8 GB |
| E4B (FP16) | 9 GB | 9 GB | Hidas | ~9 GB |
| 26B MoE (4-bit) | 18 GB | 16 GB | Erittäin hidas | ~15 GB |
| 26B MoE (FP16) | 52 GB | 48 GB | Ei | ~52 GB |
| 31B Dense (4-bit) | 20 GB | 18 GB | Erittäin hidas | ~18 GB |
| 31B Dense (FP16) | 62 GB | 48 GB+ | Ei | ~62 GB |
Keskeinen huomio: Jos sinulla on vuoden 2022 jälkeen valmistettu kannettava tietokone, voit suorittaa E2B- tai E4B-malleja. Jos sinulla on RTX 4090 (24GB VRAM) tai Apple M-sarjan Mac, jossa on 32GB+ RAM-muistia, voit suorittaa 26B MoE tai 31B Dense -malleja 4-bit kvantisoinnilla.
Ohjelmistovaatimukset
- Käyttöjärjestelmä: macOS, Linux tai Windows
- Ollama: Versio 0.6+ (lataa osoitteesta ollama.com)
- GPU-ajurit (valinnainen): NVIDIA CUDA 12+ NVIDIA-näytönohjaimille, Apple Silicon ei vaadi ylimääräisiä ajureita
Vaihe 1: Asenna Ollama
macOS
Lataa osoitteesta ollama.com/download/mac tai käytä Homebrew-ohjelmaa:
brew install ollama
Linux
Yhden rivin asennusskripti:
curl -fsSL https://ollama.com/install.sh | sh
Windows
Lataa asennusohjelma osoitteesta ollama.com/download/windows ja suorita se. Ollama toimii taustapalveluna Windowsissa.
Varmista asennus
ollama --version
Sinun pitäisi nähdä ollama version 0.6.x tai uudempi. Jos näet versionumeron, Ollama on asennettu oikein.
Vaihe 2: Lataa Gemma 4 -malli
Valitse laitteistoosi sopiva malli:
Kannettaville ja kevyille työkuormille
# Pienin malli — toimii millä tahansa nykyaikaisella kannettavalla (5GB RAM)
ollama pull gemma4:e2b
# Pieni malli laajemmilla kyvyillä (5-9GB RAM)
ollama pull gemma4:e4b
Pöytäkoneille erillisellä GPU:lla
# Paras tehokkuus — lippulaivatason laatu 3.8B aktiivisella parametrilla (18GB RAM)
ollama pull gemma4:26b-moe
# Korkein laatu — täydet 31B parametria (20GB RAM)
ollama pull gemma4:31b
Kvantisoinnin määrittäminen
Oletuksena Ollama lataa suositellun kvantisoinnin kullekin mallille (yleensä Q4_K_M hyvän laatu-koko-suhteen saavuttamiseksi). Voit määrittää eri kvantisointeja:
# Korkeampi laatu, suurempi koko
ollama pull gemma4:31b-q5_K_M
# Pienempi koko, hieman heikompi laatu
ollama pull gemma4:31b-q3_K_M
# Täysi tarkkuus (vaatii paljon enemmän RAM-muistia)
ollama pull gemma4:31b-fp16
Lataus kestää muutaman minuutin internetyhteydestäsi riippuen. Mallien koot vaihtelevat välillä ~1.5GB (E2B 4-bit) – ~62GB (31B FP16).
Vaihe 3: Suorita Gemma 4
Interaktiivinen chat
ollama run gemma4:e4b
Tämä avaa interaktiivisen keskusteluistunnon. Kirjoita kehotteesi ja paina Enter:
>>> What are the key differences between REST and GraphQL APIs?
Malli vastaa suoraan terminaalissasi. Kirjoita /bye poistuaksesi.
Yksi syote (ei-interaktiivinen)
echo "Explain the Builder design pattern in Python with an example" | ollama run gemma4:26b-moe
Ajattelutilan (Thinking Mode) käyttö
Gemma 4 tukee säädettävää ajattelutilaa monimutkaisiin tehtäviin. Ota se käyttöön lisäämällä järjestelmäkehote:
ollama run gemma4:31b --system "Think step by step before answering. Show your reasoning process."
Matematiikkaa, logiikkaa ja monimutkaista analyysia vaativissa tehtävissä ajattelutila parantaa vastausten laatua merkittävästi. Malli generoi yli 4,000+ tokenia sisäistä päättelyä ennen lopullisen vastauksen tuottamista.
Vaihe 4: Käytä paikallista API-liittymää
Ollama tarjoaa REST API -rajapinnan osoitteessa localhost:11434, joka on yhteensopiva OpenAI API -muodon kanssa. Tämä tarkoittaa, että mikä tahansa työkalu tai kirjasto, joka tukee OpenAI:n API:a, voi ottaa yhteyden paikalliseen Gemma 4 -malliisi pelkällä URL-osoitteen muutoksella.
Testaa API:a curl-komennolla
curl http://localhost:11434/api/generate -d '{
"model": "gemma4:26b-moe",
"prompt": "Write a Python function to parse CSV files with error handling",
"stream": false
}'
OpenAI-yhteensopiva päätepiste
curl http://localhost:11434/v1/chat/completions -d '{
"model": "gemma4:26b-moe",
"messages": [
{"role": "user", "content": "Explain async/await in JavaScript"}
]
}'
Lähde: Ollama API -dokumentaatio
Vaihe 5: Integroi sovellukseesi
Python
import requests
def ask_gemma(prompt, model="gemma4:26b-moe"):
response = requests.post(
"http://localhost:11434/api/generate",
json={
"model": model,
"prompt": prompt,
"stream": False
}
)
return response.json()["response"]
# Käyttö
answer = ask_gemma("What is the time complexity of merge sort?")
print(answer)
Python OpenAI SDK:lla
from openai import OpenAI
# Ohjaa paikalliseen Ollamaan OpenAI:n sijaan
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # Ollama ei vaadi oikeaa API-avainta
)
response = client.chat.completions.create(
model="gemma4:26b-moe",
messages=[
{"role": "system", "content": "You are a helpful coding assistant."},
{"role": "user", "content": "Write a React hook for debounced search"}
]
)
print(response.choices[0].message.content)
Node.js / TypeScript
const response = await fetch("http://localhost:11434/v1/chat/completions", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "gemma4:26b-moe",
messages: [
{ role: "user", content: "Explain the Observer pattern with a TypeScript example" }
]
})
});
const data = await response.json();
console.log(data.choices[0].message.content);
LangChainin käyttö
from langchain_community.llms import Ollama
llm = Ollama(model="gemma4:26b-moe")
response = llm.invoke("Summarize the key principles of clean architecture")
print(response)
LlamaIndexin käyttö
from llama_index.llms.ollama import Ollama
llm = Ollama(model="gemma4:26b-moe", request_timeout=120.0)
response = llm.complete("What are the SOLID principles in software engineering?")
print(response)
Kvantisointivaihtoehdot selitettynä
Kvantisointi vähentää mallin kokoa ja muistin käyttöä käyttämällä matalamman tarkkuuden lukuja mallin painojen esittämiseen. Kyseessä on tasapainottelu laadun ja resurssien käytön välillä:
| Kvantisointi | Bittejä per paino | Vaikutus laatuun | Muistisäästöt | Paras käyttökohde |
|---|---|---|---|---|
| FP16 | 16 bits | Ei lainkaan (täysi laatu) | Lähtötaso | Palvelimet, joissa on runsaasti VRAM-muistia |
| Q8_0 | 8 bits | Merkityksetön | ~50% | Korkealaatuinen paikallinen päättely |
| Q6_K | 6 bits | Erittäin vähäinen | ~62% | Laatuun keskittyvä paikallinen käyttö |
| Q5_K_M | 5 bits | Vähäinen | ~69% | Hyvä tasapaino |
| Q4_K_M | 4 bits | Pieni | ~75% | Suositeltu oletusarvo |
| Q3_K_M | 3 bits | Kohtalainen | ~81% | Rajoitettu laitteisto |
| Q2_K | 2 bits | Huomattava | ~87% | Erittäin suuret rajoitteet |
Q4_K_M on optimaalinen tasapaino useimmille käyttäjille. Laatuero FP16-versioon on niin pieni, että useimmissa tehtävissä tulokset ovat erottamattomia, kun taas 75% muistisäästö tekee eron "vaatii palvelimen" ja "toimii kannettavallani" välillä.
Oikean kvantisoinnin valitseminen
Gemma 4 E2B/E4B: Käytä oletusta (Q4_K_M). Nämä mallit ovat jo valmiiksi niin pieniä, ettei korkeampi kvantisointi muuta käyttökokemusta merkittävästi.
Gemma 4 26B MoE: Q4_K_M mahtuu 18GB RAM-muistiin, mikä on RTX 4090:n 24GB VRAM-rajoissa jättäen tilaa myös KV cachelle. Jos käytössäsi on 48GB+ VRAM (A6000, kaksi GPU:ta), harkitse Q8_0-versiota hieman paremman laadun saavuttamiseksi.
Gemma 4 31B Dense: Q4_K_M koossa 20GB mahtuu RTX 4090:lle tiukalla marginaalilla. Q5_K_M tuottaa hieman parempia tuloksia, mutta vaatii ~24GB, kuluttaen kaiken saatavilla olevan VRAM-muistin. Jos käytössäsi on 32GB+ VRAM (RTX 5090, A6000), Q6_K tai Q8_0 ovat päivityksen arvoisia.
Suorituskyvyn optimointi
GPU-siirto (GPU Offloading)
Ollama siirtää automaattisesti mallin kerroksia GPU:lle, kun VRAM-muistia on käytettävissä. Jos vain osa mallista mahtuu VRAM-muistiin, Ollama jakaa kuorman GPU:n ja CPU:n välille. Voit hallita tätä:
# Pakota kaikki kerrokset GPU:lle (epäonnistuu, jos VRAM ei riitä)
OLLAMA_NUM_GPU=999 ollama run gemma4:26b-moe
# Pakota vain CPU-käyttö (hyödyllinen testauksessa)
OLLAMA_NUM_GPU=0 ollama run gemma4:e4b
Konteksti-ikkunan (Context Window) määrittäminen
Oletuksena Ollama käyttää 2048 tokenin konteksti-ikkunaa tehokkuuden vuoksi. Hyödyntääksesi Gemma 4:n täysiä kontekstiominaisuuksia:
# Aseta konteksti-ikkunaksi 32K tokenia
ollama run gemma4:26b-moe --num-ctx 32768
# Aseta konteksti-ikkunaksi 128K tokenia (vaatii enemmän RAM-muistia)
ollama run gemma4:26b-moe --num-ctx 131072
Tärkeää: Suuremmat konteksti-ikkunat kuluttavat enemmän RAM-muistia KV cachea varten. 128K konteksti-ikkuna 31B-mallilla voi vaatia 8-16GB ylimääräistä RAM-muistia mallin painojen lisäksi. Aloita 32K:sta ja nosta sitä vain, jos käyttötapauksesi sitä vaatii.
Samanaikaiset pyynnöt
Ollama tukee useiden pyyntöjen käsittelyä samanaikaisesti:
# Salli jopa 4 samanaikaista pyyntöä
OLLAMA_NUM_PARALLEL=4 ollama serve
Jokainen samanaikainen pyyntö lisää muistinkulutusta sen KV cachen vuoksi. 24GB GPU:lla, joka ajaa 26B MoE -mallia Q4_K_M kvantisoinnilla (~18GB), sinulla on karkeasti 6GB vapaata tilaa — tarpeeksi 2-3 samanaikaiselle pyynnölle lyhyillä konteksteilla.
Keep-Alive-asetukset
Oletuksena Ollama pitää mallit ladattuna muistissa 5 minuuttia viimeisen pyynnön jälkeen. Säädä tätä käyttötapauksesi mukaan:
# Pidä malli ladattuna 1 tunnin ajan
OLLAMA_KEEP_ALIVE=3600 ollama serve
# Pidä malli ladattuna toistaiseksi
OLLAMA_KEEP_ALIVE=-1 ollama serve
# Poista lataus heti jokaisen pyynnön jälkeen (säästää muistia)
OLLAMA_KEEP_ALIVE=0 ollama serve
NVIDIA RTX -optimointi
NVIDIA on julkaissut optimoidut versiot Gemma 4:stä RTX GPU:ille. Nämä optimoinnit sisältävät:
- Räätälöidyt CUDA-ytimet Gemma 4:n attention-mekanismille
- TensorRT-LLM -integraatio nopeampaa päättelyä varten
- Flash Attention -tuki vähentämään muistinkulutusta pitkien kontekstien aikana
- Optimoitu KV cache -hallinta paremman läpimenon saavuttamiseksi
NVIDIA-optimoidun Gemma 4:n asennus
Jos sinulla on RTX 4000- tai 5000-sarjan GPU:
# Tarkista GPU:si
nvidia-smi
# Lataa NVIDIA-optimoitu versio (jos saatavilla Ollamassa)
ollama pull gemma4:31b-nvidia
Vaihtoehtoisesti voit käyttää NVIDIA AI Workbenchia tai TensorRT-LLM:ää suoraan maksimaalisen suorituskyvyn saavuttamiseksi. NVIDIA-optimoidut versiot voivat tarjota 30-50% nopeamman päättelyn RTX GPU:illa verrattuna standardeihin Ollama-versioihin.
Suorituskyvyn vertailuarvot (Benchmarks)
Mitattu yleisillä laitteistokokoonpanoilla:
Tokenia sekunnissa (Generointinopeus)
| Malli | RTX 4090 (24GB) | RTX 3090 (24GB) | M3 Max (36GB) | Pelkkä CPU (32GB) |
|---|---|---|---|---|
| E2B (Q4) | ~150 tok/s | ~120 tok/s | ~100 tok/s | ~30 tok/s |
| E4B (Q4) | ~100 tok/s | ~80 tok/s | ~70 tok/s | ~15 tok/s |
| 26B MoE (Q4) | ~40 tok/s | ~30 tok/s | ~25 tok/s | ~3 tok/s |
| 31B Dense (Q4) | ~30 tok/s | ~20 tok/s | ~20 tok/s | ~2 tok/s |
Konteksti: Ihmisen lukunopeus on noin 4-5 tokenia sekunnissa. Mikä tahansa malli, joka generoi yli 10 tok/s, tuntuu "välittömältä" interaktiivisessa käytössä. E2B- ja E4B-mallit ovat riittävän nopeita reaaliaikaiseen suoratoistoon lähes millä tahansa laitteistolla.
Aika ensimmäiseen tokeniin (Viive)
| Malli | RTX 4090 | M3 Max | Pelkkä CPU |
|---|---|---|---|
| E2B | <100ms | <200ms | <500ms |
| E4B | <200ms | <300ms | ~1s |
| 26B MoE | ~500ms | ~1s | ~5s |
| 31B Dense | ~800ms | ~1.5s | ~8s |
Interaktiivisissa sovelluksissa aika ensimmäiseen tokeniin on tärkeämpää kuin generointinopeus. E2B- ja E4B-mallit alkavat generoida lähes välittömästi jopa CPU-käytössä, mikä tekee niistä ihanteellisia reaaliaikaisiin chat-käyttöliittymiin.
Yleiset käyttötapaukset
Paikallinen koodausavustaja
Käytä Gemma 4:ää yksityisenä koodausavustajana, joka ei koskaan lähetä koodiasi ulkoisille palvelimille:
ollama run gemma4:26b-moe --system "You are an expert software engineer. When given code, analyze it for bugs, suggest improvements, and explain your reasoning. Be concise and practical."
Yhdistä tämä VS Code -laajennuksiin, kuten Continue tai Twinny, jotka tukevat Ollama-backendia.
Asiakirja-analyysi
Käsittele arkaluonteisia asiakirjoja paikallisesti:
echo "Analyze this contract clause and identify potential risks: [paste clause]" | ollama run gemma4:31b
256K kontekstilla 31B-malli voi käsitellä jopa ~750 sivun asiakirjoja — riittävästi useimmille sopimuksille, tutkimuspapereille ja tekniselle dokumentaatiolle.
Paikallinen RAG (Retrieval-Augmented Generation)
Yhdistä Gemma 4 paikalliseen vektoritietokantaan täysin yksityistä RAG-järjestelmää varten:
from langchain_community.llms import Ollama
from langchain_community.embeddings import OllamaEmbeddings
from langchain_community.vectorstores import Chroma
# Käytä Gemma 4:ää sekä embeddingeihin että generointiin
embeddings = OllamaEmbeddings(model="gemma4:e4b")
llm = Ollama(model="gemma4:26b-moe")
# Luo vektoritietokanta asiakirjoistasi
vectorstore = Chroma.from_documents(documents, embeddings)
# Kysely RAG-mallilla
retriever = vectorstore.as_retriever()
docs = retriever.get_relevant_documents("What is our refund policy?")
context = "\n".join([doc.page_content for doc in docs])
response = llm.invoke(f"Based on this context:\n{context}\n\nAnswer: What is our refund policy?")
AI-ominaisuuksien rakentaminen sovelluksiin
Kehittäjille, jotka rakentavat sovelluksia AI-ominaisuuksilla, Gemma 4:n suorittaminen paikallisesti Ollama API:n kautta on nopein reitti toimivaan prototyyppiin. OpenAI-yhteensopiva API tarkoittaa, että voit aloittaa paikallisella Gemma 4:llä kehitysvaiheessa ja siirtyä pilvi-API-liittymiin tuotannossa muuttamatta sovelluskoodia.
Alustat kuten ZBuild voivat hoitaa sovelluksen infrastruktuurin — frontendin, backendin, autentikoinnin, tietokannan — samalla kun sinä keskityt AI-integraatioon. Ohjaa sovelluksesi AI-päätepiste osoitteeseen localhost:11434 kehityksen aikana ja vaihda se pilvipäätepisteeseen, kun olet valmis skaalaamaan.
Vianetsintä
"Out of memory" -virheet
Jos kohtaat muistivirheitä:
- Kokeile pienempää kvantisointia:
ollama pull gemma4:31b-q3_K_M - Pienennä konteksti-ikkunaa:
--num-ctx 4096 - Sulje muut GPU-intensiiviset sovellukset
- Vaihda pienempään malliin: 26B MoE tarjoaa lähes 31B-tason laatua pienemmällä muistinkulutuksella
Hidas generointinopeus
Jos generointi on odotettua hitaampaa:
- Tarkista GPU-käyttöaste:
nvidia-smi(pitäisi näyttää korkeaa käyttöä) - Varmista, että malli mahtuu kokonaan VRAM-muistiin — osittainen CPU-siirto on dramaattisesti hitaampaa
- Pienennä
--num-ctxvapauttaaksesi VRAM-muistia laskentaan - Tarkista, käyttävätkö muut prosessit GPU:ta
Mallia ei löydy
Jos ollama run gemma4:26b-moe epäonnistuu:
# Listaa saatavilla olevat mallit
ollama list
# Etsi Gemma 4 -malleja
ollama search gemma4
# Lataa tietty malli
ollama pull gemma4:26b-moe
API-yhteys hylätty
Jos sovellukset eivät saa yhteyttä osoitteeseen localhost:11434:
# Tarkista, onko Ollama käynnissä
ollama list
# Käynnistä Ollama-palvelin manuaalisesti
ollama serve
# Tarkista portti
curl http://localhost:11434/api/tags
Mallinvalinnan päätöspuu
Käytä tätä valitaksesi nopeasti oikean mallin:
Onko sinulla erillinen GPU, jossa on 16GB+ VRAM?
- Kyllä → Haluatko maksimaalista laatua vai maksimaalista tehokkuutta?
- Maksimaalinen laatu →
gemma4:31b(Q4_K_M, vaatii 20GB) - Maksimaalinen tehokkuus →
gemma4:26b-moe(Q4_K_M, vaatii 18GB)
- Maksimaalinen laatu →
- Ei → Onko sinulla 8GB+ RAM-muistia?
- Kyllä →
gemma4:e4b(Q4_K_M, parempi laatu) - Ei →
gemma4:e2b(Q4_K_M, toimii 5GB:llä)
- Kyllä →
Useimmille kehittäjille, joilla on nykyaikainen pöytäkone tai pelitietokone: Aloita mallilla gemma4:26b-moe. Se tarjoaa parhaan laatu-resurssi-suhteen koko Gemma 4 -perheessä.
Mitä voit rakentaa
Gemma 4:n suorittaminen paikallisesti tarjoaa nollakustannuksisen AI-backendin seuraaviin:
- Chat-sovellukset täydellä keskustelun yksityisyydellä
- Koodianalyysityökalut, jotka toimivat omisteisissa koodikannoissa
- Asiakirjojen käsittelyputket arkaluonteiselle datalle
- Paikalliset AI-avustajat, jotka toimivat offline-tilassa
- AI-ominaisuuksien prototyypit ennen pilvi-API-kustannuksiin sitoutumista
- Hienosäädetyt mallit toimialakohtaisiin tehtäviin (Apache 2.0 sallii tämän vapaasti)
Apache 2.0 -lisenssi tarkoittaa, että kaikki rakentamasi on sinun — ei käyttörajoituksia, ei tulojen jakoa, ei hyväksyntää vaadita. Suorita se paikallisesti, ota se käyttöön palvelimillasi, upota se tuotteisiisi. Tällaista on todellinen avoin AI.
Lähteet
- Gemma 4 Julkistus - Google Blog
- Gemma 4 Ollamassa
- Ollama Asennusopas
- Ollama API Dokumentaatio
- NVIDIA Gemma 4 RTX Optimointi
- Gemma 4 Tekninen Raportti - Google DeepMind
- Gemma 4 Hugging Face Mallit
- Continue.dev - Paikallinen AI-koodausavustaja
- LangChain Ollama-integraatio
- Google AI for Developers - Gemma