nanoGPT-Seis

nanoGPT-Seis is a from-scratch, Llama-style GPT pretraining project for earthquake and seismology text. This Hub repository hosts the pretrained 113M-parameter checkpoint plus the tokenizer files needed by the GitHub codebase.

This is a custom PyTorch checkpoint, not a drop-in transformers.AutoModel. Use the code at:

https://github.com/jiazhe868/nanogpt-seis

What Is Included

file purpose
checkpoints/ckpt.pt pretrained 113M nanoGPT-Seis checkpoint
data/tokenized/tokenizer.json byte-level BPE tokenizer
data/tokenized/meta.json tokenizer metadata, including EOT token id
configs/gpt120m_ctx4k.yaml model and training configuration

Model Summary

field value
Architecture decoder-only GPT, Llama-style
Parameters 113M
Context length 4096 tokens
Tokenizer 16k byte-level BPE
Attention grouped-query attention, 12 query heads / 4 KV heads
Position encoding RoPE
Normalization / MLP RMSNorm + SwiGLU
Training precision bfloat16
Training hardware 2 x NVIDIA A30, DDP

Training Data

The training corpus mixes earthquake / seismology text with general educational English text:

  • Open-access earthquake and seismology papers collected through Crossref and Unpaywall.
  • arXiv and EarthArXiv preprints.
  • Wikipedia pages related to earthquakes.
  • The Earthquake Insights Substack.
  • General text from Wikipedia and FineWeb-Edu for plain-language fluency.

The final tokenized corpus contains about 822.7M training tokens and 3.39M validation tokens. The approximate mix is 24% domain text and 76% general text. The raw corpus is not redistributed in this model repository.

Quick Start

Clone the code repository, install dependencies, then download this model bundle into the paths expected by src/inference.py:

git clone https://github.com/jiazhe868/nanogpt-seis.git
cd nanogpt-seis

conda activate nanogpt_seis
pip install -r requirements.txt

huggingface-cli download jiazhe868/nanogpt_seis \
    checkpoints/ckpt.pt \
    data/tokenized/tokenizer.json \
    data/tokenized/meta.json \
    configs/gpt120m_ctx4k.yaml \
    --local-dir .

python -m src.inference --prompt "The 2011 Tohoku earthquake"

The inference code supports KV-cached streaming generation and perplexity scoring. See the GitHub README for the full crawl-clean-tokenize-train-infer walkthrough.

Reported Results

From the project README:

metric value
Training tokens 822.7M
Training length 8,000 iterations, about 3.8 epochs
Training time about 6.5 hours on 2 x A30
General-text fluency 0.997 bits/byte
Comparison 35% lower bits/byte than the domain-only base on general prose
First-token latency about 176 ms in the measured streaming setup

The model is a base pretrained language model. It is not instruction-tuned and should not be expected to behave like a chat assistant.

Intended Use

This model is primarily intended for:

  • Educational study of the end-to-end LLM pretraining lifecycle.
  • Experiments with small domain language models.
  • Earthquake and seismology text generation or scoring experiments.
  • Continued training, supervised fine-tuning, or evaluation research.

Limitations

  • The checkpoint is a base model, not an aligned assistant.
  • Outputs can be incorrect, repetitive, or fabricated.
  • The model is small by modern LLM standards and should not be used as an authoritative scientific source.
  • The training data is English-heavy and domain-skewed.
  • Raw training data is not included; each upstream source keeps its own license and terms.

License

Code is MIT licensed. Model weights are provided as a research and educational artifact. Downstream users are responsible for respecting the terms of the underlying data sources used in their own workflows.

Citation

@software{nanogpt_seis,
  title = {nanoGPT-Seis: the full LLM pretraining lifecycle on earthquake text},
  author = {jiazhe868},
  url = {https://github.com/jiazhe868/nanogpt-seis},
  license = {MIT}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Datasets used to train jiazhe868/nanogpt_seis