Продолжаем технические разборы. Чтобы LLM лучше решала задачи, можно дать ей больше токенов на размышление. Но обязательно ли каждый промежуточный шаг превращать в текстовый ответ модели?
На AI RnD Day наша Инесса Фёдорова рассказала об экспериментах с альтернативами длинным Chain of Thought: визуальными цепочками, маленькими рекурсивными моделями и зацикленными LLM.
📌 TLDR
Модель может рисовать промежуточные состояния. В одной из работ прошлого года был интересный подход Sketch-of-Thoughts, который в чем-то похож на эту идею. Идея заменить обычный CoT на короткие структурированные “скетчи”.
А в экспериментах с LoopLM удалось получить сопоставимое качество при одинаковом компьюте, но с втрое меньшим числом параметров.
🎨 Вместо описания картинки — новая картинка
Для навигации, перемещения объектов и визуальных игр естественный черновик — последовательность состояний среды. Зачем описывать весь маршрут словами, если можно его нарисовать и проверить?
Мы собрали более 300K мультимодальных цепочек и дообучили Bagel-7B-MoT. Внутри цепочки чередуются текстовое рассуждение, визуализация, рефлексия и ответ. Визуальные шаги генерировали инструментами, средой или диффузионными моделями, затем проверяли согласованность текста и изображений.
Главная сложность — качество траекторий: текст может говорить одно, а картинка показывать другое. По наблюдениям команды, визуальные reasoner’ы к таким проблемам чувствительнее текстовых.
⚙️ STARM: рассуждать в скрытом состоянии
Про эту работу мы уже писали в канале. STARM — наш открытый фреймворк для рекурсивных моделей, способных к многошаговым рассуждениям В рекурсивной модели промежуточное состояние проходит через вычислительный модуль повторно. Вместо новых слов — новые итерации обработки, а адаптивная остановка определяет, когда пора выдавать ответ.
Модель на всего лишь 13М (!!) параметров обошла аналоги 🌿 и LLM на рассмотренных в работе бенчмарках. Но важно отметить, что это алгоритмические задачи, а не универсальная замена LLM, о чем Инесса честно говорит в докладе.
🔁 А если зациклить языковую модель?
В LoopLM один набор слоёв применяется несколько раз, а exit gate отвечает за ранний выход. Команда воспроизвела результаты и получила сопоставимое качество при одинаковом компьюте с моделью, у которой в три раза меньше параметров. Здесь обучение пришлось стабилизировать, а вместо двух стадий претрейна обошлись одной. Мягкий старт, перемешивание данных и распределение 5% лосса по всем шагам сгладили обучение.
А вот с адаптивностью вышла загвоздка: из-за структуры лосса модель выбирала выход на втором или третьем шаге, а не гибко подбирала глубину вычислений.
🛠 Можно не учить с нуля?
Просто зациклить готовую модель не получилось: она предпочитала привычный "нулевой" шаг. Тогда добавили обучаемое смешивание выхода предыдущего шага с исходным входом:
w × previous_output + (1 − w) × input.Вес w позволяет дозировать обновление. После этого модель начала использовать дополнительные шаги.
В этих экспериментах самое интересное — не сам цикл, а то, как заставить модель им пользоваться. Возможность "подумать ещё" бесполезна, если обучение не делает следующий шаг полезным.
🔗 Более подробно — в презентации Инессы (оставим в комментариях файлом) и в записи выступления (тайминг 7:00:30).
Важно отметить, что работа доступна в opensource! ♥
🖥 GitHub
📄 Хабр
#reasoning #llm #paperwatch #conference
