iFlexible
814 subscribers
2.16K photos
142 videos
65 files
53 links
Все вопросы: https://t.me/proxy3d
Download Telegram
🎯 Эксперимент с MoE: как по-другому понять экспертов и почему они учатся медленно

Эту неделю я тестирую архитектуру Mixture-of-Experts (MoE) с немного необычной интерпретацией, которая оказывается удивительно полезной.
Для меня MoE — это не «способ ускорения модели», а способ разложить задачу на несколько локальных максимумов C(L) (в терминах ранговой теории доминирования локальных максимумов).

Каждый эксперт в MoE можно рассматривать как:
• отдельную функцию-аппроксимацию одного локального максимума

То есть FFN-эксперт пытается описать свой собственный участок функции C(L), со своей кривизной, своим доминирующим паттерном, своим мини-сюжетом.

Если переписать в терминах модели:
• без MoE — один FFN пытается обобщить ВСЕ локальные максимумы сразу → переобобщение, потеря деталей

• с MoE — каждый FFN отвечает только за свою «зону ответственности» → лучше детализация, меньше конфликтов

Но тут сразу возникает серьёзная практическая проблема.

🚧 Почему стандартное обучение MoE работает плохо

MoE обычно обучают с нуля, и это приводит к двум вещам:

1) Данные размазываются между экспертами

У вас есть, допустим, 1000 примеров.
С четвёркой экспертов реально каждый из них видит ≈250 примеров, а иногда и меньше.
Для FFN это мало → эксперт не может выучить свой локальный максимум.


2) Маршрутизация «не знает», куда слать примеры

В начале обучения эксперты одинаково плохие → маршрутизатор выбирает случайно.
Это создаёт эффект «сломанного выбора» — усреднение без структуры.


3) Эксперты изначально пустые, без общей формы

Они начинают с нуля и конкурируют за данные
без базовой общей аппроксимации.


В итоге MoE теряет смысл: эксперты не учатся своей зоне C(L), а просто шумят.

🔧 Как можно улучшить обучение MoE

Идея, которую была протестирована:

Шаг 1. Сначала обучаем один FFN (без MoE)

Он получает ВСЮ статистику.
Он строит обобщённую аппроксимацию всех локальных максимумов.

Он не идеален для каждого локального максимума, но он даёт каркас:
• морфологию
• синтаксис
• общие смысловые паттерны
• глобальную структуру языка

То, что MoE с нуля просто не успевает создать.

Шаг 2. Затем включаем MoE, но инициализируем все эксперты этим FFN

То есть каждый эксперт стартует с одинакового обобщённого решения.

Это критически важно:
• маршрутизатор видит одинаковые решения — нет хаоса
• эксперты начинают с общей базы, но дальше «специализируются»
• меньше провалов при начале обучения
• не возникает экспертов, которые “так и не поняли задачу”

По сути, мы делаем плавную инициализацию вместо случайной.

🔬 Результаты теста

Проверен на маленьком эксперименте:
• данные: ~1000 примеров (начальные главы «Мастер и Маргарита»)
• 20 эпох
• MoE с 4 экспертами
• динамическая β-регуляция

Несмотря на то, что данных на каждого эксперта стало меньше, модель:
• не сломала морфологию
• не потеряла синтаксис
• генерирует фразы, похожие на литературный текст
• строит смысловые связи («ответил голос», «шептал он»)
• местами держит сюжетность

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

🧠 Ключевой вывод

MoE действительно работает как набор локальных функций-аппроксимаций C(L).
Но чтобы он начал обучаться правильно, его экспертов нужно инициализировать общим FFN.

Иначе:
• маршрутизатор ведёт себя хаотично
• эксперты получают слишком мало данных
• MoE не раскрывает свой потенциал

А простой двухшаговый процесс
(общий FFN → инициализация MoE → дообучение)
делает обучение заметно устойчивее.
🔥3👍2
Наконец, разобрался как правильно согласно теории встроить β во все FFN и заодно показать результат правильной реализации MoE. Для этого сравнил два подхода:
— классическую LLM, построенную по инженерным эвристикам,
— и архитектуру, основанную на ранговой теории.

Результаты оказались настолько различными, что это фактически демонстрация перехода от «магической» эпохи ИИ к научной.

Но важно понимать:
ранговая теория — это не про текст.
Она вне языковых рамок.


Это универсальная математическая теория структуры, применимая к:
• сигналам зрения,
• звуку,
• тексту,
• потокам данных,
• физическим процессам,
• биологическим системам,
• социальным структурам,
• любым упорядоченным последовательностям.

Она объединяет разные типы информации в одно ранговое пространство и позволяет системе самостоятельно балансировать эти данные, учиться и организовываться.

🔥Современные нейросети можно сравнить с пещерным человеком, добывшим огонь

Современные архитектуры ИИ — это набор инженерных находок, которые случайно оказались работающими.

Это буквально как пещерный человек, который ударил два камня друг о друга и увидел искру.
Он знает, что искра появляется, но не понимает:
• что такое огонь,
• почему он появляется,
• что заставляет его гореть,
• где пределы метода,
• как сделать это лучше, надёжнее, эффективнее.

Вместо знаний — магические объяснения.
Огонь воспринимается как чудо, а камни — как магические артефакты.

Так же и в ИИ сегодня:
• почему работают трансформеры?
• почему self-attention даёт структуру?
• почему MoE иногда стабилен, а иногда нет?
• почему LLM «понимают» текст?
• где пределы обучения?
• почему возникают ошибки?
• почему необходим огромный объём данных?


Ответы начинаются с «потому что так сложилось».
И заканчиваются словом «магия».

🧬 Ранговая теория убирает магию. Она объясняет устройство.

Она:
• объясняет почему появляются структуры,
• показывает как они формируются,
• задаёт точные границы возможностей,
• предсказывает устойчивые состояния,
• даёт критерии релаксации и исчезновения значимости,
• описывает иерархии уровней,
• раскрывает природу неопределённости и её регулирования,
• объединяет разные виды сигналов в единое ранговое пространство.

Это фундаментальная теория, а не инженерная сборка.
Это не набор «трюков» вроде dropout или warmup.


Это наука о структурировании информации, доказанная на практике и имеющая предсказательную силу.

🚀 Именно это делает ранговую архитектуру не просто лучше — а иной по сути

Система на основе ранговой теории:
• сама регулирует неопределённость;
• сама формирует уровни иерархии;
• сама определяет значимость элементов;
• сама обучается на крайне малых данных;
• сама балансирует разные источники информации (текст+звук+видео);
• сама организует память;
• сама управляет своим состоянием и динамикой.


Это поведение не нейросети.
Это поведение самоорганизующейся информационной системы.

🌌 Где границы применения ранговой теории?

Таких границ нет.
Везде, где существует структура — теория применима:
• язык,
• зрение,
• нейробиология,
• экономические системы,
• сложные физические процессы,
• квантовые зависимости,
• управление,
• адаптивные системы,
• астрофизика,
• системная биология.

Ранговая теория даёт новый язык описания сложных систем.
Этот подход масштабируется от текста до космоса.

⭐️ И теперь — самое главное

То, что мы сделали сейчас — лишь малая часть теорем.
Мы использовали несколько структурных идей теории, чтобы проверить:
работают ли её предсказания на практике в виде LLM-подобной архитектуры?

И результат даже превзошёл ожидания:
• стабильная грамматика,
• морфология,
• смысловые связи,
• отсутствие коллапсов,
• высокая когерентность,
• правильное словообразование,
— всё это при всего 1000 примеров.

Это демонстрация:
мы видим начало новой архитектурной эпохи.
🔥6👍1
🔬Практическая проверка теорем: тест предсказательной силы ранговой теории

Итак, на текущем этапе давайте добавим некоторые элементы ранговой теории в код LLM, в строгом соответствии формальным теоремам.

Цель простая, проверить: совпадает ли фактическое поведение модели с тем, что предсказывают теоремы?

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

При этом одно распространённое заблуждение стоит сразу убрать:

Ранговая теория — не про сортировку и индексы.
Упорядочивание 1, 2, 3… — это вспомогательное обозначение вероятностей, чтобы работать с ранговой структурой Марковских цепей.
Сама теория не зависит от этих чисел.


Вот что реализовано в текущем тесте. Условие те же, 1000 примеров обучения.

1) Все блоки трансформера теперь участвуют в формировании выхода

Отказ от классической схемы «выход = последний блок».

Теперь каждый блок даёт собственный вклад в ранговую структуру.
Это напрямую следует из теорем о многоуровневой ранговой модуляции: распределение должно формироваться иерархически, на всех уровнях, а не только на верхнем.

Что проверяем:
совпадает ли фактическая иерархия выходов с предсказаниями теорем.

2) Введено ε-отсечение логитов — временный компромисс для фильтрации шума

Важно подчеркнуть:
ε — это не часть теории.
Это временный аналог бифуркационного порога, пока мы собираем статистику для точного вычисления.
Поэтому используем ε-отсечение, чтобы:
• отсекать явно шумовые ранги,
• предотвращать случайные “переходы за бифуркацию”.

Галлюцинации часто возникают, когда модель случайно выбирает токен, лежащий за пределами бифуркационного порога, где начинается шум.

Например:
“Столица Франции” → случайно выбранная “Москва” вместо “Париж”.

Argmax это исправляет, но убивает разнообразие.
А top_k/top_p не различают вероятный токен и шумовой — и часто усиливают проблему.


3) Длина текста теперь определяется структурно, а не ручными параметрами

Убираем управление длиной через temperature/top-p.

Теперь:
• β задаёт только начальный уровень «температуры»,
• дальше β адаптируется автоматически,
• длина текста определяется структурной сложностью входа (глубина, иерархия).

То есть:
• сложный текст генерирует длинное продолжение,
• простой текст — короткое.

Это точная проверка теорем об адаптивной температуре и постоянстве оптимальной температуры.

Мы смотрим, совпадает ли наблюдаемое поведение с тем, что должно происходить согласно теоретической модели.

Что ещё предстоит сделать:
• заменить ε-отсечение на точное бифуркационное (требует статистики)
• инициализация embeddings по собранной статистике до обучения
• проверка возможности реализации симметрии внутри трансформера (под вопросом).

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