iFlexible
814 subscribers
2.16K photos
142 videos
65 files
53 links
Все вопросы: https://t.me/proxy3d
Download Telegram
Сейчас почти завершены правки блочной модели основанной на асимметрии.

Тестируется обучение, чтобы убедиться в результате. Вносятся какие-то изменения. делается сравнение с Трансформерами и SSM.

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

В посте нет некоторых деталей, которые уже были описаны ранее:
- масштабирование
- приведение к ранкам

только обобщенное объяснение без формул.

Сейчас пока тестируются доработки на основе математических доказательств:
- вывод частотной и амплитудной асимметрии из кинематики, привел к SSM формулам с небольшими изменениями. Это привело к микро-residual связям внутри SSM (асимметриям). А так же добавлению гистерезис в SSM формулы.
- так же математически была учтена модуляция внутри формул SSM.
- временная модуляция (подобно вниманию трансформеров) заменялась на ранковую с обучаемыми параметрами.
- амплитудная модуляция наоборот, на аналог похожий на Softmax, где N (кол-во признаков) завязано на архитектуре. И обучается лишь чувствительность.
- есть свертки, но они реализованы как CTM сети с ранковой иерархией. Где динамическое ядро само обучается, сколько признаков N оно должно захватывать.
- каждый блок влияет на предыдущие, согласно модели автомата асимметрии.

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

Окно контекста не ограниченное, в отличие от трансформеров.

Сейчас модель блочная. Ни что не мешается начать обучение LLM на ее основе. Но сначала надо проверить и доработать:
- рекуррентные петли модели. Сейчас там только модулирующие петли.

Но само главное, почему пока не запущено обучение LLM или синтеза речи или распознавания. Это:

- Проработка бифуркации модели. Расчета точки бифуркации, когда модель должна расшириться.
- Функций расширения элементов модели
- Функций разрушения элементов модели (пока под вопросом)


Это когда из одного слоя, модель разворачивается сама и создает нужное кол-во блоков, слоев, кластеров (голов) их размерность.
Сейчас в качестве основы бифуркации выбран подход, основанный на правиле трех сигма. Только вместо трех сигма, их число зависит от кол-ва признаков через ln(N).
Если расчет точки бифуркации окажется верным, то LLM модель при обучении раскроется сама до нужного размера.

Позже будет показана разница в обучении блочной модели на основе асимметрии и цепочки трансформеров. Разница есть, и трансформеры пока проигрывают как в начале обучения, так и после обучения.
🔥6
Этот пост для того, чтобы на него можно было ссылаться. Он показывает, как математически была расширена SSM.

Сначала были взяты формулы расчета асимметрии, которые до этого использовались в гистерезис. Задача была сделать нормально учет частотной асимметрии. Но формулы оказались очень похожи на SMM.

Поэтому за основу была взята LinOSS-IM (разновидность SSM с матрицей из комплексных чисел, учитывающий затухания).

Она была математически доработана, чтобы правильно учитывать как амплитудную, так и частотную асимметрию.

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

Так же, был добавлен частотный и амплитудный гистерезис.

Сейчас в конечном автомате асимметрии, данный вариант SSM используется в "головах" (ранках - кластерах) и в обобщении.

Пока необходимо понять, обосновано ли выстраивать на нем всю иерархию асимметрии. Дело в том, что SSM обходит все токены через цикл. Это pамедляет работу - и для иерархии SSM это накладно. В CUDA в новых версиях есть оптимизация, через специальную функцию распараллеливания этой операции. Но она работает только в Linux и в последних версиях CUDA, поэтому оптимизация под нее подходит для конечной версии SSM.

Данная SSM версия стабильна и быстро обучается, но в рамках описанной модели автомата асимметрии. Как она поведет себя в других архитектурах, сказать сложно. Надо применять механизм ScaleIn → SSM → ScaleOut, описанный ранее.

Таким образом эта SSM, которая учитывает:
- осцилляции и затухания
- частотную и амплитудную асимметрию
- гистерезис
- модуляцию


Можно ли сделать лучше? Да можно через полином N-степени (для производных), но это повлияет только на ее точность и существенно замедлит вычисления.

Пока не понятно, как встроить в SSM временные ранки (амплитудные встроены на уровне ScaleIn-ScaleOut). Сначала надо будет правильно рассчитать математически и лишь потом уже встраивать их. Возможно временные ранки тоже можно вынести в раздел ScaleIn-ScaleOut, который был описан ранее.

На самом деле, все что делает данный SMM - это учитывает асимметрию (амплитудную и частотную), гистерезис, внешнюю модуляцию.

В комментариях будет выложен ее код. Поэтому можно посмотреть и попробовать.
👍4
В этом посте рассмотрены такие темы как:

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

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

Бифуркация не происходит в обратную сторону, вместо этого может возникнуть "забвение". Это когда данные ранки больше не выделяют новых признаков, или даже не задействуются.


Мы видим, что трансформеры на уровне блока реализуют двух уровневую иерархию асимметрии.
В то время как классические SSM/Mamba/H3 реализуют только обобщающий уровень ранков, но зато включают в себя временные ранки.

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

Важным фактом является то, что невозможно одновременно обучить llm модель всем существующим данным, так чтобы она улавила все детали. Есть предел, за которым модель начинает обобщать и терять детали. Это приводит к абстрагированию (сжатию информации).
Ярким примером является мозг, который так же имеет ограничения связанные не столько с биологией, сколько с невозможностью получить одновременно детальную систему и обобщенную. Чем меньше обобщение, тем больше деталей она улавливает. Чем больше обобщение, тем меньше деталей. Поэтому скармливания модели больше данных, они вытесняют старые и модель из неизбежно забывает.

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

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

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

Ручные вычисления бифуркации показали, что после трёх уровней она почему-то не происходит. Это ещё предстоит исследовать. Связано ли это с математически ограничениями энтропии? Или же просто неудачными тестовыми параметрами чувствительности, пока не ясно. Но именно три уровня иерархии имеет каждая область неокортекса. Связанно ли это с этим наблюдением , пока не ясно.

Хорошая новость в том, что не нужно делать уничтожение ранков. Так как в мозге такого процесса нет. И если исходить, что мозг старается минимизировать затраты энергии, возможно это оптимальная стратегия. Поэтому нужно только расширение.

Блоки, так же являются ранками иерархии верхнего уровне. Формально, самый низкий уровень иерархии ранков неокортекса это слой 2, на уровне цепочек колонок нейронов. Дальше идёт лишь расширение иерархии вверх.

В качестве бифуркации используется расширенная модель правила трёх сигма. Вместо десятого правила трёх, используется ln(N) , где N кол-во ранков на текущем уровне. Это эмпермическое правило из теории вероятности, как и взятие ее за основу для расчета точки бифуркации.

На одном слайде показано, как при бифуркации энтропия внутри структуры уменьшается. Это не значит, что энтропия уменьшается в целом. Она просто перераспределяется между новыми уровнями и ранками и продолжает расти. Поэтому в рамках глобальной системы, она растет. В рамках одного ранка она может временно уменьшиться.
👍6