YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

LoopedQwen: фиксированный порядок MLP → Attention, seed 43

Лучший checkpoint проекта LoopedQwen, полученный в эксперименте 007. Это небольшая рекуррентная по глубине авторегрессионная языковая модель на основе декодера Qwen3. Одни и те же два физических декодерных слоя используются на каждой итерации.

Финальная архитектура применяет стандартные подслои Qwen3 в обратном порядке:

MLP → Attention

Изменение не добавляет параметров и не увеличивает число вызовов Attention/MLP относительно контроля Attention → MLP.

Параметры модели

Характеристика Значение
Параметры 5 670 402
Словарь 16 000, byte-level BPE
Размер скрытого состояния 256
Общие физические слои 2
Глубина при обучении равномерно случайная, 8–24 итерации
Контекст 512 токенов
Обработанные обучающие токены 9 994 240
seed 43
Рекомендуемая глубина остановки 11–12 итераций

При обучении используются intermediate LM losses на итерации 8, в midpoint и на выбранной конечной глубине. Финальная loss имеет вес 0,5, две ранние — по 0,25.

Результаты

Dense evaluation проводится на каждой целой глубине от 4 до 32 по 100 validation batches. Для каждой глубины генератор инициализируется одинаковым seed 1234, поэтому все depth оцениваются на одном и том же наборе sampled batches.

Метрика Attention → MLP, среднее по 3 seed MLP → Attention, среднее по 3 seed
Лучший PPL 1108,46 943,95
Средний PPL, глубины 8–24 1114,20 949,77
PPL@16 1112,72 947,07
PPL@24 1123,97 961,01
PPL@32 1137,03 980,65

MLP → Attention снижает средний PPL по глубинам 8–24 на 14,76% для seed 42–44 и выигрывает во всех 87 проверенных сочетаниях «seed × depth».

Выбранный checkpoint с seed 43 имеет лучший PPL 905,82 на depth 11, средний PPL 912,40 на depth 8–24, PPL@16 909,87 и PPL@32 944,76.

Точное воспроизведение этих PPL требует исходного val.bin, использованного в эксперименте. Повторная подготовка validation stream из FineWeb воспроизводит протокол оценки, но из-за потокового источника данных не гарантирует точного совпадения абсолютных значений.

Загрузка

Репозиторий модели содержит пользовательский код Transformers. Используйте проверенную версию Transformers и явно разрешите загрузку custom code:

pip install "transformers==5.15.1" torch
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

repo_id = "Nek1tt/LoopedQwen-fixed-ma-seed43"

tokenizer = AutoTokenizer.from_pretrained(
    repo_id,
    trust_remote_code=True,
)

model = AutoModelForCausalLM.from_pretrained(
    repo_id,
    trust_remote_code=True,
).eval()

inputs = tokenizer(
    "Циклические языковые модели",
    return_tensors="pt",
)

with torch.no_grad():
    outputs = model(**inputs, num_loops=12)

print(outputs.logits.shape)

Ограничения

  • Это исследовательская модель с 5,67 млн параметров, обученная менее чем на 10 млн токенов, а не универсальный ассистент.
  • Perplexity достигает минимума примерно на 11–12 итерациях и затем медленно растёт; дополнительные вычисления при inference полезны не монотонно.
  • KV cache отключён, потому что стандартный cache Qwen3 индексируется по физическим слоям, а не по позициям рекуррентной глубины.
  • Опубликованные PPL получены на фиксированном validation stream FineWeb и не проверялись на задачах reasoning.
  • При trust_remote_code=True выполняется пользовательский код модели, опубликованный вместе с checkpoint. Перед запуском можно проверить modeling_looped_qwen3.py.

Полные конфигурации, исходные кривые, анализ по seed 42–44, причинные вмешательства и инструкции воспроизводимости находятся в репозитории проекта.

Downloads last month
279
Safetensors
Model size
5.67M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support