iFlexible
814 subscribers
2.16K photos
142 videos
65 files
53 links
Все вопросы: https://t.me/proxy3d
Download Telegram
Сейчас готовлю пример инициализации эмбеддингов (идет сбор статистики). Хочется на нем сразу решить еще две проблемы - симметрии (вырожденности) и ограниченности роста, но о них позже.
Поэтому пока начну с простого, но не менее интересного вывода из теорем.

Что показывает этот результат на графиках?

Мы обнаружили, что условная вероятность появления буквы имеет ограниченную длину корреляции.
Марковская цепь, как известно, описывается через условные вероятности P(a∣b).

Анализ показывает, что при расстоянии d>20 между символами условная вероятность P(a∣b,d) становится неотличимой от произведения маргинальных вероятностей P(a)⋅P(b). Более того, P(a∣b,d) и P(b∣a,d) на таких дистанциях полностью совпадают, образуя почти идеальную горизонтальную прямую на графике.

Это означает, что на уровне букв цепь теряет память — структура связи разрывается, и мы не можем восстановить зависимость между символами на основе их удалённых позиций. Иными словами, P(a∣b) перестаёт нести дополнительную информацию об "a" по сравнению с P(a).

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

Если бы подобное исследование было выполнено раньше и сделаны такие выводы, это стало бы отправной точкой для изучения точек разрыва (бифуркаций) в марковских цепях. Вслед за этим естественным шагом было бы создание полноценной теории иерархии данных. В таком случае ранговая теория могла бы появиться значительно раньше — и её не пришлось бы строить с нуля.

Меня особенно поразило, что я не нашёл ни одной публикации, где бы кто-то просто собрал и визуализировал частотность пар на разных расстояниях.
Практически все работы ограничиваются вычислением взаимной информации, энтропии или других интегральных показателей — но никто не показал саму “сырую картину”.
Это напоминает мне моё более раннее наблюдение об артикуляции речи:
https://t.me/greenruff/2035
я тогда предположил, что даже во время паузы между звуками артикуляторы движутся к следующей точке, из которой будет формироваться новый звук. И тоже оказалось, что никто до этого не исследовал такую базовую вещь.

Интересно, что это поведение вероятностей напоминает физику.
Как электроны в атоме, которые образуют устойчивые уровни на фиксированных энергетических оболочках, так и вероятности букв переходят на “устойчивый уровень” после выхода за радиус действия условных зависимостей. Наблюдатель на больших расстояниях видит уже не условные связи, а устойчивое распределение — маргинальные вероятности, не зависящие от локального контекста.


Буквы тянут друг друга только вблизи, дальше они независимы — как электроны, которые на большом расстоянии уже не чувствуют ядра
👍5🔥2🤔1
🧬 Ранговый токенизатор: переход из каменного века в эпоху Просвещения

Чтобы написать этот пост, потребовалось больше двух месяцев.
Начнем с токенизатора — потом перейдём к эмбеддингам.

Ссылка на ранговый токенизатор и тестовые классические:
https://disk.yandex.ru/d/-HIuDpvjIeSG6Q
stat15_seg.py - файл для его сборки,
llm_tokeniz.py - грубая реализация без оптимизации

🧠 Что показал ранговый токенизатор

Ранговый токенизатор не просто подтвердил теорию ранговых асимметрий — он показал результат, которого сегодня не даёт ни один существующий токенизатор.


📊 Примеры обучения

1000 примеров, ранговый токенизатор
Размер словаря модели: ≈19 592
Продолжить: «Коты это животные, которые» → Генерация: ", что уже и уже теперь, что"


400 примеров, словарь ≈50 000
Продолжить: «Коты это» → Генерация: " я"


4000 примеров, словарь ≈30 000
Продолжить: «Коты это»

при температуре 0.3 → " дуда ду,"
при температуре 0.7 → " друго его мыся меня ти глю."


📉 Для сравнения: обычный токенизатор (SentencePiece / WordPiece / BPE / Unigram)

На тех же 1000 примерах модель выдаёт бесконечный высокочастотный шум одиночных токенов (что - здесь это один токен):
Коты это животные, которые, –, и не, что, –, – и, и, –, что, и, и, и, и, и, и...

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


💡 Что делает ранговый токенизатор

1. Определяет EOS (конец предложения) уже на 100–400 примерах, не уходя в бесконечную генерацию.
2. Начинает выстраивать грамматику при числе примеров < 1000.
3. Формирует слова из морфем (например, «что» = «ч» + «то»).
4. Быстрее переходит к смыслу, а не к частотной болтовне.


⚙️ Почему это работает

Ранговый словарь отражает энергетическую структуру распределения, а не простую частотность сегментов, как в BPE или Unigram.

Например, если «о» — самый частый символ, это не значит, что он получит ранг 1.
Наоборот — он часто становится внутренним элементом более сложных сегментов.

Рост диапазона β (от 0.5 до 2.0) расширяет словарь и выявляет иерархию уровней смысловой сборки — от фонем и морфем к словам и фразам.


🧩 Вывод

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

Следующий шаг —показать эмбеддинги и объяснить формирование рангового пространства (токенизатора).
(о них — в следующих постах)
🔥12
🚀 Результаты серии экспериментов по обучению моделей на ранговой архитектуре

За последнюю неделю я провёл серию тестов (для проверки ряда теорем) по обучению LLM-модели на крайне малом датасете (всего 1000 примеров) с использованием рангового токенизатора, ранговой теории и нескольких типов архитектурных модификаций.

🔥 Главный результат
Вариант №4 дал беспрецедентный результат.

Условия варианта 4:

• ранговый токенизатор
• 1000 примеров, 4 эпохи
• Постепенное включение блоков (по одному блоку на эпоху)
• Все ранее активированные блоки продолжают обучаться
• Присутствуют дальние skip-connections
• Embedding-слой пробрасывается во все блоки


📌 Именно эта архитектура впервые показала формирование настоящей структуры языка:

• появление морфологии
• соблюдение пунктуации
• предложения с заглавной буквы после точки
• стабильные слова ("что", "уже", "я", "он")
• формирование простых смысловых цепочек
("Да я что и что он?")

Примеры генерации (без очистки):

«Мо на свое ее и ноа это Ой.... Да я что и что он?, не что не уже с шу, за и его и это запей»

«Он и как наде глазычо и я и на не за за. По что луго ужо для,»

«что его Гшу, в боль, что уже и не отчу, что за что за и не за за ужо любя..»

«Пой и что же изиво... Выал зее самы, свое, что така и с своеюбязя, что с ужо отчя»


Да, это ещё не русский язык, но это структура языка, грамматический каркас, связность, морфология и внутренняя логика.

И всё это при скрытом слое большого размера (что усложняет обучение), на 1000 примеров.

🧠 Почему это работает

Использование предсказания ранговой теории, включая:

• Ранговую стоимость и ранговое распределение

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

• Постепенное включение блоков

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

Активация блоков по одному создаёт архитектурный аналог иерархической бифуркации.

• Skip-connections между блоками

Дальние skip-connections полностью соответствуют требованию теории о сохранении ранговых структур между уровнями.

Результат: модель выстраивает иерархическую систему локальных максимумов, которая по теореме 5.3 и 5.4 приводит к появлению устойчивых языковых паттернов.

• Skip-connection от эмбеддингов к блокам

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

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

Без этого модель:

• остаётся в раннем «шумовом» режиме
• не может стабилизировать доминирующие-группы
• не фиксирует промежуточные максимумы I(X;Y)


Низкоуровневая грамматика формируется и без skip-connection, но смысловые группы требуют глобального уровня доминации

⚖️ Сравнение с классическими LLM

На тех же параметрах архитектуры:

• столько же слоёв и голов
• такой же размер скрытого слоя
• тот же объём данных: 1000 примеров


Классические трансформеры НЕ могут сформировать:

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


Их генерация на 1000 примерах — это высокочастотный шум, бесконечные повторения и полное отсутствие структуры.

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

А ранговая архитектура дала такой результат впервые в мире.

Код и результаты других тестов ниже:
https://disk.yandex.ru/d/zWiEmA_17PCdHA
🔥6
Эксперимент: динамический β в трансформере
Как модель сама регулирует «температуру» текста


За последние неделю я провёл два эксперимента с теми же 100 примерами, сделав динамический токенизатор на основе ранговой теории с динамическим β — параметром, который в ранговой теории и нейробиологии играет роль модуляции серотонином.
Цель — чтобы модель сама регулировала «температуру» и генерацию, а не полагалась на вручную заданную температуру.

Для этого в процессе обучения LMM, вместе с ней обучался MLP-модулятор β, который предсказывает β по логитам, и интегрировал β в токенизатор и внимание.

Токенизатор динамически выстраивал марковские цепи на основе β, которые становились токенами.

🔬 Условия эксперимента

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

Тесты отличаются только механизмом β:

Тест 4_2 — β предсказывается MLP и применяется на следующем шаге уже в процессе обучения

Модель сама определяет уровень β и использует его в следующем итеративном шаге обучения.

👉 Это аналог:
MPFC → ядрам шва → серотонин регулирует активность коры.

Примеры генерации

Продолжить: Коты это

Коты это что-то он лице не разбозаделисько две беже запуть, но тут ему... Одно как ужащий на головой, что не можащительно он сдать…

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

Продолжить: Маша пошла гулять

маша пошла гулять!– Андрядом квартиры ужа и раз? – было не было две уза за отпрехнул…

Связки:
гулять → рядом с местом → квартиры → человек → ноги

Продолжить: В далёком будущем люди начали колонизацию других планет

…и ударил и на бухнуть. Поплавной, с голосом, может что-то шепнула…

Связки:
объект → голос → шёпот → коммуникация
Это цепочки верхнего уровня — они не тривиальны и лучше, чем в классических маленьких LLM.

🧠 Что важно:

Модель формирует не случайные, а смысловые и тематические связи:

• текст не расползается
• нет повторов
• нет чистого шума
• семантическая последовательность сохраняется на 2–3 шага вперед

Для моделей такого размера на 1000 примеров — это явно выше нормы.

Тест 3 — фиксированный β, который в цикле увеличивался от 0.3→ 0.7→ 1.11.5 → 1.9

Здесь β задавался искусственно и плавно увеличивался по эпохам.

Модель не управляла им сама, а MLP учился предсказывать заданный β.

Примеры генерации

Продолжить: Коты это

Коты это а яза уживула в два бамею из это же лего…

Связки слабые, часто случайные.
Много «литературного шума», но меньше смысловых линий.

Продолжить: Маша пошла гулять

…Он в этого записа, и све, и ужу - Пилат, человек…

Здесь есть куски русских слов, но семантическое движение слабое.

Анализ теста:
• текст более случайный
• смысловые цепочки минимальные
• модель не удерживает направление мысли
• β не адаптируется к логитам
• есть больше "галлюцинаторных" вставок и имён


Нейробиологическая интерпретация (аналогия)

Модель постепенно формирует архитектуру, похожую на мозг:
• Ранговый токенизатор → таламус
• Эмбеддинги → слой 4 коры
• Головы внимания → слои 2/3, локальные максимумы
• FFN / MoE → слой 5, бифуркации уровней иерархии
• MLP-модулятор β → ядра шва
• β → серотонин
• Логиты LLM → MPFC

И самое важное:

В тесте 4_2 получилась замкнутая петля:

LLM → MLP → β → Токенизатор → LLM → новый логит → MLP

Именно такие рекуррентные петли стабилизируют поведение биологических систем.


Тест 4_2 выигрывает.
Модель, которая сама регулирует β, формирует значительно более глубокие и устойчивые смысловые цепочки.


Это демонстрирует:

✔️ динамический β действительно работает
✔️ модуль MLP учится правильно интерпретировать неопределённость
✔️ ранговая теория стабилизирует обучение
✔️ саморегулируемая температура лучше фиксированной

На таком маленьком датасете и компактной модели — это очень серьёзный результат.

В тестах выше, β использовался при генерации текста.

Сейчас я тестирую интеграцию β в FFN/MOE, чтобы полностью убрать ручную температуру при генерации текста после обучения. Но это этом позже.
🔥4👍3