Новый мозг для машин увеличивает количество вычислений, уменьшая затраты.
Google разработал новую архитектуру нейронных сетей под названием Titans, которая может решить проблему с памятью в LLM-моделях. Теперь модели смогут обрабатывать больше данных за один раз, не увеличивая затраты на вычисления. Titans помогает находить и сохранять важные кусочки информации даже в очень длинных текстах.
В основе Titans лежит сочетание стандартных блоков внимания и «нейронной памяти», что позволяет моделям одновременно работать с текущей информацией и запоминать данные для долгосрочного использования. Такие модели могут справляться с миллионами токенов и при этом работают быстрее и точнее, чем классические LLM или их альтернативы, такие как Mamba и Samba.
Обычные модели используют механизм самовнимания (self-attention), который анализирует связи между словами. Но если текст слишком длинный, затраты на вычисления резко возрастают. Некоторые новые подходы с меньшими затратами уступают по точности, так как не могут учитывать все детали. Titans предлагает баланс: сохранять и использовать как короткую, так и долгосрочную память.
Ключевая идея Titans — модуль «нейронной долгосрочной памяти», который может запоминать новую информацию прямо во время работы модели. Например, если данные неожиданны или отличаются от уже известных, модуль считает их важными и сохраняет. Чтобы память не перегружалась, ненужная информация автоматически удаляется.
Архитектура Titans включает три компонента:
В тестах на моделях Titans с 170–760 миллионами параметров архитектура показала высокую производительность, особенно на задачах с длинными текстами. Например, в задачах, где нужно находить нужные данные среди большого объёма информации, Titans обошёл GPT-4, GPT-4o-mini и Llama-3.
Контекстное окно Titans удалось увеличить до 2 миллионов токенов, при этом затраты на память остались низкими. Это открывает большие возможности для создания приложений, где можно интегрировать новые данные напрямую в запросы, без сложных дополнительных методов. Google планирует опубликовать код Titans для PyTorch и JAX, чтобы разработчики могли использовать эту архитектуру.
Спойлер: она начинается с подписки на наш канал