/ Модель

Характеристики

Контекст
1 024 токена
Лицензия
Apache 2.0
Архитектура
moa_metric · dense
Библиотека
transformers
Опубликована
20 сен 2025

MoA-100M

Генерация текстаТекст → текст3 профессии

MoA-100M — экспериментальная авторегрессионная модель на архитектуре со смешанными метрическими механизмами внимания для генерации текста.

3 036скачиваний за 30 дней1лайквеса обновлены3 окт 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

MoA-100M — авторегрессионная языковая модель с архитектурой MoAMetricLM, разработанная reaper из Convergent Intelligence LLC. Это декодерный трансформер с несколькими механизмами внимания: локальной свёрткой, метрическим вниманием на основе расстояний L2, cosine и диагонального Mahalanobis, Metric MQA и смешиванием каналов. Маршрутизатор выбирает механизмы для каждого токена, а HyperFFN объединяет несколько ветвей feed-forward обработки. В карточке заявлено около 185 млн параметров, примерно 100 млн из которых эффективны благодаря смешиванию механизмов.

Модель предназначена для причинного языкового моделирования и генерации текста. Она использует токенизатор GPT-2; README указывает контекст 2048 токенов, тогда как метаданные Hugging Face задают native context в 1024 токена. Обучение описано на наборах Nemotron-Math-HumanReasoning и Intelligent-Content-Understanding, однако модель не следует считать универсальным помощником. Лицензия — Apache-2.0.

Проект находится на ранней экспериментальной стадии. KV-кэш генерации не реализован, поэтому на каждом шаге пересчитывается весь контекст. Модель не проходила настройку безопасности и выравнивание; возможны фактические ошибки, предвзятость и ненормативная лексика. Для медицинских, юридических и других ответственных применений требуется отдельная оценка.

Сценарии применения

  • эксперименты с авторегрессионной генерацией текста
  • исследование метрического внимания в языковых моделях
  • генерация и продолжение коротких текстов
  • сравнение маршрутизации механизмов внимания в трансформере

Ограничения

Контекст ограничен: README указывает 2048 токенов, а метаданные — 1024; KV-кэш отсутствует, поэтому генерация пересчитывает контекст на каждом шаге. Модель экспериментальная, не обучена безопасному поведению и может выдавать ошибки, предвзятый или ненормативный текст.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

MoAMetricLM‑100M — Mixture of Attentions (MoA)

A geometry‑aware Transformer that mixes several attention mechanisms and routes them with a metric‑based router.

  • Parameters: ~185 M (≈ 100 M effective due to the mixture)
  • Task: Causal language modeling (decoder‑only)
  • Library: 🤗 Transformers
  • KV cache: Not yet implemented (generation recomputes the full context at every step)

Model card

Model IDreaperdoesntknow/MoA-100M
Architecturemoa_metric (custom)
TokenizerGPT‑2 (gpt2) – pad_token set to eos_token
Context length2048 tokens
Training data2 × ≈ 256 k tokens from the datasets listed above
Training computeCPU‑only (Intel), FP32
Training hyper‑parametersLR = 5e‑4 (AdamW), batch = 4, seq ≤ 512, 500 k total tokens
Final loss≈ 0.30 (train)
LicenseApache‑2.0
SafetyNo alignment or safety fine‑tuning – outputs may be biased or inaccurate.
Intended useResearch on geometry‑aware attention, structured sparsity, and mixture‑of‑attention models.
Limitations• No KV‑cache → slower generation. • Small token budget → not a general‑purpose LM. • No safety/alignment training.
Out‑of‑scopeHigh‑stakes applications (medical, legal, etc.) without further evaluation.

Overview

MoA replaces the classic dot‑product attention with metric‑based attention and blends four distinct heads per Transformer block:

Head typeDescription
LocalConvHeadDepthwise‑separable 1‑D convolution → captures short‑range context.
Metric Multi‑Head Attention (MetricMHAttention)Soft‑min over L2 / cosine / diagonal‑Mahalanobis distances: (\displaystyle \text{attn}_{h}(i,j) \propto \exp!\big(-\alpha_h|q_i-k_j|^2\big))
Metric MQAMulti‑Query attention (shared K/V) in the same metric space – cheaper than full MHA.
ChannelMixHeadPer‑token MLP that mixes channel dimensions (no positional mixing).

A token‑wise router decides, for each token, which head(s) to use and applies feature‑gates (FiLM‑style) and router‑bias gates for up/down‑scaling.

The FFN is a HyperFFN – three parallel branches (SwiGLU MLP, separable‑conv, low‑rank) combined by a branch router. LayerScale and optional DropPath keep training stable.

Regularisation (optional)

  • Triangle‑inequality (TI) penalty on sampled triples to encourage true‑metric behaviour.
  • Ball pruning – each head learns an origin (o_h) and radius (r_h); keys outside the ball are masked, giving structured sparsity.

Architecture diagram (high‑level)

Input → Embedding → (PreNorm) → Block₁ → … → Blockₙ → LM‑Head → Output
                     │
                     ├─ LocalConvHead
                     ├─ MetricMHAttention
                     ├─ MetricMQA
                     └─ ChannelMixHead
                     (router decides per‑token)

Each Block also contains:
  → HyperFFN (SwiGLU | Conv | Low‑rank)  ← branch router
  → LayerScale + DropPath

Configuration (example)

{
  "model_type": "moa_metric",
  "vocab_size": 50257,
  "dim": 768,
  "num_layers": 12,
  "attn_heads": 8,
  "mqa_q_heads": 8,
  "mixer_hidden": 3072,
  "ffn_hidden": 3072,
  "metric": "l2",                     // "l2" | "cosine" | "maha_diag"
  "alpha_init": 1.0,
  "learn_alpha": true,
  "use_balls": true,
  "radius_init": 3.0,
  "learn_radius": true,
  "origin_init_scale": 0.0,
  "maha_init": 1.0,
  "ti_reg_weight": 0.0,
  "ti_reg_samples": 0,
  "router_hidden": 128,
  "router_dropout": 0.1,
  "router_temperature": 1.0,
  "attn_drop": 0.1,
  "proj_drop": 0.1,
  "drop_path": 0.0,
  "max_position_embeddings": 2048,
  "pad_token_id": 50256,
  "bos_token_id": 50256,
  "eos_token_id": 50256
}

Tip: If you use the GPT‑2 tokenizer, set pad_token = eos_token and make sure vocab_size matches the tokenizer (50257).


Quick‑start (inference)

>>> from transformers import AutoTokenizer, AutoModelForCausalLM

>>> model_id = "reaperdoesntknow/MoA-100M"
>>> tokenizer = AutoTokenizer.from_pretrained(model_id)
>>> tokenizer.pad_token = tokenizer.eos_token   # needed for the GPT‑2 tokenizer

>>> model = AutoModelForCausalLM.from_pretrained(model_id)

>>> prompt = "Explain metric‑based attention in simple terms:"
>>> inputs = tokenizer(prompt, return_tensors="pt")
>>> output_ids = model.generate(
...     **inputs,
...     max_new_tokens=128,
...     do_sample=False,          # deterministic; set temperature>0 for sampling
...     pad_token_id=tokenizer.pad_token_id,
... )
>>> print(tokenizer.decode(output_ids[0], skip_special_tokens=True))

Note: Because KV‑cache is not implemented, generation time grows linearly with the total context length.


Training (custom loop sketch)

from transformers import AutoTokenizer, AutoModelForCausalLM, DataCollatorForLanguageModeling
from torch.utils.data import DataLoader
import torch, torch.nn.functional as F

tokenizer = AutoTokenizer.from_pretrained("gpt2")
tokenizer.pad_token = tokenizer.eos_token

def collate_fn(examples):
    batch = tokenizer(
        [ex["text"] for ex in examples],
        padding="max_length",
        truncation=True,
        max_length=512,
        return_tensors="pt",
    )
    labels = batch["input_ids"].clone()
    labels[batch["attention_mask"] == 0] = -100
    batch["labels"] = labels
    return batch

# dataset = load_dataset(..., split="train")  # must contain a 'text' field
# loader = DataLoader(dataset, batch_size=4, shuffle=True, collate_fn=collate_fn)

model = AutoModelForCausalLM.from_pretrained("reaperdoesntknow/MoA-100M")
optimizer = torch.optim.AdamW(
    model.parameters(),
    lr=5e-4,
    betas=(0.9, 0.95),
    weight_decay=0.01,
)

for batch in loader:
    out = model(**batch)
    out.loss.backward()
    torch.nn.utils.clip_grad_norm_(model.parameters(), 1.2)
    optimizer.step()
    optimizer.zero_grad()

Evaluation checklist

  • Perplexity on a held‑out split of the two training datasets.
  • Ablation studies (keep total token budget constant):
    • L2 vs. cosine vs. diagonal‑Mahalanobis distance.
    • With / without ball pruning.
    • With / without HyperFFN branch router.
    • With / without TI regulariser.
  • Speed / memory comparison against a vanilla GPT‑2‑size model (same dim/layers).

Efficiency notes

FeatureWhat it does
Ball pruningMasks keys that lie outside a learned radius → reduces the quadratic attention cost.
Metric MQAShares K/V across heads → fewer projection matrices, lower FLOPs.
HyperFFN branch routerToken‑wise top‑k routing means only the most useful branch is evaluated per token.
CPU tipsSet OMP_NUM_THREADS / MKL_NUM_THREADS to the number of physical cores; use torch.set_num_threads() if needed.

Future roadmap: metric‑aware KV‑cache, kernelised distance approximations (e.g., Random Fourier Features), quantisation & mixed‑precision inference.


Safety, Bias & Risks

  • The model has not been fine‑tuned for safety or alignment.
  • Outputs may contain biases, profanity, or factual errors.
  • Do not deploy in high‑stakes contexts without additional evaluation, moderation, and possibly further fine‑tuning.

Discrepancy Calculus Foundation

This model is part of the Convergent Intelligence LLC: Research Division portfolio. All models in this portfolio are developed under the Discrepancy Calculus (DISC) framework — a measure-theoretic approach to understanding and controlling the gap between what a model should produce and what it actually produces.

DISC treats training singularities (loss plateaus, mode collapse, catastrophic forgetting) not as failures to be smoothed over, but as structural signals that reveal the geometry of the learning problem. Key concepts:

  • Discrepancy Operator (D): Measures the gap between expected and observed behavior at each training step
  • Jump Sets: Boundaries where model behavior changes discontinuously — these are features, not bugs
  • Ghost Imprinting: Teacher knowledge that transfers to student models through weight-space topology rather than explicit distillation signal

For the full mathematical treatment, see Discrepancy Calculus: Foundations and Core Theory (DOI: 10.57967/hf/8194).

Citation chain: Structure Over Scale (DOI: 10.57967/hf/8165) → Three Teachers to Dual Cognition (DOI: 10.57967/hf/8184) → Discrepancy Calculus (DOI: 10.57967/hf/8194)

License

Apache‑2.0 – see the LICENSE file in the repository.


Citation

@misc{moametriclm185m,
  title   = {reaperdoesntknow/MoA-100M: A Geometry-Aware Mixture-of-Attentions Language Model},
  author  = {Convergent Intelligencehawn and collaborators},
  year    = {2025},
  url     = {https://huggingface.co/reaperdoesntknow/MoA-100M}
}

Changelog

VersionDateNotes
v0.22025‑09‑20500 k‑token CPU run, GPT‑2 tokenizer, LR = 5e‑4, final loss ≈ 0.30.
v0.12025‑09‑20Initial public release: metric heads, MQA, ball pruning, HyperFFN, router & gates; HF‑compatible; no KV cache.

Maintainers


Special Remarks

  • This models still in an extremely experimental state. As are most of them, but im working on stabilizing this one for general inference.
  • I design create and train all of my models using my mathematical research and pure disgust for the dot product!
  • For those of you who actually read this and use my models, you make my day everytime I see another download, so thank you for being awesome!

Convergent Intelligence Portfolio

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

Related Models

ModelDownloadsFormat
MoA-150M4HF
MoA-155M2HF
MoA-400M3HF

Top Models from Our Lab

ModelDownloads
Qwen3-1.7B-Thinking-Distil501
LFM2.5-1.2B-Distilled-SFT342
Qwen3-1.7B-Coder-Distilled-SFT302
Qwen3-0.6B-Distilled-30B-A3B-Thinking-SFT-GGUF203
Qwen3-1.7B-Coder-Distilled-SFT-GGUF194

Total Portfolio: 41 models | 2,781 total downloads

Last updated: 2026-03-28 12:56 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

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Нельзя запустить

Архитектура moa_metric неизвестна transformers в образе рантайма.

Класс архитектуры
MoAMetricLM
Ревизия весов
4515d15

0 моделей