SAVRN
Search Contact SAVRN

Open-weight model · Text generation

MoA-150M

by Convergent Intelligence reaperdoesntknow/MoA-150M

A compact-but-capable ≈150M parameter causal LM that replaces dot-product attention with metric-native attention and augments sequence geometry with BlackHoleRoPE (a learnable, stable RoPE variant).

Parameters
Context2,048
Weights623.9 MB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads3.3k

Model Card

By Convergent Intelligence, published under apache-2.0, revision 33b66c6ce791.

A compact-but-capable ≈150M parameter causal LM that replaces dot-product attention with metric-native attention and augments sequence geometry with BlackHoleRoPE (a learnable, stable RoPE variant). Designed to train and run on modest hardware (CPU-first friendly) while staying fully compatible with • Distance scores, not dot products. Heads score with L2, cosine, or diag-Mahalanobis distances. This gives direct control over geometry, often stabilizes training, and can be more sample-efficient. • BlackHoleRoPE positional encoding. • Q/K: pure unit-modulus rotation (unitary → numerically stable). • V: bounded-energy gating (Penrose-inspired), optionally modulated by a discrepancy signal. •…

Read Convergent Intelligence's full model card

MoA-Metric-LM-150M (Convergent)

A compact-but-capable ≈150M parameter causal LM that replaces dot-product attention with metric-native attention and augments sequence geometry with BlackHoleRoPE (a learnable, stable RoPE variant). Designed to train and run on modest hardware (CPU-first friendly) while staying fully compatible with

Why this model?

•   Distance scores, not dot products. Heads score with L2, cosine, or diag-Mahalanobis distances. This gives direct control over geometry, often stabilizes training, and can be more sample-efficient.
•   BlackHoleRoPE positional encoding.
•   Q/K: pure unit-modulus rotation (unitary → numerically stable).
•   V: bounded-energy gating (Penrose-inspired), optionally modulated by a discrepancy signal.
•   Parameters synthesized from a tiny Fourier basis → extrapolable and cache-friendly, with low memory.
•   MoA (Mixture-of-Architectures) block. Token-wise router softly blends four heads per block:
1.  LocalConv (depthwise token-local conv)
2.  MetricMHAttention (multi-head metric attention)
3.  ChannelMix (MLP)
4.  MetricMQA (multi-query, shared K/V)
•   Triangle-Inequality (TI) regularizer. Keeps metric heads honest by penalizing violations over random triples.
•   Runs on CPUs. Implemented to behave well in FP32 on AVX2/AVX-512 machines.

Model at a glance

Property Value Parameters ~150 M (exact count depends on vocab; see config.json) Layers 12–24 depending on variant (MoA blocks) Hidden size ≥ 1024 in the 400 M variant (head dim divisible by #heads) Attention Metric-native (L2 / cosine / diag-Mahalanobis), plus MetricMQA Positional BlackHoleRoPE per-head (rope_global for MH-Attn, rope_mqa for MQA) Router Token-wise soft mixture across the four heads (+ optional bias gate) FFN HyperFFN = SwiGLU MLP + SepConv1d + Low-Rank path (router-mixed) Context Trained primarily at 512–1024 tokens; config allows up to 2048 Precision Training FP32 (CPU-friendly); inference FP32/BF16/FP16 supported License Apache-2.0

Note on context: training emphasized 512–1024; BlackHoleRoPE is extrapolable, but throughput and quality beyond training lengths depend on your hardware and data.

Intended use & limitations

Intended: compact assistants, long-context reading/QA, math-style step reasoning, research on distance-based attention and geometric inductive biases.

Not intended: safety-critical use, heavy factual QA at web scale, or domains requiring guaranteed accuracy. Evaluate carefully before deployment.

Datasets

  • WeMake/Intelligent-Content-Understanding ~256k Tokens, [8, 256] [4, 512]
  • QingyiSi/Alpaca-CoT ~128K Tokens [2, 1024], [1, 2048] [4, 512]
  • HuggingFaceH4/MATH-500 ~256k Tokens, [8, 256] [4, 512]
  • zai-org/LongWriter-6k ~128k Tokens [2, 1024] [1, 2048]
  • SFT: prithivMLmods/Deepthink-Reasoning [8, 256] ~ Final Loss 0.3200/ Total Tokens 128512.0

Training used modest token budgets (hundreds of thousands). Reported training logs showed healthy loss descent on both 512 and 1024 sequence lengths on CPU runs. Exact metrics will vary with tokenizer, preprocessing, and optimizer settings.

Installation

pip install transformers accelerate sentencepiece


⸻

Quick start

from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

repo = "reaperdoesntknow/MoA-150M"   

tok = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(
    repo, torch_dtype=torch.float32, device_map="cpu"
).eval()

prompt = "Read and answer: If 3x + 2 = 17, what is x?\nReasoning:"
inputs = tok(prompt, return_tensors="pt")

with torch.no_grad():
    out = model.generate(
        **inputs,
        max_length=256,
        do_sample=True,
        top_p=0.9,
        temperature=0.8,
        pad_token_id=tok.eos_token_id,
    )

print(tok.decode(out[0], skip_special_tokens=True))

Pipeline usage

from transformers import pipeline
repo = "reaperdoesntknow/MoA-400M"
pipe = pipeline("text-generation", model=repo, device_map="cpu")
print(
    pipe(
        "Question: Who wrote 'The Selfish Gene'?\nAnswer:",
        max_length=128,
        do_sample=False,
    )[0]["generated_text"]
)

Architecture details

Metric attention (MH) • Scores: • L2: -||q-k||² / sqrt(d) • Cosine: normalized dot → scaled • diag-Mahalanobis: per-head diagonal scale on dimensions • Stability: logits scaled by a learnable α; optional radius-based pruning mask for efficiency. • Value path: post-attention Up/Down projector (gated) for expressive value mixing.

Metric MQA (shared K/V) • K and V are shared (single projection) and broadcast; queries remain multi-head. Useful for throughput and memory.

BlackHoleRoPE

•   Q/K rotation only (unit modulus) → preserves norms; avoids value blow-ups.
•   V receives bounded-energy amplification (energy_min..energy_max) with optional discrepancy modulation.
•   Parameters synthesized from a small Fourier basis; reduces cache size and improves length generalization.

Routing & gates • TokenRouter: per-token weights over {LocalConv, MetricMH, ChannelMix, MetricMQA}. • Feature gates: per-head multiplicative scales in (0, 2) around 1.0. • Optional router bias adds signed offsets before softmax.

Triangle-Inequality regularizer • Lightweight penalty on random triples to discourage degenerate metric geometry.

Training recipe (reference) • Device: CPU (AVX2/AVX-512 recommended). • Precision: FP32. • Optimizer: AdamW or Adam (β₁=0.9, β₂=0.95–0.999 work); cosine LR or linear warmup. • Batch/seq: [batch, seq] = [2–4, 512–1024]. • Regularization: modest dropout in attention/value paths; optional TI penalty.

If you see NaN/Inf during sampling, ensure masks are additive 0/-inf, clamp logits when rows are fully masked, and set a pad_token_id in .generate().

Evaluation notes

The model targets behavioral quality per FLOP rather than leaderboard chasing. On held-out long-context QA and small math checks, it shows: • Robust token-to-token coherence at 512–1024. • Stable generation on CPU with FP32. • Competitive loss trends versus dot-product baselines trained under the same compute.

Please share issues/benchmarks via the repo so results can be tracked.

How to fine-tune

from transformers import AutoTokenizer, AutoModelForCausalLM, TrainingArguments, Trainer
from datasets import load_dataset

repo = "reaperdoesntknow/MoA-150M"
tok = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(repo)

ds = load_dataset("yzhuang/Agentic-Long-Context-Understanding-QA", split="train[:2%]")

def tok_fn(ex):
    x = tok(
        ex["question"] + "\n" + ex["context"] + "\nAnswer:",
        truncation=True,
        max_length=512,
    )
    x["labels"] = x["input_ids"].copy()
    return x

tds = ds.map(tok_fn, remove_columns=ds.column_names)

args = TrainingArguments(
    output_dir="./moa400m-finetune",
    per_device_train_batch_size=2,
    gradient_accumulation_steps=1,
    num_train_epochs=1,
    learning_rate=5e-4,
    weight_decay=0.0,
    warmup_steps=100,
    logging_steps=10,
    save_steps=200,
    fp16=False,
    bf16=False,
)

trainer = Trainer(model=model, args=args, train_dataset=tds)
trainer.train()

Known behaviors / tips • Context > 1024: works, but CPU throughput drops; BlackHoleRoPE helps stability, not throughput. • Sampling: always pass pad_token_id (often eos_token_id) to .generate(); avoid temperature > 1.2 on small models. • KV cache: supported; for CPU you may prefer smaller beams and greedy/small-temperature sampling.


Safety & responsibility

This is a research model. It was trained on public datasets and may produce incorrect or biased content. Do not rely on it for advice or sensitive decisions.


Citation

@software{moa_metric_lm_400m, title = {MoA-Metric-LM-400M: Distance-based attention with BlackHoleRoPE}, author = {reaperdoesntknow}, year = {2025}, url = {https://huggingface.co/reaperdoesntknow/MoA-400M} }


Acknowledgements

Built with Transformers and a metric-first rethinking of attention. BlackHoleRoPE draws inspiration from symplectic/rotational encodings and bounded-energy dynamics.


Convergent Intelligence Portfolio

Part of the Mixture of Attention Series by Convergent Intelligence LLC: Research Division

Mathematical Foundations: Discrepancy Calculus (DISC)

The Mixture-of-Attentions architecture is grounded in Discrepancy Calculus — a measure-theoretic framework where the metric slope (Axiom 11.1 of the DISC monograph) replaces dot-product similarity:

$$Df(x) := \limsup_{r \downarrow 0} \sup_{0 < d(x,y) < r} \frac{|f(y) - f(x)|}{d(x,y)}$$

This is the discrepancy operator on metric-measure spaces. On smooth Riemannian manifolds with $f \in C^1$: $Df(x) = |\nabla f(x)|$ — classical recovery. On the irregular domains that arise in real attention patterns, $D$ quantifies structural mismatch that dot-product attention cannot detect.

BlackHoleRoPE's discrepancy modulation connects directly to the discrepancy energy functional $E_{\text{disc}}[f] = \frac{1}{2}\int w(x)(Df(x))^2 d\mu(x)$: the bounded energy gating on value vectors ensures positional encoding stays within Lyapunov-stable bounds, which is the DISC condition for structural stability (Ch. 16, Discrepancy Mechanics).

L2-star discrepancy used for thermodynamic governance during training measures the gap between the empirical distribution of gradient magnitudes and the uniform distribution — a direct application of the discrepancy operator to training dynamics.

Full theory: "On the Formal Analysis of Discrepancy Calculus" (CIx, 2026; Convergent Intelligence LLC: Research Division). Full methodology: Structure Over Scale (DOI: 10.57967/hf/8165).

Related Models

Model Downloads Format
MoA-100M 14 HF
MoA-155M 2 HF
MoA-400M 3 HF

Top Models from Our Lab

Total Portfolio: 49 models, 22,598 total downloads

Last updated: 2026-03-28 12:57 UTC


From the Convergent Intelligence Portfolio

DistilQwen Collection — Our only BF16 series. Proof-weighted distillation from Qwen3-30B-A3B → 1.7B and 0.6B on H100. Three teacher variants (Instruct, Thinking, Coder), nine models, 2,788 combined downloads. The rest of the portfolio proves structure beats scale on CPU. This collection shows what happens when you give the methodology real hardware.

Top model: Qwen3-1.7B-Coder-Distilled-SFT — 508 downloads

Full methodology: Structure Over Scale (DOI: 10.57967/hf/8165)

Convergent Intelligence LLC: Research Division

Configuration

Architecture
MoAMetricLM
Context length (tokens)
2,048
Layers
8
Vocabulary size
151,665
Model type
moa_metric

Identity and Version

Repository
reaperdoesntknow/MoA-150M
Publisher
Convergent Intelligence
Task
Text generation
Modality
Text
Library
transformers
Parameters
Not stated by the source
Languages
en
Revision
33b66c6ce791ef531cf55d9a77547c51e5b8d7fb
First published
2025-09-21
Last updated
2026-09-18

Files and Weights

16 files, 639.9 MB in total. The weights are 1 file totalling 623.9 MB in bin.

Weights1 file · 623.9 MB
Configuration5 files · 11.7 KB
Tokenizer4 files · 15.9 MB
Documentation1 file · 12.2 KB
Other4 files · 81.3 KB
Repository1 file · 1.6 KB
Every file
FileTypeSizeSHA-256
pytorch_model.binWeights623.9 MB 2d3cadbb015b
MoA-150M_results.jsonConfiguration9.2 KB
added_tokens.jsonConfiguration605 B
config.jsonConfiguration1.3 KB
generation_config.jsonConfiguration131 B
special_tokens_map.jsonConfiguration502 B
README.mdDocumentation12.2 KB
chat_template.jinjaOther2.4 KB
events.out.tfevents.1758523788.ed35ea831684.8365.0Other18.4 KB 21a0268fbab3
events.out.tfevents.1758602109.1c460362fafd.8212.6Other6.1 KB 01d1e1c09fc8
events.out.tfevents.1758602150.1c460362fafd.8212.7Other54.4 KB df26ea7491a3
.gitattributesRepository1.6 KB
merges.txtTokenizer1.7 MB
tokenizer.jsonTokenizer11.4 MB 9c5ae00e602b
tokenizer_config.jsonTokenizer4.7 KB
vocab.jsonTokenizer2.8 MB

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
623.9 MB
Download from Convergent Intelligence

Released by Convergent Intelligence through its official repository on Hugging Face. Read the license.

Built From

  • Trained on (disclosed) HuggingFaceH4/MATH-500
  • Trained on (disclosed) QingyiSi/Alpaca-CoT
  • Trained on (disclosed) WeMake/Intelligent-Content-Understanding
  • Trained on (disclosed) m-a-p/DeepWriting-20K
  • Trained on (disclosed) zai-org/LongWriter-6k

Memory Requirements

PrecisionWeights in memory
As published623.9 MB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About MoA-150M

Can I use MoA-150M commercially?

Yes. MoA-150M is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

What is MoA-150M's context length?

2,048 tokens, from the maximum position embeddings in its published configuration.

Similar Models

Fine-tune Qwen3 (14B) for free using our Google Colab notebook! - Read our Blog about Qwen3 support: unsloth.ai/blog/qwen3 - View the rest of our notebooks in our docs here. Qwen3-Coder is available in multiple sizes. Today, we're excited to introduce Qwen3-Coder-30B-A3B-Instruct. This streamlined model maintains impressive performance and efficiency, featuring the following key enhancements: - Significant Performance among open models on Agentic Coding, Agentic Browser-Use, and other foundational coding tasks. - Long-context Capabilities with native support for 256K tokens, extendable up to 1M tokens using Yarn, optimized for repository-scale understanding. - Agentic Coding supporting for…

Open weights apache-2.0 transformers

Model · Text generation

opt-125m

AI at Meta

OPT was first introduced in Open Pre-trained Transformer Language Models and first released in metaseq's repository on May 3rd 2022 by Meta AI. Disclaimer: The team releasing OPT wrote an official model card, which is available in Appendix D of the paper. Content from this model card has been written by the Hugging Face team. To quote the first two paragraphs of the official paper OPT was predominantly pretrained with English text, but a small amount of non-English data is still present within the training corpus via CommonCrawl. The model was pretrained using a causal language modeling (CLM) objective. OPT belongs to the same family of decoder-only models like GPT-3. As such, it was…

Open weights other 2,048 tokens transformers

Model · Text generation

Ornith-1.5-9B-GGUF

Ornith

Chirp Chirp! We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement. Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For…

Open weights mit transformers

Model · Text generation

Ornith-1.5-35B-A3B-GGUF

Ornith

Chirp Chirp! We are introducing Ornith-1.5, a major step toward building foundation models through end-to-end self-improvement. Ornith-1.5 extends Ornith-1.0 (which was developed on top of Qwen3.5 and Gemma4 with additional continued pretraining, mid-training, and post-training) by expanding the self-improvement loop from scaffold and rollout optimization to jointly optimizing task generation, scaffold construction, and solution rollouts. Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning. For…

Open weights mit transformers

Model · Text generation

Ornith-1.0-9B-GGUF

Ornith

Aloha! Today, we are releasing Ornith-1.0, a self-improving family of open-source models for agentic coding. This model card documents Ornith-1.0-9B, the most lightweight member of the Ornith family, designed for efficient single-GPU deployment. Ornith-1.0-9B is a dense ~9B model (≈19 GB in bf16), so it serves comfortably on a single 80GB GPU. The recipes below stand up an OpenAI-compatible server; add --tensor-parallel-size / --tp if you want to shard across more GPUs. For a quick local test (or to script offline generation), load the model directly with Transformers. Make sure you have a recent release installed — see the Transformers installation guide; Ornith-1.0-9B requires…

Open weights mit transformers

Uncensored Qwen3.8-27B, published as GGUF quantizations with the multi token prediction (MTP) head retained and verified. Refusal behaviour has been substantially reduced, not eliminated. See Measured behaviour for the numbers. Capabilities, training data, and architecture are otherwise unchanged. - Refusal directions removed with Heretic, which co minimizes refusal count against KL divergence from the base model. No handwritten refusal removal code, no finetuning, no additional training data. - Abliteration runs at bf16 (no 4 bit quantization). the resulting LoRA is merged into the bf16 base, so the published weights are not a quantized round trip. - mtp. tensors are copied verbatim from…

Open weights apache-2.0 llama.cpp