Novi-Nano-Instruct

Novi-Nano Banner

Novi-Nano-Instruct is a tiny instruction-tuned causal language model developed by Novi-AI.

It is based on Novi-Nano-Base and fine-tuned on a small instruction dataset to experiment with instruction following and conversational behavior at an extremely small scale.

⚑ 1.26M parameters · 500 training examples · 256-token context

Model Details

Architecture

Property Value
Model type Causal Language Model
Base model Novi-AI/Novi-Nano-Base
Parameters 1,258,848
Vocabulary size 8,195
Context length 256
Embedding size 96
Layers 4
Attention heads 4
FFN size 384
Tensor type F32

Instruction Tuning

Novi-Nano-Instruct was trained from Novi-Nano-Base using a small instruction dataset containing 510 examples.

Dataset

Split Examples
Training 500
Validation 10

The model uses a ChatML-style format with:

<|im_start|>
<|im_end|>

Training loss was applied specifically to the assistant responses, allowing the model to focus on learning how to respond to user instructions.

Training Configuration

Property Value
Epochs 5
Batch size 16
Gradient accumulation 2
Effective batch size 32
Maximum sequence length 256
Learning rate 2e-5
Precision FP32
Device CPU

Training Statistics

The final training run produced:

Metric Result
Final validation loss 5.153667
Final validation perplexity 173.0650
Training examples 500
Validation examples 10
Training time ~32 seconds

Because the validation set contains only 10 examples, these metrics should be considered experimental rather than a comprehensive benchmark.

Tokenizer

Novi-Nano-Instruct uses the custom tokenizer developed for Novi-Nano.

The original tokenizer vocabulary was 8,192 tokens, with additional tokens already present in the tokenizer.

Two ChatML tokens were added for instruction tuning:

  • <|im_start|> β€” 8193
  • <|im_end|> β€” 8194

The final tokenizer size is 8,195 tokens.

The tokenizer was originally trained using data from:

  • FineWeb-Edu
  • FineWeb-HQ
  • SmolLM-Cosmopedia

Intended Use

Novi-Nano-Instruct is primarily intended for:

  • πŸ”¬ Research and experimentation
  • πŸ§ͺ Small-model instruction-tuning experiments
  • πŸŽ“ Educational purposes
  • πŸ’¬ Tiny conversational-model experiments
  • πŸ’» Lightweight local inference
  • πŸ› οΈ Experimenting with extremely small instruction-tuned models

As an experimental 1.26M-parameter model, it is not intended to compete with modern billion-parameter language models.

Limitations

Novi-Nano-Instruct is an extremely small experimental language model trained on only 500 instruction examples.

Because of its size and limited training data, it may:

  • Generate incoherent text
  • Repeat phrases
  • Produce unrelated responses
  • Fail to follow instructions
  • Produce factual errors
  • Have very limited world knowledge
  • Perform poorly on reasoning tasks
  • Struggle with longer conversations
  • Lose context beyond its 256-token window
  • Produce malformed or unexpected responses

Generation quality is currently highly experimental. The model can generate text, but it does not yet consistently produce reliable assistant-style responses.

This model should be considered a research and experimentation model, rather than a production-ready conversational AI.

Usage

from transformers import AutoTokenizer, AutoModelForCausalLM

model_id = "Novi-AI/Novi-Nano-Instruct"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)

messages = [
    {
        "role": "system",
        "content": "You are Novi-Nano, a helpful AI assistant."
    },
    {
        "role": "user",
        "content": "Give a synonym for 'quiet'."
    }
]

prompt = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
)

inputs = tokenizer(prompt, return_tensors="pt")

outputs = model.generate(
    **inputs,
    max_new_tokens=50,
)

print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Chat Template

Novi-Nano-Instruct uses a ChatML-style conversation format:

<|im_start|>system
You are Novi-Nano, a helpful AI assistant.<|im_end|>
<|im_start|>user
Give a synonym for 'quiet'.<|im_end|>
<|im_start|>assistant
A synonym is 'silent'.<|im_end|>

For generation, the assistant message is opened automatically by the chat template.

Project History

Novi AI follows the earlier AppleMind experiments, with Novi becoming the primary project for developing small language models.

AppleMind β†’ Novi AI β†’ Novi-Nano β†’ Novi-Nano-Instruct πŸš€

Acknowledgements

Novi-Nano was built using the open-source machine-learning ecosystem and datasets made available by the community.

Special thanks to:

  • Hugging Face πŸ€—
  • FineWeb
  • SmolLM
  • Cosmopedia

License

This model is released under the Apache 2.0 license.


🧠 Novi AI

Small models. Big experiments.

Novi-Nano-Instruct explores instruction tuning at an extremely small scale, with just 1.26 million parameters and 500 training examples.

It is intentionally tiny β€” exploring how far instruction following can go with a fraction of the parameters used by modern LLMs.

Downloads last month
408
Safetensors
Model size
1.26M params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Dataset used to train Novi-AI/Novi-Nano-Instruct