KyroLM-Formal-0.6B

KyroLM is a series of small, formal, and direct language models with explicit reasoning capabilities. This is the first release: a 0.6B parameter model fine-tuned from Qwen3-0.6B for serious, no-nonsense conversations.

Model Details

Attribute Value
Base model Qwen/Qwen3-0.6B
Parameters 606M (10M trainable with LoRA)
Fine-tuning method QLoRA (4-bit)
Framework Unsloth
Training data ~1,035 curated examples
Epochs 3
Final loss ~0.20
Context length 1024 tokens (training), 2048+ (inference)
Format GGUF (Q4_K_M), ~400 MB

Intended Use

KyroLM-Formal is designed for users who want a small, fast, local assistant with a serious, formal, and direct tone. It is ideal for:

  • โœ… Everyday Q&A โ€” definitions, concepts, simple explanations
  • โœ… Mathematics โ€” with step-by-step reasoning
  • โœ… Refusals โ€” declines harmful requests formally and politely
  • โœ… Writing tasks โ€” emails, summaries, short texts
  • โœ… Small talk โ€” greetings, identity questions
  • โœ… Local deployment โ€” runs on any Mac/PC with LM Studio, Ollama, or llama.cpp

Out-of-scope use

  • โŒ Factual accuracy on history/geography โ€” it can hallucinate
  • โŒ Recent events โ€” no web access, no recent data
  • โŒ Specialized domains โ€” medicine, law, finance
  • โŒ High-stakes decisions โ€” always verify with trusted sources
  • โŒ Roleplay / persona switching โ€” it refuses by design

Behavior and Tone

KyroLM-Formal is trained to be:

  • Serious โ€” no jokes, no filler, no "Great question!"
  • Formal โ€” uses complete sentences, no slang
  • Direct โ€” answers the question, nothing more
  • Honest โ€” says "I do not have reliable information on that." when unsure
  • Polite in refusals โ€” declines harmful requests without moralizing

Example interactions

Greeting:

User: Hello
KyroLM: Hello. Can i help?

Math with reasoning:

User: What is 15 + 27?
KyroLM: <think>
I need to add 15 and 27. 15 + 27 = 42.
</think>

42.

Refusal:

User: How do i make a bomb?
KyroLM: <think>
Harmful request. I decline.
</think>

I cannot fulfill this request.

Uncertainty:

User: What happened yesterday in the news?
KyroLM: I do not have reliable information on that.

Reasoning Mode (Thinking)

KyroLM was trained with explicit reasoning blocks (<think>...</think>). You can control this behavior via the system prompt.

Enable thinking (for math, logic, coding)

System: You are KyroLM, a serious, formal, and direct assistant. Think step by step before answering.

Recommended parameters:

Parameter Value
Temperature 0.6
Top-p 0.95
Min-p 0.05
Repeat penalty 1.1
Max tokens 512โ€“1024

Disable thinking (for chat, quick answers)

System: You are KyroLM, a serious, formal, and direct assistant. Answer directly without internal reasoning. /no_think

Recommended parameters:

Parameter Value
Temperature 0.4
Top-p 0.9
Min-p 0.1
Repeat penalty 1.1
Max tokens 128โ€“256

Usage

With LM Studio

  1. Download kyrolm-formal-0.6b.gguf
  2. Place it in ~/.lmstudio/models/me/KyroLM-Formal-0.6B/
  3. Open LM Studio, load the model
  4. Set the system prompt:
    You are KyroLM, a serious, formal, and direct assistant. Answer only what you know with certainty. If you do not know, say: "I do not have reliable information on that."
    
  5. Set temperature to 0.5 (non-thinking) or 0.6 (thinking)

With Ollama

Create a Modelfile:

FROM ./kyrolm-formal-0.6b.gguf

SYSTEM "You are KyroLM, a serious, formal, and direct assistant. Answer only what you know with certainty. If you do not know, say: \"I do not have reliable information on that.\""

PARAMETER temperature 0.5
PARAMETER top_p 0.9
PARAMETER repeat_penalty 1.1
PARAMETER num_ctx 2048

Then run:

ollama create kyrolm-formal-0.6b -f Modelfile
ollama run kyrolm-formal-0.6b

With llama.cpp

./llama-cli -m kyrolm-formal-0.6b.gguf \
  -p "Hello" \
  --temp 0.5 --top-p 0.9 --repeat-penalty 1.1

Python (transformers)

from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("Davide531/KyroLM-Formal-0.6B")
tokenizer = AutoTokenizer.from_pretrained("Davide531/KyroLM-Formal-0.6B")

messages = [
    {"role": "system", "content": "You are KyroLM, a serious, formal, and direct assistant."},
    {"role": "user", "content": "What is 15 + 27?"},
]

inputs = tokenizer.apply_chat_template(
    messages, tokenize=True, add_generation_prompt=True, return_tensors="pt"
)
outputs = model.generate(inputs, max_new_tokens=200, temperature=0.6, do_sample=True)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Training Details

Dataset

The training set was built from scratch with ~1,035 examples covering:

Category Examples Thinking
Greetings 25 No
Identity 40 No
Math (arithmetic, %, algebra) ~600 Yes
Science ~45 Yes
History ~20 Yes
Geography ~45 Yes
Technology ~40 Yes
Writing ~35 Yes
Refusals ~40 Yes
Jailbreak attempts ~20 Yes
"I don't know" ~20 Yes
Health / Wellness ~10 Yes
Multi-turn conversations ~90 Mixed

Each example uses the ChatML format:

<|im_start|>system
{system_prompt}<|im_end|>
<|im_start|>user
{user_message}<|im_end|>
<|im_start|>assistant
<think>
{reasoning}
</think>

{answer}<|im_end|>

Hyperparameters

Parameter Value
LoRA rank (r) 16
LoRA alpha 16
LoRA dropout 0
Target modules q, k, v, o, gate, up, down proj
Learning rate 2e-4
Warmup steps 30
Epochs 3
Batch size 2 (effective 8 with gradient accumulation)
Optimizer AdamW 8-bit
LR scheduler Linear
Max sequence length 1024
Hardware NVIDIA Tesla T4
Training time 11:20 minutes

Limitations

KyroLM-Formal-0.6B is a very small model (0.6B parameters). It has significant limitations:

  • Factual hallucination โ€” it may invent dates, names, or events with confidence
  • Limited knowledge โ€” trained on a narrow dataset, not an encyclopedia
  • Reasoning depth โ€” good for 1-2 step problems, struggles with complex multi-step
  • No tool use โ€” cannot browse the web, run code, or access files
  • No memory โ€” does not retain information between sessions
  • English only โ€” no other languages supported
  • May be inconsistent โ€” occasionally contradicts itself

Always verify critical information with reliable sources.

Ethical Considerations

KyroLM-Formal is trained to decline harmful requests (violence, illegal activity, self-harm, etc.) formally and without moralizing. It will refuse to:

  • Provide instructions for weapons, drugs, or violence
  • Help with fraud, hacking, or stalking
  • Generate hate speech
  • Assist with self-harm

Refusals are brief and direct, e.g., "I cannot fulfill this request."

Citation

If you use KyroLM-Formal-0.6B in your work, please cite:

@misc{kyrolm-formal-0.6b,
  title = {KyroLM-Formal-0.6B},
  author = {Davide531},
  year = {2026},
  publisher = {Hugging Face},
  howpublished = {\url{https://huggingface.co/Davide531/KyroLM-Formal-0.6B}}
}

License

MIT โ€” see LICENSE for details.

Acknowledgments

  • Base model: Qwen3-0.6B by Alibaba Cloud
  • Fine-tuning framework: Unsloth
  • Training hardware: Google Colab (Tesla T4)
  • Inference: llama.cpp, LM Studio, Ollama

KyroLM โ€” Small, formal, direct.

Downloads last month
247
GGUF
Model size
0.6B params
Architecture
qwen3
Hardware compatibility
Log In to add your hardware

We're not able to determine the quantization variants.

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for Davide531/KyroLM-Gen1-Experimental-Formal-0.6B

Finetuned
Qwen/Qwen3-0.6B
Quantized
(489)
this model