1) Ошибка предсказания нейронов - это основа всех исследований в нейробиологии как на живых клетках, так и искусственных. Тут как фундаментальные исследования, так и локальные. Так же как и разработка влияния аналога дофамина на каждый блок архитектуры. Но для конечного пользователя это проходит мимо, так как там преследуются академические задачи и их не сильно волнует, можно на этом построить LLM или нет. Но много важных работ (но все они от 1950 до 2018 года)
2) Работы над таламус я пока видел разве только у DeepMind и еще тут. Но у них костяк это нейробиологии и уже следом идут инженеры. Собственно один из основателей DeepMind и получил Нобелевскую по нейронкам. Именно они разработали в свое время AlphaGo и AlphaZero (которые победили гроссмейстера в шахматах). Как и сейчас их модели Flamingo и Perceiver IO, которые являются мультимодальными и пожалуй единственными в своем роде.
3) Динамические системы тоже есть, точнее над ними работают. Название по памяти не вспомню, так как там исследуют конкретно динамику моделей без особой привязки к остальному.
4) временные компоненты это спайковые сетки, ordinary differential equation (ODE) как более точные модели нейронов чем спайки используемые зарубежными нейробиологами. Ну и конечно State Space Models (SMM), более новые подходы хранящие временную составляющую в скрытых состояниях (S4D, Mamba, H3 и другие), которые только набирают обороты и получили большой скачек в 2024 году и постепенно идущие на замену трансформерам в качестве гибридов с ними.
И так по всем пунктам. Но подобным ни кто не интересуется, кроме очень редких и узких специалистов (в России я таких не встречал пока что). Так как людям гораздо интересней обсуждать что ответила новая модель, а не их фундаментальные проблемы и их решения.
Я не против бенчмарков. Проблема тут в том, что компании грешат тем, что просто тренируют свои модели на них. Это как обучить модель на датасете, а затем проверить как она с ним справиться. Для этого обычно делается тестовый датасет. Но в данном случае, данные из бенчмарков используются как те же датасеты. И таким образом мы не знаем, модель научилась обобщать эти данные и нашла важные признаки или же просто обучилась этим данным. Так как объем данных в таких бенчмарков не велик, то я сомневаюсь, что модели реально могут научиться обобщать сложные признаки в этих данных. Поэтому я с большим подозрением отношусь к этим оценках и предпочитаю проверять модели под свои задачи самостоятельно не опираясь на оценки, это более надежно.
Бенчмарки измеряют узкую специализацию моделей, а не общий интеллект или способность к абстракции. Это особенно актуально, если тестовые данные становятся частью обучающего набора (проблема "утечки данных"). Текущий подход напоминает оптимизацию под конкретные задачи, а не создание универсальных систем. Это может завести в тупик, если не сопровождается фундаментальными прорывами.
Но вы так же правы, что без стандартизированных тестов сравнение моделей превращается в субъективные споры. И безусловно не все новые подходы ведут к успеху, как к примеру тупиковые в свое время "Капсульная нейронная сеть".
Проблема в том, что погоня и засилие бенчмарками могут тормозить развитие. Новые подходы часто требуют времени для адаптации. Трансформеры тоже сначала уступали LSTM в некоторых задачах.
Вопрос: у нас есть матрица A размером [B, C, T], мы хотим сделать С = A@D, чтобы С была размером [B, C, T].
Для пример, Сбер "GigaChat-2 Max" выпустил недавно статью про свои бенчмарки, где они превзошли по каким-то пунктам другие.
А что толку? Первый же вопрос не по бенчмаркам, выдал полную ахинею. Так как в погоне за цифрами, они проигнорировали проблемы. И этим грешат все крупные модели, когда главным показателем является оценка по бенчмаркам.
Я хочу донести идею, что бенчмарков не достаточно для оценки. Охранник в магазине может быть очень эрудирован и превосходно разгадывать кроссворды, и возможно победит в бенчмарках по кроссвордам. Но этого не достаточно для оценки сложности его мышления. А дает лишь оценку его начитанности.
Чтобы постараться подробнее объяснить как это сделать, специально вчера после вашей статьи описал подробно данный метод, который позволяет переключить предсказание токенов LLM на нужный стиль.
Надеюсь это поможет в вам исследовать разное поведение в рамках ваших примеров. В основе лежит основа LLM учитывать прежние токены для предсказания следующих. За счет этого мы переключаем маршруты предсказания в нужное нам направление. В данном случае, расширяя это до возможности задания "характера" и стиля общения. Таким образом предсказания идет в рамках данного паттерна поведения, которые были извлечены моделью из текстов при ее обучении.
Хотите расширить ваш эксперимент? Можно придать ллм разный характер . Делается это через микродиалоги. Например, если вы хотите смоделировать агрессивное поведение, то вставляете перед вашим диалогом микродиалог. Например:
Предскажи бла бла бла
Ответ: выбор 1
В случае с микродиалоги:
Мы: ты сволочь тупая
Модель: ты сам тупой как пробка
Мы: предскажи бла бла бла
Ответ: выбор 67
Мы вставили микродиалог. Промпт тут не поможет. Проверено, модель потеряет суть требований. А так мы модулируем ее характер
Почему это работает? Дело в том, что тексты содержат результат реальной работы нашего мозга учитывающий борьбу за доминирование лобной доли и лимбической системы.
Мы таким образом настраиваем модель предсказывать именно данное поведение, на основе обученных данных для данного поведения, когда например лимбическая система взяла верх на лобной долей. И последующие предсказания будут нацелены на предсказание именно данного поведения.
Тем больше будет микродиалог, тем точнее модель сможет предсказать данное поведение.
Когда я делал, то такие микродиалоги были на каждом шаге диалога. Они не видны пользователю. По тексту мы предсказываем эмоциональный контекст. Затем у нас есть таблица с микродиалогами для каждой эмоции. И для каждого шага мы берём конкретный микродиалог прописанный для данной эмоции (он должен быть абстрактным).
В рамках вашей данной модели, где мы моделируем разные характеры участников интересно было бы увидеть, как измениться конечный результат эксперимента. Так как в реальности, мы прогнозируем поведение разнородной толпы. Это сделает эксперимент более чистым и правдоподобным.
1) уметь предсказывать не только глобальную ошибку на датасете (аналог базальных ганглий с подкреплением дофамина), но и локальные (у неокортекса есть в каждой области есть слой 6, отвечающий за предсказание и корректировку локальной ошибки)
2) учитывать модуляцию сигнала (в сетках называется механизм внимания) не только на связи признаков , но и на обращение результата (слой 5 и модуляция других зон мозга). Это значит, если контекст связан с эмоциями, то в результате лимбическая система усиливает сигналы эмоционального планка описывающие текст. Но если преобладает моторная область (двигает рукой), то упор будет на сигналы соответствующие моторному контексту. Если с телом, то теменная зона. Если зрение или слух то аналогично. Если мы голодные, то усилиться сигналы связанные с этим в контексте. А не как сейчас случайно выбираем токен в обобщенных признаках. Сейчас в llm за обобщение отвечает FFN, а он ни как не регулируется, тупо обобщает признаки.
3) нет учёта фильтрации сигналов, как в таламусе . У него есть релейные нейроны, задача которых фильтровать сигнал, чтобы усиливать только важные. Этого вообще нет в ллм.
4) нет динамических систем предсказания. После обучения система статическая. Поэтому не способна изменять состояние, в рамках контекста. И его надо прогонять весь целиком снова и снова. А это важно, так как у нас есть механизм переноса динамического контекста в статический (кратковременная и долговременная память).
5) нет ни какой реализации теменной зоны. Которая у человека отвечает за связь себя и тела и отделением от внешнего мира. Это позволяет нам производить внутренний анализ
6) нет обратной связи, то есть конечный сигнал потом идёт на вход. Что позволяет нам рефлексировать. В текущих llm это все ограничено текущим контекстным окном и мы каждый раз прогоняем всю цепочку снова и снова.
7) нет учёта временной компоненты в ллм, которая играет важную роль через ритмы. Разделяя на слоги, слова, связывая разные сенсорные сигналы зрения и текста через усиления важных в контексте. Когда амплитуда совпадает, это усиливает значимость данного сигнала
8) нет учёта гистерезиса, когда рост и падение сигнала ассиситричны. То есть спад идёт быстрее, а рост медленнее. Это позволяет отсеивать шумы в сигналах
9) нет внутренней флуктуации, важного свойства хаотичных систем. Которые так же играют важную роль в предсказаниях и обобщении признаков
Я могу долго перечислять этот список. А пока llm это отличный инструмент для обобщения данных и поиска связей в этих обобщенных данных. Но к ИИ это не имеет ни какого отношения, ник слабому ни к сильному.
Эти тесты показывают лишь одно. На сколько хорошо модель проходит эти тесты и как хорошо обучена им.
Сегодня это будет 90% успеха. Завтра 90% успехов успеха на новых, когда другие ниже. Все потому что в эти тестовые данные добавляются новые примеры. Это бесконечная гонка за фиктивными показателями. Которые указывают только то, на сколько хорошо модель справляется данным датасетом тестов. Завтра обучат на них и показатель вырастет.
Но это не меняет суть проблемы. Так как потом будут новые примеры и новые показатели.
Фундаментальной проблемы это не решает. Так как модель учиться обобщать эти данные, а не предсказывать их правильно. Без фундаментальных изменений архитектуры, это бесконечная гонка за неуловимым Джо.
Поэтому хочется больше статей не о бачмейках, а о фундаментальных работах о новых подходов. Как к примеру делал Deepseek с матрицами внимания, как продвигаются работы над спайковыми сетями, над ssm с их временными параметрами на примере s4d/h3/mamba, гибриды и так далее.
Вот таких статей чертовски не хватает на хватает на Хабре.
Я имею ввиду, что более подробно по ним. Так как сейчас в данных статьях все смешано и про все чуть чуть. Лучше было описано подробно с примерами. Например мы «волк», на сайт заходит «овцы» и мыс читаем овец. Проверим гипотезу что волк уснет на 10 овце на основе наших A/B тестов. Спрогнозируем результат, на какой овце уснет другой волк.
Понятно что я утрирую. Но я к тому, чтобы не мешать все в одну кучу. Убрать мат часть, а сделать именно понятный конкретный пример. Можно вместо волка и овец, клики на разные разделы страницы по ссылке или выбор товара или что угодно. Но по конкретным частям. Сейчас в тех статьях этого наглядного разбора очень не хватает. Там все сразу в одной куче. Сделайте прям отдельную статью по одному вашему примеру. Без лишнего матана (там проще ссылку дать на прежние статьи), без рисования матриц... вот задача, решаем ее через наше решение, и наглядное (не математическое) описание решения через фреймворк. Мы же не мат анализ изучаем тут.
Для примера, как чудесно тут объясняют авторегрессионные и диффузионные модели, при этом не используя кучу математики, которая в данном случае излишне. А именно наглядно. Так что надеюсь, что вы сделаете подобным образом разор и своих фреймворков.
Опишите про это в статье. Сейчас лезть и разбирать не хочется. Не потому, что там плохо или не нужно. А потому, что не понятно, что это даст и точно ли это нужно и облегчит какие-то задачи.
Напишите об этом статьи. Где раскройте потенциал данных репозиториев. Примеры, результаты, что это и для чего. А то получается, что вроде у компании есть какие-то репозитории. Но в блоге самой компании выходит такая статья, которая несет 0 ценности. А могла бы быть полезной, описав разбор ваших же репозиториев.
"если этот разброс обусловлен входными данными, то именно они являются причиной, воспроизводят вариативность на выходе. " - это так не работает. внутренние флуктуации - это одно свойство хаотичной системы, если их нет, то мы не можем назвать систему хаотичной. Входные данные так же вносят динамику, но внутренние флуктуации - это именно свойство хаотических системы в теории хаоса. Поэтому если мы обучаем на каком-то наборе данных, то при игнорировании внутренних флуктуаций любой хаотичной системы, мы приходим к переобучению. Переобучение в данном случае означает, что система научилась предсказывать конкретные данные, игнорируя вариативность. Поэтому всегда надо вводить флуктуации при обучении. И исследования выше говорят о том, что средняя ошибка была 18%. Другие похожие современные исследования, дают схожие результаты на примере исследований рака в доклинических исследованиях
Я утверждаю, что вариация это свойство системы и она остается всегда. Точно так же скачет выше или ниже, отсюда и получаем закон Вебера, когда биологическая система обучается считать шумом и обобщать, все что ниже уровня флуктуации.
От увеличения модели вариативность не падает. Вы путаете бред и галлюцинации. Это совершенно разные вещи. Вы можете хоть до триллиона увеличить размер модели, у вас не упадет вариативность. Она ни куда не денется. Причина? Причина в том, что трак устроен трансформер лежащий обычно в основе LLM. В нем головы находят признаки и связи между ними, связывая через модуляцию сигнала (Softmax), в то время как обобщение найденных признаков происходит в слое FFN. Это похоже на слой 5 неокортекса, где тоже происходит обобщение слоев 2 и 3, которые находят признаки. Только в реальном слое 5 он так же регулируется через модуляцию. А в случае трансформеров этого нет. Вы просто обобщили связи, правильный выбор зависит от контекста, который должен происходит через модуляцию. Условно говоря, что если вы движете рукой, то в обобщении будут выбраны слова связаны с моторикой (иметь больший вес), если эмоциональная часть то эмоциональные слова и так далее. Это вносит вариативность.
Не важна какая сейчас доминантная парадигма моделей. У вас же по вашей же ссылке даже написано "Неустранимая ошибка " как про один из параметров о котором я говорю.
Насчет про вариативность и глупость в корне не согласен. Насчет гипотезы масштабирования, тут опять же это теория хаоса. Но чем больше масштабирование, тем больше вариативность. Она просто увеличивается. Будет у вас модель на триллион, будет вариативность ошибка на условных 10%. Это никуда не денется, пока вы работаете с динамическими системами.
слева обучение без флуктуаций, справа обучение с флуктуациями
Вот вам наглядный пример, чтобы учесть вариативность и внутренние флуктуации системы, я переписал функции активации, нормализации, Softmax и другие. Чтобы они учитывали правильно внутреннюю флуктуацию системы. Как итог, слева обучение стандартными функциями, справа учитывающие флуктуацию. В случае учета флуктуации, система учится находит и обобщать, конкретные признаки (в данном случае гамматон фильтры). Внутренняя флуктуация имеет еще одно важное свойство, она не позволяет системе переобучиться, заставляя ее именно обобщать.
То что вы пишете про детализацию, тут смешано и выделение конкретных признаков (а это как раз то что вы описали в статье) и сложность системы. Но это два разных понятия. Сложность в данном случае - это набор признаков. Поэтому детализация в вашем описании приводящая к сложности, это как уточнение конкретного признака так расширение множества признаков. Например, вы учитесь распознавать уши - это выделение признака. А потом вы решили расширить, чтобы лучше определяла уши человека, животного, птицы - и таким образом расширили признаки, так как теперь вам надо учитывать еще и признак "человек", "животное", "птица" и так далее. Вы получили уже группу признаков. Но для каждого отдельно взятого признака необходимо учитывать хаотичность системы, о которой и приводил статьи выше и на чем строится теория хаоса. И как бы вы не поднимались или не опускали на уровни детализации (до типов объектов с ушами или просто всех ушей) - у вас ошибка все равно будет колебаться на описанном выше уровне. Это и есть неустранимая ошибка.
Не понимаю, написано что вы "Руководитель центра R&D Big Data в МТС Диджитал". При этом статья вообще ни о чем про "Мир во всем мире", высосана из пальца.
Не ужели нельзя написать о чем-то полезном? Что за R&D проводите, какие результаты. Что изменили? Или цель статьи - это KPI внутри компании?
Почему не описать их? Сейчас они больше похожи на внутреннюю документацию, и не очень понятно для чего они нужны. Почему стоит использовать их, а не взять другие готовые вещи? Я к тому, чтобы описать. Это реализации описанных решений или это лично МТС решения на основе ваших R&D.
А то вся эти общая мишура про дистилляцию имеет нулевую ценность.
Пример с гамматон фильтрами, сверху целевая и снизу полученная
Насчет выделения классов, они же признаки. Используйте петлю гистерезис, для усиления признаков и убирания шума.
Гистерезис может подавлять шум за счет инерционности (сглаживание резких изменений).
Усиление слабых признаков, где важна информация в зашумленных участках. Но не подавляет слабые признаки, а наоборот, подтягивает их до среднего уровня.
Выделяет и усиливает те признаки, которые уже были сильными.
Это ведёт к тому, что слабые признаки не исчезают, а становятся более заметными. При этом это не особо усиливает шум, так как из за колебаний, он будет всегда оставаться на низком уровне.
Данное регулирование достигается за счет регулирования скорости "роста" и "спада" сигнала, имитируя инерционность. Если это шум, то колебания будут постоянными и хаотичными, что приводит к тому, что сигнал всегда быстро спадает. В то время как для признаков, сигнал будет постепенно более медленно увеличиваться, подтверждая наличие признака, что приводит к его более сильному выделению на фоне шума. Достигается это введением разной скорости регулирования при росте и спаде сигнала, как в случае гомеостаза.
Вот такой разбор хотелось бы видеть в статье. А не просто. кусок кода, определение термина. Что я могу получить от такой подачи? Набор общих штампов и терминов, оторванные куски кода? Лучше оставьте какой то один пункт и подробно, наглядно разберите его даже ради рекламы, чем просто накидать гору текста.
Сид влияет на выбор выходного результата, а я имел ввиду про обнаружение признаков. Можете объяснить это утверждение " можно утверждать что данные воспроизводят вариативность инференса "? На чем вы строите это утверждение? Не очень пока понимаю.
"Сегодня почти все модели недоучены. " - так в динамической хаотичной среде не существует точки, когда мы можем считать, что полностью обучили процессу. Так как иначе это уже не хаотичная система. Но не понял как вы связали предвзятость и вариативность.
Про сложность модели и объема данных. Тоже не совсем понял, модель просто выделит признаки в нем. Она не должна уметь выделять все множество разнообразий признаков. Но она должна уметь обобщать конкретные признаки.
Не понял, что вы имеете ввиду, говоря что вариативность маскирует глупость? И почему принцип неопределенности считаете глупостью? Вариативность это часть динамических систем, и без нее вы просто не сможете качественно обучить систему. Сид это не про вариативность, это статическая величина (во время работы).
Не совсем понятно о каком именно интервью идет речь. Так как ML тоже делиться на области. То что вы описали ближе к мат статистики (хотя есть и общие примеры для всех), и больше подходит для вакансий, где ML применяется для анализа предсказаний продаж, закупок, каких то действий. Например, ВкуссВилл, Ашан и другие, где и до этого была мат статистика, которая плавно расширилась до инструментов ML. Но при этом сильно отличается от многих других подходов в других областях ML.
"Метаанализ предполагает, что коэффициент вариации остается постоянным на нескольких уровнях биологической организации, что означает, что степень вариации не зависит от масштаба наблюдения; фрактальное свойство. "
Я это к тому, что при обобщении данных и поиске закономерности на статических результатах, всегда надо учитывать этот уровень вариативности и добавлять его. Без этого, система просто приходит к обобщению конкретных данных, то есть переобучению. Так как в динамической среде всегда будут присутствовать вариативность. Поэтому ее надо добавлять в анализируемые данных. Если только нет цели, получить систему точно описывающую данный результат: 2 + 2 = 4. Если же нужна система, которая должна обобщать динамические данные, то надо учитывать эту вариативность как часть данных, добавляя ее в них. Так как в конечном счете это проблема данных, а не методов обучения.
Как я понимаю, тут все же речь про другие ограничения. KBLaM если я правильно понял, добавляет к стандартному токену ещё свой сигнал. Но честно пока не понял, что это даёт. Почему это должно что то решать в данном случае. В целом как то скудно с информацией как в статье, так и на GitHub. Жаль что вы не описали главный смысл работы KBLaM, что конкретно он делает и почему это должно работать. В чем его идея и как реализована.
Видимо придется лезть разбираться. Но деталей очень не хватает.
Можете уточнить, что вы имели ввиду под этим: LLM сталкиваются с интересным парадоксом: их контекстные окна продолжают расти, позволяя им обрабатывать больше информации одновременно, но надежная обработка всех этих данных остается проблемой
Вы имели ввиду, что с ростом размерности матриц W трансформера в LLM они все равно порой выдают галлюцинации? Или я не правильно вас понял?
Просто увеличение размеров матриц весов W ни как не должно влиять на точность. Не совсем понимаю откуда взялась такая идея. Они же находят признаки и связи между ними, и влияют только на это.
То что называют контекстным окном и матрицами внимания, что ужасно злит так как это модулирующие матрицы глобального и локального контекста. А сами галлюцинации прежде всего связаны с обобщением информации. Так как в трансформерах в LLM все обобщение сводится к FFN. Что из-за отсутствия механизма управления обобщением, приводит к необходимости случайного выбора выходного токена в рамках выходного Softmax. И увеличением размера весовых матриц W это не решается. Хоть их размер будет триллион, просто смогут найти более сложные признаки.
Как поисковик полезен. Так как текущие поисковики часто забиты мусором и трудно искать научные статьи или IT решения.
Но что то сложное, это не про LLM. Сказать что они очень тупые, это ничего не сказать. С другой стороны глупо обвинять в этом LLM, архитектура которых построена на выделении и обобщении данных в найденных признаках на больших объемах текста.
Если бы модели обучались на речи древнего человека, то они бы не превзошли бы древнего человека по мышлению и не думали бы на уровне хомосапиенс. Все что было бы, это средний уровень обобщения австралопитека. Так и тут.
У моделей нет к примеру коррекции локальной ошибки, как это происходит у нас в мозге на каждом участке. Нет коррекции глобальной ошибки, только при обучении. Нет коррекции текущего состояния, например обострение выделение признаков или ослабление сигнал шум в зависит от контекста, как это делают нейромедиаторы у нас в мозге. Это малая часть.
Если для кого то LLM это ИИ или превзошли среднего человека. У меня для него плохие новости, либо этот человек на столько плохо знает тему, что ответ LLM вместо гугления для него магия либо его интеллект ниде среднего.
LLM инструмент, который может отлично обобщить объем данных в пределах локального контекста. В этом его сильная сторона.
Оценка ответа LLM со стороны другой LLM - это, безусловно, один из известных методов улучшения генеративных пайплайнов. Для других задач мы его тоже используем, но здесь я не стал его упоминать, потому что он довольно затратен по времени работы, тем более для пайплайнов поиска/RAG.
А где прочитать про это? До этого не встречал сколько не искал использования аналога MoE, где в качестве арбитра не какая-то сущность, а несколько LLM которые участвуют в процессе. Если вы про Chain-of-Thought (CoT), то это совсем другое. И к описанному варианту арбитров отношения не имеет.
Насчет примеров, возможно они не очень удачные в наглядном плане. При различных психических заболеваниях: шизофрении и Альцгеймера например, есть два вида проявления.
Бред - "словесная окрошка". Пример: пациент перескакивает с темы на тему, не завершая мысли. Более понятный пример. «Зеленые часы летают над морем, потому что электричество ест треугольники, а вчера я видел Бога в холодильнике». Отдельные слова грамматически правильны, но их сочетание абсурдно. Нет четкой темы, причинно-следственных связей или контекста.
Галлюцинации. Это как раз тот пример с хим. реакцией, которая выдумана. Это связано с отсутствием регуляции входного сигнала. Получаем избыток «шумовых» сигналов → мозг интерпретирует внутреннюю активность как внешние стимулы (галлюцинации) Это как раз приводит, к тому что кажется что если я добавлю калий в воду, то получу раствор йода. Так как причина-следственные связи, которые должны быть выделены "размазаны" с шумовыми.
Оба этих явления часто присутствуют вместе, поэтому подобное в LLM народ не разделяя, называет все галлюцинациями. Хотя в нейробиологии эти понятия различаются как по проявлению, так и по причинам возникновения.
Как это проявляется у LLM. Бред: Когда FFN в трансформерах не справляется или недообучен, то мы получаем бред. Это аналогично проблемам слоя V в ассоциативных зонах, которые так же обобщают данные в небольших областях. Причин там много, низкая плотность нейронов (аналог слабой модели), дофаминовые проблемы (недообучена) и так далее. Тут если единственный вариант либо увеличивать размер FFN, либо до обучать модель. Поэтому при до обучении от бреда мы можем избавиться (если объем информации влезает в модель).
Галлюцинации: Их причины в том, что в слое V или других местах нарушается фильтрация данных. Например, при выборе слова должен прийти сигнал от моторной зоны, чтобы выделить слово "идти", а он не приходит (ослаблен контроль фильтрации сигнал/шум) и на фоне этого получаем другое слое "плыть". И фраза Я иду по улице, превращается в фразу Я плыву по улице. Это галлюцинация. Но в LLM этого механизма усиления сигнал/шум нет вообще. Вместо этого мы прогнозируем множество вероятных следующих слов, где с помощью температуры выбираем случайное в диапазоне вероятностей указанном температурой. Таким образом у нас возникают галлюцинации, так как выбор происходит оторванных от контекста (в мозге сигнал на нужный контекст направила бы какая-нибудь зона мозга, которая окажет модулирующее влияние и усилит его - время, моторика, зрение, слух, ассоциативная зона, сигнал от тела, лимбическая и так далее). Иногда это галлюцинация явно не подходит ни под один возможный контекст, и тогда это плохая галлюцинация. Хорошая галлюцинация - это та, которая может быть полезной. Когда связь была не очевидной, более слабой, но в итоге привела нас к правильному решению другими маршрутами.
Так как у LLM нет такого механизма фильтрации, то мы должны как-то самостоятельно его реализовать. Чтобы по итогу убрать плохие галлюцинации и оставить полезные. Вот это и делает предложенный вариант арбитров с несколькими LLM (или даже одной но с разной температурой и Seed)
Почему несколько арбитров снижают галлюцинации? Тут все зависит от выставленной температуры. Если бы вы перешли по ссылке, то в комментариях я описывал, что важен подбор настроек "команды" арбитров LLM. Если много "шизофреников" с высокой температурой, то будут галлюцинации. Но если допустим из 10 только 1 шизофреник, большая часть умеренные, и небольшая часть с 0 температурой, то система получается устойчивая. Где шизофреник иногда может придумать и хорошую галлюцинацию, которую остальные модели оценят положительно. А вот плохую галлюцинацию откинут. Второй момент связан с вероятностями. Допустим у нас 6 ответов 4 ответа - одинаковые 1 ответ - отличается 1 ответ - отличается В этом случае, вероятность ответа 4 гораздо выше, вероятности остальных вариантов. Так вот суть подхода с арбитрами, в том, чтобы оставить ответ с самой высокой вероятностью. Даже для 3-ех одинаковых моделей он уже даст сильный результат. Seed тут меняется, чтобы сделать их более разными в рамках одной LLM.
Кроме того, если опять же посмотрите, то там не просто ответ. Там главное в другом. LLM указывает, почему она так ответила и этому дается оценка, которая прежде всего и играет роль с учетом всего, что описано выше. Таким образом мы оцениваем ни только ответ, но и почему был выбран такой ответ. И так до победителя. На самом деле до победителя в случае RAG делать не стоит, достаточно только один проход. До победителя я рекомендую использовать, когда нужно получить глубоко продуманный ответ, который не даст ни одна рассуждающая модель, хотя они и близки к подходу.
Когда я придумал и приложил его и опробовал, не было еще рассуждающих моделей. Были только Chain-of-Thought (CoT) и MoE.
В комментарии у себя я там приводил время, проблемы роста ресурсов. Но это касалось 10 llm, которые последовательно работали по-моему (мне в тот момент главное было проверить подход). Сейчас я все пытаюсь доделать на его базе заполнения аналога Википедии, чтобы LLM сами заполняли данные по принципу арбитров. Чтобы потом использовать эти данные в обучении.
Вы смешали два понятия: бред и галлюцинации. Оба связаны с ограничениями LLM, но имеют разные причины и результат.
Бред: это вроде Ёлка идёт на вокзал
Галлюцинации: Для получения раствора Йода, налейте воды и добавьте раствор Кальция.
В одном случае, нарушена логическая структура (смещены разные контексты), а во втором логическая структура верная, но "придумана" своя (контекст сохраняется, но связь не верная).
То что вы описали не решит этих двух проблем. Но их можно уменьшить, если ввести вторую LLM или даже эту же но с другим seed, где вторая выступает арбитром первой и оценивает точность. В идеале если арбитра два, например вы можете два раза уточнить у самой же модели и на основе суммарной оценки решить, верный ответ или нет.
Но конечно наиболее верный вариант, это когда у вас две модели делают ответ и затем каждая оценивает ответ другой верный или нет. Это конечно больше, но практически исключает галлюцинации.
Данный подход проверял и предлагал свое время в чате Сбера, но вижу народ продолжает есть кактус. При том что описывал этот подход с арбитрами в качестве LLM (ка moe, только сами llm арбитры). Это позволило вытаскивать из них даже очень спорные данные.
А просто промты ничего не гарантируют, как и до обучение. Так как вероятность все равно будет присутствовать. В случае арбитров вы уменьшает вероятность очень сильно. Полностью избавляя от галлюцинаций, но возможен бред (его степень зависит от модели)
Вы правы, что модели вроде Gemma 1B могут достигать высоких результатов благодаря оптимизации архитектуры и методов обучения (например, distillation, улучшенные алгоритмы). Это конечно важно. И хотя трансформеры доминируют, новые архитектуры (SSM, Mamba, RWKV, H3) уже появляются и показывают потенциал после 2020 года. Но вы смотрите на прогресс с точки зрения практических достижений. Поэтому путаете улучшение конечного продукта с фундаментальными архитектурными прорывами. Достижения вроде Gemma3 – это оптимизация текущего подхода, а не создание новых типов нейросетей.
Моя ключевая мысль об архитектурных ограничениях. Так как большая часть ключевых архитектурных открытий (LSTM, трансформеры, residual-связи) произошла до 2020 года, а после этого существенных революционных изменений не было. Это приводит к тому, что проблемы вроде галлюцинаций часто рассматриваются как проблема данных, а не самой структуры моделей.
Основные проблемы (галлюцинации, зависимость от данных, слабое моделирование когнитивных процессов) остаются нерешёнными, и работа над архитектурой могла бы помочь больше, чем просто обучение на больших наборах данных.
Я говорю о необходимости менять «двигатель» (архитектуру), а вы хвалите улучшенный «бензин» (данные и оптимизацию). Вы правы, но проблема в том, что без нового «двигателя» рано или поздно упрётесь в пределы старого.
Не совсем, просто про них нет громких заявлений.
1) Ошибка предсказания нейронов - это основа всех исследований в нейробиологии как на живых клетках, так и искусственных. Тут как фундаментальные исследования, так и локальные. Так же как и разработка влияния аналога дофамина на каждый блок архитектуры. Но для конечного пользователя это проходит мимо, так как там преследуются академические задачи и их не сильно волнует, можно на этом построить LLM или нет. Но много важных работ (но все они от 1950 до 2018 года)
2) Работы над таламус я пока видел разве только у DeepMind и еще тут. Но у них костяк это нейробиологии и уже следом идут инженеры. Собственно один из основателей DeepMind и получил Нобелевскую по нейронкам. Именно они разработали в свое время AlphaGo и AlphaZero (которые победили гроссмейстера в шахматах). Как и сейчас их модели Flamingo и Perceiver IO, которые являются мультимодальными и пожалуй единственными в своем роде.
3) Динамические системы тоже есть, точнее над ними работают. Название по памяти не вспомню, так как там исследуют конкретно динамику моделей без особой привязки к остальному.
4) временные компоненты это спайковые сетки, ordinary differential equation (ODE) как более точные модели нейронов чем спайки используемые зарубежными нейробиологами. Ну и конечно State Space Models (SMM), более новые подходы хранящие временную составляющую в скрытых состояниях (S4D, Mamba, H3 и другие), которые только набирают обороты и получили большой скачек в 2024 году и постепенно идущие на замену трансформерам в качестве гибридов с ними.
И так по всем пунктам. Но подобным ни кто не интересуется, кроме очень редких и узких специалистов (в России я таких не встречал пока что). Так как людям гораздо интересней обсуждать что ответила новая модель, а не их фундаментальные проблемы и их решения.
Я не против бенчмарков. Проблема тут в том, что компании грешат тем, что просто тренируют свои модели на них. Это как обучить модель на датасете, а затем проверить как она с ним справиться. Для этого обычно делается тестовый датасет. Но в данном случае, данные из бенчмарков используются как те же датасеты. И таким образом мы не знаем, модель научилась обобщать эти данные и нашла важные признаки или же просто обучилась этим данным. Так как объем данных в таких бенчмарков не велик, то я сомневаюсь, что модели реально могут научиться обобщать сложные признаки в этих данных. Поэтому я с большим подозрением отношусь к этим оценках и предпочитаю проверять модели под свои задачи самостоятельно не опираясь на оценки, это более надежно.
Бенчмарки измеряют узкую специализацию моделей, а не общий интеллект или способность к абстракции. Это особенно актуально, если тестовые данные становятся частью обучающего набора (проблема "утечки данных"). Текущий подход напоминает оптимизацию под конкретные задачи, а не создание универсальных систем. Это может завести в тупик, если не сопровождается фундаментальными прорывами.
Но вы так же правы, что без стандартизированных тестов сравнение моделей превращается в субъективные споры. И безусловно не все новые подходы ведут к успеху, как к примеру тупиковые в свое время "Капсульная нейронная сеть".
Проблема в том, что погоня и засилие бенчмарками могут тормозить развитие. Новые подходы часто требуют времени для адаптации. Трансформеры тоже сначала уступали LSTM в некоторых задачах.
Для пример, Сбер "GigaChat-2 Max" выпустил недавно статью про свои бенчмарки, где они превзошли по каким-то пунктам другие.
https://habr.com/ru/companies/sberdevices/articles/890552/
А что толку? Первый же вопрос не по бенчмаркам, выдал полную ахинею. Так как в погоне за цифрами, они проигнорировали проблемы. И этим грешат все крупные модели, когда главным показателем является оценка по бенчмаркам.
Я хочу донести идею, что бенчмарков не достаточно для оценки. Охранник в магазине может быть очень эрудирован и превосходно разгадывать кроссворды, и возможно победит в бенчмарках по кроссвордам. Но этого не достаточно для оценки сложности его мышления. А дает лишь оценку его начитанности.
Чтобы постараться подробнее объяснить как это сделать, специально вчера после вашей статьи описал подробно данный метод, который позволяет переключить предсказание токенов LLM на нужный стиль.
Надеюсь это поможет в вам исследовать разное поведение в рамках ваших примеров. В основе лежит основа LLM учитывать прежние токены для предсказания следующих. За счет этого мы переключаем маршруты предсказания в нужное нам направление. В данном случае, расширяя это до возможности задания "характера" и стиля общения. Таким образом предсказания идет в рамках данного паттерна поведения, которые были извлечены моделью из текстов при ее обучении.
Хотите расширить ваш эксперимент? Можно придать ллм разный характер . Делается это через микродиалоги. Например, если вы хотите смоделировать агрессивное поведение, то вставляете перед вашим диалогом микродиалог. Например:
Предскажи бла бла бла
Ответ: выбор 1
В случае с микродиалоги:
Мы: ты сволочь тупая
Модель: ты сам тупой как пробка
Мы: предскажи бла бла бла
Ответ: выбор 67
Мы вставили микродиалог. Промпт тут не поможет. Проверено, модель потеряет суть требований. А так мы модулируем ее характер
Почему это работает? Дело в том, что тексты содержат результат реальной работы нашего мозга учитывающий борьбу за доминирование лобной доли и лимбической системы.
Мы таким образом настраиваем модель предсказывать именно данное поведение, на основе обученных данных для данного поведения, когда например лимбическая система взяла верх на лобной долей. И последующие предсказания будут нацелены на предсказание именно данного поведения.
Тем больше будет микродиалог, тем точнее модель сможет предсказать данное поведение.
Когда я делал, то такие микродиалоги были на каждом шаге диалога. Они не видны пользователю. По тексту мы предсказываем эмоциональный контекст. Затем у нас есть таблица с микродиалогами для каждой эмоции. И для каждого шага мы берём конкретный микродиалог прописанный для данной эмоции (он должен быть абстрактным).
В рамках вашей данной модели, где мы моделируем разные характеры участников интересно было бы увидеть, как измениться конечный результат эксперимента. Так как в реальности, мы прогнозируем поведение разнородной толпы. Это сделает эксперимент более чистым и правдоподобным.
Для этого они должны
1) уметь предсказывать не только глобальную ошибку на датасете (аналог базальных ганглий с подкреплением дофамина), но и локальные (у неокортекса есть в каждой области есть слой 6, отвечающий за предсказание и корректировку локальной ошибки)
2) учитывать модуляцию сигнала (в сетках называется механизм внимания) не только на связи признаков , но и на обращение результата (слой 5 и модуляция других зон мозга). Это значит, если контекст связан с эмоциями, то в результате лимбическая система усиливает сигналы эмоционального планка описывающие текст. Но если преобладает моторная область (двигает рукой), то упор будет на сигналы соответствующие моторному контексту. Если с телом, то теменная зона. Если зрение или слух то аналогично. Если мы голодные, то усилиться сигналы связанные с этим в контексте. А не как сейчас случайно выбираем токен в обобщенных признаках. Сейчас в llm за обобщение отвечает FFN, а он ни как не регулируется, тупо обобщает признаки.
3) нет учёта фильтрации сигналов, как в таламусе . У него есть релейные нейроны, задача которых фильтровать сигнал, чтобы усиливать только важные. Этого вообще нет в ллм.
4) нет динамических систем предсказания. После обучения система статическая. Поэтому не способна изменять состояние, в рамках контекста. И его надо прогонять весь целиком снова и снова. А это важно, так как у нас есть механизм переноса динамического контекста в статический (кратковременная и долговременная память).
5) нет ни какой реализации теменной зоны. Которая у человека отвечает за связь себя и тела и отделением от внешнего мира. Это позволяет нам производить внутренний анализ
6) нет обратной связи, то есть конечный сигнал потом идёт на вход. Что позволяет нам рефлексировать. В текущих llm это все ограничено текущим контекстным окном и мы каждый раз прогоняем всю цепочку снова и снова.
7) нет учёта временной компоненты в ллм, которая играет важную роль через ритмы. Разделяя на слоги, слова, связывая разные сенсорные сигналы зрения и текста через усиления важных в контексте. Когда амплитуда совпадает, это усиливает значимость данного сигнала
8) нет учёта гистерезиса, когда рост и падение сигнала ассиситричны. То есть спад идёт быстрее, а рост медленнее. Это позволяет отсеивать шумы в сигналах
9) нет внутренней флуктуации, важного свойства хаотичных систем. Которые так же играют важную роль в предсказаниях и обобщении признаков
Я могу долго перечислять этот список. А пока llm это отличный инструмент для обобщения данных и поиска связей в этих обобщенных данных. Но к ИИ это не имеет ни какого отношения, ник слабому ни к сильному.
Эти тесты показывают лишь одно. На сколько хорошо модель проходит эти тесты и как хорошо обучена им.
Сегодня это будет 90% успеха. Завтра 90% успехов успеха на новых, когда другие ниже. Все потому что в эти тестовые данные добавляются новые примеры. Это бесконечная гонка за фиктивными показателями. Которые указывают только то, на сколько хорошо модель справляется данным датасетом тестов. Завтра обучат на них и показатель вырастет.
Но это не меняет суть проблемы. Так как потом будут новые примеры и новые показатели.
Фундаментальной проблемы это не решает. Так как модель учиться обобщать эти данные, а не предсказывать их правильно. Без фундаментальных изменений архитектуры, это бесконечная гонка за неуловимым Джо.
Поэтому хочется больше статей не о бачмейках, а о фундаментальных работах о новых подходов. Как к примеру делал Deepseek с матрицами внимания, как продвигаются работы над спайковыми сетями, над ssm с их временными параметрами на примере s4d/h3/mamba, гибриды и так далее.
Вот таких статей чертовски не хватает на хватает на Хабре.
Я имею ввиду, что более подробно по ним. Так как сейчас в данных статьях все смешано и про все чуть чуть. Лучше было описано подробно с примерами. Например мы «волк», на сайт заходит «овцы» и мыс читаем овец. Проверим гипотезу что волк уснет на 10 овце на основе наших A/B тестов. Спрогнозируем результат, на какой овце уснет другой волк.
Понятно что я утрирую. Но я к тому, чтобы не мешать все в одну кучу. Убрать мат часть, а сделать именно понятный конкретный пример. Можно вместо волка и овец, клики на разные разделы страницы по ссылке или выбор товара или что угодно. Но по конкретным частям. Сейчас в тех статьях этого наглядного разбора очень не хватает. Там все сразу в одной куче. Сделайте прям отдельную статью по одному вашему примеру. Без лишнего матана (там проще ссылку дать на прежние статьи), без рисования матриц... вот задача, решаем ее через наше решение, и наглядное (не математическое) описание решения через фреймворк. Мы же не мат анализ изучаем тут.
https://youtu.be/zc5NTeJbk-k?si=YHUIwUGyVKjFubq_
Для примера, как чудесно тут объясняют авторегрессионные и диффузионные модели, при этом не используя кучу математики, которая в данном случае излишне. А именно наглядно. Так что надеюсь, что вы сделаете подобным образом разор и своих фреймворков.
Опишите про это в статье. Сейчас лезть и разбирать не хочется. Не потому, что там плохо или не нужно. А потому, что не понятно, что это даст и точно ли это нужно и облегчит какие-то задачи.
Напишите об этом статьи. Где раскройте потенциал данных репозиториев. Примеры, результаты, что это и для чего. А то получается, что вроде у компании есть какие-то репозитории. Но в блоге самой компании выходит такая статья, которая несет 0 ценности. А могла бы быть полезной, описав разбор ваших же репозиториев.
"если этот разброс обусловлен входными данными, то именно они являются причиной, воспроизводят вариативность на выходе. " - это так не работает. внутренние флуктуации - это одно свойство хаотичной системы, если их нет, то мы не можем назвать систему хаотичной. Входные данные так же вносят динамику, но внутренние флуктуации - это именно свойство хаотических системы в теории хаоса. Поэтому если мы обучаем на каком-то наборе данных, то при игнорировании внутренних флуктуаций любой хаотичной системы, мы приходим к переобучению. Переобучение в данном случае означает, что система научилась предсказывать конкретные данные, игнорируя вариативность. Поэтому всегда надо вводить флуктуации при обучении. И исследования выше говорят о том, что средняя ошибка была 18%. Другие похожие современные исследования, дают схожие результаты на примере исследований рака в доклинических исследованиях
https://pmc.ncbi.nlm.nih.gov/articles/PMC8168858/
Я утверждаю, что вариация это свойство системы и она остается всегда. Точно так же скачет выше или ниже, отсюда и получаем закон Вебера, когда биологическая система обучается считать шумом и обобщать, все что ниже уровня флуктуации.
От увеличения модели вариативность не падает. Вы путаете бред и галлюцинации. Это совершенно разные вещи. Вы можете хоть до триллиона увеличить размер модели, у вас не упадет вариативность. Она ни куда не денется. Причина? Причина в том, что трак устроен трансформер лежащий обычно в основе LLM. В нем головы находят признаки и связи между ними, связывая через модуляцию сигнала (Softmax), в то время как обобщение найденных признаков происходит в слое FFN. Это похоже на слой 5 неокортекса, где тоже происходит обобщение слоев 2 и 3, которые находят признаки. Только в реальном слое 5 он так же регулируется через модуляцию. А в случае трансформеров этого нет. Вы просто обобщили связи, правильный выбор зависит от контекста, который должен происходит через модуляцию. Условно говоря, что если вы движете рукой, то в обобщении будут выбраны слова связаны с моторикой (иметь больший вес), если эмоциональная часть то эмоциональные слова и так далее. Это вносит вариативность.
Не важна какая сейчас доминантная парадигма моделей. У вас же по вашей же ссылке даже написано "Неустранимая ошибка " как про один из параметров о котором я говорю.
Насчет про вариативность и глупость в корне не согласен. Насчет гипотезы масштабирования, тут опять же это теория хаоса. Но чем больше масштабирование, тем больше вариативность. Она просто увеличивается. Будет у вас модель на триллион, будет вариативность ошибка на условных 10%. Это никуда не денется, пока вы работаете с динамическими системами.
Вот вам наглядный пример, чтобы учесть вариативность и внутренние флуктуации системы, я переписал функции активации, нормализации, Softmax и другие. Чтобы они учитывали правильно внутреннюю флуктуацию системы. Как итог, слева обучение стандартными функциями, справа учитывающие флуктуацию. В случае учета флуктуации, система учится находит и обобщать, конкретные признаки (в данном случае гамматон фильтры). Внутренняя флуктуация имеет еще одно важное свойство, она не позволяет системе переобучиться, заставляя ее именно обобщать.
То что вы пишете про детализацию, тут смешано и выделение конкретных признаков (а это как раз то что вы описали в статье) и сложность системы. Но это два разных понятия. Сложность в данном случае - это набор признаков. Поэтому детализация в вашем описании приводящая к сложности, это как уточнение конкретного признака так расширение множества признаков. Например, вы учитесь распознавать уши - это выделение признака. А потом вы решили расширить, чтобы лучше определяла уши человека, животного, птицы - и таким образом расширили признаки, так как теперь вам надо учитывать еще и признак "человек", "животное", "птица" и так далее. Вы получили уже группу признаков. Но для каждого отдельно взятого признака необходимо учитывать хаотичность системы, о которой и приводил статьи выше и на чем строится теория хаоса. И как бы вы не поднимались или не опускали на уровни детализации (до типов объектов с ушами или просто всех ушей) - у вас ошибка все равно будет колебаться на описанном выше уровне. Это и есть неустранимая ошибка.
Не понимаю, написано что вы "Руководитель центра R&D Big Data в МТС Диджитал". При этом статья вообще ни о чем про "Мир во всем мире", высосана из пальца.
Не ужели нельзя написать о чем-то полезном? Что за R&D проводите, какие результаты. Что изменили? Или цель статьи - это KPI внутри компании?
У вас же есть репозитории МТС
https://github.com/MobileTeleSystems/RecTools
https://github.com/MobileTeleSystems/Ambrosia
https://github.com/MobileTeleSystems/CoolGraph
Почему не описать их? Сейчас они больше похожи на внутреннюю документацию, и не очень понятно для чего они нужны. Почему стоит использовать их, а не взять другие готовые вещи?
Я к тому, чтобы описать. Это реализации описанных решений или это лично МТС решения на основе ваших R&D.
А то вся эти общая мишура про дистилляцию имеет нулевую ценность.
Насчет выделения классов, они же признаки. Используйте петлю гистерезис, для усиления признаков и убирания шума.
Гистерезис может подавлять шум за счет инерционности (сглаживание резких изменений).
Усиление слабых признаков, где важна информация в зашумленных участках. Но не подавляет слабые признаки, а наоборот, подтягивает их до среднего уровня.
Выделяет и усиливает те признаки, которые уже были сильными.
Это ведёт к тому, что слабые признаки не исчезают, а становятся более заметными. При этом это не особо усиливает шум, так как из за колебаний, он будет всегда оставаться на низком уровне.
Данное регулирование достигается за счет регулирования скорости "роста" и "спада" сигнала, имитируя инерционность. Если это шум, то колебания будут постоянными и хаотичными, что приводит к тому, что сигнал всегда быстро спадает. В то время как для признаков, сигнал будет постепенно более медленно увеличиваться, подтверждая наличие признака, что приводит к его более сильному выделению на фоне шума. Достигается это введением разной скорости регулирования при росте и спаде сигнала, как в случае гомеостаза.
Вот такой разбор хотелось бы видеть в статье. А не просто. кусок кода, определение термина. Что я могу получить от такой подачи? Набор общих штампов и терминов, оторванные куски кода? Лучше оставьте какой то один пункт и подробно, наглядно разберите его даже ради рекламы, чем просто накидать гору текста.
Сид влияет на выбор выходного результата, а я имел ввиду про обнаружение признаков. Можете объяснить это утверждение " можно утверждать что данные воспроизводят вариативность инференса "? На чем вы строите это утверждение? Не очень пока понимаю.
"Сегодня почти все модели недоучены. " - так в динамической хаотичной среде не существует точки, когда мы можем считать, что полностью обучили процессу. Так как иначе это уже не хаотичная система. Но не понял как вы связали предвзятость и вариативность.
Про сложность модели и объема данных. Тоже не совсем понял, модель просто выделит признаки в нем. Она не должна уметь выделять все множество разнообразий признаков. Но она должна уметь обобщать конкретные признаки.
Не понял, что вы имеете ввиду, говоря что вариативность маскирует глупость? И почему принцип неопределенности считаете глупостью? Вариативность это часть динамических систем, и без нее вы просто не сможете качественно обучить систему. Сид это не про вариативность, это статическая величина (во время работы).
Не совсем понятно о каком именно интервью идет речь. Так как ML тоже делиться на области. То что вы описали ближе к мат статистики (хотя есть и общие примеры для всех), и больше подходит для вакансий, где ML применяется для анализа предсказаний продаж, закупок, каких то действий. Например, ВкуссВилл, Ашан и другие, где и до этого была мат статистика, которая плавно расширилась до инструментов ML. Но при этом сильно отличается от многих других подходов в других областях ML.
Что касается регуляризации и переобучения. Как выше вы указали, может оказаться так, что признаки очень коррелированы. И тут всплывает одна из старых работ Роберта Сапольского
https://philpapers.org/rec/SAPRAV
https://www.sci-hub.ru/10.1353/pbm.1996.0057?ysclid=m8n0xrlvjq495717602
в которой говориться об исследовании вариативности, и что средний уровень вариации (шума) будет в среднем равен 18%.
В других исследованиях рака, так же указано
https://academic.oup.com/bioinformatics/article/37/12/1747/6050716
"Метаанализ предполагает, что коэффициент вариации остается постоянным на нескольких уровнях биологической организации, что означает, что степень вариации не зависит от масштаба наблюдения; фрактальное свойство. "
Я это к тому, что при обобщении данных и поиске закономерности на статических результатах, всегда надо учитывать этот уровень вариативности и добавлять его. Без этого, система просто приходит к обобщению конкретных данных, то есть переобучению. Так как в динамической среде всегда будут присутствовать вариативность. Поэтому ее надо добавлять в анализируемые данных. Если только нет цели, получить систему точно описывающую данный результат: 2 + 2 = 4. Если же нужна система, которая должна обобщать динамические данные, то надо учитывать эту вариативность как часть данных, добавляя ее в них. Так как в конечном счете это проблема данных, а не методов обучения.
Как я понимаю, тут все же речь про другие ограничения. KBLaM если я правильно понял, добавляет к стандартному токену ещё свой сигнал. Но честно пока не понял, что это даёт. Почему это должно что то решать в данном случае. В целом как то скудно с информацией как в статье, так и на GitHub. Жаль что вы не описали главный смысл работы KBLaM, что конкретно он делает и почему это должно работать. В чем его идея и как реализована.
Видимо придется лезть разбираться. Но деталей очень не хватает.
Можете уточнить, что вы имели ввиду под этим: LLM сталкиваются с интересным парадоксом: их контекстные окна продолжают расти, позволяя им обрабатывать больше информации одновременно, но надежная обработка всех этих данных остается проблемой
Вы имели ввиду, что с ростом размерности матриц W трансформера в LLM они все равно порой выдают галлюцинации? Или я не правильно вас понял?
Просто увеличение размеров матриц весов W ни как не должно влиять на точность. Не совсем понимаю откуда взялась такая идея. Они же находят признаки и связи между ними, и влияют только на это.
То что называют контекстным окном и матрицами внимания, что ужасно злит так как это модулирующие матрицы глобального и локального контекста. А сами галлюцинации прежде всего связаны с обобщением информации. Так как в трансформерах в LLM все обобщение сводится к FFN. Что из-за отсутствия механизма управления обобщением, приводит к необходимости случайного выбора выходного токена в рамках выходного Softmax. И увеличением размера весовых матриц W это не решается. Хоть их размер будет триллион, просто смогут найти более сложные признаки.
Как поисковик полезен. Так как текущие поисковики часто забиты мусором и трудно искать научные статьи или IT решения.
Но что то сложное, это не про LLM. Сказать что они очень тупые, это ничего не сказать. С другой стороны глупо обвинять в этом LLM, архитектура которых построена на выделении и обобщении данных в найденных признаках на больших объемах текста.
Если бы модели обучались на речи древнего человека, то они бы не превзошли бы древнего человека по мышлению и не думали бы на уровне хомосапиенс. Все что было бы, это средний уровень обобщения австралопитека. Так и тут.
У моделей нет к примеру коррекции локальной ошибки, как это происходит у нас в мозге на каждом участке. Нет коррекции глобальной ошибки, только при обучении. Нет коррекции текущего состояния, например обострение выделение признаков или ослабление сигнал шум в зависит от контекста, как это делают нейромедиаторы у нас в мозге. Это малая часть.
Если для кого то LLM это ИИ или превзошли среднего человека. У меня для него плохие новости, либо этот человек на столько плохо знает тему, что ответ LLM вместо гугления для него магия либо его интеллект ниде среднего.
LLM инструмент, который может отлично обобщить объем данных в пределах локального контекста. В этом его сильная сторона.
Оценка ответа LLM со стороны другой LLM - это, безусловно, один из известных методов улучшения генеративных пайплайнов.
Для других задач мы его тоже используем, но здесь я не стал его упоминать, потому что он довольно затратен по времени работы, тем более для пайплайнов поиска/RAG.
А где прочитать про это? До этого не встречал сколько не искал использования аналога MoE, где в качестве арбитра не какая-то сущность, а несколько LLM которые участвуют в процессе.
Если вы про Chain-of-Thought (CoT), то это совсем другое. И к описанному варианту арбитров отношения не имеет.
Насчет примеров, возможно они не очень удачные в наглядном плане.
При различных психических заболеваниях: шизофрении и Альцгеймера например, есть два вида проявления.
Бред - "словесная окрошка".
Пример: пациент перескакивает с темы на тему, не завершая мысли.
Более понятный пример.
«Зеленые часы летают над морем, потому что электричество ест треугольники, а вчера я видел Бога в холодильнике».
Отдельные слова грамматически правильны, но их сочетание абсурдно.
Нет четкой темы, причинно-следственных связей или контекста.
Галлюцинации. Это как раз тот пример с хим. реакцией, которая выдумана.
Это связано с отсутствием регуляции входного сигнала.
Получаем избыток «шумовых» сигналов → мозг интерпретирует внутреннюю активность как внешние стимулы (галлюцинации)
Это как раз приводит, к тому что кажется что если я добавлю калий в воду, то получу раствор йода.
Так как причина-следственные связи, которые должны быть выделены "размазаны" с шумовыми.
Оба этих явления часто присутствуют вместе, поэтому подобное в LLM народ не разделяя, называет все галлюцинациями. Хотя в нейробиологии эти понятия различаются как по проявлению, так и по причинам возникновения.
Как это проявляется у LLM.
Бред:
Когда FFN в трансформерах не справляется или недообучен, то мы получаем бред. Это аналогично проблемам слоя V в ассоциативных зонах, которые так же обобщают данные в небольших областях. Причин там много, низкая плотность нейронов (аналог слабой модели), дофаминовые проблемы (недообучена) и так далее.
Тут если единственный вариант либо увеличивать размер FFN, либо до обучать модель.
Поэтому при до обучении от бреда мы можем избавиться (если объем информации влезает в модель).
Галлюцинации:
Их причины в том, что в слое V или других местах нарушается фильтрация данных. Например, при выборе слова должен прийти сигнал от моторной зоны, чтобы выделить слово "идти", а он не приходит (ослаблен контроль фильтрации сигнал/шум) и на фоне этого получаем другое слое "плыть". И фраза Я иду по улице, превращается в фразу Я плыву по улице. Это галлюцинация.
Но в LLM этого механизма усиления сигнал/шум нет вообще. Вместо этого мы прогнозируем множество вероятных следующих слов, где с помощью температуры выбираем случайное в диапазоне вероятностей указанном температурой.
Таким образом у нас возникают галлюцинации, так как выбор происходит оторванных от контекста (в мозге сигнал на нужный контекст направила бы какая-нибудь зона мозга, которая окажет модулирующее влияние и усилит его - время, моторика, зрение, слух, ассоциативная зона, сигнал от тела, лимбическая и так далее).
Иногда это галлюцинация явно не подходит ни под один возможный контекст, и тогда это плохая галлюцинация.
Хорошая галлюцинация - это та, которая может быть полезной. Когда связь была не очевидной, более слабой, но в итоге привела нас к правильному решению другими маршрутами.
Так как у LLM нет такого механизма фильтрации, то мы должны как-то самостоятельно его реализовать.
Чтобы по итогу убрать плохие галлюцинации и оставить полезные.
Вот это и делает предложенный вариант арбитров с несколькими LLM (или даже одной но с разной температурой и Seed)
Почему несколько арбитров снижают галлюцинации?
Тут все зависит от выставленной температуры. Если бы вы перешли по ссылке, то в комментариях я описывал, что важен подбор настроек "команды" арбитров LLM. Если много "шизофреников" с высокой температурой, то будут галлюцинации.
Но если допустим из 10 только 1 шизофреник, большая часть умеренные, и небольшая часть с 0 температурой, то система получается устойчивая. Где шизофреник иногда может придумать и хорошую галлюцинацию, которую остальные модели оценят положительно. А вот плохую галлюцинацию откинут.
Второй момент связан с вероятностями.
Допустим у нас 6 ответов
4 ответа - одинаковые
1 ответ - отличается
1 ответ - отличается
В этом случае, вероятность ответа 4 гораздо выше, вероятности остальных вариантов.
Так вот суть подхода с арбитрами, в том, чтобы оставить ответ с самой высокой вероятностью.
Даже для 3-ех одинаковых моделей он уже даст сильный результат. Seed тут меняется, чтобы сделать их более разными в рамках одной LLM.
Кроме того, если опять же посмотрите, то там не просто ответ. Там главное в другом. LLM указывает, почему она так ответила и этому дается оценка, которая прежде всего и играет роль с учетом всего, что описано выше.
Таким образом мы оцениваем ни только ответ, но и почему был выбран такой ответ. И так до победителя.
На самом деле до победителя в случае RAG делать не стоит, достаточно только один проход.
До победителя я рекомендую использовать, когда нужно получить глубоко продуманный ответ, который не даст ни одна рассуждающая модель, хотя они и близки к подходу.
Когда я придумал и приложил его и опробовал, не было еще рассуждающих моделей. Были только Chain-of-Thought (CoT) и MoE.
В комментарии у себя я там приводил время, проблемы роста ресурсов. Но это касалось 10 llm, которые последовательно работали по-моему (мне в тот момент главное было проверить подход).
Сейчас я все пытаюсь доделать на его базе заполнения аналога Википедии, чтобы LLM сами заполняли данные по принципу арбитров. Чтобы потом использовать эти данные в обучении.
Вы смешали два понятия: бред и галлюцинации. Оба связаны с ограничениями LLM, но имеют разные причины и результат.
Бред: это вроде Ёлка идёт на вокзал
Галлюцинации: Для получения раствора Йода, налейте воды и добавьте раствор Кальция.
В одном случае, нарушена логическая структура (смещены разные контексты), а во втором логическая структура верная, но "придумана" своя (контекст сохраняется, но связь не верная).
То что вы описали не решит этих двух проблем. Но их можно уменьшить, если ввести вторую LLM или даже эту же но с другим seed, где вторая выступает арбитром первой и оценивает точность. В идеале если арбитра два, например вы можете два раза уточнить у самой же модели и на основе суммарной оценки решить, верный ответ или нет.
Но конечно наиболее верный вариант, это когда у вас две модели делают ответ и затем каждая оценивает ответ другой верный или нет. Это конечно больше, но практически исключает галлюцинации.
Данный подход проверял и предлагал свое время в чате Сбера, но вижу народ продолжает есть кактус. При том что описывал этот подход с арбитрами в качестве LLM (ка moe, только сами llm арбитры). Это позволило вытаскивать из них даже очень спорные данные.
А просто промты ничего не гарантируют, как и до обучение. Так как вероятность все равно будет присутствовать. В случае арбитров вы уменьшает вероятность очень сильно. Полностью избавляя от галлюцинаций, но возможен бред (его степень зависит от модели)
https://t.me/greenruff/1757
В комментариях там выкладывал пример кода, где 10 llm были арбитрами друг друга.
Вы правы, что модели вроде Gemma 1B могут достигать высоких результатов благодаря оптимизации архитектуры и методов обучения (например, distillation, улучшенные алгоритмы). Это конечно важно. И хотя трансформеры доминируют, новые архитектуры (SSM, Mamba, RWKV, H3) уже появляются и показывают потенциал после 2020 года. Но вы смотрите на прогресс с точки зрения практических достижений. Поэтому путаете улучшение конечного продукта с фундаментальными архитектурными прорывами. Достижения вроде Gemma3 – это оптимизация текущего подхода, а не создание новых типов нейросетей.
Моя ключевая мысль об архитектурных ограничениях. Так как большая часть ключевых архитектурных открытий (LSTM, трансформеры, residual-связи) произошла до 2020 года, а после этого существенных революционных изменений не было. Это приводит к тому, что проблемы вроде галлюцинаций часто рассматриваются как проблема данных, а не самой структуры моделей.
Основные проблемы (галлюцинации, зависимость от данных, слабое моделирование когнитивных процессов) остаются нерешёнными, и работа над архитектурой могла бы помочь больше, чем просто обучение на больших наборах данных.
Я говорю о необходимости менять «двигатель» (архитектуру), а вы хвалите улучшенный «бензин» (данные и оптимизацию). Вы правы, но проблема в том, что без нового «двигателя» рано или поздно упрётесь в пределы старого.