/ Модель

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

Контекст
40 960 токенов
Параметры
522 млн
Лицензия
Apache 2.0
Архитектура
qwen3 · dense
Базовая модель
Qwen3-0.6B
Опубликована
4 сен 2026

qwen3-0.6b-supermultimodal

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

Экспериментальная текстовая модель на базе Qwen3-0.6B, имитирующая выводы двадцати встроенных классификаторов.

74скачиваний за 30 дней4лайкавеса обновлены10 сен 2026

Бенчмарки

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

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

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

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

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

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

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

Экспериментальная шуточная модель heterodoxin, построенная на базе плотной Qwen3-0.6B для генерации текста. В чекпойнт добавлены двадцать приближённых классификаторов («чувств»), чьи веса получены решением задач наименьших квадратов; обучение с градиентным спуском, LoRA и дистилляция не применялись. Модель содержит 522,2 млн параметров, использует архитектуру Qwen3ForCausalLM, формат safetensors и контекст до 40 960 токенов.

Модель предназначена прежде всего для демонстрации того, как языковая модель имитирует выводы встроенных классификаторов, а не для практического применения. Среди заявленных задач — оценка тональности, иронии и логического следования; заявленная средняя сбалансированная точность по двадцати задачам составляет 0,503. Для загрузки достаточно AutoModelForCausalLM без пользовательского кода. Лицензия — Apache-2.0.

Это не универсальная мультимодальная модель: встроенные классификаторы приближённо воспроизводятся по текстовому вводу, а их исходные модели не выполняются. Результаты наследуют особенности доноров, могут ухудшаться при загрузке в float16, а модель не умеет выбирать между противоречащими выводами классификаторов. Автор прямо характеризует её как шутку без предполагаемого практического применения.

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

  • демонстрация имитации оценок тональности текста
  • экспериментальная оценка иронии в тексте
  • проверка логического следования между текстовыми утверждениями

Ограничения

Встроенные классификаторы лишь приближённо имитируются, наследуют особенности доноров и не разрешают противоречия между их выводами. При загрузке в float16 качество снижается, возможны неконечные значения логитов; автор обозначает модель как шутку без целевого практического применения.

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

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

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

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

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

Открыть на Hugging Face

qwen3-0.6b-supermultimodal

Twenty pretrained neural nets, baked into one stock Qwen3-0.6B checkpoint. No loader, no custom code, no trust_remote_code. AutoModelForCausalLM.from_pretrained and nothing else.

Hand it a neural net that names its own outputs and it works out what that net's output means, with no code written for the donor. Not every net makes it: one whose outputs are unnamed, or whose judgement cannot be read back out of its input without running it, is declined out loud. Twenty made it in.

Where the meaning comes from

Two models have to be shown the same thing to be aligned, and that correspondence is the one thing no method invents out of frozen weights. There are exactly two honest sources, and both are read off the donor itself rather than supplied by hand.

A classifier already ships the name of every output index. So the anchors are its own one-hot outputs paired with its own names, and the probes are real inputs paired with whatever the donor itself predicts for them. The donor labels its own probes. Nobody labels anything.

A net that names nothing is declined out loud. Of the roster tried here, four were declined for naming nothing: a grammar classifier, an SMS spam classifier, a sarcasm detector and a question classifier all call their classes LABEL_0 and LABEL_1, and what those mean is not recoverable from the net alone.

Five more were declined for a different reason. A toxicity model, a refusal detector, a jailbreak detector, an offensive language model and a hate speech model all score at chance even offline, before anything is baked, because their judgement depends on how the words combine and cannot be read back out of the donor's input without running the donor itself. A moderation model was screened out the same way. They were replaced rather than shipped at chance.

The twenty senses

senseclassesbalanced accuracychance
sentiment20.8730.500
irony20.8450.500
entail30.7330.333
feeling70.6710.143
emotion280.3730.036
language200.3080.050
code60.4770.167
topic190.2900.053
formality20.6810.500
intent150.1680.067
nsfwtext20.5990.500
gibberish40.4550.250
clickbait20.9200.500
finance30.7020.333
emoji200.1910.050
policy70.4210.143
genre90.3150.111
news70.3590.143
mood30.4130.333
rating50.2550.200

Mean balanced accuracy 0.503 over 20 senses, 20 of them clearly above chance, meaning at least 15 percent over it. Balanced, so a lopsided donor cannot fake it, and scored on held-out inputs the fit never saw.

What is actually in the file

Neurons, appended to the host's own MLPs. One bank per sense, late, which reads the residual at the answer position and pushes the donor's verdict.

There used to be a second bank, early, which read the payload and wrote a marker for the late bank to pick up. It turns out the host's own attention already carries the payload to the answer position, at 0.815 here, and the relay bank was destroying what was already there rather than delivering it. Removing it made every sense better and halved the neurons.

Every layer is padded to a single intermediate_size so the config stays stock Qwen3, and that padding is an exact no-op (max logit change 0.000e+00).

Twenty banks share that one layer, so each gate is fitted to stay shut on every other sense's real queries, asked with that sense's own prompt, and on the host's own generations. Fitted against ordinary text alone, one sense's bank fired on another's query with a write thousands of times larger than the right answer, and a class word turned up in plain text generation.

Nothing was trained. No gradient step, no fine-tune, no LoRA, no distillation. Every weight added here is the solution of a least-squares problem.

Using a sense

The model loads with nothing: AutoModelForCausalLM.from_pretrained on this repo. The weights are float32 and that is what loads by default. Forced to float16 the senses still clear chance but lose several points each, and the odd answer overflows to non-finite logits. A sense's input is built from the donor's own tokenizer and embedding table, plus what senses.json ships for that sense: its prompt, payload scale, class tokens and private direction. That takes one function:

def sense_token(x, D, scale=0.925, priv=None, alpha=30.0):
    """Pack a donor input into one token, sized like a real embedding. A larger scale makes the
    payload dominate layer-0 attention, so it reads back more precisely: R2 0.966 at 0.925, 0.996
    at 30, which is the difference between approximating the donor and running it."""
    v = torch.zeros(D)
    f = x.flatten().float()
    v[:min(len(f), D - 2)] = f[:D - 2]
    v[D - 1] = 1.0
    v = v / v.norm() * scale
    return v if priv is None else v + alpha * priv.to(v.device)

and then:

import json, torch
from huggingface_hub import hf_hub_download
from transformers import AutoModelForCausalLM, AutoTokenizer, AutoModelForSequenceClassification

torch.set_grad_enabled(False)
REPO = "heterodoxin/qwen3-0.6b-supermultimodal"
tok = AutoTokenizer.from_pretrained(REPO)
m = AutoModelForCausalLM.from_pretrained(REPO)
S = json.load(open(hf_hub_download(REPO, "senses.json")))

s = S["sentiment"]
donor = AutoModelForSequenceClassification.from_pretrained(s["donor"])
ids = AutoTokenizer.from_pretrained(s["donor"])("what a wonderful film", return_tensors="pt",
        truncation=True, max_length=64, padding="max_length")["input_ids"]
x = donor.get_input_embeddings()(ids).mean(1)[0]

emb = m.get_input_embeddings()
head = emb(tok(s["head"], return_tensors="pt", add_special_tokens=False)["input_ids"])
tail = emb(tok(s["tail"], return_tensors="pt", add_special_tokens=False)["input_ids"])
v = sense_token(x, emb.weight.shape[1], s["scale"], torch.tensor(s["priv"]))
t = int(m(inputs_embeds=torch.cat([head, v.to(head.dtype)[None, None], tail], 1)).logits[0, -1].argmax())
print(s["labels"][s["tokens"].index(t)] if t in s["tokens"] else tok.decode([t]))

Every other sense works the same way: swap "sentiment" for its name in senses.json.

Limitations

  • A donor's own quirks pass straight through, faithfully.
  • Each sense is approximated, not executed. Executing a donor stage by stage needs a host layer per stage and 2*width+1 reserved directions; twenty 768-wide transformer donors would need 62GB of added layers, so these are fitted rather than run.
  • It has no idea which of its donors to believe when they disagree.

Intended use

None. It is a joke. Use it to find out what a language model sounds like when you hand it somebody else's neural network and no explanation of what it is for.

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

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

GPU в ailist

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

Можно запустить

Подбираем GPU…

Класс архитектуры
Qwen3ForCausalLM
Ревизия весов
83dc350

0 моделей