Коммерсантъ FM

Забывчивый «Трансформер»

Как устроена память искусственного интеллекта

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

Один из наиболее известных российских исследователей в области новых архитектур искусственных нейросетей и памяти ИИ — Юрий Куратов, руководитель группы «Модели с памятью» в Институте AIRI и старший исследователь МФТИ,— объяснил «Ъ-Науке», как ИИ отучают забывать важную информацию и почему ему вовсе не обязательно помнить все и сразу.

Руководитель группы «Модели с памятью» в Институте AIRI и старший исследователь МФТИ Юрий Куратов

Руководитель группы «Модели с памятью» в Институте AIRI и старший исследователь МФТИ Юрий Куратов

Фото: Институт AIRI

Руководитель группы «Модели с памятью» в Институте AIRI и старший исследователь МФТИ Юрий Куратов

Фото: Институт AIRI

— Чем память искусственного интеллекта отличается от человеческой?

— Стоит оговориться, что сегодня под ИИ в основном понимают генеративный искусственный интеллект, то есть большие языковые модели на основе нейросетей, и технологические решения, созданные с их помощью. Если не фокусироваться на итоговой задаче, которую человек решает с помощью ИИ, то его основная инструментальная функция — это обработка больших массивов данных: изображений, видео, естественного языка, программного кода, медицинских данных и так далее. Обучение нейросетей происходит на основе большого количества пар «входные данные — ожидаемый результат». В процессе такого обучения модель фиксирует статистические закономерности, а полученные знания сохраняются в ее параметрах, весах связей между нейронами. После завершения обучения эта структура остается неизменной, если только модель не дообучается на новых данных. Совокупность этих закономерностей, связь между ними и их количество, по сути, и есть своего рода память. Очень емкая, но не такая гибкая, как у нас с вами. Человек способен легко обучаться новым задачам, быстро адаптироваться к новым ситуациям, а ИИ — нет. Зато ИИ обладает энциклопедическими знаниями на уровне кандидатов наук во всех сферах сразу, чем не может похвастаться человек.

— Какие бывают виды памяти у нейросетей?

— Я бы выделил как минимум три типа памяти.

Первый — параметрическая память. Знание, которое находится в параметрах ИИ-модели. Этот тип памяти формируется во время обучения. Для больших языковых моделей это происходит на самом долгом и дорогом этапе — предобучении или предварительном обучении на огромных массивах текстов. Размер такой памяти в современных языковых моделях достигает десятков, сотен миллиардов и даже триллионов параметров. После того как параметрическая память сформирована и модель обучена, она больше не меняется. Можно считать это долговременной памятью. Всевозможные факты хранятся именно тут. Как часто любит повторять Андрей Карпатый, языковая модель — просто файл на диске, zip-архив интернета, сжатый с потерями информации.

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

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

— Какой из этих уровней памяти сегодня больше всего ограничивает развитие ИИ?

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

— Как именно модель запоминает информацию?

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

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

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

— А что ограничивает сам объем памяти ИИ: вычисления, стоимость, архитектура, приватность, качество данных, риски галлюцинаций?

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

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

— Во время поиска информации о памяти ИИ пришлось не раз столкнуться со словосочетанием «катастрофическое забывание». Что это такое?

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

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

— Почему так происходит и как эту проблему решают?

— При дообучении мы меняем один и тот же набор параметров нейросети, на которых держались и старые, и новые знания. Бороться с этим можно разными способами. Самый простой и довольно эффективный — смешивать старые данные с новыми. Но отсюда вытекает и ограничение. Надо иметь данные для обучения на всех старых задачах под рукой. Без них можно одновременно обучаться на новой задаче и «дистиллировать» старые знания, учить модель несильно отклоняться от своих прежних предсказаний. Можно смешивать не данные, а параметры модели до дообучения и после. Можно обучать отдельный дополнительный набор параметров под каждую новую задачу, не меняя старые параметры. Один из наиболее известных таких методов называется LoRA, по аббревиатуре от английского «адаптация низкого ранга».

Идеального решения нет. Всегда получается компромисс между пластичностью модели или ее стабильностью.

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

— Из международных работ я бы выделил уже довольно известную серию работ от Google: «Titans», «Atlas» и «Nested Learning». Кстати, эти работы по факту сделаны аспирантом, стажером Google. Также отметил бы работы по тестовой адаптации обучению и статью Юй Сунь, Синьхао Ли, Карана Далала и коллег. Одна из сквозных идей во всех этих исследованиях заключается в том, что мы можем определить правила обновления внутренних состояний сети при чтении контекста так, что они математически будут эквивалентны тому, как обычно обучаются параметры нейросети. Это именно обучение на лету, по мере того, как модель обрабатывает информацию в контексте. То есть память становится не просто хранилищем, куда модель один раз складывает контекст, а активной и обучаемой частью сети. Конечно, наша научная группа тоже работает в этих направлениях. На днях у нас вышла работа «GradMem», в которой мы показали, что контекст можно записывать в память не только прямым проходом, но и небольшим числом шагов градиентного спуска. Получается, память не просто формируется, а итеративно уточняется, и модель шаг за шагом дописывает в нее то, что еще не успела хорошо закодировать. За счет этого при том же размере памяти можно вместить в нее больше информации.

— Большинство авторов работ по теме памяти так или иначе ссылаются на ваши исследования по рекуррентной памяти трансформеров. Почему так?

— У нас с Михаилом Бурцевым и Айдаром Булатовым получилось сделать первые архитектуры, которые работали с длинным контекстом. Собственно, упомянутая архитектура RMT справлялась с 11 млн токенов. Если подсчитать в страницах, то получается что-то от 18 до 24 тыс. страниц А4 14-м кеглем в зависимости от языка и технических параметров текста. Полное собрание сочинений Льва Толстого из 90 томов — это около 100–120 тыс. страниц. Можно сравнить. Дальше вместе с Иваном Родькиным мы улучшили этот результат до 50 млн за счет ассоциативной памяти с большей емкостью.

— Получается, что если до появления таких архитектур можно было показать ИИ-модели только короткий рассказ и задать по нему вопросы, то теперь можно разобрать с ней роман. А дальше что? Зачем это нужно?

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

Есть и другой пример — биология. Мы с коллегами используем RMT-модели для задач, связанных с ДНК. Если говорить очень грубо, то человеческий геном — это последовательность длиной порядка 3 млрд букв, нуклеотидов, причем для многих задач важны взаимодействия между очень удаленными друг от друга участками. Такие архитектуры нужны именно для того, чтобы работать с длинными структурами, в которых важные зависимости разнесены на большие расстояния.

— Как сейчас проверяют качество памяти моделей? Смотрят, нашла ли модель нужный фрагмент текста?

— Именно так. Умение решать тесты типа поиска иголки в стоге сена, какого-то одного факта среди большого объема текста, стало необходимой минимальной проверкой любых моделей, авторы которых заявляют о поддержке длинных контекстов. С ними ИИ уже справляется довольно хорошо.

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

Современные тесты постепенно смещают фокус с чистого извлечения информации к извлечению разрозненной и связанной информации, работе с длинными диалогами и многими диалоговыми сессиями. Хорошие тесты — LoCoMo и LongMemEval, их создали и описали в публикациях коллеги из США и Китая.

— Как будут меняться тесты памяти для ИИ дальше и за какими метриками в этой области стоит следить в ближайшие годы?

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

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

С каждым годом ИИ все реже будут оценивать как «объем текста, который модель способна прочитать», и все больше — как способность надежно работать в течение продолжительного времени. Следует понаблюдать за тем, что делает коллектив METR. Это группа исследователей под руководством бывшей сотрудницы OpenAI Бет Барнс. Они предлагают смотреть, насколько долгую по нашему с вами, человеческому, времени задачу модель вообще способна выполнять.

— Какой вы видите идеальную архитектуру памяти в ИИ на горизонте нескольких лет и какие задачи ставите перед группой, чтобы к ней прийти?

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

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

Для меня это часть более общей истории. Улучшать память — не самоцель, а один из способов преодолеть ограничения существующих архитектур. Сегодня мы видим, что одним лишь увеличением контекстного окна проблему не закрыть: модели все равно теряют важную информацию, не всегда корректно обновляют знания, порой неустойчиво работают на длинных траекториях. Вопрос ведь не только в том, как «добавить память», но в том, какие новые архитектурные принципы помогут модели лучше переносить информацию, выделять в ней существенное, возвращаться к нужному и не тащить все подряд через весь контекст. Вы же не храните в голове, скажем, каждый ответ из решенного по дороге на дачу три года назад кроссворда, но решить его снова все равно сможете. Нас как раз интересуют новые архитектуры, которые снимают ограничения нынешних моделей. Память в такой постановке — один из важных путей, причем в широком смысле. Это разные механизмы хранения, сжатия, переноса и извлечения информации. Мне кажется, моделям не обязательно помнить все и сразу. Гораздо важнее, чтобы они умели фиксировать самое главное, находить нужное в подходящий момент, учиться на своих ошибках и быстро адаптироваться к новым задачам. В этом мы и ИИ похожи.

Елизавета Певная

Новости компаний Все