Downloads · 30 days
6
16% of all-time downloads
Hodfa71/viking-13b-da-saga-delta-dpo
viking-13b-da-saga-delta-dpo is a text generation model from Hodfa71. Use it when you need the model to write or continue text. It is set up for peft. The card lists the license as other.
Fine-tuned with SAGA (Syntax-Aware Grammar Alignment), a two-stage pipeline that trains language models to generate grammatically correct Danish text using reinforcement learning from a symbolic parser oracle (SpaCy (…
Downloads · 30 days
6
16% of all-time downloads
All-time downloads
37
Public
Repo size
250 MB
Likes
0
Public
Click a slice to open those files.
.safetensors250 MB · 96%
From the Hugging Face model README
Fine-tuned with SAGA (Syntax-Aware Grammar Alignment), a two-stage pipeline that trains language models to generate grammatically correct Danish text using reinforcement learning from a symbolic parser oracle (SpaCy (Danish dependency parser)).
This is a LoRA adapter. Load it on top of LumiOpen/Viking-13B.
SFT skipped (base PS 83.5% ≥ 80% threshold). Δ-DPO applied directly to base.
| Metric | Base | + Δ-DPO |
|---|---|---|
| Parse success | 83.5% | 97.0% |
| Parse score | 0.416 | 0.635 |
| PPL-Wiki | 11.5 | 12.2 |
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base = AutoModelForCausalLM.from_pretrained("LumiOpen/Viking-13B", torch_dtype="auto")
model = PeftModel.from_pretrained(base, "Hodfa71/viking-13b-da-saga-delta-dpo")
tokenizer = AutoTokenizer.from_pretrained("LumiOpen/Viking-13B")
prompt = "Dansk er"
inputs = tokenizer(prompt, return_tensors="pt")
output = model.generate(**inputs, max_new_tokens=60, temperature=0.8, do_sample=True)
print(tokenizer.decode(output[0], skip_special_tokens=True))
@article{fakhar2025saga,
title={SAGA: Syntax-Aware Grammar Alignment for Low-Resource Nordic Languages},
author={Fakhar, Hoda and others},
year={2025},
note={Under review}
}
Inherits the base model license (AI Sweden LLM License / LumiOpen).