![Kuinka hienosäätää LLM-mallia: Menetelmät, viitekehykset ja koodiaskel askeleelta [2026]](/_next/image?url=https%3A%2F%2Fmedia.techsy.io%2Ftechsy-io%2Fhero-137-1200x630.webp&w=3840&q=75)
LLM-mallin hienosäätö tarkoittaa esikoulutetun mallin ottamista ja sen kouluttamista omalla erityisellä aineistollasi, jotta se suorittaa tehtäväsi paremmin kuin mikään kehotteiden virittely (prompt engineering) voisi saavuttaa. Sisäänastumiskynnys on romahtanut: QLoRA + Unsloth mahdollistavat nyt 8 miljardin parametrin mallin hienosäädön 12 Gt:n kuluttajan näytönohjaimella alle 1 dollarin pilvikustannuksilla.
Tämä opas kattaa koko matkan: milloin hienosäätää (vs. RAG tai kehotteiden virittely), minkä menetelmän ja viitekehyksen valita, miten aineisto valmistellaan, copy-paste-valmis Llama 3 -läpikäynti, todelliset kustannusskenaariot ja käyttöönotto.
Hienosäätö pähkinänkuoressa
Ennen kuin sitoudut mihinkään, tässä on nopea yleiskuva:
| Ominaisuus | Yksityiskohta |
|---|---|
| Mitä se on | Esikoulutetun LLM:n kouluttaminen tehtäväkohtaisella aineistolla suorituskyvyn parantamiseksi |
| Milloin käyttää | Kun kehotteiden virittely ja RAG eivät riitä käyttötapaukseesi |
| Suosituin menetelmä | QLoRA (4-bittinen kvantisoitu LoRA), hoitaa 90 % kuluttajan GPU-hienosäädöstä |
| Nopein viitekehys (2026) | Unsloth (2–5 kertaa nopeampi, 70 % vähemmän VRAMia kuin peruskoulutus) |
| Minimilaitteisto | 12 Gt VRAMia GPU (RTX 3060) QLoRA:n kanssa |
| Halvin pilvivaihtoehto | ~0,34 $/h RunPodissa (RTX 4090) |
| Aineiston koko | 100–10 000 esimerkkiä (suositeltu 500+ tuotantokäyttöön) |
| Koulutusaika | 30 min – 8 h riippuen mallin koosta ja aineistosta |
| Parhaat pohjamallit (2026) | Llama 3.x, Qwen 2.5, Mistral, Gemma 2, Phi-4 |
| Tärkein riski | Katastrofaalinen unohtaminen (malli menettää yleistietonsa) |
| Vaihtoehto | RAG tietojen hakuun, kehotteiden virittely yksinkertaisiin tehtäviin |
Selvitetään nyt, onko hienosäätö todella oikea siirto projektillesi.
Milloin kannattaa hienosäätää LLM-mallia? (vs. RAG vs. kehotteiden virittely)
Tämä on kysymys, jonka useimmat kehittäjät ohittavat, ja se maksaa heille viikkoja hukattua vaivaa. Hienosäätö on tehokasta, mutta se ei aina ole oikea työkalu. Tässä viitekehys päätöksentekoon.
| Lähestymistapa | Paras kun | Rajoitukset | Kustannus |
|---|---|---|---|
| Kehotteiden virittely | Yksinkertainen muotoilu, sävyn muutokset, few-shot-esimerkit toimivat | Rajoittuu kontekstiikkunaan, epäjohdonmukainen monimutkaisissa tehtävissä | Ilmainen (vain API-kulut) |
| RAG | Tarvitset ulkoisen tai usein muuttuvan tiedon hakua | Haun laatu vaihtelee, lisää viivettä | Kohtuullinen (vektoritietokanta + upotuskulut) |
| Hienosäätö | Tarvitset johdonmukaista käytöstä, toimialakohtaista kieltä tai tiukkaa muodon noudattamista | Vaatii koulutusaineistoa, riskinä katastrofaalinen unohtaminen | GPU-aika + aineiston valmistelu |
| Hybridi (RAG + hienosäätö) | Tarvitset erikoistunutta käytöstä JA ulkoista tietoa | Monimutkaisin rakentaa ja ylläpitää | Yhdistetty |
Päätös tiivistyy siihen, mitä yrität muuttaa. Tässä on todellisia skenaarioita:
| Skenaario | Suositeltu lähestymistapa | Miksi |
|---|---|---|
| Asiakaspalvelubotti tuotetiedoin | RAG | Tieto muuttuu usein, kehotteet hoitavat sävyn |
| Lääketieteellinen koodaus ICD-10-yhteensopivuudella | Hienosäätö | Tiukat muotovaatimukset, toimialakohtainen terminologia |
| Yritysassistentti yritystiedoilla ja erityisellä sävyllä | Hybridi | Tarvitsee sekä haun että johdonmukaista käytöstä |
| Luotettava JSON-tulosteen muotoilu | Hienosäätö | Edullisempi ja luotettavampi kuin kehotteiden kanssa painiminen |
| Brändisi äänellä puhuva chatbot | Hienosäätö | Käytös- ja tyylimuutokset vaativat painojen päivitystä |
Jos valitset oikeaa AI-pinoo SaaS-tuotteellesi, tämä päätöksentekoviitekehys on ensimmäinen askel. Monet tiimit rakentavat monimutkaisia RAG-putkia, vaikka 500 esimerkin hienosäätö antaisi johdonmukaisempia tuloksia pienemmällä viiveellä.
Tuomio: Hienosäädä, kun haluat mallin käyttäytyvän johdonmukaisesti eri tavalla, etkä vain tietävän eri asioita. Jos tarvitset vain uutta tietoa, RAG on edullisempi ja helpompi ylläpitää. Jos tarvitset molempia, valitse hybridi.
Miten LLM:n hienosäätö toimii? Täysi vs. LoRA vs. QLoRA
Kolme pääasiallista lähestymistapaa eroavat dramaattisesti laitteistovaatimuksissa, kustannuksissa ja laadussa. Kompromissien ymmärtäminen säästää sinut joko liialliselta investoinnilta tai alisuoritukselta.
Täysi hienosäätö (kun budjetti ei ole este)
Täysi hienosäätö päivittää kaikki mallin parametrit. Se tuottaa parhaat mahdolliset tulokset, mutta vaatii valtavia resursseja, noin 100+ Gt VRAMia 7B-mallille (sinun on tallennettava malli, optimointitilat ja gradientit samanaikaisesti). Tämä on H100-klusterien aluetta. Ellei sinulla ole hyvin rahoitettua laboratoriota, ohita tämä.
LoRA: PEFT-vallankumous
LoRA (Low-Rank Adaptation) jäädyttää pohjamallin ja lisää pieniä koulutettavia matriiseja, joita kutsutaan sovittimiksi (adapters). Sen sijaan, että päivittäisit massiivista painomatriisia W suoraan, LoRA jakaa päivityksen kahteen pieneen matriisiin A ja B, jossa arvo r on paljon pienempi kuin mallin dimensio. Tulos: koulutat noin 1–2 % alkuperäisistä parametreista säilyttäen samalla 98–99 % täyden hienosäädön laadusta.
Hugging Facen peft-kirjasto on standarditoteutus. LoRA-sovittimet ovat tyypillisesti 50–200 Mt, mikä on mitätöntä verrattuna koko malliin.
QLoRA: Hienosäätö kaikille
QLoRA vie LoRAn askeleen pidemmälle. Se lataa pohjamallin 4-bittisellä tarkkuudella käyttämällä erityistä datatyyppiä NormalFloat4 (NF4) ja soveltaa sitten LoRA-sovittimia päälle. 4-bittinen kvantisointi leikkaa VRAM-kulutusta vielä noin 25 % verrattuna standardiin LoRA:hun säilyttäen lähes identtisen laadun.
Tämä tekee hienosäädöstä saavutettavan. 7B-malli, joka vaatii 100+ Gt täyteen hienosäätöön, mahtuu 12 Gt:n QLoRA:n kanssa.
| Menetelmä | VRAM (7B-malli) | Laatu vs. pohja | Koulutusnopeus | Sovittimen koko | Käyttötarkoitus |
|---|---|---|---|---|---|
| Täysi hienosäätö | 100+ Gt | Paras | Hitain | Koko malli (~14 Gt) | Yritykset, joilla on H100-klustereita |
| LoRA | ~16 Gt | 98–99 % täydestä | 2x nopeampi | ~50–200 Mt | Tiimit, joilla on A100/RTX 4090 |
| QLoRA | ~12 Gt | 97–99 % täydestä | Nopein (Unslothilla) | ~50–200 Mt | Yksittäiset kehittäjät, kuluttajan GPU:t |
Tuomio: 90 %:lle kehittäjistä QLoRA on oikea valinta. Laadun ero täyteen hienosäätöön verrattuna on merkityksetön useimmille tehtäville, ja laitteistosäästöt ovat valtavat. Aloita siitä ja skaalaa ylöspäin vain, jos arviointimittarisi vaativat sitä.
Mikä hienosäätöviitekehys kannattaa valita vuonna 2026?
Viitekehyksen valinta merkitsee enemmän kuin useimmat ihmiset tajuavat. Oikea valinta säästää tunteja asennustyötä ja nopeuttaa koulutusta huomattavasti. Tässä vertailu neljästä suuresta vaihtoehdosta.
| Viitekehys | GitHub-tähdet | Nopeus | Paras käyttötarkoitus | Mallituki | Oppimiskäyrä |
|---|---|---|---|---|---|
| Unsloth | 54K+ | 2–5x nopeampi | Yhden GPU:n nopeus, QLoRA | Llama, Mistral, Qwen, Gemma, Phi | Matala |
| LLaMA-Factory | 68K+ | Perustaso | Laajin mallituki, web-käyttöliittymä | 100+ mallia | Matala (GUI) |
| TRL (Hugging Face) | 18K+ | Perustaso | RLHF/DPO/GRPO, HF-ekosysteemi | Kaikki HF-mallit | Keskitaso |
| Axolotl | 11K+ | Perustaso | Toistettavuus, multi-GPU | Tärkeimmät mallit | Korkea (YAML-konfiguraatio) |
Tässä nopea suositus:
- Ensimmäinen hienosäätö? Käytä Unslothia. Nopein koulutus, helpoin asennus, ilmaiset Colab-notebookit aloittamiseen heti.
- Tarvitset web-käyttöliittymän ilman koodia? Käytä LLaMA-Factorya. Sen LLaMA-Board GUI:n avulla voit konfiguroida ja käynnistää koulutuksen selaimesta.
- Teet kohdistusta (RLHF, DPO, GRPO)? Käytä TRL:ää. Se on Hugging Facen standardi preferenssipohjaiseen koulutukseen, ja v0.15.0 (maaliskuu 2026) lisäsi natiivin GRPO-tuen.
- Ajat tuotantoputkia multi-GPU:ssa? Käytä Axolotlia. YAML-pohjaiset konfiguraatiot tekevät kokeista toistettavia ja auditoitavia.
Hyvä vinkki: Unsloth ja LLaMA-Factory voidaan yhdistää. LLaMA-Factory tukee Unslothia koulutusbackendenä, joten saat GUI:n helppouden yhdessä Unslothin nopeusoptimointien kanssa. Tiimit, jotka rakentavat hienosäädettyjä malleja käyttäviä AI-agentteja, aloittavat usein Unslothilla nopeaan iterointiin ja siirtyvät sitten Axolotliin tuotannon toistettavuuden vuoksi.
Miten valmistat hienosäätöaineiston?
Datan laatu on yksittäinen tärkein tekijä hienosäädön onnistumisessa. Hyvin kuratoitu 500 esimerkin aineisto voittaa meluisan 10 000 esimerkin aineiston lähes aina.
Aineistomuodot
Kaksi hallitsevaa muotoa ovat chat (OpenAI-yhteensopiva) ja instruction (Alpaca-tyylinen). Tässä miltä kukin näyttää JSONL-muodossa:
Chat-muoto (suositeltu useimpiin käyttötarkoituksiin):
{"messages": [{"role": "system", "content": "You are a customer support agent for Acme Inc. Be helpful, concise, and always reference the user's order number."}, {"role": "user", "content": "I ordered a laptop 3 days ago (order #4821) and it still says processing."}, {"role": "assistant", "content": "I can see order #4821 is currently in our warehouse being prepared for shipment. Laptops typically ship within 3-5 business days. You should receive a tracking number by tomorrow. Would you like me to flag this for priority processing?"}]}
{"messages": [{"role": "system", "content": "You are a customer support agent for Acme Inc. Be helpful, concise, and always reference the user's order number."}, {"role": "user", "content": "Can I return my keyboard? Order #3019, bought it last week."}, {"role": "assistant", "content": "Absolutely! Order #3019 is within our 30-day return window. I'll email you a prepaid return label right now. Once we receive the keyboard, your refund will process within 2-3 business days."}]}
{"messages": [{"role": "system", "content": "You are a customer support agent for Acme Inc. Be helpful, concise, and always reference the user's order number."}, {"role": "user", "content": "My monitor arrived cracked. Order #5573."}, {"role": "assistant", "content": "I'm sorry about that! For order #5573, I'm initiating an immediate replacement shipment -- no need to return the damaged unit. The new monitor will ship today with express delivery. You'll get a tracking email within the hour."}]}Instruction-muoto (Alpaca-tyylinen):
{"instruction": "Summarize the following customer complaint in one sentence.", "input": "I've been waiting 2 weeks for my refund and nobody responds to my emails. This is the worst customer service I've ever experienced.", "output": "Customer is frustrated by a 2-week delay in receiving their refund and lack of email response from support."}
{"instruction": "Classify the sentiment of this review.", "input": "The product works fine but shipping took forever.", "output": "Mixed (positive product, negative shipping)"}Aineiston kokosuositukset
Kuinka paljon dataa todella tarvitset? Se riippuu tehtävän monimutkaisuudesta:
- 50–100 esimerkkiä, konseptin todistus, tarpeeksi testaamaan, auttaako hienosäätö
- 500–1 000 esimerkkiä, hyödyllinen useimpiin yksittäisiin tehtäviin (luokittelu, poiminta, muotoilu)
- 5 000–10 000 esimerkkiä, tuotantolaatuiset tulokset monimutkaisiin tehtäviin
- 10 000+ esimerkkiä, vähenevä tuotto, ellei tehtävässä ole suurta varianssia
Datan laatutarkistuslista
Ennen koulutusta validoi aineistosi näiden kriteerien mukaan:
- Johdonmukainen muotoilu kaikissa esimerkeissä (sama järjestelmäkehote, sama tulosterakenne)
- Monipuoliset esimerkit, jotka kattavat reunatapaukset ja epäonnistumismoodit
- Ei ristiriitoja (älä opeta mallia sanomaan sekä "kyllä" että "ei" samaan syötekuvioon)
- Tasapainoinen jakauma tulostyypeissä (jos teet luokittelua, älä laita 90 % esimerkeistä yhteen luokkaan)
- Poista duplikaatit tai lähes duplikaatit
Pro-vinkki: Käytä GPT-4:ää tai Claudea generoimaan alustava synteettinen koulutusdata ja hienosäädä sitä ihmisten tarkistuksella. 500 korkealaatuista synteettistä esimerkkiä voittaa usein 5 000 meluisaa todellista esimerkkiä. Metan hienosäätöopas suosittelee tätä lähestymistapaa aineistojen käynnistämiseen.
Askelpiste: Hienosäädä Llama 3 8B QLoRA:lla ja Unslothilla
Tässä on täydellinen läpikäynti. Jokainen koodilohko on copy-paste-valmis, voit ajaa tämän ilmaisessa Google Colab -notebookissa tai millä tahansa koneella, jossa on 12+ Gt VRAMia.
Vaihe 1: Asenna Unsloth
pip install unslothSiinä kaikki. Unsloth hoitaa kaikki riippuvuudet (transformers, peft, trl, bitsandbytes) automaattisesti.
Vaihe 2: Lataa pohjamalli 4-bittisenä
from unsloth import FastLanguageModel
# Load Llama 3.1 8B in 4-bit quantization
model, tokenizer = FastLanguageModel.from_pretrained(
model_name="unsloth/Meta-Llama-3.1-8B-bnb-4bit",
max_seq_length=2048,
load_in_4bit=True,
)Tämä lataa 4-bittisen kvantisoidun mallin (~4 Gt) ja lataa sen GPU-muistiin. RTX 3060:ssa (12 Gt) sinulla on runsaasti pelivaraa koulutukseen.
Vaihe 3: Konfiguroi LoRA-sovittimet
# Add LoRA adapters to the model
model = FastLanguageModel.get_peft_model(
model,
r=16, # LoRA rank -- 16 is the sweet spot for most tasks
target_modules=["q_proj", "k_proj", "v_proj", "o_proj",
"gate_proj", "up_proj", "down_proj"],
lora_alpha=16, # Scaling factor (usually equal to r)
lora_dropout=0, # Unsloth optimizes for 0 dropout
bias="none",
)Arvolla r=16 koulutat noin 40 miljoonaa parametria 8 miljardista, eli alle 0,5 % mallista. Siinä LoRan taika.
Vaihe 4: Lataa aineistosi
from datasets import load_dataset
# Load your JSONL dataset from Hugging Face Hub or local file
dataset = load_dataset("json", data_files="train.jsonl", split="train")
# Format into chat template
def format_chat(example):
text = tokenizer.apply_chat_template(
example["messages"],
tokenize=False,
add_generation_prompt=False,
)
return {"text": text}
dataset = dataset.map(format_chat)Tämä ottaa edellisestä osiosta JSONL-chat-muodon ja soveltaa Llama 3:n chat-mallinetta. Tokenisoija hoitaa kaikki erikoismerkit (<|begin_of_text|>, <|eot_id|> jne.).
Vaihe 5: Konfiguroi ja aja koulutus
from trl import SFTTrainer
from transformers import TrainingArguments
from unsloth import is_bfloat16_supported
trainer = SFTTrainer(
model=model,
train_dataset=dataset,
dataset_text_field="text",
max_seq_length=2048,
args=TrainingArguments(
per_device_train_batch_size=2,
gradient_accumulation_steps=4, # Effective batch size = 8
warmup_steps=5,
max_steps=60, # Adjust based on dataset size
learning_rate=2e-4, # Standard for QLoRA
fp16=not is_bfloat16_supported(),
bf16=is_bfloat16_supported(),
logging_steps=1,
output_dir="outputs",
seed=42,
),
)
# Start training
trainer.train()Tärkeitä hyperparametreja ymmärrettäväksi:
- Oppimisnopeus (2e-4): Standardi QLoRA:lle. Laske arvoa (2e-5), jos huomaat mallin unohtavan yleisiä kykyjä.
- Eräkoko (2) x gradienttien kumulointi (4): Tehollinen eräkoko 8. Lisää gradient_accumulation, jos GPU:n muisti loppuu.
- max_steps (60): 500 esimerkillä tämä on noin 1 epoch. Aloita 1–3 epochilla ja tarkkaile validaatiotappiota.
- Rank r (16): Alempi (4–8) yksinkertaisiin tehtäviin, korkeampi (32–64) monimutkaisiin tehtäviin. 16 on turvallinen oletusarvo.
Vaihe 6: Tallenna ja testaa
# Save the LoRA adapters (small -- ~50-200 MB)
model.save_pretrained("my-fine-tuned-model")
tokenizer.save_pretrained("my-fine-tuned-model")
# Quick inference test
FastLanguageModel.for_inference(model)
inputs = tokenizer(
[tokenizer.apply_chat_template(
[{"role": "user", "content": "I need to return order #7742"}],
tokenize=False,
add_generation_prompt=True,
)],
return_tensors="pt",
).to("cuda")
outputs = model.generate(**inputs, max_new_tokens=256)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))Siinä koko putki. RTX 4090:ssä Unslothilla 500 esimerkin koulutus kestää noin 15–30 minuuttia. Ilmaisessa Colab T4:ssä odota 1–2 tuntia.
Entä API-pohjainen hienosäätö? (OpenAI, Google, Mistral)
Kaikki eivät halua hallinnoida GPU:ita. API-palveluntarjoajat mahdollistavat hienosäädön yksinkertaisella upload-and-train-työnkululla. Tässä vertailu itsehoidettuun versioon.
| Palveluntarjoaja | Mallit | Min. esimerkit | Kustannus (1 000 esimerkkiä) | Lataa painot? | Tietosuoja |
|---|---|---|---|---|---|
| OpenAI | GPT-4o, GPT-4o-mini | 10 | ~3–25 $ | Ei | Dataa voidaan käyttää koulutukseen |
| Google Vertex AI | Gemma, Gemini | 100 | ~5–30 $ | Vain Gemma | GCP:n kontrollit |
| Mistral (La Plateforme) | Mistral-mallit | 100 | ~4–20 $ | Ei | EU-tietovaranto |
| Together AI | Avoimet mallit (Llama jne.) | 50 | ~2–15 $ | Kyllä (avoimet mallit) | Dataa ei säilytetä |
| Paikallinen (Unsloth/LLaMA-Factory) | Mikä tahansa avoin malli | 1 | Vain GPU-kustannus (0–27 $) | Kyllä (omistat kaiken) | Täysi yksityisyys |
Milloin API-hienosäätö on järkevää: Tarvitset nopeaa iterointia, aineistosi on pieni, et halua hallinnoida infrastruktuuria tai tarvitset nimenomaan suljetun mallin kuten GPT-4o.
Milloin paikallinen hienosäätö voittaa: Tietosuoja on tärkeää (terveydenhuolto, rahoitus, juridiikka), koulutat usein, haluat omistaa ja viedä painot tai optimoit kustannuksia skaalassa.
Tuomio: API-hienosäätö on nopein reitti konseptin todistukseen. Paikallinen hienosäätö on edullisin reitti tuotantoon. Useimmat tiimit prototyypittävät API:n kautta ja siirtyvät sitten paikalliseen Unslothiin, kun lähestymistapa on validoitu.
Kuinka paljon LLM:n hienosäätö maksaa?
"Hienosäätö on kallista" -narratiivi on jumittunut vuoteen 2023. Tässä mitä se todella maksaa tänään.
| Skenaario | Malli | Menetelmä | GPU | Koulutusaika | Kokonaiskustannus |
|---|---|---|---|---|---|
| Hobi / Opiskelu | Llama 3 8B | QLoRA | Oma RTX 3060 (12 Gt) | 2–4 h | 0 $ (sähkö) |
| Ilmainen pilvi | Llama 3 8B | QLoRA | Google Colab T4 (ilmainen) | 3–5 h | 0 $ |
| Startup | Llama 3 8B | QLoRA + Unsloth | RunPod RTX 4090 (0,34 $/h) | 1–2 h | 0,35–0,70 $ |
| Tuotanto | Llama 3 70B | QLoRA | RunPod A100 80Gt (3,39 $/h) | 5–8 h | 17–27 $ |
| Yritys | Llama 3 70B | Täysi hienosäätö | 4x H100 (13,56 $/h) | 20–40 h | 270–540 $ |
| API (ei GPU:a) | GPT-4o-mini | OpenAI API | Ei sovelleta | ~30 min | 3–25 $ |
Kustannuskäyrä tasoittuu nopeasti. Startup, joka hienosäätää 8B-mallia RunPodissa, kuluttaa koulutukseen vähemmän kuin yhden kahvikupin hinnalla. Jopa 70B-tuotantoskenaario on alle 30 dollaria – se on yhden kuukauden juniorikehittäjän päivittäinen lounasbudjetti.
Pilvi-GPU-palveluntarjoajat, jotka kannattaa vertailla: RunPod (paras spot-hinnoittelu), Lambda (luotettavat on-demand H100:t), Vast.ai (halvin mutta laatu vaihtelee) ja Modal (serverless, maksa sekunnilta).
"VRAM Requirements by Model Size and Method"
Datataulukko
| "Model Size" | "Full Fine-Tune" | "LoRA" | "QLoRA" |
|---|---|---|---|
| "7B" | 100 | 16 | 12 |
| "13B" | 200 | 32 | 24 |
| "70B" | 560 | 80 | 48 |
Yllä oleva kaavio näyttää, miksi QLoRA muutti pelin. 7B-malli, joka vaati multi-GPU-klusterin täyteen hienosäätöön, mahtuu nyt kannettavan tietokoneen GPU:hun. 70B-malli putoaa "vain pilvestä" yhteen A100:aan.
Tuomio: Voit hienosäätää tuotantolaatuisen 8B-mallin alle 1 dollarilla. Hienosäädön kustannuseste on poissa. Todellinen kustannus on aineiston valmisteluaika.
Miten arvioit hienosäädettyä mallia?
Koulutus on vain puoli työtä. Ilman asianmukaista arviointia et voi tietää, paransiko hienosäädetty mallisi todella suorituskykyä vai muistikohan se vain koulutusdatasi.
Automatisoidut mittarit
Seuraa näitä koulutuksen aikana ja jälkeen:
- Koulutustappio / perplexity: Should decrease steadily, then plateau. If it drops to near zero, you're overfitting. (Suomentajan huomautus: Alkuperäinen englanninkielinen teksti säilytetty tässä kohdassa virheen välttämiseksi, mutta suomeksi: Tulisi laskea tasaisesti ja tasaantua. Jos se putoaa lähelle nollaa, ylisovitut.)
- Tehtäväkohtaiset mittarit: Tarkkuus (luokittelu), BLEU/ROUGE (tiivistäminen), exact match (poiminta), F1 (monilabel). Valitse mittari, joka vastaa tehtävääsi.
Ihmisarviointi
Numerot eivät kerro kaikkea. Generatiivisissa tehtävissä:
- A/B-testaus: Näytä pohjamallin ja hienosäädetyn mallin tulokset rinnakkain. Pyydä 3–5 arvioijaa valitsemaan parempi vastaus yli 50 esimerkin joukosta. Seuraa voittoprosenttia.
- Likert-asteikko: Arvioi tuloksia relevanssin (1–5), tarkkuuden (1–5) ja sävyn (1–5) perusteella. Laske keskimääräinen parannus pohjamalliin verrattuna.
Katastrofaalisen unohtamisen tarkistus
Tämä on se, jonka useimmat kehittäjät ohittavat. Hienosäädön jälkeen aja mallisi yleisellä benchmarkilla kuten MMLU tai HellaSwag. Jos pisteet laskevat yli 2–3 pistettä, mallisi on menettänyt liikaa yleistietoa. Korjaus: laske oppimisnopeutta, vähennä epocheja tai vaihda LoRA:hun (joka jäädyttää pohjapainot).
Käytännön sääntö: Pidä aina 10–20 % aineistostasi testijoukkona. Älä koskaan arvioi koulutusdatalla, se ei kerro mitään todellisesta suorituskyvystä.
Miten otat hienosäädetyn mallin käyttöön?
Koulutus on valmis. Nyt sinun täytyy tarjoilla sitä. Useimmat oppaat ohittavat tämän osion kokonaan.
Vaihe 1: Yhdistä LoRA-sovittimet
Jos käytit LoRA:a tai QLoRA:a, yhdistä sovittimet takaisin pohjamalliin inferenssiä varten:
# Merge adapters into base model
model.merge_and_unload()
model.save_pretrained("merged-model")
tokenizer.save_pretrained("merged-model")Vaihe 2: Valitse käyttöönottopolkusi
Paikallinen kehitys ja testaus, Ollama:
# Convert to GGUF format (Ollama's native format)
python llama.cpp/convert_hf_to_gguf.py merged-model --outfile model.gguf --outtype q4_k_m
# Create an Ollama model
ollama create my-fine-tuned-model -f Modelfile
ollama run my-fine-tuned-modelTuotantotarjoilu, vLLM:
# Start an OpenAI-compatible API server
python -m vllm.entrypoints.openai.api_server \
--model merged-model \
--host 0.0.0.0 \
--port 8000Serverless (nolla infrastruktuuria): Lataa mallisi Together AI:hin, Fireworksiin tai Modaliin. Saat API-päätepisteen ilman palvelinten hallintaa. Kustannukset skaalautuvat käytön mukaan.
Edistynyt: Multi-sovittimen tarjoilu
Tässä on malli, jota useampien tiimien pitäisi käyttää: pidä yksi pohjamalli ladattuna muistiin ja vaihda LoRA-sovittimia pyyntökohtaisesti. Voit tarjoilla asiakaspalvelusovitinta, koodikatselmointisovitinta ja tiivistämissovitinta kaikki samalta GPU:lta. vLLM tukee tätä natiivisti --enable-lora-lipulla.
Valmis toteuttamaan? Katso Parhaat LLM-hienosäätötyökalut ja -alustat [tulossa pian] saadaksesi syvällisemmän vertailun käyttöönottovaihtoehdoista.
Mitkä ovat yleisimmät hienosäätövirheet?
Autettuamme tiimejä debuggaamaan kymmeniä hienosäätöajoja, nämä ovat virheitä, jotka toistuvat jatkuvasti.
1. Ylisovitus pienillä aineistoilla. Koulutat 10 epochia 200 esimerkillä, koulutustappio lähestyy nollaa ja malli toistaa koulutusdatasi sanatarkasti. Korjaus: max 1–3 epochia, käytä validaatiojoukkoa ja tarkkaile kuilua koulutustappion ja eval-tappion välillä.
2. Katastrofaalinen unohtaminen. Malli suorittaa erityistehtäväsi täydellisesti, mutta ei pysty enää käymään peruskeskustelua. Korjaus: käytä LoRA/QLoRA:a (jäädyttää pohjapainot), pidä oppimisnopeus alhaisena (2e-5 täyteen hienosäätöön, 2e-4 QLoRA:lle) ja arvioi yleisillä benchemarkeilla ennen käyttöönottoa.
3. Roskadatan laatu. Epäjohdonmukainen muotoilu, ristiriidat esimerkkien välillä tai duplikaatit. Malli oppii melun. Korjaus: puhdista data ennen koulutusta. Aina. Käytä enemmän aikaa datan kuratointiin kuin hyperparametrien virittelyyn.
4. Aloitus liian suurella mallilla. Tiimit hyppäävät 70B:hen koska "isompi on parempi", eivätkä sitten pysty maksamaan GPU-kuluja. Korjaus: aloita 8B:lla. Jos 8B hyvällä datalla ei ratkaise tehtävääsi, 70B samalla datalla ei todennäköisesti myöskään. Skaalaa ensin datan laatua, sitten mallin kokoa.
5. Ei arviointiputkea. Koulutus ilman pidätettyä testijoukkoa ja käyttöönotto "tunnelman" perusteella. Korjaus: jaa data 80/10/10 (train/val/test) ennen aloitusta. Vertaa pohjamalliin jokaisella testiesimerkillä.
6. Liian korkea oppimisnopeus. Tuhoaa esikoulutetun tiedon ensimmäisten askelten aikana. Malli tuottaa hölynpölyä. Korjaus: aloita arvolla 2e-4 QLoRA:lle, 2e-5 täyteen hienosäätöön. Jos tulokset heikkenevät, laske arvoa.
Miten Techsy lähestyy LLM:n hienosäätöä
Techsyssä noudatamme tiukkaa eskalaatiopolkua jokaisessa AI-projektissa: ensin kehotteiden virittely, toiseksi RAG, hienosäätö vain silloin, kun data osoittaa sen olevan tarpeen. Useimmat asiakasprojektit eivät todellisuudessa vaadi hienosäätöä, hyvin laaditut kehotteet tai RAG-putki ratkaisevat ongelman pienemmillä kustannuksilla ja monimutkaisuudella.
Kun hienosäätö on oikea valinta, prosessimme on seuraava:
- Aineiston auditointi, Tarkistamme asiakkaan datan laadun, kattavuuden ja muotoilun. Jos meillä ei ole tarpeeksi esimerkkejä, autamme rakentamaan synteettisen aineiston käyttämällä GPT-4:ää tai Claudea ihmisten tarkistuksella.
- Viitekehyksen valinta, Unsloth + QLoRA 90 %:lle startup-projekteista. Axolotl asiakkaille, jotka tarvitsevat toistettavia, multi-GPU-tuotantoputkia.
- Koulutus ja arviointi, Koulutamme aina pidätetyllä testijoukolla ja vertaamme pohjamalliin. Jos hienosäädetty malli ei paranna kohdemittaria mitattavasti, emme ota sitä käyttöön.
- Käyttöönotto, vLLM tuotantotarjoiluun, multi-sovittimien mallit, kun asiakkaat tarvitsevat useita erikoistuneita malleja yhdeltä GPU:lta.
Olemme toimittaneet hienosäädettyjä malleja startupeille, jotka eivät voineet afford enterprise-GPU-budjetteja, QLoRA RunPodissa pitää kustannukset alle 30 dollarin jopa 70B-malleille.
Tarvitsetko apua LLM:n hienosäädössä käyttötapaukseesi? Autamme tiimejä menemään raakadatasta käyttöönotettuun malliin. Pyydä ilmainen konsultaatio
Usein kysytyt kysymykset LLM:n hienosäädöstä
Mikä on LLM:n hienosäätö?
LLM:n hienosäätö on prosessi, jossa esikoulutettua kielimallia koulutetaan omalla tehtäväkohtaisella datallasi, jotta se suorittaa kyseisen tehtävän paremmin. Pohjimmiltaan opetat mallille uusia käyttäytymismalleja, muotoja tai toimialaosaamista, joita yleinen kehotteiden virittely ei pysty saavuttamaan luotettavasti.
Milloin kannattaa hienosäätää vs. käyttää RAG:ia?
Hienosäädä, kun haluat mallin käyttäytyvän eri tavalla, johdonmukainen tulostemuoto, toimialakohtainen kieli, tietty sävy. Käytä RAG:ia, kun mallin tarvitsee tietää eri asioita, erityisesti jos tieto muuttuu usein. Monissa tuotantojärjestelmissä hybridi lähestymistapa toimii parhaiten.
Kuinka paljon LLM:n hienosäätö maksaa?
Mistä tahansa 0 dollarista 540 dollariin skaalasta riippuen. Useimmat yksittäiset kehittäjät kuluttavat alle 1 dollarin käyttämällä QLoRA:a RunPodin RTX 4090:ssä (0,34 $/h). 70B-tuotantomalli A100:ssa maksaa 17–27 dollaria. Täysi hienosäätö H100-klustereilla maksaa 270–540 dollaria. API-hienosäätö (OpenAI) maksaa 3–25 dollaria 1 000 esimerkillä.
Voinko hienosäätää LLM-mallia kannettavallani?
Kyllä, jos kannettavassasi on GPU, jossa on 12+ Gt VRAMia. RTX 3060 -kannettavan GPU hoitaa 8B-mallit QLoRA:lla. Apple Silicon -Macit, joissa on 16+ Gt yhtenäistä muistia, voivat myös hienosäätää MLX:n kautta, vaikka se onkin hitaampaa kuin CUDA. Suurempia malleja varten tarvitset pilvi-GPU:ita.
Mikä on ero LoRAn ja QLoRAn välillä?
Molemmat lisäävät pieniä koulutettavia sovittimikerroksia jäädyttäen samalla pohjamallin. Ero: QLoRA myös kvantisoi pohjamallin 4-bittiseen tarkkuuteen (NF4-datatyyppi), mikä vähentää VRAM-kulutusta noin 25 % verrattuna standardiin LoRA:hun. Laatu on lähes identtinen, QLoRA saavuttaa 97–99 % täyden hienosäädön laadusta.
Kuinka monta koulutusesimerkkiä tarvitsen?
Se riippuu tehtävän monimutkaisuudesta. 50–100 esimerkkiä riittää konseptin todistukseen. 500–1 000 esimerkkiä tuottaa hyödyllisiä tuloksia useimpiin yksittäisiin tehtäviin. 5 000–10 000 esimerkkiä tarjoaa tuotantolaatua monimutkaisiin tehtäviin. Yli 10 000 esimerkin jälkeen tuotto vähenee, ellei tehtävässä ole erittäin suurta varianssia.
Mitä pohjamallia kannattaa hienosäätää vuonna 2026?
Llama 3.x yleiskäyttöisiin tehtäviin (paras yleinen laatu/koko-suhde). Mistral eurooppalaisiin kieliin ja tehokkaaseen inferenssiin. Qwen 2.5 monikielisiin ja koodaustehtäviin. Phi-4, kun tarvitset pienimmän mahdollisen jalanjäljen. Gemma 2 Google-ekosysteemin integraatioon.
Mikä on GRPO ja miksi se on tärkeä?
GRPO (Group Relative Policy Optimization), jonka DeepSeek esitteli, on RLHF:n seuraaja kohdistuskoulutuksessa. Tärkein etu: se ei vaadi erillisen palkintomallin kouluttamista, mikä leikkaa laskentakustannukset noin puoleen. TRL v0.15.0 tukee GRPO:a natiivisti, mikä tekee siitä saavutettavan kaikille, jotka käyttävät Hugging Face -ekosysteemiä.
Miten estän katastrofaalisen unohtamisen?
Käytä LoRA:a tai QLoRA:a täyden hienosäädön sijaan, ne jäädyttävät pohjamallin painot, mikä säilyttää yleistiedon. Pidä oppimisnopeus alhaisena (2e-4 QLoRA:lle, 2e-5 täyteen hienosäätöön). Kouluta niin vähän epocheja kuin tarvitaan (1–3 on yleensä tarpeeksi). Koulutuksen jälkeen aja mallisi yleisillä benchemarkeilla (MMLU, HellaSwag) varmistaaksesi, ettei se ole taantunut.
Voinko hienosäätää ja käyttää sitten RAG:ia yhdessä?
Ehdottomasti, ja monet tuotantojärjestelmät tekevät juuri näin. Hienosäädä käytöstä ja muodon johdonmukaisuutta varten, yhdistä sitten RAG ajantasaisen tiedon hakuun. Hienosäädetty malli on parempi hyödyntämään haettua kontekstia, koska se ymmärtää toimialasi kielen ja tulostevaatimukset.
Kuinka kauan hienosäätö kestää?
Useimmissa projekteissa 30 minuutista 8 tuntiin. 8B-malli 500 esimerkillä Unslothilla + RTX 4090 valmistuu 15–30 minuutissa. Sama työ ilmaisessa Colab T4:ssä kestää 1–2 tuntia. 70B-mallit A100:issa kestävät 5–8 tuntia. Täysi hienosäätö multi-GPU-asennuksissa voi kestää 20–40 tuntia.
Onko OpenAI:n hienosäätö-API sen arvoinen?
Nopeaan prototypointiin, kyllä. Voit ladata JSONL-tiedoston ja saada hienosäädetyn GPT-4o-minin 30 minuutissa ilman GPU-asennusta. Tuotannossa paikallinen hienosäätö on yleensä parempi: omistat painot, hallitset tietosuojaasi ja kustannukset ovat alhaisemmat skaalassa. Useimmat tiimit aloittavat API:lla validoidakseen lähestymistavan ja siirtyvät sitten paikalliseen.
Johtopäätös
LLM:n hienosäätö ei ole sitä mustaa magiaa, mitä se oli kaksi vuotta sitten. Tässä ovat tärkeimmät takeawayt:
- Aloita QLoRA + Unslothilla, se hoitaa 90 % käyttötapauksista kuluttajalaitteistolla
- Hyvä data voittaa isomman mallin joka kerta. Käytä vaivasi datan laatuun, ei GPU-päivityksiin.
- Kustannuseste on poissa, hienosäädä 8B-malli alle 1 dollarilla pilvi-GPU:illa
- Arvioi aina pohjamalliin verrattuna ennen käyttöönottoa. Jos se ei ole mitattavasti parempi, älä julkaise sitä.
- Harkitse RAG:ia ensin, hienosäädä vain silloin, kun haluat mallin käyttäytyvän eri tavalla, etkä vain tietävän eri asioita
Valmis toteuttamaan? Katso Parhaat LLM-hienosäätötyökalut ja -alustat [tulossa pian] saadaksesi yksityiskohtaisen vertailun koulutusviitekehyksistä ja käyttöönottovaihtoehdoista.
Jos pidit tästä oppaasta hyödyllisenä, tutustu läpikäyntiimme oikean AI-pinon valinnasta saadaksesi laajemman kuvan AI-pohjaisten tuotteiden arkkitehtuuripäätöksistä.
Lähteet
- Unsloth GitHub Repository, hienosäätöviitekehys 2–5x nopeusparannuksilla
- Hugging Face TRL Documentation, SFTTrainer, DPO ja GRPO-toteutus
- Hugging Face PEFT Documentation, LoRA ja parametritehokas hienosäätö
- QLoRA Paper (Dettmers et al., 2023) -- 4-bittinen NormalFloat-kvantisointitutkimus
- LoRA Paper (Hu et al., 2021), suurten kielimallien low-rank-adaptaatio
- OpenAI Fine-Tuning API Documentation, API-pohjainen hienosäätötyönkulku
- RunPod GPU Cloud Pricing, pilvi-GPU-kustannusviite
- vLLM Documentation, tuotanto-LLM-tarjoilu
- Meta Llama Fine-Tuning Guide, viralliset Llama-koulutussuositukset
- DeepSeekMath Paper (GRPO), Group Relative Policy Optimization