PixelGPT -- Geometry OS Assembly Generator

A bilingual (English + GeOS assembly) GPT-2 model that generates Geometry OS bytecode assembly from natural language descriptions.

Model Architecture

Version Params Layers Heads Embd Context Loss Notes
V5 13.7M 6 8 384 1024 0.374 Fixed ByteLevel tokenizer
V6 29.3M 8 8 512 1024 0.907 Golden dataset, killed early (ep 2/40)
V8 29.3M 8 8 512 1024 0.076 Overfit to training surface form
V9 ~4M 4 8 256 1024 0.019 Compact retrain

Tokenizer

Bilingual V4 tokenizer with three-tier ID space:

  • 0-267: Atomic opcodes, registers, structural tokens (BOS/EOS/NL/COMMA/COLON)
  • 270-351: Character-level literals (digits, letters, symbols)
  • 356+: BPE text tokens (prose, comments, descriptions)

Round-trip fidelity: 89.6% exact, 94.5% preserved, 99.6% code-portion.

Usage

import torch
import sys, os
sys.path.insert(0, ".")
from bilingual_tokenizer import BilingualTokenizer
from train_opcode_llm import OpcodeGPT, generate_asm

# Load tokenizer
tokenizer = BilingualTokenizer.load("bilingual_tokenizer_v4/")

# Load model (V8 example)
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
checkpoint = torch.load("bilingual_llm_v8_ckpt.pt", map_location=device)
m_args = checkpoint["args"]

model = OpcodeGPT(
    vocab_size=m_args["vocab_size"],
    n_embd=m_args["embd"],
    n_head=m_args["heads"],
    n_layer=m_args["layers"],
    block_size=m_args["context_len"]
).to(device)
model.load_state_dict(checkpoint["model"])
model.eval()

# Generate from natural language prompt
asm = generate_asm(model, tokenizer, "; Draw a red circle at the center", device, max_tokens=256, temperature=0.7)
print(asm)

Training Data

Trained on 5,211 annotated GeOS assembly programs (211 real + ~5,000 synthetic). Each program includes a natural language description comment. Dataset: bilingual_dataset.npz (7,824 samples, 2.91M tokens, context=1024, stride=512).

Geometry OS

PixelGPT targets the Geometry OS bytecode VM -- a pixel-native operating system with 150+ opcodes, 32 registers, and a 256x256 RGB framebuffer. Programs are written in a custom assembly language and assembled to bytecode.

Repo: https://github.com/tdw419/geometry_os

Status

Research preview. The model generates syntactically plausible assembly but does not yet produce consistently working programs. Active development is improving training data quality and constrained decoding.

Developed by

Built with Hermes Agent autonomous development pipeline on an NVIDIA RTX 5090.

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