image

Hydrion is a 114M-parameter causal language model, pretrained from scratch and fine-tuned for chat, built on a single RTX 3060 plus a handful of rented A100 hours.

This repo (OpenGCM/Hydrion-Base) is the base model, non-chat ready version. The instruction model (chat formatting) is available at OpenGCM/Hydrion-SFT.

Model Details

  • Architecture: Llama-style decoder-only transformer (RMSNorm, rotary position embeddings, SwiGLU MLP, grouped-query attention)
  • Parameters: 114.1M
  • Layers: 12
  • Hidden size: 768
  • Attention heads: 12 (4 KV heads, GQA)
  • Context length: 1024 tokens
  • Tokenizer: EleutherAI/gpt-neox-20b
  • License: Apache 2.0

Training

Hydrion was trained in two pretraining stages.

  1. Initial pretraining โ€” ~2B tokens on a FineWeb-Edu / Wikipedia mix, trained on a single RTX 3060 (12GB).
  2. Continued pretraining โ€” an additional ~0.5B tokens on a more diverse mix (FineWeb-Edu, Wikipedia, TinyStories, a code subset, and Dolly), run on a rented A100 to broaden register and topic coverage beyond pure web/encyclopedic text.

Total pretraining exposure: roughly 2.5 billion tokens.

Benchmarks

Evaluated with lm-evaluation-harness on the base (pre-SFT) checkpoint:

Benchmark Metric Score
BLiMP acc 80.08%
ARC-Easy acc 47.26%
ARC-Easy acc_norm 43.39%
WikiText-2 byte_perplexity 2.04
WikiText-2 bits_per_byte 1.03
WikiText-2 word_perplexity 45.02

Grammatical judgment (BLiMP) is comparable to models trained on far larger token budgets; factual/reasoning performance (ARC-Easy) is meaningfully weaker, consistent with the relatively small pretraining corpus.

Usage

import torch
from transformers import AutoTokenizer, LlamaForCausalLM

tokenizer = AutoTokenizer.from_pretrained("OPENGCM/Hydrion-Base")
model = LlamaForCausalLM.from_pretrained("OPENGCM/Hydrion-Base", torch_dtype=torch.bfloat16).cuda()
model.eval()

prompt = "What is the capital of"
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")

with torch.no_grad():
    output = model.generate(
        **inputs,
        max_new_tokens=150,
        do_sample=True,
        temperature=0.7,
        top_p=0.9,
        repetition_penalty=1.3,
        no_repeat_ngram_size=3,
        eos_token_id=tokenizer.convert_tokens_to_ids("<|im_end|>"),
    )

response = tokenizer.decode(output[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
print(response)

Limitations

Hydrion is a small model trained on a modest token budget (~2.5B tokens, versus the trillions used by comparable production small models). It should not be relied on for factual accuracy. It reliably produces fluent, grammatically well-formed English and responds in a conversational chat format, but frequently states incorrect facts, fabricates names/dates/attributions, and performs poorly at arithmetic and multi-step reasoning. Treat outputs as unreliable by default โ€” this model is best understood as a demonstration of a working from-scratch training pipeline rather than a usable knowledge source or assistant.

Downloads last month
107
Safetensors
Model size
0.1B params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support