Похоже, в мире ИИ намечается небольшая революция. По данным VentureBeat, исследователи из нескольких университетов представили MeMo – фреймворк, который позволяет обновлять знания больших языковых моделей (LLM) без необходимости их полного переобучения. А это, друзья мои, огромный шаг вперед.
Проблема обновления LLM – это головная боль для всех, кто работает с корпоративным ИИ. Существующие решения либо слишком дорогие, либо слишком медленные, либо ограничены размером контекстного окна. MeMo предлагает элегантное решение: она кодирует новые знания в отдельную, небольшую модель памяти, которая работает независимо от основной LLM.
Эта модульная архитектура совместима как с моделями с открытым исходным кодом, так и с закрытыми, и позволяет избежать сложностей, связанных с RAG-пайплайнами и полным переобучением модели. Эксперименты показывают, что MeMo надежно обрабатывает сложные запросы даже при наличии шумов в конвейерах поиска. Она избегает катастрофического забывания, свойственного прямой донастройке, и обеспечивает экономичный путь для непрерывного обновления знаний.
Как сейчас обновляют LLM?
Большие языковые модели замораживаются после обучения, и их внутренние знания остаются статичными до тех пор, пока они не подвергнутся последующим, вычислительно затратным обновлениям. В настоящее время разработчики используют три основных подхода для интеграции внешних знаний в LLM, каждый из которых имеет свои недостатки:
* Непараметрические методы, такие как генерация с расширенным поиском (RAG) и обучение в контексте, извлекают соответствующие документы из внешней базы данных и вставляют их непосредственно в подсказку модели. Эти методы популярны, но ограничены размерами контекстного окна. Как заявил VentureBeat Армандо Солар-Лезма, один из соавторов статьи: "Векторные базы данных сталкиваются с принципиально сложной задачей кодирования полной семантики фрагмента текста в один вектор, а затем сопоставления этого вектора с запросом, даже когда релевантность фрагмента... может быть очевидна только в контексте других фрагментов". Исследователи отмечают, что семантическое сходство вложений часто не соответствует тому, что на самом деле требуется в запросе пользователя. Обработка тысяч извлеченных токенов также создает значительные вычислительные издержки и задержки при выводе. Самое проблематичное, что RAG-системы очень чувствительны к шуму. Неуместные или плохо извлеченные отрывки часто ухудшают окончательный ответ модели.
* Параметрические методы, такие как непрерывное предварительное обучение или контролируемая тонкая настройка, пытаются интернализировать новые знания непосредственно в веса LLM. Обновление современных, массивных LLM является непомерно дорогим и, как правило, невозможным для проприетарных моделей с закрытым исходным кодом, скрытых за API. Тонкая настройка также подвержена катастрофическому забыванию. Заставляя модель адаптироваться к новым корпоративным данным, часто размываются ранее приобретенные возможности рассуждения и защитные ограждения.
* Методы скрытой памяти, такие как сжатие контекста, предлагают нечто среднее. Они сжимают знания в компактные "мягкие токены" или представления, которые добавляются в контекст модели во время вывода. Фатальный недостаток здесь - "связь представлений". Сжатая память строго привязана к архитектуре модели, которая ее произвела; вы не можете перенести скрытую память, обученную на модели с открытым исходным кодом, на модель с закрытым исходным кодом.
Как работает MeMo?
Фреймворк MeMo (Memory as a Model – Память как модель) представляет собой модульную архитектуру, состоящую из двух отдельных компонентов. Модель MEMORY – это небольшая языковая модель, обученная специально для кодирования новых знаний в свои параметры. Модель EXECUTIVE – это замороженная, готовая LLM, которая функционирует как механизм рассуждения. Когда пользователь задает вопрос, модель EXECUTIVE рассматривает модель MEMORY как внешний оракул, выдавая целевые подзапросы для сбора фактов и синтезируя эти факты в окончательный ответ.
Основным принципом проектирования MeMo является концепция "отражений". Отражения – это целевые пары вопросов и ответов (QA), предназначенные для охвата каждого возможного аспекта корпуса знаний. Вместо того, чтобы заставлять ИИ обрабатывать массивный, неструктурированный корпус документов во время обучения, MeMo использует модель GENERATOR для дистилляции необработанного текста в тысячи целевых пар QA. Затем модель MEMORY тонко настраивается на этом наборе данных, чтобы отвечать на вопросы, используя только свои параметрические знания, без необходимости читать извлеченный контекст.
Во время вывода взаимодействие между двумя моделями следует структурированному трехэтапному протоколу:
1. Модель EXECUTIVE разбивает сложный запрос пользователя на набор атомарных подвопросов. Модель MEMORY отвечает на каждый независимо, чтобы установить основные факты.
2. Используя эти начальные подсказки, модель EXECUTIVE выдает последующие запросы, чтобы сузить круг кандидатов, пока она уверенно не сойдется на конкретной цели.
3. Наконец, модель EXECUTIVE запрашивает у модели MEMORY подтверждающие факты об этом целевом объекте и синтезирует извлеченные фрагменты в связный ответ.
Эта архитектура объединяет сильные стороны трех существующих парадигм памяти ИИ, обходя их недостатки. Она использует готовые передовые модели, сохраняя хранилище памяти отдельно от рассуждений, гарантируя совместимость как с моделями с открытым весом, так и с закрытыми API. Она интернализирует знания непосредственно в параметры, но изолирует обновления в меньшей, выделенной модели MEMORY для защиты механизма рассуждений. Наконец, она создает запрашиваемый артефакт памяти, который не привязан к какой-либо конкретной модели и может использоваться с различными семействами LLM.
Непрерывное обновление знаний
Управление памятью ИИ требует постоянных обновлений по мере изменения политики компании и публикации новых отчетов. Обычно обновление параметров модели требует ее переобучения с нуля как на старых, так и на новых данных. По мере роста базы знаний эти совокупные затраты на переобучение становятся непосильными.
Чтобы эффективно обрабатывать непрерывные обновления, MeMo полагается на технику, называемую "слиянием моделей". Вместо массивной совместной фазы переобучения MeMo обучает новую, независимую модель MEMORY исключительно на вновь добавленных документах. Система выводит "вектор задач", представляющий изменения параметров, полученные из свежих данных. Затем эти обновления математически объединяются в веса исходной модели MEMORY.
Этот подход сокращает количество вычислительных часов, необходимых для поддержания актуальности системы, избегая при этом помех, вызывающих катастрофическое забывание. Эта эффективность достигается за счет компромисса: слияние моделей влечет за собой снижение точности на 11-19% по сравнению с полным переобучением, в зависимости от используемой модели рассуждений.
MeMo в действии
Чтобы оценить реальную эффективность, исследовательская группа оценила MeMo по нескольким отраслевым бенчмаркам, которые требуют сложного, многоступенчатого рассуждения по нескольким документам.
Исследователи использовали Qwen2.5-32B-Instruct в качестве модели GENERATOR для дистилляции необработанного текста в отражения.