Обновить
62
Илья@proxy3d

нейробиология, нейронные сети, AR/VR

0,3
Рейтинг
23
Подписчики
Отправить сообщение

Спасибо почитал, да вижу что в ViT это убрало проблему больших значений в классическом Attention при большом кол-ве блоков.

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

Swin Transformer V2: Softmax(τ*cos(Q,K)​+B)V , τ - температура

CosScale / Scaled Cosine Attention: β(i,j) ​= Exp(α*cos(θ(i, j)​)) / Sum(Exp(α*cos(θ(i, l)​))) , α температура

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

Можете объяснить свой ответ? Как RL решает данную проблему? Если речь про файтюнинг, то это и есть специализированные модели.

Я привел аргумент, почему MoE не даёт такую специализацию, а softmax может привести к ошибкам на близко вероятных токнах.

Но я могу ошибаться, поэтому будет интересно узнать, почему этого не возникает и как RL решает данную проблему.

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

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

Буду рад ошибаться, и с полостью почитаю эти исследования.

Я показал там сравнение, где обучил такую же llm того же размера на тех же данных. Там это есть и результат виден. Там дело не только в связях, там другой токенизатор, который не BPE или другой частотный я там токенизатор построен на цепях Маркова. Что касается связей, то я провел вам исследования. Я пока не понимаю, что делает вас слой, чему модель не может обучиться через уже имеющиеся слои.

Вам следует в пользу своих аргументов приводит обучение. Показать, вот я обучил llm с этим слоем и без него. Данные одинаковые, вот кривая обучения я вот результат. Я буду рад, если вы сделаете такое обучение покажите разницу.

Речь не о том что смогут на нашем языке. Вы пробовали использовать большие языковые модели для сложных SQL запросов? Они постоянно там ошибаются.

Потому что когда у вас система обобщила, что в конце select идёт одна конструкция и другая для разных диалектов, то их вероятности становяться очень близкими. Прибавляем к этому top-p/top-k на выходе при выборе случайного токена, и вот уже система легко выбрала другой диалект и пытается править его в случае ошибки.

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

Причина в softmax. У вас например после одинакового текста java и JavaScript модель выбирает следующий токен. И в вероятности попали две реализации в рамках одного и другого языка, потому что предыдущий текст усилил их вероятности у обоих (обобщил). И вы пишите код на Java, а в выборке top-p продолжение для JavaScript. И вот ещё она легко ошиблась.

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

Речь не про язык (человеческий), а про язык программирования. Если модель много обобщала, то она напишет кучу всего и не словесном языке. Да вероятно даже может решить задачу, а может и нет, так как длинный текст создал кучу шума и привел к потере деталей.

Не совсем так. Если мы посмотрим не на название MoE, а на ее реализацию, то разница есть.

Что делает MoE? Она разбивает выходной сигнал после голов на K участков. Если сильнее участок 1, то используется FFN1, если сильнее участок 2, то используется FFN2.

Что это значит? Возьмём SQL. В нем активизируется участок 1 для SQL при чем и для ms sql и для oracle sql. Система не вызовет эксперта 2. Они оба будут сидеть на участке 1.

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

То есть если мы обучаем Java и JavaScript, то это не значит что будут задействованы 2 разных участка (эксперта). Наоборот, с высокой долей вероятности, что грамматический синтаксис этих языков приведет их к одному и тому участку (эксперту) на выходе.

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

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

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

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

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

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

В итоге, модель пишет вызов функция, который она например видела на sql oracle и сейчас пытается применить к sql ms sql. Такое встречается часто уже сейчас.

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

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

https://t.me/greenruff/2497

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

Как уже сказал выше, сейчас такие же результаты получили другие исследователи.

"Простыня" была специально адаптирована, чтобы ее могла понимать LLM (и другим было проще скармливать). Я дал вам ссылку, потому что ваши ответы выше написаны нейронкоц, поэтому предложил скормить ей материал.

Что касается loss, то прежде чем делать выводы, надо было увидеть что это обучения длилось 1 день. Где целью являлось подтвердить математическую модель.

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

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

Я же говорю, про последнюю реализацию HierarchicalMHA_20, которая есть в обоих ссылках. В ней нет классического attention и голов.

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

В вашем случаев, вам просто следует показать:

  • Математически, что ваши предположения на чем то основаны

  • Обучить небольшую модель, хотя бы сутки или несколько дней с вашим решением и без него и показать, что результат формирования связей (не loss) действительно отличается.

Тогда вопросы отпадут сами собой. А то сейчас вы отвечаете с помощью сетки, не привели примеры что это работает. Если говорить корректно, вы выдвинули гипотезу, которую надо либо подтвердить или опровергнуть.

Вы пытаетесь отвечать через LLM. Я предлагаю вам сделать иначе, чтобы лучше понять что такое Attention, скормить это вашей LLM (вопрос-ответ можно не скармливать, это уточнения которые были у людей по коду, я вынес как отдельные пояснения):

https://disk.yandex.ru/d/UNyaCbYUm-jpWw

Я привел вам ссылки и на код, и на текст и визуально показал.

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

Формально это частично объясняет то, о чем я написал выше https://t.me/greenruff/2596
Формально это частично объясняет то, о чем я написал выше https://t.me/greenruff/2596

Для большей строгости можно даже скормить ей код архитектуры, так как в ней Attention реализован как я описал выше (модель отлично обучается):

https://disk.yandex.ru/d/eJg7Nc__qIeQ9A

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

https://t.me/greenruff/2499

Что касается регулирования температуры, то как раз я имел ввиду, что вам нужно регулировать температуру внутри Attention, как это показано на рисунке выше. Тогда модель сама решает, когда ей нужно увеличить ее, а когда понизить внутри Atention.

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

Q*K это фактически I(P1, P2) взаимная информация между случайными величинами, которую можно представить как две компоненты PMMI матрицу (связи, о которых вы говорите) и "энергия" (затраты на переход между связями). Когда вы нормализуете их, то теряете информацию об этих переходах. Это как если бы для вас не было разницы, произносить А или О, потому что вы приравняли их "энергетические" затраты на открывание рта.

Информация о частотности при сравнении связей, не менее важна чем и сами связи, потому что стоимость этих переходов меньше и они чаще.

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

Добавив нормализацию в QK, вы таким образом поломали эмбеддинги и их смысл. Они содержат информацию не только о сходстве, но и частотности. Когда вы нормализовали их перед QV, то фактически лишили информации о важности информации (какая встречается чаще, а какая реже).

Сам эмбеддинг это не только сходство между токена. Норма эмбеддингов содержит информацию о частоте, но когда вы делаете нормализацию конкретного сигнала, то теряет большую часть информации. Было например |-15.45| как частота слова "кот", которая встречалась 1000 раз и |4.3| как частота слова "собака" которая встречалась 100 раз. Вы в данном случае полностью ломаете логику, так как после нормализации Q и K они могут совпасть по норме, станут например оба 0.7 и модель уже больше не может понять, какое из них важнее.

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

https://t.me/greenruff/2596

Она ближе к EMB (Energy-Based Models, или Энергетические модели). Там как раз мы извлекает из эмбеддингов разные составляющие. Мы даже можем разделить эмбеддинги на составляющие, которые будут храниться и обучаться отдельно (вместо векторов).

От МТС как то ждешь больше профессионализма в статьях. которые пишут. Я бы сказал, что материал описанный в статье сильно устарел. Это было актуально в 2021-2022 году, когда были разработаны Flamingo (DeepMind) и Perceiver IO (DeepMind). Сейчас более продвинутыми все таки является V-Jepa, и более свежая этого года Le-Jepa.

То что описано в статье не стоит использовать, это крайне неэффективные и устаревшие решения. Тем более в контексте "Будущее роботизированных манипуляций". У вас отставание лет на 4-5. Приделать агентов к старым неэффективным подходам не решает проблем.

В качестве истории развития, я бы рекомендовал вот это видео (от прошлого века, до сегодняшнего времени). И не забивать себе голову мусором про VLM в рамках данной статьи. Это только пойдет во вред.

Если будет нужно использовать в других статьях исходники выше, то выложил тут:

https://disk.yandex.ru/d/J1bS853ToIpgSg

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

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

И чтобы добавить веса, стоит все таки провести аналогию с OpenMythos, чтобы было проще понять общую идею.

А предложенное архитектурное решение и доказательства теорем - интересные.

Потратил около недели, чтобы вникнуть в теоремы, код и статьи. Мне кажется, надо было тут делать упор не на доказательства, а в целом и затем просто ссылку на доказательства теорем. Архитектура, теоремы и подход в целом интересный и надо было его преподнести иначе. И заодно надо было сравнить со схожими архитектурами, так как предложенная в общем смысле перекликается решением той же проблемы, что и OpenMythos.

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

Предположения при доказательствах

Предположения (ограничения) в теоретическом анализе архитектуры Sessa. Эти предположения вводятся, чтобы доказать теоремы о памяти, затухании и избирательном извлечении информации.

Общие предположения при доказательстве теорем
Общие предположения при доказательстве теорем

Во многих местах предполагается, что s=f+Bs где:

f — фиксированная функция входа

B — линейный оператор

это означает, что система считается линейной, нет сложных нелинейных взаимодействий, хотя в реальности B зависит от x и есть нелинейности (tanh, softmax), поэтому доказательства следует рассматривать как идеализацию динамики.

Так же вводится ограничение на γ: 0 < γmax<1. Это нужно чтобы (I−B)^−1 существовала (то есть система была устойчивой). Влияние прошлого не должно «взорваться», спектральный радиус B<1, иначе система может стать неустойчивой и память стремится к бесконечности.

Предположение о структуре attention
Предположение о структуре attention

Для доказательств обычно предполагается, что attention веса регулярные, не вырождаются и имеют определённую гладкость. В частности A(t,i)∼smooth function of (t−i). То есть веса не случайные и есть структура по расстоянию. Это ломается, если attention в реальности спайковый, шумный или нестабильный.

Вводится предположение, что у матрицы B есть собственные значения, плотно расположенные около 1. Формально спектральный радиус близок к 1 и плотность собственных значений не дискретная. Это означает, что система «почти не затухает».

Это важное предположение. Если eigenvalues далеко от 1 → экспоненциальное затухание, eigenvalues около 1 → медленное (power-law).

Так же, при доказательствах часто полагается, что статистические свойства не зависят от позиции и система «однородна по времени». Это упрощает анализ: B(t,i)≈B(t−i).

Так же делается предположение о бесконечной длине последовательности. Для вывода асимптотики: ℓ→∞, анализируется поведение на очень больших расстояниях. Поэтому надо учитывать это, когда контекст ограничен (например, 4k–1M токенов).

Так же неявно предполагается, что (I−B) обратима. Это требует отсутствия сингулярности и собственных значений = 1, иначе система не имеет решения или имеет бесконечно много решений.

Для теоремы про отсутствие затухания, делается предположение, что существует структура B, где некоторые направления почти не затухают и есть «устойчивые моды». То есть «каналы памяти», которые не исчезают. Это конструктивное предположение, где показывается, что это возможно, но не гарантирует, что обучение найдёт это.

Если система ведёт себя как в предположениях, то появляется power-law память. Поэтому следует интерпретировать это как возможный режим у модели, в котором она принципиально сильнее.

Теоремы Sessa: математика памяти и внимание.

Sessa – это рекуррентная система, в которой внимание (attention) встроено в обратную связь. Теоремы показывают, что такая система обладает сильной и управляемой долговременной памятью.

Теоремы доказываются не для полной нейросети из кода, а для упрощённой математической модели. В них доказываются свойства «ядра механизма», а не всей архитектуры.

В контексте статьи каузальность это когда состояние s(t) зависит только от прошлых индексов i<t, то есть B(t,i)=0 для i≥t. То есть будущее не влияет на прошлое (модель идёт слева направо). Это даёт треугольную структуру матрицы B.

Матрица B имеет вид треугольной структуры, это означает что зависимости идут только “назад” и является эквивалентом DAG (ориентированный ациклический граф) во времени.

Такая матрица позволяет решать систему последовательно s1​→s2​→s3​→... чьл гарантирует отсутствие бесконечных циклов и корректность решения.

В линейной алгебре спектр — это набор собственных значений λ(i). В данной работе он означает насколько сильная обратная связь. Главным условием является ρ(B)<1, где ρ(B) — спектральный радиус (максимальное |λ|). В этом смысле:

если ∣λ∣<1 → система устойчива

если ∣λ∣≈1 → долгоживущая память

если ∣λ∣>1 → взрыв (нестабильность)

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

Если спектр B плотно расположен около 1 и есть много собственных значений ≈ 1, тогда B(k)∼k^(−β), то несть много медленно затухающих мод, которые суммируются и дают степенной закон. Это главный результат, который говорит, что память в этом случае не экспоненциальная, а степенная.

Так же есть один важный технический момент. Attention в B должен быть нормирован (softmax), ограничен и не давать взрывных значений. Это означает ограниченность ∣B(t,i)∣≤γmax<1, стабильность так как сумма весов не растёт и локальное нормировка (влияние распределено). Это нужно, чтобы гарантировать ρ(B)<1 что дает сходимость ряда и корректность решения.

Теорема 1 про существование и устойчивость памяти доказывает, что система (I−B)s=f корректно определена и имеет единственное решение.

Теорема 2 про power-law память показывает, что влияние прошлого затухает как O(ℓ^−β), 0<β<1.

Теорема 3 про селективное извлечение показывает, что возможны режимы, где влияние не стремится к 0 при ℓ→∞.

В доказательствах видно, что сначала речь идет доказательство из каузальности → следует треугольность. Затем из треугольности, что система решается однозначно.

Затем идет разложение и оценка оценка B^k, которая анализирует как быстро уменьшается B(k).

Следом используя свойства спектра, выводится скорость затухания и получается influence∼ℓ^−β.

Теорема про selective retrieval заключается в том, что существуют такие B, где некоторые собственные значения ≈ 1 и соответствующие компоненты не затухают. Это означает, что модель может держать важную информацию бесконечно долго.

В работе делается предположения, что attention контролируемый, ограниченный γ и о структуре спектра. Это значит, что результаты не универсальны для любых весов, но достижимы конструктивно.

В этом случае из теорем следует, что память может быть степенной → лучше long-range, возможна выборочная память→ selective retrieval, модель устойчиво определена → нет взрывов и Attention становится частью динамики.

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

Теоремы показывают, что Sessa - это устойчивая казуальная динамическая система с attention-оператором, которая может реализовать сильную, долговременную память и селективную память.

Архитектура: Sessa (Selective State Space Attention)

Архитектура строит память, как устойчивое состояние системы с обратной связью, внутри которого работает attention.

В отличие от Transformer, где attention используется как одношаговый механизм чтения контекста, Sessa встраивает attention внутрь рекуррентной системы обратной связи. Это превращает вычисление представления из простого взвешенного суммирования в задачу нахождения самосогласованного состояния, где токены многократно влияют друг на друга через attention. В результате память не просто извлекается, а формируется как устойчивое состояние динамической системы.

В Transformer токены взаимодействуют один раз, а влияние прямое и плоское. Вроде: A → D

В Sessaтокены взаимодействуют много раз через цепочки, влияние распространяется как в сети, как:

A → B → C → D

A → C → D

A → D

...

Это важно, так как в Transformer влияние токенов быстро размывается, а в Sessa оно накапливается, распространяется и дольше сохраняется. Таким образом превращает attention из операции чтения в динамическую систему памяти с обратной связью.

Вместо того чтобы один раз посмотреть в прошлое (как в Transformer), модель многократно пересчитывает память, позволяя токенам влиять друг на друга через цепочки attention-связей.

В Transformer каждый токен влияет на результат один раз на слой, а глубина = число итераций взаимодействия.

В Sessa взаимодействия происходят многократно до сходимости (через inverse / series).

Ключевой момент: Bⁿ (это то, чего нет в Transformer)

s=f+fB+fB2+fB3...

здесь B это attention-граф, B2 влияние через 2 шага, Bk влияние через k переходов. В Transformer есть только B (один шаг), а глубина ≈ количество шагов. В Sessa сразу есть все Bk.

В Transformer каждый токен один раз смотрит на прошлые токены и получает взвешенную сумму.

В Sessa каждый токен сначала извлекает информацию, а затем эта информация проходит через систему взаимных влияний между всеми предыдущими состояниями.

Power-law в Sessa возникает потому, что рекурсивная attention-система с обратной связью создаёт спектр памяти без характерного масштаба, что математически эквивалентно смеси бесконечного числа экспоненциальных затуханий — а такая смесь в критическом режиме всегда даёт степенной закон.

В обычных моделях информация либо размывается (Transformer), либо затухает экспоненциально (RNN/SSM), а в Sessa информация убывает медленно → остаётся значимой даже через большое время. Это значит, что модель лучше помнит дальний контекст.

Transformer — читает прошлое,

SSM — сжимает прошлое,

Sessa — пересобирает прошлое через систему взаимных влияний.

Вместо одного чтения истории (как в Transformer), строится память как устойчивое состояние системы, где внимание участвует в прямой передаче информации и в обратной связи. Это создает много путей влияния прошлого на будущее.

Сравнение архитектур: OpenMythos и Sessa

Два разных подхода к глубокой обработке контекста.

OpenMythos - это гипотеза архитектуры типа Recurrent-Depth Transformer (RDT).

Основная идея OpenMythos

Вместо: Layer1 → Layer2 → ... → Layer100

используется: Prelude → Recurrent Block (loop × N) → Coda

один и тот же блок повторяется много раз.

Формально: h(t+1) =Ah(t)+Be+Transformer(h(t), e), где:

h(t) - внутреннее состояние (итерация мысли)

e - вход (постоянно подмешивается)

loop увеличивает глубину мышления.

Таким образом модель думает итеративно, а не за один проход как классический Transformer.

Что делает Sessa: s= f *(I−B)^−1

или: state = attention + feedback(state)

В отличии от OpenMythos, это не loop по времени, а решение фикс-точки.

Обе архитектуры делают одно и то же на концептуальном уровне: мышление — это не один проход, а процесс. Таким образом обе модели отходят от «one-pass computation» к динамическому процессу.

Но дальше начинается ключевое различие, хотя они похожи философски, но математически — это разные классы моделей.

OpenMythos → h(k+1)​=F(h(k)​,x) - это итеративный процесс с явным loop. Мышление в глубине сети, повторяются слои и Transformer внутри loop, что формирует глубину по времени.

Думает через последовательность шагов: h0 → h1 → h2 → h3 ...

Sessa → s=f+Bs - это сразу решается как s=f*(I−B)^−1

Мышление внутри памяти, тут attention внутри feedback и состояние само себя перерабатывает, что формирует глубину внутри состояния.

Думает через суперпозицию всех путей сразу: s = f + Bf + B²f + B³f + ...

Обе архитектуры связаны через динамические системы.

OpenMythos h(k+1)=F(h(k)) → это дискретная динамическая система

Sessa s=F(s) → это фикс-точка динамики

Таким образом Sessa — это предельный случай OpenMythos, когда: H(k+1) → s при k→∞.

Иначе говоря, Sessa ≈ OpenMythos с бесконечным числом итераций.

Я не очень понял.

У этих моделей был разный токенизатор? Если разные, то на выходе может быть бред, ведь вклад токенов другой.

У этих моделей были разные эмбеддинги? Если разные, то это значит, что информационные связи нарушаются. В одном случае связь король + мужчина может сместиться в огурец + вино.

С переносном FFN в MoE как раз меньше всего проблем. Классические Трансформеры FFN и MoE не особо сильно отличаются. То что так любят называть экспертами, по сути это разрезание глобального FFN на несколько частей, каждая из которых более качественно аппроксимирует и выделяет часть глобального FFN. То есть глобальный FFN теряет точность, из за ограничения размеров. Поэтому мы можем по сути взять его участки и расширить их размерность. Это можно представить через аналогию с функцией описывающей N колебаний. Чтобы апроксимировать все N колебаний, нам нужна FFN с большой размерностью, но мы можем разложить ее на N частей, где каждый FFN будет описывать свое колебание с более высокой точностью (функция больше не пытается апроксимировать все N). Так как на практике в статической модели, только некоторые колебания имеют наибольшую ценность, то остальные можно ~ игнорировать (поэтому говорят про активные веса в MoE) и MoE выбирает одну из FFN (эксперта). Само разбиение в MoE как раз и происходит по интервалам после голов. Это как разбить линейку на участки. Если участок 1 сильнее остальных, значит аппроксимируем на основе него.

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

Второй подход, который ускорял обучение заключался в том, что сначала мы обучаем K блоков. Затем добавляем ещё один блок и копируем в FFN K+1 веса предыдущего K. Дальше модель детализирует его. Это ускоряет обучение, так как чем меньше блоков, тем быстрее обучение. По сути на каждой итерации мы дообучаем новый блок и согласовываем связи.

Дополню свой комментарий выше, чтобы было понятнее о чем идет речь.

Здесь более подробно про то, что реальная геометрия пространства кривая. В конце они предлагают свой подход к решению.

Здесь описывается про проблемы Jepa (на 15:50 точно есть об этом, но в целом в видео разбор исследования, где описывается эта проблема и попытка не решения).

Здесь про то, как сейчас решают проблему Jepa (7:45) через дополнительный член штрафа SIGReg на основе распределения Коши. Здесь проблему пытаются решать через теорему Крамера — Вольда (9:20).

То о чем я написал выше, как раз рассмотрено в этом видео про Jepa. Тут разбирается исследование, где как раз речь идет про изогнутые поверхности в рамках Jepa (правильнее сказать в рамках вероятностей).

Здесь ещё одна попытка решения проблемы обучения V-Jepa (7:00), через измение обучения, коэффициенты и прочие ухищрения

Ещё одно исследование и попытка обучения кривизне пространства при обучении Jepa.

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

1) там ошибки именно фундаментальные. Это не значит, что Jepa не работает или не правильная. Как раз она правильная, но из-за того чем она на самом деле является можно сказать что там ошибка. Хотя, правильно сказать не ошибка, а "даже не знаю какое слово подобрать".

Дело в том, что JEPA минимизирует евклидову дивергенцию, но не гарантирует согласование с информационной геометрией распределений. Она реализует KL второго порядка только в частном, локальном и структурно согласованном случае. Глобально изометрия невозможна на основе Jepa, поскольку KL не является евклидовой метрикой. Я скоро опубликую доказательство.

То есть Jepa работает, но локально на ограниченных участках и при других условиях и ломается глобально. Это изображение из будущей статьи, надеюсь оно немного наглядней объяснить суть. Латентное пространство на самом деле кривое (аналогия с земным шаром), но локально оно Евлидовое (прямой участок земли). Вот Jepa как раз реализует локальную геометрию на небольших участках - это доказывается математически. Но глобально она ломается, так как не учитывает кривизну. Поэтому при обучении Jepa там возникает множество проблем с обучением, когда все ломается и приходиться придумывать извращенные способы при обучении.

2) это не значит что Jepa не работает. Локально она работает. Но ломается в разных ситуациях, что приводит к тому, что приходиться ручками придумывать разные как это исправить. Когда она пытается все свести к плоскости при обучении (надо найти видео с этими исследованиями о проблемах Jepa при обучении).

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

При разборе RAG, стоило найти современные решения ряда проблем.

Например:

Реальное решение проблемы чанкования.

Увидеть, что часть описанного вами в реальности работает плохо и как это решить. В частности использование RAG в медицине. То есть разделив на базовую часть и практическую.

Выше два примера исследований, но их можно привести больше.

Лучше убирать часть воды (LLM любит раздувать), и этот текст потратить на разбор современных исследований/решений. Так как часть из них на английском и не скоро дойдут до русскоязычной аудитории.

Странное ощущение. С одной стороны DeepMind как R&D компания и странно такое слышать от них, с другой - это глава компании и его слова не про AGI, а про ожидания рынка которые он должен подогревать.

В данном случае однозначно на стороне Яна ЛеКуна. Современные LLM на трансформерах это тупик, как минимум из-за статики. И ещё ряд других ограничений. Хотя сейчас есть, попытки уйти от этого:

MesaNet - механизм внимания как сетка с постоянным вызовом метода обратного распространения для мини сеток. В остальном это трансформер.

Mythos - так же трансформеры, но со смешиванием данных вместо текстового CoT.

Mamba3 - локальный механизм внимания. При расширении преимущества шире, чем трансформеры. Но пока архитектура ограниченный механизм внимания.

Jepa ЛеКуна это даже не про выбор подхода - трансформер или другие как блок, а о том, что данные работают в других латентных пространствах, объединяющих разные типы данных. Текст это лишь один из типов сигнала, в которую данные могут преобразоваться и они далеко не всегда эффективные. Но у Jepa тоже есть ошибки в математическом подходе, но направление выбрано верно.

Информация

В рейтинге
2 849-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность