Что-то о мыслях в структурированном LLM-подходе Обзор структурированного LLM-рассуждения

My thoughts on the structured LLM approach Overview of structured LLM reasoning.

Цепь мыслей (CoT), Дерево мыслей (ToT), Граф мыслей (GoT) и далее… Что представляют собой эти мысли?

“Дерево мысли”, созданное Midjourney

В эпоху смартфонов и умных домов представьте себе ИИ, который не просто следует инструкциям, а на самом деле мыслит, справляясь с сложной логикой так же, как мы. Звучит как научная фантастика, не так ли? Однако, если вы играли с ChatGPT, вы, скорее всего, сами наблюдали эту поразительную способность. Даже Гектор Левеск, известная фигура в области ИИ-рассуждений, был настолько изумлен, что однажды прокомментировал легендарному Геоффри Хинтону: “Как такой глупый метод (ссылаясь на нейронные сети) может справляться с рассуждениями?”

Хотя эта история подчеркивает грандиозные достижения в области ИИ, истинная суть этих достижений заключается в сложном танце больших языковых моделей (LLM) с рассуждениями. Точкой входа в этот танец является инженерия подсказок – искусство и наука оптимизации текстового ввода, предоставляемого LLM, для получения желаемых результатов. В основе этого лежит понимание тонкостей того, как языковые модели, такие как ChatGPT, Bard, Claude, LLama и другие, реагируют на различные подсказки, а затем использование этого знания для достижения конкретных результатов.

Думайте о LLM как о огромных резервуарах знаний. Способ, которым вы формулируете свой вопрос или утверждение (подсказку), определяет, как вы используете этот резервуар. Так же, как люди могут предлагать разные ответы в зависимости от формулировки вопроса, LLM может давать разные ответы на основе ввода.

В этой статье вы получите краткий обзор различных фреймворков инженерии подсказок, разработанных для улучшения рассуждений LLM, включая:

  • Цепь мыслей
  • Цепь мыслей с самоконсистентностью
  • Дерево мыслей
  • Граф мыслей
  • Алгоритм мыслей
  • Скелет мыслей
  • Программа мыслей

Цепь мыслей (CoT)

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

Цепная подсказка (CoT) была признана одной из первоначальных и наиболее влиятельных техник инженерии подсказок, улучшающих процессы принятия решений в больших языковых моделях. В отличие от традиционных методик подсказок, которые акцентируются на прямом вводе-выводе, CoT заставляет модель разбить свое рассуждение на промежуточные шаги. Этот метод аналогичен когнитивным процессам человека, в которых сложные задачи разбиваются на более мелкие, более управляемые компоненты.

Для иллюстрации рассмотрим математическую задачу: “У Роджера есть 5 теннисных мячей, а затем он покупает 2 банки теннисных мячей, каждая из которых содержит 3 мяча. Сколько теннисных мячей у него теперь?”. Вместо того, чтобы непосредственно получить ответ 11, человек может рассуждать следующим образом: “Изначально у Роджера было 5 мячей. Общая сумма 2 банок, каждая из которых содержит 3 мяча, составляет 6 мячей. Суммируя значения, 5 + 6, получаем 11”. Включение такого пошагового аналитического рассуждения во входную подсказку не только увеличивает точность ответа модели, но и позволяет это сделать без необходимости дополнительных наборов данных для обучения или изменения основной конфигурации модели.

Цепная подсказка, источник: Wei et al. (2022)

Цепь мыслей с самоконсистентностью (CoT-SC)

Составьте несколько цепей мыслей, оцените каждую из них и в конечном итоге выберите наиболее эффективную и связную цепь.

Следующим шагом после фреймворка Цепи мыслей является Цепь мыслей с самоконсистентностью. Этот метод инициирует одновременное размышление по нескольким путям в ответ на запрос и применяет механизмы взвешивания перед выбором окончательного ответа. Этот подход напоминает ансамблевые методы, наблюдаемые в традиционном машинном обучении, но применяемые к последовательностям мыслей в больших языковых моделях.

Древо мыслей (ToT)

Развивайте цепочки мыслей в формате древа. Это позволяет отслеживать пути мышления, исследовать несколько ветвей рассуждений, исходя из одной идеи-корня.

Древо мыслей (ToT) предлагает более структурированную систему поощрения логического мышления (LLM), разбивая сложные задачи на более управляемые части. В отличие от CoT, который рассуждает в связанной цепочке, ToT организует свою стратегию решения проблемы в формате древа. Каждый узел, называемый “мыслью”, является последовательностью связанных языковых элементов, служащих шагом к окончательному ответу. Разделяя проблемы на эти отдельные “мыслевые” единицы – от краткой серии слов в кроссворде до компонента математического уравнения – ToT гарантирует систематическое решение каждой фазы проблемы.

Мышление ToT в игре 24, источник: Yao et al. (2023)

Операционная сила ToT заключается в его методичной организации. Сначала система разбивает проблему и, на основе текущего состояния, генерирует список потенциальных шагов рассуждений или “мыслевых” кандидатов. Затем эти мысли оцениваются, система оценивает вероятность того, что каждая из них приведет к желаемому решению. Для навигации по этому древу используются стандартные алгоритмы поиска, такие как Breadth-first search (BFS) и Depth-first search (DFS), что помогает модели определить наиболее эффективную последовательность мыслей.

Важность ToT проистекает из его голистического дизайна, адаптивности и эффективности. Подход Chain-of-Thought можно рассматривать как конкретный случай в рамках структуры ToT. Его модульная природа позволяет индивидуальным компонентам, начиная с начального разбиения проблемы и заканчивая используемыми алгоритмами поиска, работать независимо друг от друга.

Граф мыслей (GoT)

Преобразуйте структуру дерева в направленные ациклические графы. Это вводит петли, которые могут либо укрепить определенную линию мышления, либо объединить несколько мыслей в единое целое.

Граф мыслей (GoT) представляет собой продвинутый прогресс от методологий CoT и ToT. Основой для GoT является концептуализация идей как вершин в направленном ациклическом графе (DAG). В этом контексте каждая вершина соответствует конкретной мысли или решению – будь то предварительное, промежуточное или конечное – вызванное входным стимулом. Направленные ребра внутри этого графа отображают взаимозависимость этих мыслей. Конкретно, если ребро идет от мысли t1​ к мысли t2​, это означает, что мысль t2​ возникла на основе мысли t1​. Эта систематизация позволяет существовать множеству мыслей, так как узлы могут быть классифицированы на различные категории, такие как “планы” или “результаты”.

Граф мыслей, источник: Besta et al. (2023)

Новизна GoT заключается в его способности применять преобразования к этим мыслям, дополнительно уточняя процесс рассуждений. Кардинальные преобразования включают Агрегацию, которая позволяет объединять несколько мыслей в консолидированную идею; Уточнение, где выполняются постоянные итерации над одной мыслью для улучшения ее точности; и Генерацию, которая облегчает возникновение новых мыслей из существующих. Такие преобразования, с акцентом на объединении путей рассуждений, предоставляют более сложную точку зрения по сравнению с предыдущими моделями, такими как CoT или ToT.

Более того, GoT вводит оценочный аспект с помощью оценки и ранжирования. Каждая отдельная мысль, представленная вершиной, проходит оценку на основе ее актуальности и качества, осуществляемую с помощью определенной функции оценки. Важно отметить, что эта функция учитывает всю цепочку рассуждений, присваивая оценки, которые могут быть контекстуализированы относительно других вершин в графе. Фреймворк также дает системе возможность иерархизировать эти мысли на основе их соответствующих оценок, что является важной особенностью при определении, какие идеи заслуживают приоритета или реализации.

Алгоритм мыслей (AoT)

Поддерживает единую развивающуюся цепочку контекста, устраняя необходимость в избыточных запросах, как в Дереве Мысли. Он исследует изменяемый путь рассуждений.

Тогда как ToT и GoT решают проблему рассуждения на основе LLM с помощью механизмов поиска, создавая множество путей рассуждения в графической форме. Однако их сильная зависимость от многочисленных запросов LLM, иногда их количество достигает сотен для одной задачи, вызывает вычислительные неэффективности.

Алгоритм мыслей (AoT) предлагает инновационный метод, в котором используется динамический и изменяемый путь рассуждения. Поддерживая единую развивающуюся цепочку мыслей, AoT объединяет исследование мыслей, повышая эффективность и снижая вычислительную нагрузку.

Алгоритм мыслей. Каждый блок обозначает отдельную мысль. Зеленые блоки - обнадеживающие мысли, а красные - менее обнадеживающие. Примечание: ToT имеет несколько запросов, а AoT хранит единственный контекст, источник: Сел и др. (2023)

Гениальность AoT заключается в наблюдении, что LLM, хотя и мощный, иногда возвращается к предыдущим решениям, столкнувшись с новыми, но знакомыми проблемами. Чтобы преодолеть это, AoT включает в себя примеры в контексте, черпая из проверенных временем алгоритмов поиска, таких как поиск в глубину (DFS) и поиск в ширину (BFS). Эмулируя алгоритмическое поведение, AoT подчеркивает важность достижения успешных результатов и извлечения уроков из неудачных попыток.

Основой AoT являются его четыре основных компонента: 1) Разложение сложных задач на усваиваемые подзадачи, учитывая их взаимосвязь и легкость их индивидуальной обработки; 2) Предложение последовательных решений для этих подзадач непрерывным и непрерывным образом; 3) Интуитивная оценка жизнеспособности каждого решения или подзадачи без использования явных внешних подсказок; и 4) Определение наиболее перспективных путей для исследования или возврата на основе примеров в контексте и алгоритмических рекомендаций.

Скелет мысли (SoT)

Сначала создайте готовый чертеж ответа, а затем параллельно разрабатывайте детали, сокращая время, затрачиваемое на создание полного ответа.

Парадигма Скелета мысли (SoT) разработана не столько для расширения возможностей рассуждения моделей Large Language Models (LLMs), сколько для решения ключевой проблемы минимизации времени генерации от начала до конца. Методология основана на двухэтапном подходе, который заключается в создании предварительного чертежа ответа, а затем его полномасштабном развертывании.

Скелет мысли, источник: Нинг и др. (2023)

На первом этапе “Скелетного этапа” вместо создания полноценного ответа модели предлагается сгенерировать краткий скелет ответа. Это сокращенное представление, сформированное через тщательно разработанный шаблон скелета, фиксирует основные элементы предполагаемого ответа, тем самым создавая основу для последующего этапа.

На следующем этапе “Этапа расширения точек” LLM систематически расширяет каждый компонент, описанный в скелете ответа. Используя шаблон расширения точек, модель одновременно разрабатывает каждый сегмент скелета. Такой дихотомический подход, который разделяет процесс генерации на предварительную формулировку скелета и параллельное детальное развертывание, не только ускоряет генерацию ответа, но и стремится сохранить связность и точность результатов.

Программа мыслей (PoT)

Сформулируйте рассуждение по ответу на вопрос в виде исполняемой программы, включив вывод интерпретатора программы в качестве части окончательного ответа.

Программа мыслей (PoT) представляет собой уникальный подход к рассуждению LLM, который, в отличие от простого генерирования ответа на естественном языке, предусматривает создание исполняемой программы, которая может быть запущена на интерпретаторе программы, таком как Python, для получения материальных результатов. Этот метод отличается от более прямых моделей, подчеркивая его способность разбивать рассуждение на последовательные шаги и связывать семантические значения с переменными. В результате PoT предлагает более четкую, выразительную и обоснованную модель происхождения ответов, улучшая точность и понимание, особенно для вопросов логического типа, требующих числовых расчетов.

Важно отметить, что выполнение программы PoT не обязательно направлено на получение окончательного ответа, но может быть частью промежуточного шага к окончательному ответу.

Сравнение между CoT и PoT, источник: Чен и др. (2022)

В постоянно развивающейся сфере искусственного интеллекта структурированные фреймворки рассуждения, такие как Chain-of-Thought, кардинально изменили наше восприятие и использование мощи больших языковых моделей. Они символизируют переход к моделям, которые не только повторяют информацию, но и занимаются сложным рассуждением, подобным когнитивным процессам человека. Взглянув вперед, потенциальные возможности кажутся безграничными. Представьте себе искусственный интеллект, способный генерировать не только точные ответы, но и надежные, программируемые решения, или обладающий способностью визуализировать свои мыслительные процессы, делая сотрудничество между ИИ и человеком еще более гармоничным. Такие достижения, развиваясь на основе фундаментальных фреймворков, исследованных в этой статье, знаменуют наступление будущего, где большие языковые модели становятся неотъемлемыми спутниками в решении проблем, креативности и принятии решений, вызывая парадигмальный сдвиг в нашем симбиотическом отношении с технологией.