Первая часть

Представление - Доктор физико-математических наук, профессор РАН, генеральный директор института Айри, декан факультета искусственного интеллекта МГУ Иван Оселедец с докладом «Успехи и проблемы больших языковых моделей».

Дальше говорит Оселедец

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

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

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

Дальше применяешь достаточно хитрые подходы, связанные с эволюционными алгоритмами, где фактически в качестве оператора мутации выступает большая языковая модель. У нее есть опыт предыдущий, память. в виде программы результатов, есть некоторые инсайты, что она придумала, и ее задача состоит в том, чтобы эти инсайты, соответственно, объединять в новые программы. Собственно, первый автор статьи «Альфа Эволф» Саша Новиков – это мой аспирант, который уехал довольно давно, но тем не менее очень много не менее талантливых людей работают в институте.

Один из них Валентин Хрульков, который посмотрел на это все и где-то за месяц написал свой вариант. И, собственно, сегодня мы GigaEva. Можно говорить аналог Alpha и Alpha. На самом деле это штука, которая обладает существенно большей функциональностью. Мы ее выпускаем в open source, поэтому можно будет ее скачать, посмотреть. Вот здесь пример, как это работает.

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

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

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

Это первая большая история. Мы много в это вложились. И сейчас наша основная задача набрать большое количество кейсов, когда люди действительно это используют. Потому что как только мы наберем большое количество кейсов, мы поймем, что объединяет такие сложные стратегии решения сложных задач. Вторая история, которую мы тоже выводим сегодня в open source. Мы много занимались разработкой мультиагентных систем.

Мы делали ассистентов. Ассистентов делают сейчас все. Сделать мультиагентную систему любой из вас может за 30 минут. Проблема в том, что вы будете делать, если эта система ошибается. У нас создан подход в рамках фреймворка под названием «Маэстро». Как мы все-таки строим декомпозицию задачи. Это подход методологии фреймворк.

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

В том числе подробно описан наш подход, связанный как раз с цепочками рассуждений. Мы долго-долго работали и решили, что в целом, наверное, в open source он будет сильно более полезен, чем наша закрытая некая платформа. Посмотрим.

У нас есть и бэкбон для разработки агентов, и у нас есть эволюционная штука, которая может улучшать эти мультиагентные системы. Мы, естественно, это будем объединять. То есть наш подход на самом деле сейчас к развитию сильного искусственного интеллекта состоит в первое, выборе сложных задач, построению системно-мультиагентных систем, которые эти сложные задачи могут решать с гарантированной точностью. Это промежуточный шаг. Почему? Потому что такие системы учатся, даже не учась.

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

Теперь все-таки в оставшейся части доклада я хотел поговорить о проблемах, какие есть перед большими языковыми моделями. И вот хотел подсветить одну работу, которая меня прям воодушевила. Это работа чисто теоретическая. В этой теоретической работе это группа ОМОНа Шашо из Израиля, очень крутой чувак, но не буду про него говорить. Но фактически показано, что есть задачи, которые решаются алгоритмически.

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

Pаз мы не знаем. но мы можем набрать какое угодно большое количество пар x и t, y и t. Соответственно, простая задача, и показывается на самом деле, что даже если у вас есть вот эти цепочки, которые приводят к правильному решению, вы все равно, вам потребуется этих цепочек экспоненциальное количество.

На самом деле идея очень простая, она на пальцах объясняется тривиально. Вот смотрите, как мы сейчас решаем. У нас есть задача, есть ответ. Основной подход сейчас – это действительно цепочки рассуждений. Нам надо сделать 10 шагов. И мы написали 20 вариантов решения, как нам эту задачу нужно решить. Предположим, мы дальше выучиваем модель предсказывать каждый следующий шаг с некоторой точностью, например, 0,8.

Каждый следующий шаг решения предсказывается точностью 0,8. Значит, берем 0,8 в десятый, получаем вероятность того, что ты по этой цепочке пробежишься. Соответственно, в реальной практике у вас будет не просто правильная цепочка, она будет идти-идти, а потом в какой-то момент она ошиблась. И что делать? Все. То есть здесь нужно сделать операцию «вернись назад», а в обучении мы этого не даем.

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

И действительно, если мы работаем со сложными задачами, мы видим, что она очень правдоподобно генерирует шаги и решения. Но если ты даешь ей свободу в генерации этих шагов, а не делаешь предписанные шаги, то количество ошибок действительно с глубиной растет колоссально. Вторая большая проблема – это отсутствие памяти у моделей. То есть когда вы чат открываете каждый новый раз, она такая «Привет, чувак».

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

И здесь у нас на самом деле в институте есть достаточно много интересных работ. Например, вот эта группа. Это Миша Бурцев был инициатором этой работы. Сейчас это ведется под руководством Юрия Куратова. Мы все-таки пытаемся придумать новую архитектуру, которая не требует квадратичного скейлинга. Вот один из этих подходов, такой нейроинспирированный, это ассоциативный рекуррентный memory трансформер.

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

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

И тут, как говорится, приходится уже не математикой заниматься, а чем-то более инженерным. Еще одна интересная работа тоже от Юрия Куратова, которая была принята как устная URL, то есть это топ-2%. Работа на конференции ICL. Идея на самом деле очень простая. То, что мы показали, мы показали, что мы можем взять 1500 токенов и сжать без потери информации в один вектор. То есть на самом деле пространство, в котором работают языковые модели, существенно больше, то есть мы выделяем существенно больше места, чем на самом деле им реально надо.

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

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

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

Если в работе Куратова мы предсказываем, то есть из этого вектора мы декодируем по одному токену, то здесь мы пошли еще дальше, оказалось, что можно закодировать так, что декодирование будет осуществляться за один форвард. Кто в курсе, тот поймет, что это вообще-то довольно круто. Тут уже не 1500 засовывается, а 64, но все равно это позволяет, собственно, сделать такое сжатое представление и все-таки работать уже в непрерывных векторах, а не в дискретных.

Опять же, я не рассказываю про всю историю, рассказываю в основном про нашу работу. Еще одна работа. Пенни Ли, это наш китайский аспирант, тоже сотрудник AIRE, не подумайте. И мы попробовали решить еще одну проблему, а что делать, если у вас есть задача какая-нибудь математическая, но нет точного ответа. То есть, если есть точный ответ, вы можете использовать GPU, вы можете использовать обучение с подкреплением, но на самом деле оказывается, что большие языковые модели можно обучать, даже если у вас нет правильной метки.

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

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

То есть есть модели и с reasoning уже. Google анонсировал Gemini Diffusion, но так, кстати, не выпустил по ряду причин, что там не все так хорошо. Но тем не менее идея состоит в том, что мы генерируем текст не по одному токену, а пытаемся, грубо говоря, сразу генерировать все, но, грубо говоря, порциями в разных местах.

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

Еще на самом деле некоторые идеи. тоже многие из них можно послушать в этом интервью Карпата. Что бы хотелось? Хотелось бы, чтобы модель умела учиться во время инференсов. То есть вы задали ей вопрос, она что-то ответила, и она поняла. На самом деле кусочки есть. Вот тот пример с работой по Confidence as All Unit нашей работы. Мы же фактически это и делаем.

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

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

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

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

И вот мое near future vision состоит в том, что будет 2 миллиарда параметров моделька, которая это умеет делать хорошо, но не имеет лишнего знания. Потому что в триллионы параметров вы записываете туда кучу лишней информации, которая для процесса мышления совершенно не нужна. Собственно, это все, что я хотел сказать. Есть телеграм-канал. Если кто не подписан, подписывайтесь. Но в целом спасибо за внимание.

Комментарии (1)


  1. pg_expecto
    27.11.2025 06:13

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

    Вопрос - что значить "большое количество" ? Большое это сколько ? 1000 больше чем 10 на 2 порядка . Но удастся ли в принципе набрать 1000 кейсов например по проблемам оптимизации производительности СУБД ?

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

    подход, связанный как раз с цепочками рассуждений

    и тут есть проблема связанная с вышеописанной - рассуждения не подкреплены фактами.

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

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

    наверное, я так уже год не могу собраться написать. Может быть на новогодние каникулы...

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

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

    Метод научного тыка ;-)

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