Я недавно немного думал о непрерывном обучении, особенно в связи с долгосрочными агентами (и проводил несколько игрушечных экспериментов с MLX). Текущая ситуация с компакцией подсказок в сочетании с рекурсивными подагентами на самом делеRemarkably эффективна. Похоже, что мы можем продвинуться довольно далеко с этим. (Компакция подсказок = когда окно контекста близко к полному, модель генерирует более короткое резюме, а затем начинает с нуля, используя резюме. Рекурсивные подагенты = разложение задач на более мелкие задачи для работы с конечными окнами контекста) Рекурсивные подагенты, вероятно, всегда будут полезны. Но компакция подсказок кажется немного неэффективным (хотя очень эффективным) хаком. Есть два других альтернативных варианта, о которых я знаю: 1. онлайн дообучение и 2. техники на основе памяти. Онлайн дообучение: обучить несколько адаптеров LoRA на данных, с которыми модель сталкивается во время развертывания. Я в целом менее оптимистичен по этому поводу. Помимо инженерных проблем развертывания пользовательских моделей / адаптеров для каждого случая использования / пользователя, есть несколько фундаментальных проблем: - Онлайн дообучение по своей сути нестабильно. Если вы обучаете на данных в целевой области, вы можете катастрофически разрушить возможности, которые вы не нацеливали. Один из способов обойти это — сохранить смешанный набор данных с новыми и старыми. Но это становится довольно сложным довольно быстро. - Как выглядят данные для онлайн дообучения? Вы генерируете пары вопрос/ответ на основе целевой области, чтобы обучить модель? У вас также есть проблема приоритизации информации в смеси данных с учетом конечной емкости. Техники на основе памяти: в основном политика по сохранению полезной памяти и отбрасыванию того, что не нужно. Это больше похоже на то, как люди сохраняют информацию: "используй или потеряй". Вам нужно всего несколько вещей, чтобы это работало: - Политика выселения/сохранения. Что-то вроде "сохранять память, если она была доступна хотя бы один раз за последние 10k токенов". - Политика должна быть эффективно вычисляемой - Место для модели, чтобы хранить и получать доступ к долгосрочной памяти. Возможно, разреженно доступный KV-кэш будет достаточен. Но для эффективного доступа к большой памяти иерархическая структура данных может быть лучше.