четверг, 20 июня 2024 г.

Как устроена память нейросетей?

 Что такое нейросети и какая у них их память?

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

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

Сейчас у всех на слуху большие языковые модели и самый известный пример ChatGPT от OpenAI. В основе таких моделей лежат нейронные сети, которые работают с последовательностями слов — текстами. Нейросети орудуют не фразами или словами, а токенами: обычно один токен — это несколько символов, часть слова. У каждой нейросети свои лимиты: например, GPT-4 способен работать с текстами длиной в 32 тыс. токенов, то есть около 24 тыс. английских слов или 50 страниц (в версии Turbo — до 300 страниц). На русском языке допустимый объем несколько меньше — чем вариативнее язык, тем меньше символов охватывает один токен.

Что касается видов памяти, то у современных нейросетей, умеющих работать с текстом (то есть у больших языковых моделей, LLM) их несколько, как и у людей:

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

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

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

Исследователи постоянно работают над увеличением объема оперативной памяти, чтобы модель как можно лучше учитывала контекст и логичнее реагировала на запросы пользователей. Важно понимать, что большие языковые модели способны решать новые задачи на основе демонстраций или инструкций без традиционного обучения, требующего обновления параметров сети (так называемый in-context learning). А значит, чем больше объем оперативной памяти, тем качественнее и эффективнее модель может решать новые и более сложные задачи.

Самой развитой в этом смысле нейросетью считалась Google Gemini, способная работать с 10 млн токенов одновременно. Но в 2024 году команда ученых из Института AIRI и МФТИ описала способ работы с 11 млн токенов, основанный на рекуррентности (Recurrent Memory Transformer). Чтобы осознать масштаб, представьте человека, способного удерживать в памяти книгу в семь раз длиннее всех частей «Гарри Поттера».

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

У каких нейросетей лучшая память?

Искусственным нейросетям как концепции исполнилось 80 лет: идея математически описать упрощенный вариант биологической нейронной сети — искусственный нейрон — возникла еще в 1944 году. Первая реализация однослойной сети появилась в конце пятидесятых: она могла распознавать простые изображения (несколько букв английского алфавита) в реальном времени, но не более.

Память нейросети обрели в 1980-е — тогда появились рекуррентные нейронные сети (RNN), способные не только обрабатывать входящие данные, но и накапливать их, и прогонять информацию через свои «воспоминания». Но они обучались медленно и нестабильно, а размер состояния, то есть объем их памяти, был ограничен. Из-за этого в нейросеть нельзя было записать всю информацию о предыдущих запросах.

Это удалось исправить в 1997 году, когда разработали архитектуру LSTM (Long short-term memory), нейросеть с долгой и краткосрочной памятью. Появилась возможность контролировать память, а именно решать, записывать ли информацию вдолгую в зависимости от данных, которые мы подаем модели на вход.

Обращаться к произвольному моменту в прошлом рекуррентные нейросети научились только в 2014 году — благодаря механизму внимания. Затем, в 2017 году было предложено избавиться от рекуррентности и построить архитектуру нейронной сети состоящей только из внимания и полносвязных слоев. Новый тип нейросетей назвали трансформерами — они и легли в основу современных больших языковых моделей с миллиардами параметров, то есть популярных сегодня чат-ботов вроде ChatGPT или GigaChat.

Что сейчас мешает нейросетям запомнить все на свете?

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

Чтобы развитие нейросетей качественно продолжалось, необходимы новые архитектуры. Потому что даже самые продвинутые трансформеры не идеальны: например, в, в 2023 году выяснилось, что они страдают «синдромом» lost in the middle. Это значит, что нейросети теряют фокус — и с большей вероятностью пропускают полезную информацию, если она находится в середине контекста, а не в конце или в начале. И чем длиннее контекст, тем больше модель упускает.

ИИ-исследователи стремятся объединить сильные стороны рекуррентных нейронных сетей и трансформеров. Рекуррентность позволяет сократить требования моделей к объему оперативной памяти во время генерации ответа, а трансформеры обеспечивают высокую степень параллельности вычислений во время обучения, что позволяет эффективно использовать кластеры с видеокартами. Такие модели уже появляются, например ряд state-space моделей (Mamba, RWKV), Griffin и Hawk от Google DeepMind, разрабатываемый нами подход Recurrent Memory Transformer и недавно появившуюся xLSTM от Сеппа Хохрайтера (Sepp Hochreiter), известного автора оригинальной LSTM.

Юрий Куратов

https://trends.rbc.ru/

Комментариев нет:

Отправить комментарий