Instructions to use dheeyantra/dhee-pravega-og-atom with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use dheeyantra/dhee-pravega-og-atom with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="dheeyantra/dhee-pravega-og-atom", trust_remote_code=True)# pip install -U transformers accelerate # Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("dheeyantra/dhee-pravega-og-atom", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use dheeyantra/dhee-pravega-og-atom with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "dheeyantra/dhee-pravega-og-atom" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "dheeyantra/dhee-pravega-og-atom", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/dheeyantra/dhee-pravega-og-atom
- SGLang
How to use dheeyantra/dhee-pravega-og-atom with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "dheeyantra/dhee-pravega-og-atom" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "dheeyantra/dhee-pravega-og-atom", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "dheeyantra/dhee-pravega-og-atom" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "dheeyantra/dhee-pravega-og-atom", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use dheeyantra/dhee-pravega-og-atom with Docker Model Runner:
docker model run hf.co/dheeyantra/dhee-pravega-og-atom
Dhee-Pravega-OG Atom (645M)
A 645M-parameter decoder-only language model, trained from scratch (no pretrained weights of any kind) on 30B tokens across 18 languages, with a strong focus on Indic scripts. It produces fluent, coherent, correct-script text across all 12 Indic languages it was trained on, plus English, Arabic, Spanish, French, German, and Russian.
This is a base language model: strong at multilingual text generation, not yet trained for tool-calling, instructions, or chat. Use it as-is for text generation, or as a foundation to fine-tune for those downstream tasks.
Instruction-tuned version: for chat and tool calling, see Dhee-Pravega-Atom-IT (research preview), which is fine-tuned from this checkpoint on multilingual function-calling dialogues.
Architecture
DheeForCausalLM โ a decoder-only transformer assembled from three published, permissively-licensed components, combined in a way no single upstream project ships:
- Reordered sublayer norms (OLMo-2): norm applied to the output of each sublayer inside the residual, targeting activation-norm growth through depth.
- Per-head QK-norm (Qwen3): each attention head's queries/keys are normalized independently, rather than one norm shared across the whole projection โ keeps attention logits stable through training.
- Local:global attention ratio (Gemma-3's published 5:1 interleave pattern): built into the architecture for efficient long-context attention.
What's original here is the combination, the tokenizer, the corpus, and the weights โ the implementation derives only from Apache-2.0 reference code (transformers' OLMo-2 and Qwen3 implementations), and is verified bit-identical to stock Olmo2ForCausalLM under the degenerate configuration, confirming every inherited line behaves exactly as upstream.
| Parameters | 645,617,408 (embeddings: 163,847,680 / 25%) |
| Layers | 28 |
| Hidden size | 1280 |
| Attention heads | 10 query / 2 KV (GQA, 5:1) |
| Head dim | 128 |
| FFN size | 3456 |
| Vocab size | 128,006 (128,000 SentencePiece pieces + 6 control tokens) |
| Context length | 32,768 |
| Tied embeddings | yes |
Training
- Data: 30.006B tokens, 18 languages at ~1.667B tokens each: Assamese, Bengali, Gujarati, Hindi, Kannada, Malayalam, Marathi, Odia, Punjabi, Sanskrit, Tamil, Telugu, English, Arabic, Spanish, French, German, Russian.
- Tokenizer: custom 128,000-piece SentencePiece model built for this project, with 6 reserved control tokens (
<|sys|>,<|user|>,<|assistant|>,<|tool_call|>,<|tool_result|>,<|end|>) for downstream chat/tool-calling formats. - Optimizer: Muon for 2-D hidden-layer matrices (196 tensors / 481.7M params), AdamW for embeddings, LM head, and norms (114 tensors / 163.9M params).
- Schedule: Warmup-Stable-Decay (WSD), peak LR 6e-4, 57,231 steps, 524,288 tokens/step, block size 8,192, gradient checkpointing, z-loss for logit-scale stability.
- Hardware: single NVIDIA RTX Pro 6000 Blackwell (24GB).
Evaluation
Held-out perplexity, computed on a clean dev split never seen during training (110 blocks per language):
| Language | Perplexity | Language | Perplexity |
|---|---|---|---|
| Hindi | 11.8 | Punjabi | 13.0 |
| Malayalam | 11.8 | Odia | 23.3 |
| Tamil | 12.8 | Assamese | 23.1 |
| Marathi | 13.9 | Gujarati | 18.2 |
| Kannada | 15.5 | Bengali | 18.6 |
| Telugu | 16.2 | Sanskrit | 36.8 |
| English | 13.7 |
Generated text stays reliably in-script across all 12 Indic languages. For best generation quality, use sampling (e.g. temperature ~0.7) rather than greedy decoding, which is prone to repetition loops on longer continuations โ a common pattern at this model size, not specific to any one language.
Sanskrit trails the rest of the set on both perplexity and generation stability; treat it as the one language here that would benefit most from additional data in a future iteration.
This checkpoint has not been trained on tool-calling or dialogue data, so it is not suited for agentic or function-calling use without further fine-tuning on that kind of data โ the reserved control tokens above are there for exactly that purpose. Dhee-Pravega-Atom-IT is our instruction-tuned release built on them.
Loading the model
Requires trust_remote_code=True (the custom architecture ships as modeling_dhee.py alongside this checkpoint):
import torch
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(
"dheeyantra/dhee-pravega-og-atom",
trust_remote_code=True,
dtype=torch.bfloat16,
).to("cuda").eval()
Loading the tokenizer
Load the SentencePiece model directly and use the reserved IDs for the control tokens:
import json
import sentencepiece as spm
sp = spm.SentencePieceProcessor(model_file="tokenizer.model")
specials = json.load(open("specials.json"))["specials"]
# specials = {"<|sys|>": 128000, "<|user|>": 128001, "<|assistant|>": 128002,
# "<|tool_call|>": 128003, "<|tool_result|>": 128004, "<|end|>": 128005}
ids = sp.encode("your text here")
eos_id = specials["<|end|>"] # == 128005, matches config.json's eos_token_id
Licence
Research use only. The model weights, configuration and tokenizer are released under the Dhee Research-Only Licence v1.0. Academic research, evaluation, benchmarking, red-teaming, teaching and personal experimentation are permitted. Commercial use is not. Commercial licences are available from Dheeyantra Research Labs on request (contact@dheeyantra.com).
No pretrained weights of any kind were loaded at any point: all weights in this repository were trained from random initialisation on the data described above, so no third-party model terms apply. The source file modeling_dhee.py (derived from the Apache-2.0 OLMo-2 and Qwen3 implementations in transformers) remains under Apache-2.0; see NOTICE.
If you redistribute the model or anything derived from it, include the LICENSE and NOTICE files.
Earlier revisions. Revisions published before this licence change were distributed under Apache-2.0 and remain available under the terms in force when they were distributed. The Dhee Research-Only Licence v1.0 applies from this revision onward.
- Downloads last month
- 485