Model Card for CCG-FAKTUM/lapua-llm
Model Details
- Mallin nimi: Lapua-llm (LoRA-adapteri)
- Pohjamalli: Qwen/Qwen2.5-1.5B-Instruct
- Tyyppi: LoRA, r=16, alpha=32, dropout=0.05
- Kieli: suomi (hallinto-/päätöstekstit)
- Kuvaus: Hienosäädetty Lapuan kaupungin pöytäkirjakieleen ja vastausformaatteihin (Johtopäätös → Perustelut → Lähteet).
- Käyttö: RAG-assistenttina päätöspykälien kyselyyn, tiivistämiseen ja luokitteluun.
- Lisenssi: [Lisää sopiva lisenssi lähdedatan mukaan]
- Jaettu: CCG-FAKTUM
Model Sources
- Repository: https://huggingface.co/CCG-FAKTUM/lapua-llm
Uses
Direct Use
- Vastaukset Lapuan kaupungin päätöspöytäkirjoihin liittyviin kysymyksiin, kun syötetään RAG-konteksti (BM25/Qdrant).
- Tiivistelmät ja luokittelu (päätöstyypit, vastuuhenkilö, vaikutukset).
Downstream Use
- Osana Lapua-RAG -palvelua tai muuta sovellusta, joka hakee asiakirjakontekstin ja syöttää sen mallille.
Out-of-Scope Use
- Ei oikeudelliseksi neuvonnaksi.
- Ei muihin kuntiin tai mielipide-/small-talk -käyttöön ilman uutta hienosäätöä.
- Ei faktojen muistivarastoksi ilman RAG:ia.
Bias, Risks, and Limitations
- Lapua-spesifi kieli ja sisältö; ei yleisty muihin kuntiin.
- Voi tuottaa virheitä, jos kontekstia ei anneta.
- Tarkista aina alkuperäinen pöytäkirja ennen päätöksentekoa.
Recommendations
- Käytä aina RAG-kontekstia.
- Näytä käyttäjälle lähdesitaatti (§, kokous, pvm).
- Merkitse epävarmuus, jos konteksti puuttuu tai on ristiriitainen.
How to Get Started with the Model
from transformers import AutoModelForCausalLM, AutoTokenizer from peft import PeftModel
base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-1.5B-Instruct") model = PeftModel.from_pretrained(base, "CCG-FAKTUM/lapua-llm") tok = AutoTokenizer.from_pretrained("CCG-FAKTUM/lapua-llm")
prompt = ( "System: Olet Lapuan päätöstekstiasiantuntija. Vastaa muodolla: " "Johtopäätös → Perustelut → Lähteet (§, kokous, pvm).\n" "User: Konteksti:\n" "{pykala_teksti}\n" "Kysymys: Mitä päätettiin § 78?" ) inputs = tok(prompt, return_tensors="pt") out = model.generate(**inputs, max_new_tokens=200) print(tok.decode(out[0], skip_special_tokens=True))## Training Details
Training Data
- Lähde: Lapuan kaupungin pöytäkirjat (Docling-parse).
- SFT v1: ~570 näytettä (Q&A, tiivistelmä, luokittelu). V2 (10k) tulossa.
Training Procedure
- Optimointi: lr=2e-4, cosine, warmup 100.
- Batch: per_device_train_batch_size=1, grad_accum=8, seq_len=768.
- bf16, gradient checkpointing, label_names=["labels"].
- LoRA target-moduulit: q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj.
- Maksimi stepit: 800 (demo). Suositus: 3000 jatkossa.
Training Hyperparameters
- bf16 mixed precision
- LoRA r=16, alpha=32, dropout=0.05
- lr=2e-4, cosine, warmup_steps=100
Speeds, Sizes, Times
- Mallin koko: ~74 MB adapteri.
- Treeni: a10g-small, 800 askelta (~tens of minutes).
Evaluation
- Smoke-test: käsi- ja GPT-vertailu (Lapua-kysymykset + pykäläteksti).
- Suunnitelma: LLM-as-judge (oikeellisuus, hyödyllisyys, selkeys, kieli), BLEU/ROUGE referensseihin, RAG recall@k.
Testing Data, Factors & Metrics
- Testidata: Lapua-pykälät (erillinen eval-kysymyspaketti).
- Metrics: LLM-as-judge score, ROUGE, relevanssi RAG:lla.
Results
- V1: ei vielä julkisia numeroita; käytä smoke-testejä ja judge-scorea.
Environmental Impact
- Laitteisto: a10g-small (24 GB).
- Tunnit: ~<1 h (800 stepin demo).
- Hiilijalanjälki: pieni; arvioi tarkemmin MLCO2-työkalulla.
Technical Specifications
- Arkkitehtuuri: Qwen2.5-1.5B-Instruct + LoRA (CAUSAL_LM).
- Ohjelmistot: transformers, peft, accelerate, datasets.
Citation
- Lisää, jos julkaiset blogin/paperin.
Model Card Authors
- CCG-FAKTUM
Model Card Contact
- [Lisää yhteystieto tai repo-issues-linkki]
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
🙋
Ask for provider support