Тестируют подход на трёх датасетах с математическим (GSM8k) и логическим ризонингом (ProntoQA, и новый ProsQA).
Проверяют на предобученной GPT-2. Для математики используют две латентных мысли (c=2) на каждый шаг ризонинга, три этапа (stages, k=3) и обучают шесть эпох на первом этапе и три на остальных. На логике одна латентная мысль на шаг, шесть этапов, обучают пять эпох на этап.
В сравнении используются следующие бейзлайны:
1) обычный CoT с файнтюнингом модели на примерах
2) No-CoT, с обучением модели сразу выдавать ответ
3) iCoT, implicit CoT из https://arxiv.org/abs/2405.14838, который постепенно интернализировал промежуточные шаги рассуждений через последовательный файнтюнинг, там шаги по одному выбрасывались, а в Coconut вместо них появляются латентные шаги, что по идее даёт модели “подумать” побольше.
4) Pause token, когда между вопросом и ответом вставляются специальные токены <pause> (столько же, сколько continuous thoughts у кокоса) -- никакой цепочки размышлений тут нет, но дополнительные токены могут дать модели дополнительные вычислительные возможности.
Сам Coconut тоже проверяют в трёх режимах:
1) w/o curriculum без мультиэтапного обучения, сразу берутся данные с последнего этапа, где уже нет языковых мыслей, есть только латентные.
2) w/o thought с мультиэтапным обучением и постепенным убиранием языковых шагов рассуждения, но без использования непрерывных латентных мыслей -- по сути похоже на iCoT, но процедура обучения из Coconut
3) Pause as thought c заменой непрерывных мыслей на токены <pause> и сохранением мультиэтапной процедуры
🏁 Результаты
Coconut стабильно лучше LLM без CoT, и лучше CoT на логических задачах. На GSM8k обычный CoT лучше, но у Coconut растёт качество с увеличением числа мыслей на шаг (насыщения там не видно до двух мыслей на шаг, но в приложении попробовали три и там стало хуже, видимо из-за проблем в обучении, нужно что-то менять в процедуре).
Токенов у Coconut при этом меньше в разы.
Coconut с pause as thought в целом тоже неплохо работает, но обычный Coconut лучше.
На авторском датасете ProsQA, где предсказание следующего шага не очень помогает и надо планировать и искать по более сложному графу, обычный CoT не лучше No-CoT, зато Coconut или iCoT существенно улучшают ситуацию.
Без мультиэтапной процедуры с curriculum модель плохо выучивает ризонинг в латентном пространстве. В идеальном мире она бы сама выучила наиболее эффективные непрерывные мысли через бэкпроп, но чего-то не хватает.
Хоть Coconut и призван обходиться без перехода в пространство токенов, это по-прежнему можно делать, если хочется. В одном примере авторы декодировали первую непрерывную мысль и увидели там токены, которые ожидались в промежуточном рассуждении. Это прикольно в плане интерпретируемости.
🔍Анализ
У модели есть интересная возможность переключаться между ризонингом языковым и в латентном пространстве. Авторы дополнительно покопались в латентном ризонинге.
Проверили работу модели на датасете ProsQA с разным числом латентных мыслей, от нуля до шести. Разница здесь только в инференс тайме, модель одна и та же. Также дополнили мультиэтапную процедуру обучения, чтобы модель не забывала более ранние этапы, так что с вероятностью 0.3 замешиваются данные от других этапов.
Сделали более гранулярную классификацию качества ответа модели, теперь есть не просто корректность конечного ответа, а более детальные типы:
1) Correct Path — верный кратчайший путь в графе
2) Longer Path — верный, но не кратчайший
3) Hallucination — путь содержит несуществующие рёбра или несвязный
4) Wrong Target — путь валиден, но не к тому узлу
5) Correct Label и (6) Incorrect Label — для методов, где можно получить только финальный ответ
Ожидаемо, с увеличением количества непрерывных мыслей корректных результатов становится больше. Галлюцинации тоже уходят.
>>Click here to continue<<