Поэтому стоит скопировать ответ из ChatGpt или чего там, перенести его в Deepseek и попросить повторить. "покритикуй. С чем согласна? С чем не согласна?" Они так бесконечно могут высасывать из пальца проблемы. Тут главное во время остановиться. Но обычно в такой момент это уже становиться очевидным, когда например скажет "а вот это не учитывает чего то , что не входит в задачу"
Пробовал написать игру за неделю только средствами chstgpt. Все остановилось когда надо было склеивать код. Надо самому его адаптировать. Когда игра сложнее тетриса, то самому. Да и часть проблем, llm не может решить, когда сцены не правильно прогружались согласно инструкции chstgpt и куча нюансов. Так что все равно писать самому, чем потом разбираться что за разрозненные классы он насоздавал. Самому быстрее сделать .
А вот что реально помогло, это развёртывание своих gpu серверов на арендованных мощностях, через которые генерировал звуки, или изменял детали изображения на основе controlnet (или как правильно не помню точно называние), когда надо у рисунка изменить какие то делали не изменяя сам рисунок. Или поднимал сетку, которая генерирует сложные звуки, вроде шум дождя и на фоне должен звук приза.
Очень хотелось бы, чтобы кто то написал ещё и более общую статью. Про использование расспараление на верхнем уровне, например rayserve. Со всеми auto scaling и прочими вещами. Я использую его, но там ещё думаю много скрытых моментов, которые не использовал и не изучал. Вдруг на Хабре есть эксперты, кто вдоль поперёк на них распаралеливал задачи обучения. И описал бы нюансы, а их там не мало (от настройки до ограничений пропускного канала и других мелочей).
Проблема в том, что они забывают детали. А точнее выкидывают из прошлых ответов написанного кода. Особенно на больших SQL запросах это можно увидеть. И отслеживать такое порой очень сложно, так как сразу не увидишь что она выкинула какое то условие, или часть запроса (например у меня часто выкидывала группировку, сортировку всех или части полей или какие то поля в возвращаемое запросе). И это только часть.
Или буквально сегодня, просил написать bash скрипт, который пропишем разрешение программе доступ к папке в selinux. В итоге 6ой вариант только заработал. Хотя казалось задача простая. Но не одно из первых 5и решений не работали. И тут вопрос, что быстрее самому найти доки и прочитать или таким методом. Один плюс, попросил и делаешь другие задачи. В надежде что заработает . В каких то задачах решало, в каких то требовало времени, в каких то так и не справилась. И ни когда не знаешь, что быстрее самому или через модель.
Но вот какие то маленькие куски да. Предложил сам, просишь покритиковать. Или предложить самому несколько вариантов решений и через критику модели, устроить сам себе мозговой штурм, чтобы потом самому решить как более правильно. А модель может указать на возможные слабые места.
Так что я например чаще стал использовать llm для критики своих решений, или оценки моих разных вариантов решений или рассказать какие известные решения она знает (чтобы понять не упустил ли готовые). Это сокращает время на поиск.
Попросите модель написать вам код. Думаете верно? Попробуйте написать "покритикуй это решение. С чем согласна? С чем не согласна?". И так на каждом шаге. Увидите, как она будет менять свое мнение. А теперь скопируйте ее ответ из chstgpt в deepseek и повторите "покритикуй. С чем согласна? С чем не согласна?". И удивитесь, другая llm может указать вам, что данное решение плохое. И так меняйте ответы из одной llm в другую с этим комментарием.
Это хоть какой то шанс уйти от галлюцинаций, подойти к решению с критической стороны. Они могут так бесконечно изменять. Главное, чтобы они не начали забывать прежние ответы, иначе можете получить зоопарк на ваше решение написать код.
Это не спасает полностью, но небольшие участки позволяет править.
Вообще нужна такая автоматика. Чтобы вместо размышляющих, в них был токен "покритикуй" и желательно между двумя разными llm. Это будет аналог арбитра, когда в качестве него выступает либо сама модель либо другая крупная . Это существенно снижает галлюцинации.
Все остальное стало возможным благодаря этим изменениям. Если бы они взяли lora и на ее базе сделали такую большую модель, то ни какая дистилляция тут не спасла бы. А так благодаря изменениям, дистилляция ускоряет обучение на их архитектуре. Но это лишь следствие.
А может это механизм передачи данных между людьми, но в очень урезанном виде. Когда оставили только самые важные механизмы, отвечающие за обмен данными между людьми минуя какие то другие механизмы. В этом плюсы нейронок, что мы можем реализовывать работу, убирая какие то вещи реального мозга. Вроде слуха, фильтрации сигналов таламусом и так далее. С одной стороны это урезает возможности, с другой позволяет делать специфичные вещи, которые мозг не может, так как это пожелает баланс других процессов.
Я такое вижу сплошь и рядом в разных ариектутрах сеток. Например, redimnet для распознавания спикеров через свёртки, выкинули часть деталей реальной передачи между зонами мозга и оставили только самую базу. Что позволило создать специализированную сетку, которая является урезанной реализацией прохода сигнала через кохлеарное ядро, нижние холмики, оливу и так далее, сразу до славой коры зоны A1, выкинув фильтрацию сигнала таламусом. И получили, что она может отлично выполнять ряд функций, которые делали эти зоны, но не все.
Или тоже кохлеарное ядро, в мозге делиться на две зоны для низких и высоких частот. При чем для низких она сложнее (эхолокация). Но мозг так сделал ради экономи ресурсов, как компромисс. И у человека зона высоких частот развита не очень. В случае сеток, мы можем исправить это и сразу сделать на этом шаге более продвинутую модель, словно мозгу не нужно переживать за место (древние зоны не могут расти не в ущерб другим). И миллион лет эволюции. В этом сила сеток.
Что то мне подсказывает, что они переизбрали механизм обратной связи на уровне крупных зон мозга. Или механизм частично, который занимается консолидацией данных из кратковременной в долговременную , называется replay в нейробиологии. Только реализовали часть какую то.
Надо конкретно смотреть, что они сделали и как. Я сколько работаю с нейронками и архитектура и, пока не увидел ничего, чтобы отличалось от механизмов в мозге. Только в нейронках копируют часть механизма. Но постепенно усложняют приближаясь к биологии. Так что возможно, тут главное может оказаться то, что можно взять данную механику при реализации переносе из кратковременной памяти в долговременную. Надо разбираться.
Вообще удивительно, как исследования порой копируют многие механизмы мозга , но в урезанном виде. При этом не осознают этого.
Все таки, пока нейронки пока только зараждается как наука. И пока ещё ей предстоит пройти слияние с нейробиологией.
Уверен, что представленное исследование так же копирует какие то связи реальных зон мозга, как часть их механики. А потом удивляются результатам.
Я сейчас например реализую 6 слойная модель, которая лежит в основе любых зон мозга. И там есть слой VI, он помогает определить новизну сигнала, через выделение важных признаков. И затем подаётся на вход модели, чтобы усилить наиболее важные, чтобы модель на следующем шаге могла обратить на них внимание и усилить или ослабить.
Так вот, оказалось что это типичная модель классификации. Когда мы определяем что за данные: кошка, собака, музыка , шум и так далее. Только классификаторы это урезанный вариант работы слоя VI. По-сути этот слой находит признаки собаки, и затем усиливает каналы у входного сигнала, чтобы сосредоточиться на собаке.
Разработчики, сами того не понимая реализовали частично этот слой. Взяв только часть, а именно классификацию сигнала без обратной связи.
Это яркий пример, что сетки надо делать так, чтобы постараться перенести механизмы работы мозга. Хотя конечно можно просто методом проб ошибок находить эти решения. А потом утверждать, что мозг работает иначе.
Тут как раз сейчас исследую, механизм сигнала новизны. И когда перенес его биологию из слоя VI, то оказалось что это типичный классификатор. Только у стандартного в сетках это урезанный слой VI в мозге. И если бы изначально пошли по пути нейробиологии, то увидели это. Плюс появилась бы возможность динамически влиять на сигнал.
К чему я это. То что увидели в статье, уверен можно так же понять если детально рассмотреть данный процесс на уровне нейробиологии. Чтобы понять, какую механику он копирует.
Самое главное в этой модели как раз не сказали. Она построена на SSM архитектуре (противовес трансформерам), позволяет учитывать через механизм внимания неограниченные окном последовательности. Но самое главное, учитывающая ритмы, что ближе к биологии мозга.
Mamba2, как раз построена из SSM блоков.
Hybrid - это архитектура совмещающая глобальный механизм внимания трансформеров и локальные SSM/Mamba (учитывающая ритмы и т.д.)
Все остальное довесок. У mamba2/ssm есть хорошие примеры синтеза. Тут, добавили дополнения сверху. Но в целом это модель msmba2/Hybrid
Whisper очень плохо справляется с распознаваниями. Лучше остальных, но в целом плохо. Я разбирал его и конечно изначально использовал. Он совершенно не справляется с шумной улицей, с быстрой речью и прочими другими вещами. Они как раз много не учли в своей архитектуре, так как изначально делали не на основе мозга (или может частично), а использовали уже отработанные архитектурные решения. Более того, Whisper не способен отслеживать разные узлы речи (а речь является последовательным графом), чтобы можно было перейти например на уровень слогов, или эмоциональных фраз или синтагм или обобщенный смысл или на уровень слов. Он всегда работает на верхнем уровне, обобщая все узлы в общий смысл. Поэтому нельзя нормально прикрутить механизм внимания, который бы мог детализировать речь на разных уровнях. Как это происходит к пример со зрением (для зрения как раз сделали более схожу архитектуру для зрения SwinTransforem).
Случайный процесс - это непредсказуемость событий, но может подчиняться определенным закономерностям в долгосрочной перспективе. Например бросание кости.
Хаотический процесс кажется беспорядочным, но он детерминирован и зависит от начальных условий, что делает его предсказуемым в теории, но на практике малые изменения могут привести к значительным различиям в результате. Поэтому хаотический процесс можно предсказать только до определенной границы. Например, предсказание погоды.
В случае хаотичного процесса, в реальности мы не можем предсказать его. Так как не может получить точное состояние всех процессов. Небольшое отклонение на в значениях на какое-нибудь 10^-6 приводит к совсем другим результатам через некоторое время.
Для примера выше градиенты речи (наклон частоты тона при речи). Кажется похож на нормальное распределение (случайный процесс). Но в реальности случайным процессом не является.
В плане выбора из множества слов это означает, что:
процесс зависит от начальных условий. То есть от сигналов других зон мозга, а они от внешнего воздействия (окружающий мир) и внутреннего (организма).
детерминирован. Детерминированная модель позволяет вам точно рассчитать будущее событие, без участия случайности. Хотя из за сложности системы и начальных условий мы этого не можем сделать. С другой стороны мы можем описать часть этих динамических процессов и опираться на свои начальные значения. Что собственно и делает к примеру механизм внимания (описывает механизм одного из процессов)
таким образом этот процесс зависит от других входных начальных условий. В частности от к примеру сигналов таламуса, гипоталамуса и других. Которые модулируют сигналы и усиливают выбор того или иного слова. Это происходит через выбор маршрута следования нейрона. Как стрелочник, который переключает маршрут поезда переводя стрелки на железо дорожных путях.
Как LLM может не ошибаться например в этом случае? Когда выбор слова из множества вероятностей на последнем шаге в LLM случайный и зависит от температуры. Это как сидеть у рулетки и удивляться, почему ставил на Zero, а выпало 34 красное.
Там же писал, что для начала надо хоты бы добавить глобальный механизм внимания на этом этапе, аналогичный как при предсказании следующего слова. У нас таламус (и не только он) играет огромную роль на выбор слова, увидел яблоко - захотел есть - и во уже выбор слова в сторону "хочет", а не "интересуется" и пошла цепочка в другую сторону. Нет в мозге случайных процессов. Хаотичные есть, случайных нет.
Хотите получить более менее ответы, задаете вопрос. Затем после ответа, просите модель покритиковать свой ответ и так по рекурсии, пока критика не пойдет уже лютый бред.
Другой подход: задали вопрос и попросили рассуждать шаг за шагом. Затем два вопроса: С чем согласна? С чем не согласна? И так по рекурсии.
Там в статье по ссылке более детально описано про матрицу W, тесты и подробные объяснения. Коротко, он уменьшает объем памяти на хранение, так как W храниться к кэше KV. Была матрица 6 на 6 и занимала 36 ед. памяти. Стала 4*2 и 2*4 и занимает 16 ед. в памяти. Они заменили WHA на MLA и адаптировали под него RoPE.
Суть в том что при таком уменьшении ранков матриц, мы ее сжимаем и теряем часть информации. Но теряем по сути шумную информацию. Сильные сигналы нормально обучаются и при сжатой матрице. А вот слабые при таком сжатии потеряются. В статье приводятся исследования, где оказалось что вначале модели обучаются сильным сигналам и лишь потом слабым, и что слабые относятся к шуму. Поэтому потеря информации при сжатии матрице, приводит к потерям шума. Поэтому шум меньше мешается (по сути сжатие работает еще и как фильтр) и поэтому модель быстрее учится сильным сигналам и быстрее сходится при сильных сигналах (правильных данных).
Не понял про LoRA , у нее стандартный механизм внимания через матрицу W. MLA был предложен не так давно.
Они изменили W матрицу внимания MHA, на умножение двух матриц W1*W2 (но меньшего размера). То есть W ~ W1*W2 (чем больше rank размерность матрицу W1 W2, тем точнее будет их перемножение). Это позволило за счет rank регулировать объем необходимой памяти. Кроме того, опираясь же на другие исследования, оказалось что более сильный сигнал при обучении формируется первым и соответствует полезной информации, а слабый сигнал формируется позже и относится к шуму. В итоге, уменьшив rank мы теряем часть информации, но сильный сигнал все равно остается, а вот слабый может потеряться. Это означает что:
модель меньше ест памяти (а это главная проблема других LLM)
умножение матриц это GPU не проблема и так как они меньше исходной, то в итоге все это быстрее
потеря исходной шумной информации приводит к тому, что модель быстрее обучается и имеет меньше шумной информации (хотя вероятно может потерять какие-то детали, но не точно). Что означает более быстрое время обучение и выше точность, особенно если сразу скармливать ей точную информацию.
Вот это и есть главное в этой модели. Так как они адаптировали архитектуру под эту оптимизацию.
Я делал как раз когда несколько разных llm рассуждают. Это аналог moe (того же рассуждения deepseek r1), только лучше. Так как сами сетки являются арбитром и решают какой из них лучше.
Конечная задача была простой, использовать несколько специализированных LLM, где одна может дать хороший ответ в рамках физики, другая биологии и так далее. И несколько общий крупных вроде бабок на лавочке - ChatGPT и подобных. Чтобы получать ответ охватывающий множество областей.
По сути в процессе получалась цепочка. Ответ реально лучше, даже на слабых сетках. Из минусов только: жрут они очень много и сразу перегружают развернутые llm одним вопросом. Так как например для 10 llm на 8b параметров всего, ответ занял порядка 10-15 минут, при том что обычно это несколько секунд. А уж сколько внутренних запросов у них, это дикий ужас. Но результат гораздо лучше.
Боюсь что у текущих большим моделям такое на бесплатном тарифе не подключить, так как быстро выйдет за доступные лимиты. А если оплачивать за токены, то такой ответ будет чертовски дорогим и если это вопрос не про телепортацию, то явно себя не окупит.
Так важным моментом было то, что это
1) отсеивали плохие галлюцинации, так как другие модели сразу говорили что это бред
2) оставляла "положительные" галлюцинации, там где модели считали, что в этом есть логика.
Но там надо было экспериментировать, мне было не до этого. Так как есть какое то оптимальное равновесие этой "толпы", чтобы понять сколько надо скептиков (с низкой температурой), сколько творческих (со средней температурой) и сколько шизоидов (с высокой температурой). Бегло тест показывал, что шизоидов из 10 не более 1, но и скептиков тоже плавно распределить, иначе сложно будет получить на какие-то рассуждения.
Хотел попробовать более детально вместо 10-и использовать только 3-и LLM (жрут меньше на тестах и быстрее), но в итоге опубликовал результат теста и пример и решил потом вернутся к этому. Сейчас было бы конечно интересно попробовать подключить туда не просто большие LLM, а сразу рассуждающие типа Deepseek R1. Но думаю что ответ тогда будет день генерироваться. А у меня таких вопросов нет, чтобы столько ждать.
Они и вправду неплохо оптимизировали саму архитектуру за счет изменения матрицы механизма внимания через ее разложение(был MHA стал MLA ). Где в принципе получаются две более простые матрицы. При этом они сделали их сжатие по rank (размеру матрицу), что отчасти приводит к потере информации. Но теряется как раз менее значимая информация, которая как раз ближе к шуму.
А так же совместили это с RoPE для кодирования позиционирования слов.
Так что теперь понятно, почему компании в штатах начали суетится. Дело не в данных и крутизны модели. Данная архитектура должна быстрее обучаться (так как разложение матрицы отбрасывает слабые значения - то есть шум), съедает гораздо меньше памяти и делает больше упор на вычисления GPU вместо ее размера. Это означает более быстрое обучение модели (откидывает шумные данные), меньше требования к памяти видео карт и их мощности.
Поэтому стоит скопировать ответ из ChatGpt или чего там, перенести его в Deepseek и попросить повторить. "покритикуй. С чем согласна? С чем не согласна?"
Они так бесконечно могут высасывать из пальца проблемы. Тут главное во время остановиться. Но обычно в такой момент это уже становиться очевидным, когда например скажет "а вот это не учитывает чего то , что не входит в задачу"
Пробовал написать игру за неделю только средствами chstgpt. Все остановилось когда надо было склеивать код. Надо самому его адаптировать. Когда игра сложнее тетриса, то самому. Да и часть проблем, llm не может решить, когда сцены не правильно прогружались согласно инструкции chstgpt и куча нюансов. Так что все равно писать самому, чем потом разбираться что за разрозненные классы он насоздавал. Самому быстрее сделать .
А вот что реально помогло, это развёртывание своих gpu серверов на арендованных мощностях, через которые генерировал звуки, или изменял детали изображения на основе controlnet (или как правильно не помню точно называние), когда надо у рисунка изменить какие то делали не изменяя сам рисунок. Или поднимал сетку, которая генерирует сложные звуки, вроде шум дождя и на фоне должен звук приза.
Опишите такой опыт.
Вот тут была отличная книга по ним.
https://ozon.ru/t/wEdWXP2
Но если вы ещё напишите статьи об этом, то ценность будет огромная.
Очень хотелось бы, чтобы кто то написал ещё и более общую статью. Про использование расспараление на верхнем уровне, например rayserve. Со всеми auto scaling и прочими вещами. Я использую его, но там ещё думаю много скрытых моментов, которые не использовал и не изучал. Вдруг на Хабре есть эксперты, кто вдоль поперёк на них распаралеливал задачи обучения. И описал бы нюансы, а их там не мало (от настройки до ограничений пропускного канала и других мелочей).
Проблема в том, что они забывают детали. А точнее выкидывают из прошлых ответов написанного кода. Особенно на больших SQL запросах это можно увидеть. И отслеживать такое порой очень сложно, так как сразу не увидишь что она выкинула какое то условие, или часть запроса (например у меня часто выкидывала группировку, сортировку всех или части полей или какие то поля в возвращаемое запросе). И это только часть.
Или буквально сегодня, просил написать bash скрипт, который пропишем разрешение программе доступ к папке в selinux. В итоге 6ой вариант только заработал. Хотя казалось задача простая. Но не одно из первых 5и решений не работали. И тут вопрос, что быстрее самому найти доки и прочитать или таким методом. Один плюс, попросил и делаешь другие задачи. В надежде что заработает . В каких то задачах решало, в каких то требовало времени, в каких то так и не справилась. И ни когда не знаешь, что быстрее самому или через модель.
Но вот какие то маленькие куски да. Предложил сам, просишь покритиковать. Или предложить самому несколько вариантов решений и через критику модели, устроить сам себе мозговой штурм, чтобы потом самому решить как более правильно. А модель может указать на возможные слабые места.
Так что я например чаще стал использовать llm для критики своих решений, или оценки моих разных вариантов решений или рассказать какие известные решения она знает (чтобы понять не упустил ли готовые). Это сокращает время на поиск.
Попросите модель написать вам код. Думаете верно? Попробуйте написать "покритикуй это решение. С чем согласна? С чем не согласна?". И так на каждом шаге. Увидите, как она будет менять свое мнение. А теперь скопируйте ее ответ из chstgpt в deepseek и повторите "покритикуй. С чем согласна? С чем не согласна?". И удивитесь, другая llm может указать вам, что данное решение плохое. И так меняйте ответы из одной llm в другую с этим комментарием.
Это хоть какой то шанс уйти от галлюцинаций, подойти к решению с критической стороны. Они могут так бесконечно изменять. Главное, чтобы они не начали забывать прежние ответы, иначе можете получить зоопарк на ваше решение написать код.
Это не спасает полностью, но небольшие участки позволяет править.
Вообще нужна такая автоматика. Чтобы вместо размышляющих, в них был токен "покритикуй" и желательно между двумя разными llm. Это будет аналог арбитра, когда в качестве него выступает либо сама модель либо другая крупная . Это существенно снижает галлюцинации.
Нет. Они изменили архитектуру. И именно в этом главная заслуга deepseek.
https://planetbanatt.net/articles/mla.html
Все остальное стало возможным благодаря этим изменениям. Если бы они взяли lora и на ее базе сделали такую большую модель, то ни какая дистилляция тут не спасла бы. А так благодаря изменениям, дистилляция ускоряет обучение на их архитектуре. Но это лишь следствие.
А может это механизм передачи данных между людьми, но в очень урезанном виде. Когда оставили только самые важные механизмы, отвечающие за обмен данными между людьми минуя какие то другие механизмы. В этом плюсы нейронок, что мы можем реализовывать работу, убирая какие то вещи реального мозга. Вроде слуха, фильтрации сигналов таламусом и так далее. С одной стороны это урезает возможности, с другой позволяет делать специфичные вещи, которые мозг не может, так как это пожелает баланс других процессов.
Я такое вижу сплошь и рядом в разных ариектутрах сеток. Например, redimnet для распознавания спикеров через свёртки, выкинули часть деталей реальной передачи между зонами мозга и оставили только самую базу. Что позволило создать специализированную сетку, которая является урезанной реализацией прохода сигнала через кохлеарное ядро, нижние холмики, оливу и так далее, сразу до славой коры зоны A1, выкинув фильтрацию сигнала таламусом. И получили, что она может отлично выполнять ряд функций, которые делали эти зоны, но не все.
Или тоже кохлеарное ядро, в мозге делиться на две зоны для низких и высоких частот. При чем для низких она сложнее (эхолокация). Но мозг так сделал ради экономи ресурсов, как компромисс. И у человека зона высоких частот развита не очень. В случае сеток, мы можем исправить это и сразу сделать на этом шаге более продвинутую модель, словно мозгу не нужно переживать за место (древние зоны не могут расти не в ущерб другим). И миллион лет эволюции. В этом сила сеток.
Что то мне подсказывает, что они переизбрали механизм обратной связи на уровне крупных зон мозга. Или механизм частично, который занимается консолидацией данных из кратковременной в долговременную , называется replay в нейробиологии. Только реализовали часть какую то.
Надо конкретно смотреть, что они сделали и как. Я сколько работаю с нейронками и архитектура и, пока не увидел ничего, чтобы отличалось от механизмов в мозге. Только в нейронках копируют часть механизма. Но постепенно усложняют приближаясь к биологии. Так что возможно, тут главное может оказаться то, что можно взять данную механику при реализации переносе из кратковременной памяти в долговременную. Надо разбираться.
Вообще удивительно, как исследования порой копируют многие механизмы мозга , но в урезанном виде. При этом не осознают этого.
Все таки, пока нейронки пока только зараждается как наука. И пока ещё ей предстоит пройти слияние с нейробиологией.
Уверен, что представленное исследование так же копирует какие то связи реальных зон мозга, как часть их механики. А потом удивляются результатам.
Я сейчас например реализую 6 слойная модель, которая лежит в основе любых зон мозга. И там есть слой VI, он помогает определить новизну сигнала, через выделение важных признаков. И затем подаётся на вход модели, чтобы усилить наиболее важные, чтобы модель на следующем шаге могла обратить на них внимание и усилить или ослабить.
Так вот, оказалось что это типичная модель классификации. Когда мы определяем что за данные: кошка, собака, музыка , шум и так далее. Только классификаторы это урезанный вариант работы слоя VI. По-сути этот слой находит признаки собаки, и затем усиливает каналы у входного сигнала, чтобы сосредоточиться на собаке.
Разработчики, сами того не понимая реализовали частично этот слой. Взяв только часть, а именно классификацию сигнала без обратной связи.
Это яркий пример, что сетки надо делать так, чтобы постараться перенести механизмы работы мозга. Хотя конечно можно просто методом проб ошибок находить эти решения. А потом утверждать, что мозг работает иначе.
https://t.me/greenruff/2109?single
Тут как раз сейчас исследую, механизм сигнала новизны. И когда перенес его биологию из слоя VI, то оказалось что это типичный классификатор. Только у стандартного в сетках это урезанный слой VI в мозге. И если бы изначально пошли по пути нейробиологии, то увидели это. Плюс появилась бы возможность динамически влиять на сигнал.
К чему я это. То что увидели в статье, уверен можно так же понять если детально рассмотреть данный процесс на уровне нейробиологии. Чтобы понять, какую механику он копирует.
По хорошему, надо было привести как раз примеры откуда ноги растут у Zonos
https://mlops.community/audio-generation-with-mamba-using-determined-ai/
https://github.com/ighodgao/mamba-speech-synthesis
Тут даже в самом SMM были примеры с обучением для Audio
https://github.com/state-spaces/s4
Hybrid это другие кто пытается адаптировать ssm/mamba под механизм глобального внимания как в трансформерах и совместить плюсы обоих моделей.
Самое главное в этой модели как раз не сказали. Она построена на SSM архитектуре (противовес трансформерам), позволяет учитывать через механизм внимания неограниченные окном последовательности. Но самое главное, учитывающая ритмы, что ближе к биологии мозга.
Mamba2, как раз построена из SSM блоков.
Hybrid - это архитектура совмещающая глобальный механизм внимания трансформеров и локальные SSM/Mamba (учитывающая ритмы и т.д.)
Все остальное довесок. У mamba2/ssm есть хорошие примеры синтеза. Тут, добавили дополнения сверху. Но в целом это модель msmba2/Hybrid
Whisper очень плохо справляется с распознаваниями. Лучше остальных, но в целом плохо. Я разбирал его и конечно изначально использовал. Он совершенно не справляется с шумной улицей, с быстрой речью и прочими другими вещами. Они как раз много не учли в своей архитектуре, так как изначально делали не на основе мозга (или может частично), а использовали уже отработанные архитектурные решения. Более того, Whisper не способен отслеживать разные узлы речи (а речь является последовательным графом), чтобы можно было перейти например на уровень слогов, или эмоциональных фраз или синтагм или обобщенный смысл или на уровень слов. Он всегда работает на верхнем уровне, обобщая все узлы в общий смысл. Поэтому нельзя нормально прикрутить механизм внимания, который бы мог детализировать речь на разных уровнях. Как это происходит к пример со зрением (для зрения как раз сделали более схожу архитектуру для зрения SwinTransforem).
Случайный процесс - это непредсказуемость событий, но может подчиняться определенным закономерностям в долгосрочной перспективе. Например бросание кости.
Хаотический процесс кажется беспорядочным, но он детерминирован и зависит от начальных условий, что делает его предсказуемым в теории, но на практике малые изменения могут привести к значительным различиям в результате. Поэтому хаотический процесс можно предсказать только до определенной границы. Например, предсказание погоды.
В случае хаотичного процесса, в реальности мы не можем предсказать его. Так как не может получить точное состояние всех процессов. Небольшое отклонение на в значениях на какое-нибудь 10^-6 приводит к совсем другим результатам через некоторое время.
Для примера выше градиенты речи (наклон частоты тона при речи). Кажется похож на нормальное распределение (случайный процесс). Но в реальности случайным процессом не является.
https://t.me/greenruff/2021
В плане выбора из множества слов это означает, что:
процесс зависит от начальных условий. То есть от сигналов других зон мозга, а они от внешнего воздействия (окружающий мир) и внутреннего (организма).
детерминирован. Детерминированная модель позволяет вам точно рассчитать будущее событие, без участия случайности. Хотя из за сложности системы и начальных условий мы этого не можем сделать. С другой стороны мы можем описать часть этих динамических процессов и опираться на свои начальные значения. Что собственно и делает к примеру механизм внимания (описывает механизм одного из процессов)
таким образом этот процесс зависит от других входных начальных условий. В частности от к примеру сигналов таламуса, гипоталамуса и других. Которые модулируют сигналы и усиливают выбор того или иного слова. Это происходит через выбор маршрута следования нейрона. Как стрелочник, который переключает маршрут поезда переводя стрелки на железо дорожных путях.
Как LLM может не ошибаться например в этом случае? Когда выбор слова из множества вероятностей на последнем шаге в LLM случайный и зависит от температуры. Это как сидеть у рулетки и удивляться, почему ставил на Zero, а выпало 34 красное.
Описывал тут https://t.me/greenruff/2103
Там же писал, что для начала надо хоты бы добавить глобальный механизм внимания на этом этапе, аналогичный как при предсказании следующего слова. У нас таламус (и не только он) играет огромную роль на выбор слова, увидел яблоко - захотел есть - и во уже выбор слова в сторону "хочет", а не "интересуется" и пошла цепочка в другую сторону. Нет в мозге случайных процессов. Хаотичные есть, случайных нет.
Хотите получить более менее ответы, задаете вопрос. Затем после ответа, просите модель покритиковать свой ответ и так по рекурсии, пока критика не пойдет уже лютый бред.
Другой подход: задали вопрос и попросили рассуждать шаг за шагом. Затем два вопроса: С чем согласна? С чем не согласна? И так по рекурсии.
Там в статье по ссылке более детально описано про матрицу W, тесты и подробные объяснения. Коротко, он уменьшает объем памяти на хранение, так как W храниться к кэше KV. Была матрица 6 на 6 и занимала 36 ед. памяти. Стала 4*2 и 2*4 и занимает 16 ед. в памяти. Они заменили WHA на MLA и адаптировали под него RoPE.
Суть в том что при таком уменьшении ранков матриц, мы ее сжимаем и теряем часть информации. Но теряем по сути шумную информацию. Сильные сигналы нормально обучаются и при сжатой матрице. А вот слабые при таком сжатии потеряются. В статье приводятся исследования, где оказалось что вначале модели обучаются сильным сигналам и лишь потом слабым, и что слабые относятся к шуму. Поэтому потеря информации при сжатии матрице, приводит к потерям шума. Поэтому шум меньше мешается (по сути сжатие работает еще и как фильтр) и поэтому модель быстрее учится сильным сигналам и быстрее сходится при сильных сигналах (правильных данных).
Не понял про LoRA , у нее стандартный механизм внимания через матрицу W. MLA был предложен не так давно.
Нагрузку снижает прежде всего использование другого подхода на уровне архитектуры
https://planetbanatt.net/articles/mla.html
Они изменили W матрицу внимания MHA, на умножение двух матриц W1*W2 (но меньшего размера). То есть W ~ W1*W2 (чем больше rank размерность матрицу W1 W2, тем точнее будет их перемножение). Это позволило за счет rank регулировать объем необходимой памяти. Кроме того, опираясь же на другие исследования, оказалось что более сильный сигнал при обучении формируется первым и соответствует полезной информации, а слабый сигнал формируется позже и относится к шуму. В итоге, уменьшив rank мы теряем часть информации, но сильный сигнал все равно остается, а вот слабый может потеряться. Это означает что:
модель меньше ест памяти (а это главная проблема других LLM)
умножение матриц это GPU не проблема и так как они меньше исходной, то в итоге все это быстрее
потеря исходной шумной информации приводит к тому, что модель быстрее обучается и имеет меньше шумной информации (хотя вероятно может потерять какие-то детали, но не точно). Что означает более быстрое время обучение и выше точность, особенно если сразу скармливать ей точную информацию.
Вот это и есть главное в этой модели. Так как они адаптировали архитектуру под эту оптимизацию.
Я делал как раз когда несколько разных llm рассуждают. Это аналог moe (того же рассуждения deepseek r1), только лучше. Так как сами сетки являются арбитром и решают какой из них лучше.
https://t.me/greenruff/1757
Конечная задача была простой, использовать несколько специализированных LLM, где одна может дать хороший ответ в рамках физики, другая биологии и так далее. И несколько общий крупных вроде бабок на лавочке - ChatGPT и подобных. Чтобы получать ответ охватывающий множество областей.
По сути в процессе получалась цепочка. Ответ реально лучше, даже на слабых сетках. Из минусов только: жрут они очень много и сразу перегружают развернутые llm одним вопросом. Так как например для 10 llm на 8b параметров всего, ответ занял порядка 10-15 минут, при том что обычно это несколько секунд. А уж сколько внутренних запросов у них, это дикий ужас. Но результат гораздо лучше.
Боюсь что у текущих большим моделям такое на бесплатном тарифе не подключить, так как быстро выйдет за доступные лимиты. А если оплачивать за токены, то такой ответ будет чертовски дорогим и если это вопрос не про телепортацию, то явно себя не окупит.
Так важным моментом было то, что это
1) отсеивали плохие галлюцинации, так как другие модели сразу говорили что это бред
2) оставляла "положительные" галлюцинации, там где модели считали, что в этом есть логика.
Но там надо было экспериментировать, мне было не до этого. Так как есть какое то оптимальное равновесие этой "толпы", чтобы понять сколько надо скептиков (с низкой температурой), сколько творческих (со средней температурой) и сколько шизоидов (с высокой температурой). Бегло тест показывал, что шизоидов из 10 не более 1, но и скептиков тоже плавно распределить, иначе сложно будет получить на какие-то рассуждения.
Хотел попробовать более детально вместо 10-и использовать только 3-и LLM (жрут меньше на тестах и быстрее), но в итоге опубликовал результат теста и пример и решил потом вернутся к этому. Сейчас было бы конечно интересно попробовать подключить туда не просто большие LLM, а сразу рассуждающие типа Deepseek R1. Но думаю что ответ тогда будет день генерироваться. А у меня таких вопросов нет, чтобы столько ждать.
Вчера полез смотреть, в чем именно отличие архитектуры DeepSeek
https://planetbanatt.net/articles/mla.html
Они и вправду неплохо оптимизировали саму архитектуру за счет изменения матрицы механизма внимания через ее разложение(был MHA стал MLA ). Где в принципе получаются две более простые матрицы. При этом они сделали их сжатие по rank (размеру матрицу), что отчасти приводит к потере информации. Но теряется как раз менее значимая информация, которая как раз ближе к шуму.
А так же совместили это с RoPE для кодирования позиционирования слов.
Так что теперь понятно, почему компании в штатах начали суетится. Дело не в данных и крутизны модели. Данная архитектура должна быстрее обучаться (так как разложение матрицы отбрасывает слабые значения - то есть шум), съедает гораздо меньше памяти и делает больше упор на вычисления GPU вместо ее размера. Это означает более быстрое обучение модели (откидывает шумные данные), меньше требования к памяти видео карт и их мощности.