STARTUP_CUSTDEV Telegram 88
Явные и неявные рассуждения

В Универе я сейчас занимаюсь двумя вещами: долгосрочной памятью и рассуждениями LLM. Про первое мы уже много говорили: существует миллионы подходов RAG - один из видов реализации памяти. А что насчет рассуждений? Сейчас мы работаем, по-моему мнению, над безумно классной статьей по ним, но давайте сначала посмотрим, что за виды рассуждения существуют.

Высокоуровнево, помимо общих дедуктивных, индуктивных и остальных ивных типов, рассуждения в LLM делятся на два типа: явные и неявные.

Явные

Ярким представителем этого типа является Chain-of-Though - когда мы моделе говорим: думай по шагам, напиши рассуждения по пунктам и т.п. То есть в качестве ответа, модель перед ответом выдает еще и логику, по которой она этот ответ получила. Таким образом сейчас работает o1 - перед ответом она долго рассуждает, чтобы получить ответ.

Если модель получает задачу «2 + 2 = ?», она может явно рассуждать следующим образом:

1. Первое число — это 2.
2. Второе число — это 2.
3. 2 плюс 2 равно 4.


К плюсам можно отнести:

Объяснимость - легко проверить логику модели при решении этой задачи и найти ошибки, так как все написано на человеческом языке. Вопрос, правда, а действительно ли она этой логике следовала остается открытым.

Контроль - в каком-то плане, благодаря объяснимости, намного легче становится найти, где модель ошибается и что-то не понимает, и изменить контекст в соответствии с этим: включить больше примеров или изменить логику решения задачи.

Дольше думаем = лучше результат - эмперически показали, что это новое измерение для скейлинга результатов - можно не увеличивать количество слоев сетки, а дать ей больше времени "на рассуждения". Ограничение здесь только в контексте модели.

Неявные

Как можно было понять из названия, эти рассуждения действительно неявные... То подаешь модели на вход задачу, и она где-то там в своих скрытых слоях, перемножая матрицы и доставая знания из FFN, решает, что 2+2 действительно 4. Естественно, что такой подход намного сложнее объяснять, контролировать и тем более скейлить. Если хочешь "более умную" модель, то нужно увеличивать количество слоев (предпологая, что с данными мы сделали уже все, что возможно). Один кошмар, в общем - зачем копать в эту область?

В целом, неявные рассуждения в каком-то смысле проще: если посмотреть на то, как решают эти задачи, то это довольно часто сложная 3-4 этапная схема, с 5 подпроцессами, которая требует кучу вычислений. К плюсам неявных систем можно отнести простоту: данные на вход, данные на выход и все, остальное - вера в бога и что ллм все же поймет, что делать. Естественно, есть кое-что еще.

Если вы помните недавнюю статью про рассуждения трансформеров, там упоминался феномен гроккинга. Это когда модель сначала переобучается на тренировочной выборке с 0% точности на тестовой, потом очень долго тренируется, и в конце находит какой-то супер эффективный алгоритм решения задачи и достигает 100% точности на тестовой выборке. Звучит круто, но как вы можете помнить из статьи, гроккинг пока на реальных задачах не применяется, только на "лабораторных" простых датасетах. Жаль, конечно - подумал я и предложил коллегам как эту проблему можно исправить.

Короче, мы применили гроккинг к реальным наборам данным и задачам рассуждения и, так же, как и на игрушечных примерах, достигли около 100%. Детали расскажу чуть позже - когда опубликуем бумагу на архиве, но полученные результаты мне очень нравятся.
8👏4🥰2



tgoop.com/startup_custdev/88
Create:
Last Update:

Явные и неявные рассуждения

В Универе я сейчас занимаюсь двумя вещами: долгосрочной памятью и рассуждениями LLM. Про первое мы уже много говорили: существует миллионы подходов RAG - один из видов реализации памяти. А что насчет рассуждений? Сейчас мы работаем, по-моему мнению, над безумно классной статьей по ним, но давайте сначала посмотрим, что за виды рассуждения существуют.

Высокоуровнево, помимо общих дедуктивных, индуктивных и остальных ивных типов, рассуждения в LLM делятся на два типа: явные и неявные.

Явные

Ярким представителем этого типа является Chain-of-Though - когда мы моделе говорим: думай по шагам, напиши рассуждения по пунктам и т.п. То есть в качестве ответа, модель перед ответом выдает еще и логику, по которой она этот ответ получила. Таким образом сейчас работает o1 - перед ответом она долго рассуждает, чтобы получить ответ.

Если модель получает задачу «2 + 2 = ?», она может явно рассуждать следующим образом:

1. Первое число — это 2.
2. Второе число — это 2.
3. 2 плюс 2 равно 4.


К плюсам можно отнести:

Объяснимость - легко проверить логику модели при решении этой задачи и найти ошибки, так как все написано на человеческом языке. Вопрос, правда, а действительно ли она этой логике следовала остается открытым.

Контроль - в каком-то плане, благодаря объяснимости, намного легче становится найти, где модель ошибается и что-то не понимает, и изменить контекст в соответствии с этим: включить больше примеров или изменить логику решения задачи.

Дольше думаем = лучше результат - эмперически показали, что это новое измерение для скейлинга результатов - можно не увеличивать количество слоев сетки, а дать ей больше времени "на рассуждения". Ограничение здесь только в контексте модели.

Неявные

Как можно было понять из названия, эти рассуждения действительно неявные... То подаешь модели на вход задачу, и она где-то там в своих скрытых слоях, перемножая матрицы и доставая знания из FFN, решает, что 2+2 действительно 4. Естественно, что такой подход намного сложнее объяснять, контролировать и тем более скейлить. Если хочешь "более умную" модель, то нужно увеличивать количество слоев (предпологая, что с данными мы сделали уже все, что возможно). Один кошмар, в общем - зачем копать в эту область?

В целом, неявные рассуждения в каком-то смысле проще: если посмотреть на то, как решают эти задачи, то это довольно часто сложная 3-4 этапная схема, с 5 подпроцессами, которая требует кучу вычислений. К плюсам неявных систем можно отнести простоту: данные на вход, данные на выход и все, остальное - вера в бога и что ллм все же поймет, что делать. Естественно, есть кое-что еще.

Если вы помните недавнюю статью про рассуждения трансформеров, там упоминался феномен гроккинга. Это когда модель сначала переобучается на тренировочной выборке с 0% точности на тестовой, потом очень долго тренируется, и в конце находит какой-то супер эффективный алгоритм решения задачи и достигает 100% точности на тестовой выборке. Звучит круто, но как вы можете помнить из статьи, гроккинг пока на реальных задачах не применяется, только на "лабораторных" простых датасетах. Жаль, конечно - подумал я и предложил коллегам как эту проблему можно исправить.

Короче, мы применили гроккинг к реальным наборам данным и задачам рассуждения и, так же, как и на игрушечных примерах, достигли около 100%. Детали расскажу чуть позже - когда опубликуем бумагу на архиве, но полученные результаты мне очень нравятся.

BY Идеальный стартап


Share with your friend now:
tgoop.com/startup_custdev/88

View MORE
Open in Telegram


Telegram News

Date: |

Telegram channels enable users to broadcast messages to multiple users simultaneously. Like on social media, users need to subscribe to your channel to get access to your content published by one or more administrators. You can invite up to 200 people from your contacts to join your channel as the next step. Select the users you want to add and click “Invite.” You can skip this step altogether. Avoid compound hashtags that consist of several words. If you have a hashtag like #marketingnewsinusa, split it into smaller hashtags: “#marketing, #news, #usa. Your posting frequency depends on the topic of your channel. If you have a news channel, it’s OK to publish new content every day (or even every hour). For other industries, stick with 2-3 large posts a week. Telegram users themselves will be able to flag and report potentially false content.
from us


Telegram Идеальный стартап
FROM American