TG Telegram Group & Channel
gonzo-обзоры ML статей | United States America (US)
Create: Update:

Training Large Language Models to Reason in a Continuous Latent Space
Shibo Hao, Sainbayar Sukhbaatar, DiJia Su, Xian Li, Zhiting Hu, Jason Weston, Yuandong Tian
Статья: https://arxiv.org/abs/2412.06769
Код: https://github.com/facebookresearch/coconut
Песня: https://www.youtube.com/watch?v=PKQPey6L42M

Статья, которую надо разобрать, про Coconut и ризонинг в латентном пространстве. Тем более даже Quanta уже написала, а мы всё нет.

📃TL;DR.

Идея проста: языковое пространство может быть не лучшим выбором для ризонинга через CoT (про CoT и ToT тут https://hottg.com/gonzo_ML/1885), и ризонинг можно делать не выходя в пространство токенов. Отсюда рождается Coconut (Chain Of CONtinUous Thought). Последнее скрытое состояние можно не декодировать в токен, а сразу подавать его на вход декодера в авторегрессионном процессе генерации как эмбеддинг для следующего шага.


💡Идея

Это интересный подход по нескольким причинам.

Во-первых, прогон всего ризонинга через токены создаёт узкое место. Из одного эмбеддинга могут быть сгенерированы разные токены, эквивалентные и не очень, и всё богатство оригинальной “мысли” может потеряться. Что если его не терять?

Дополнительный минус в том, что на каждый токен уходит одинаковый вычислительный бюджет, хотя токены неравнозначны. BLT (https://hottg.com/gonzo_ML/3109) отчасти решал эту проблему, но там и часть авторов та же, что у кокоса.

В общем, почему бы не попробовать ризонинг без языковых ограничений? Тем более, что, во-вторых, это соответствует некоторым данным по neuroimaging, когда в процессе ризонинга языковые области мозга не задействуются. В частности, одна из свежих работ (https://hottg.com/gonzo_ML/2797) говорит, что язык оптимизирован для коммуникации, а не для думания.


🛠Реализация

Она, как уже упоминалось в TL;DR, чрезвычайно проста. В процессе ризонинга мы не задействуем выходную голову модели и её слой эмбеддинга, а в качестве входного эмбеддинга на следующем шаге используем выходной эмбеддинг предыдущего шага.

LLM переключается между двумя режимами: языковым (language mode) и латентным (latent mode). Языковой режим — это стандартный режим для LLM с генерацией токенов. Латентный режим -- новый режим с переиспользованием эмбеддинга. Начало и окончание латентного режима обрамляется токенами <bot> и <eot>. Соответственно для всех токенов с индексами между индексами этих двух токенов включается новый режим. Весь процесс полностью дифференцируемый и позволяет обучать модель обычным бэкпропом.

Вопрос, где взять данные для такого обучения. Для этого берутся языковые данные для обычного CoT и реализуется мультиэтапный curriculum. На начальном этапе (stage) модель обучается обычному языковому CoT. На последующих этапах, для шага номер k, первые k шагов языкового размышления убираются, а внутри <bot>/<eot> тэгов появляются k позиций, в каждую из которых записываются эмбеддинги предыдущего шага. Состояние оптимизатора сбрасывается между отдельными этапами.

Во время обучения оптимизируется обычный negative log-likelihood loss, но маскируется и не учитывается лосс для вопроса и латентных мыслей (не буду кавычки каждый раз ставить вокруг слова мысль). Эта objective никак не стимулирует модель сжимать убираемые текстовые мысли, так что есть потенциал выучивания более эффективных репрезентаций ризонинга.

Для примера с N шагами рассуждения надо сделать N+1 forward pass. KV-кеш может помочь не пересчитывать одно и то же, но всё равно последовательная природа вычисления этих этапов не даёт эффективно распараллеливать весь процесс. Оптимизация является отдельным интересным направлением исследования, и я уверен, что за ней дело не станет.

При инференсе главный челлендж это решить, когда нужно уходить в латентный режим и выходить из него. С токеном <bot> всё просто, ставим сразу после вопроса, а для <eot> рассматриваются две стратегии: 1) обучить бинарный классификатор, решающий по эмбеддингу, когда надо переключаться, и 2) добивать паддингом латентные размышления до фиксированной длины. Оба подхода работают, так что по дефолту используют более простой второй.


🧪Оценка

Training Large Language Models to Reason in a Continuous Latent Space
Shibo Hao, Sainbayar Sukhbaatar, DiJia Su, Xian Li, Zhiting Hu, Jason Weston, Yuandong Tian
Статья: https://arxiv.org/abs/2412.06769
Код: https://github.com/facebookresearch/coconut
Песня: https://www.youtube.com/watch?v=PKQPey6L42M

Статья, которую надо разобрать, про Coconut и ризонинг в латентном пространстве. Тем более даже Quanta уже написала, а мы всё нет.

📃TL;DR.

Идея проста: языковое пространство может быть не лучшим выбором для ризонинга через CoT (про CoT и ToT тут https://hottg.com/gonzo_ML/1885), и ризонинг можно делать не выходя в пространство токенов. Отсюда рождается Coconut (Chain Of CONtinUous Thought). Последнее скрытое состояние можно не декодировать в токен, а сразу подавать его на вход декодера в авторегрессионном процессе генерации как эмбеддинг для следующего шага.


💡Идея

Это интересный подход по нескольким причинам.

Во-первых, прогон всего ризонинга через токены создаёт узкое место. Из одного эмбеддинга могут быть сгенерированы разные токены, эквивалентные и не очень, и всё богатство оригинальной “мысли” может потеряться. Что если его не терять?

Дополнительный минус в том, что на каждый токен уходит одинаковый вычислительный бюджет, хотя токены неравнозначны. BLT (https://hottg.com/gonzo_ML/3109) отчасти решал эту проблему, но там и часть авторов та же, что у кокоса.

В общем, почему бы не попробовать ризонинг без языковых ограничений? Тем более, что, во-вторых, это соответствует некоторым данным по neuroimaging, когда в процессе ризонинга языковые области мозга не задействуются. В частности, одна из свежих работ (https://hottg.com/gonzo_ML/2797) говорит, что язык оптимизирован для коммуникации, а не для думания.


🛠Реализация

Она, как уже упоминалось в TL;DR, чрезвычайно проста. В процессе ризонинга мы не задействуем выходную голову модели и её слой эмбеддинга, а в качестве входного эмбеддинга на следующем шаге используем выходной эмбеддинг предыдущего шага.

LLM переключается между двумя режимами: языковым (language mode) и латентным (latent mode). Языковой режим — это стандартный режим для LLM с генерацией токенов. Латентный режим -- новый режим с переиспользованием эмбеддинга. Начало и окончание латентного режима обрамляется токенами <bot> и <eot>. Соответственно для всех токенов с индексами между индексами этих двух токенов включается новый режим. Весь процесс полностью дифференцируемый и позволяет обучать модель обычным бэкпропом.

Вопрос, где взять данные для такого обучения. Для этого берутся языковые данные для обычного CoT и реализуется мультиэтапный curriculum. На начальном этапе (stage) модель обучается обычному языковому CoT. На последующих этапах, для шага номер k, первые k шагов языкового размышления убираются, а внутри <bot>/<eot> тэгов появляются k позиций, в каждую из которых записываются эмбеддинги предыдущего шага. Состояние оптимизатора сбрасывается между отдельными этапами.

Во время обучения оптимизируется обычный negative log-likelihood loss, но маскируется и не учитывается лосс для вопроса и латентных мыслей (не буду кавычки каждый раз ставить вокруг слова мысль). Эта objective никак не стимулирует модель сжимать убираемые текстовые мысли, так что есть потенциал выучивания более эффективных репрезентаций ризонинга.

Для примера с N шагами рассуждения надо сделать N+1 forward pass. KV-кеш может помочь не пересчитывать одно и то же, но всё равно последовательная природа вычисления этих этапов не даёт эффективно распараллеливать весь процесс. Оптимизация является отдельным интересным направлением исследования, и я уверен, что за ней дело не станет.

При инференсе главный челлендж это решить, когда нужно уходить в латентный режим и выходить из него. С токеном <bot> всё просто, ставим сразу после вопроса, а для <eot> рассматриваются две стратегии: 1) обучить бинарный классификатор, решающий по эмбеддингу, когда надо переключаться, и 2) добивать паддингом латентные размышления до фиксированной длины. Оба подхода работают, так что по дефолту используют более простой второй.


🧪Оценка


>>Click here to continue<<

gonzo-обзоры ML статей




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)