ONNX-Library

ONNX exports of the Quazim0t0 model family β€” the SpikeWhale-DNA language models (Byrne / Escarda), the Byrne ASR and TTS models, and the Byrne-VLM vision encoder. Every graph was exported from the original PyTorch weights with the legacy TorchScript exporter (opset 17) and parity-verified against the source model.

Each model lives in its own folder. The .onnx graphs contain the neural network only β€” tokenizers, text frontends, and CTC/beam decoders stay in the original source repos (linked below), exactly as they do at inference time.

Contents

Language models β€” SpikeWhaleLM (13)

input_ids [B,T] (int64) β†’ logits [B,T,16512] Β· dynamic batch & sequence Β· file model.onnx (~383 MB each)

Folder Family trait Source
Byrne-86M HRM Byrne-86M
Byrne-86M-Base HRM (base) Byrne-86M-Base
Byrne-86M-Base-JL HRM (base, JL) Byrne-86M-Base-JL
Byrne-86M-JL HRM (JL) Byrne-86M-JL
Byrne-TriAtn-86M HRM (tri-attention) Byrne-TriAtn-86M
Byrne-TriAtn-86M-JL HRM (tri-attn, JL) Byrne-TriAtn-86M-JL
Escarda-86M HRM + JEPA Escarda-86M
Escarda-86M-Base HRM+JEPA (base) Escarda-86M-Base
Escarda-86M-Base-JL HRM+JEPA (base, JL) Escarda-86M-Base-JL
Escarda-86M-Identity HRM+JEPA (identity) Escarda-86M-Identity
Escarda-86M-JL HRM+JEPA (JL) Escarda-86M-JL
Escarda-TriAtn-86M HRM+JEPA (tri-attn) Escarda-TriAtn-86M
Escarda-TriAtn-86M-JL HRM+JEPA (tri-attn, JL) Escarda-TriAtn-86M-JL

Tokenizer (tokenizer.json + spike_tokenizer.py) is in each source repo. Verified 100 % argmax-token agreement with PyTorch (the deep custom ops add ~1e-1 fp noise to the wide logits β€” harmless; base variants are near-exact).

Speech recognition β€” Byrne-ASR-English/model.onnx (~50 MB)

mel [B,80,T] (float32) β†’ logits [B,T',29] (CTC, dynamic frames). Mel frontend params: sample_rate 24000, n_fft 1024, hop 256, n_mels 80, log-mel. Vocab: <blank>, space, a–z, '. The lexicon / bigram / ARPA beam-search decode lives in the source repo (Byrne-ASR-English). Parity 7e-6.

Vision encoder β€” Byrne-VLM-131M/vision.onnx (~167 MB)

image [B,3,448,448] (float32, [-1,1]) β†’ pooled [B,512] + tokens [B,784,512]. ViT-style, patch 16, native 448Γ—448 (28Γ—28 patch grid), 2D axial RoPE. Source: Byrne-VLM-131M. Parity 1e-6. (The multimodal LM half is not included here.)

Text-to-speech β€” Byrne-Speech/ (2-stage, ~49 MB)

  1. acoustic.onnx β€” FastSpeech2: ids [B,Tp] (int64) + plen [B] β†’ mel [B,80,Tm] (variable length; length regulator generalizes across text lengths).
  2. vocoder.onnx β€” HiFi-GAN: mel [B,80,Tm] β†’ wav [B,1,Tm*256] (24 kHz, hop 256). weight_norm folded.

Char text frontend (text_to_char_sequence) is in the source repo (Byrne-Speech). Chain: text β†’ acoustic.onnx β†’ mel β†’ vocoder.onnx β†’ wav. Parity 7e-7.

Tools (4)

Folder Task I/O contract Source
Escarda-Rewrite/model.onnx text rewriting (causal LM) input_ids[B,T] -> logits[B,T,16512] Escarda-Rewrite
Byrne-Embed/model.onnx text embeddings input_ids[B,T] -> embedding[B,768] (pooled sentence vector) Byrne-Embed
Byrne-Anon/model.onnx PII tagging (BIOES) input_ids[B,T] -> pii_logits[B,T,33] (labels in source pii_labels.json) Byrne-Anon
Byrne-Docling-131M/vision.onnx document VLM vision encoder image[B,3,448,448] -> pooled[B,512] + tokens[B,784,512] Byrne-Docling-131M

Vision-language generation (full pipeline)

Byrne-VLM-131M (captioning) and Byrne-Docling-131M (document -> DocTags) are generative β€” each ships THREE files for real image->text generation (the single vision.onnx is the encoder only):

  • vision_connector.onnx : image[1,3,448,448] -> image_embeds[1,784,640] (vision encoder + projector)
  • lm_decode.onnx : inputs_embeds[1,T,640] -> logits[1,T,V] (LoRA-applied LM)
  • embed_tokens.npy : [V,640] token-embedding table (for generated text tokens)

Generate: encode the image once, feed image_embeds as the prefix, then autoregressively append embed_tokens[next_token] and re-run lm_decode:

import numpy as np, onnxruntime as ort
va=ort.InferenceSession("Byrne-VLM-131M/vision_connector.onnx")
lm=ort.InferenceSession("Byrne-VLM-131M/lm_decode.onnx")
emb=np.load("Byrne-VLM-131M/embed_tokens.npy")
ie=va.run(["image_embeds"],{"image":img})[0]          # img: [1,3,448,448] float32 in [-1,1]
out=[]
for _ in range(48):
    x = ie if not out else np.concatenate([ie, emb[out][None]], 1)
    nxt = int(lm.run(["logits"],{"inputs_embeds":x})[0][0,-1].argmax())
    if nxt==EOS: break
    out.append(nxt)                                    # decode with the model's tokenizer

Verified to produce PyTorch-identical greedy output (Byrne-VLM: "A group of people standing on the ground."). Byrne-VLM decodes with the shared LM tokenizer; Byrne-Docling with its source tokenizer_doctags.json.

Usage (ONNX Runtime)

Language model (needs the tokenizer from the source repo):

import onnxruntime as ort, numpy as np
sess = ort.InferenceSession("Byrne-86M/model.onnx", providers=["CPUExecutionProvider"])
input_ids = np.array([[1, 23, 45, 6]], dtype=np.int64)          # from the SpikeWhale tokenizer
logits = sess.run(["logits"], {"input_ids": input_ids})[0]      # [1, T, 16512]
next_id = logits[0, -1].argmax()                                # greedy next token

TTS (chain the two graphs):

import onnxruntime as ort, numpy as np
ac = ort.InferenceSession("Byrne-Speech/acoustic.onnx", providers=["CPUExecutionProvider"])
vo = ort.InferenceSession("Byrne-Speech/vocoder.onnx",  providers=["CPUExecutionProvider"])
ids  = np.array([[...]], dtype=np.int64)                         # text_to_char_sequence(text)
plen = np.array([ids.shape[1]], dtype=np.int64)
mel = ac.run(["mel"], {"ids": ids, "plen": plen})[0]            # [1,80,Tm]
wav = vo.run(["wav"], {"mel": mel})[0]                          # [1,1,Tm*256] @ 24 kHz

Vision encoder:

pooled, tokens = sess.run(["pooled","tokens"], {"images": img})  # img [B,3,448,448] float32 in [-1,1]

All graphs use dynamic batch (and dynamic sequence/frames where noted), so batching works out of the box.

Provenance

Exported 1:1 from the PyTorch checkpoints in the linked source repos (opset 17, dynamo=False), each verified against its original model. License: Apache-2.0.

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

Space using Quazim0t0/Onnx-Library 1