seed-net

0

Описание

Языки

  • HTML59,2%
  • Python40,7%
  • Shell0,1%
README.md

SEED-NET: Self-Evolving Expert Domain Network

Самомодифицирующиеся нейросети с динамической архитектурой — от идеи до 23 экспериментальных фаз на одной RTX 4090.

English summary below


Что это

SEED-NET — исследовательский проект, посвящённый вопросу: можно ли научить нейросеть расширять саму себя, не ломая то, что она уже умеет?

Архитектура строится на трёх принципах:

  1. Замороженный backbone — базовая модель (Qwen 2.5 3B) остаётся нетронутой
  2. Domain-specific MoE experts — лёгкие модули-эксперты подключаются к выбранным слоям
  3. Обучаемый маршрутизатор — решает, когда направить токен к эксперту, а когда оставить backbone работать самостоятельно

Ключевое свойство: hot-plug — подключение нового эксперта с 0.000% деградацией на задачах, которые решал backbone до модификации.

Главные результаты

ОткрытиеФазаСуть
Перплексия ≠ качество16–1831% улучшение PPL → всего +0.29pp MMLU. На 3B масштабе эксперты на сырых текстах ухудшают GSM8K на −8.6pp
Самодистилляция — прорыв19Тот же MoE, но обученный на собственных CoT-решениях модели: +9.7pp разворот (от −8.6pp до +1.1pp)
Качество > количества19–21119K токенов правильных решений > 4M токенов сырого текста. Diverse sampling ухудшает результат
Логарифмическая траектория20–22Итеративный self-improvement работает, но с убывающей отдачей. При надёжном измерении (std=0.61pp) цикл выходит на плато
Warm-start = переобучение22PPL улучшается (1.58→1.36), а GSM8K деградирует (76.4%→71.6%). Метрика обучения обманывает
Label smoothing катастрофичен21−9pp на reasoning-задачах. «Уверенность — не баг, а фича»
Hot-plug идеален на всех масштабах15–180.000% деградации от GPT-2 124M до Qwen 2.5 3B

Масштабирование через backbones

BackboneПараметрыPPL improvementRouter gapDownstreamHot-plug
GPT-2124M35.6%6.6%
Pythia410M30.3%5.9%0.000%
Pythia1B28.0%3.2%+0.29pp MMLU0.000%
Qwen 2.53B10.5%0.4%+1.1pp GSM8K*

* С self-distillation (Phase 19). Без неё: −8.6pp.

Структура проекта

llm-analisis/ ├── seed-net/ # Эксперименты: 23 фазы, 145 Python-скриптов │ ├── phase1..phase6/ # CIFAR-100: базовые механизмы роста │ ├── phase7a..phase13/ # CIFAR-100: MoE, routing, pruning, lifecycle │ ├── phase14..phase17/ # NLP: GPT-2 → Pythia-410M → Pythia-1B │ ├── phase18/ # Qwen 2.5 3B + 4-domain MoE │ ├── phase19/ # Self-generated CoT (прорыв) │ ├── phase20..phase22/ # Self-improvement loop, reproducibility │ └── phase23/ # GRPO, расширенные эксперименты ├── reports/ # 49 аналитических отчётов (4 волны исследования) ├── papers/ # 31 HTML — сохранённые статьи (MoE, NCA, progressive training) ├── requirements.txt # Зависимости └── LICENSE # AGPL-3.0

Навигация по фазам

Каждая фаза содержит:

  • PHASE_N_RESULTS.md
    — итоговый отчёт с таблицами, выводами, вердиктами (GO / PARTIAL / NO-GO)
  • train_exp*.py
    — скрипты экспериментов (запускаются независимо)
  • results_*.json
    — машиночитаемые результаты
  • checkpoint_*.pt
    — контрольные точки (исключены из git, см.
    .gitignore
    )

Ключевые точки входа:

Быстрый старт

Требования

  • Python 3.10+
  • NVIDIA GPU с ≥16 GB VRAM (тестировалось на RTX 4090 Laptop)
  • CUDA 12.x

Установка

Запуск эксперимента

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

Флаг

-u
обязателен для unbuffered output при фоновом запуске.

Хронология исследования

CIFAR-100 (Phases 1–13)

Валидация базовых механизмов на визуальной задаче:

  • Phase 7a: Cosine LR = +7.25pp. GO
  • Phase 7b: Aux losses всегда вредят (−11% to −27%). NO-GO
  • Phase 10: Growth + MoE = 73.53%. STRONG GO
  • Phase 11: Independent MoE = 74.53% (рекорд CIFAR-100)
  • Phase 13: Routing решён, но паттерны CIFAR-100 не переносятся на NLP

NLP (Phases 14–17)

Переход к языковым моделям, multi-domain обучение:

  • Phase 14: GPT-2 124M + 4 домена. PPL improvement 35.6%
  • Phase 15: Pythia-410M + 6 доменов. Hot-plug идеален. STRONG GO
  • Phase 16: Pythia-1B + 8 доменов. Router gap 3.2%. GO
  • Phase 17: Downstream + lifecycle. PPL ≠ accuracy. PARTIAL

Масштаб 3B (Phases 18–23)

Qwen 2.5 3B — проверка на реальном масштабе:

  • Phase 18: Эксперты на сырых текстах: PPL −10.5%, но GSM8K −8.6pp
  • Phase 19: Самодистилляция через CoT: GSM8K +1.1pp. Прорыв
  • Phase 20: Self-improvement loop: CoT 85.1%→89.1%, GSM8K 75.5%→76.0%
  • Phase 21: Оптимизация: wd=0.05 = +3pp, label smoothing = −9pp
  • Phase 22: Воспроизводимость: std=0.61pp. Warm-start деградирует, cold-start — плато
  • Phase 23: GRPO и расширенные эксперименты

Общее время GPU: ~97.5 часов

Технологический стек

  • PyTorch 2.10+ — обучение и инференс
  • Hugging Face Transformers 5.2+ — backbone-модели и токенизаторы
  • Hugging Face Datasets — загрузка бенчмарков (GSM8K, MMLU, CIFAR-100)
  • NumPy — вспомогательные вычисления

Проект намеренно не использует тяжёлые фреймворки (DeepSpeed, FSDP, Megatron) — все эксперименты воспроизводимы на одной потребительской GPU.

Ссылки

Лицензия

GNU Affero General Public License v3.0


English Summary

SEED-NET (Self-Evolving Expert Domain Network) explores dynamic neural network architectures where a frozen backbone model is extended with domain-specific Mixture-of-Experts modules and a learned router.

Key findings across 23 experimental phases:

  • Perplexity improvements don't transfer to downstream tasks at scale (31% PPL gain = −8.6pp GSM8K on 3B)
  • Self-distillation on model's own Chain-of-Thought solutions fixes the problem (+9.7pp swing)
  • Hot-plug capability works perfectly (0.000% degradation) from 124M to 3B parameters
  • Self-improvement loops follow logarithmic trajectories and plateau with reliable measurement
  • All experiments reproducible on a single RTX 4090 (16 GB VRAM), ~97.5 GPU-hours total

Tech stack: PyTorch, Hugging Face Transformers, Datasets. No heavy distributed frameworks.

License: AGPL-3.0