NOVA-Verse / README.md
harshit36's picture
Update README.md
571ab53 verified
metadata
license: apache-2.0
language:
  - en
library_name: transformers
tags:
  - LLM
  - CasualLLM
  - StoryLLM
  - SLM
  - Nova-Verse
base_model:
  - harshit36/Nova-Casual-LLM
datasets:
  - harshit36/Decision-driven-Stories
Logo

Nova-Verse

A NOVA Finetuned model which is specifically trained for decision-driven Story generator.

Model Summary

  • Model Name: NovaForCausalLM
  • Architecture: Custom decoder-only transformer (NOVA)
  • Model Type: nova (Fine-tuned version)
  • Use Case: Causal Language Modeling (text generation, auto-completion)
  • Parameters: 14,412,400 trainable parameters
  • Pretrained Tokenizer: PreTrainedTokenizerFast
  • Framework: PyTorch
  • Hugging Face Integration: Compatible with transformers via custom AutoModel and AutoConfig registration.

Files Included

File Description
config.json Configuration of model hyperparameters
model.safetensors Serialized model weights (efficient format)
nova_modelling.py Custom model and config class definitions
tokenizer.json Serialized tokenizer
tokenizer_config.json Tokenizer configuration metadata
special_tokens_map.json Mapping for special tokens (e.g., BOS, EOS)
README.md Model card (you’re reading it!)

Model Architecture

NovaForCausalLM

The model consists of:

  • Embedding layers: token + positional
  • Stack of transformer decoder blocks
  • Multi-head attention with 640 individual heads
  • Layer normalization
  • Final linear head for vocabulary logits

Configuration (NovaConfig)

{
  "model_type": "nova",
  "vocab_size": 6000,
  "block_size": 256,
  "n_embd": 640,
  "n_layer": 4,
  "n_head": 8
}

🚀 Usage

Step 1: Clone the repo (to get the nova_modelling.py)

git clone https://huggingface.co/harshit36/Nova-Verse
cd Nova-Verse
import sys
sys.path.append("./Nova-Verse/")  # add current dir to path

from transformers import PreTrainedTokenizerFast
from nova_modelling import NovaConfig, NovaForCausalLM

# Load tokenizer
tokenizer = PreTrainedTokenizerFast.from_pretrained("harshit36/Nova-Verse")

# Load config
config = NovaConfig.from_pretrained("harshit36/Nova-Verse")

# Instantiate model using your custom class
model = NovaForCausalLM(config)
model = model.from_pretrained("harshit36/Nova-Verse")

# Use the model
input_ids = tokenizer("Hello world", return_tensors="pt").input_ids
output = model.generate(input_ids)
print(tokenizer.decode(output[0], skip_special_tokens=True).replace(" ","").replace("Ġ"," ").replace("Ċ","\n"))

Intended Use

Story text generation

Hybrid Positional Encoding Research model (Combination of Sinusoidal and learnable encodings)

Educational demonstrations of custom HF model integration

Rapid prototyping of transformer models