Изучение передовых методов подсказок

Введение

В этом сообщении в блоге я буду обсуждать, что такое подсказки и продвинутые методы подсказок. Было проведено множество исследований различных способов создания привлекательных входных данных для языковых моделей, чтобы полностью раскрыть их потенциал. Я расскажу о таких методах, как цепочка мыслей, самосогласованность, дерево мыслей, поиск с расширенным поколением и ReAct. Этот блог является частью моей серии блогов о больших языковых моделях. Вы можете просмотреть предыдущую публикацию о методах эффективной точной настройки параметров (PEFT) здесь Эффективная точная настройка параметров LLM: максимальная производительность с минимальными обновлениями параметров. Прежде всего, позвольте мне объяснить, что такое подсказка и зачем нужны разные техники подсказки.

Быстрый

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

Подсказка о нулевом выстреле

Модели с большими языками, такие как 175B GPT-3, имеют возможность следовать инструкциям на ходу без точной настройки для этой задачи с множеством примеров.

Подсказка с несколькими выстрелами

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

Цепочка мыслей, побуждающая

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

Zero-shot COT также является случаем, когда подсказка не содержит пример проблемы. В этом случае есть дополнение «Давайте подумаем шаг за шагом». в конце подсказки, чтобы побудить модель разбить проблему на несколько частей, а затем столкнуться с ней.

При использовании COT с несколькими выстрелами создание эффективных примеров и решений может быть довольно громоздким. Вот почему Auto-COT — это новый метод использования LLM для создания разнообразных примеров и решений. Этот метод включает в себя выбор одного вопроса из каждой группы похожих вопросов, а затем создание пошагового ответа от LLM для каждого выбранного вопроса. Несколько ответов от LLM используются для нескольких выстрелов COT. Таким образом, нам не нужно создавать примеры вручную.

Самосогласованность

Метод самосогласованности — это новая стратегия декодирования, в которой мы извлекаем несколько ответов из модели. Он заменяет обычный жадный метод, в котором мы выбираем слово с наибольшей вероятностью на каждом временном шаге вывода. Он делит весь процесс на три этапа:

(1) Подскажите языковую модель, используя подсказку по цепочке мыслей (COT).

(2) Замените «жадное декодирование» в подсказке COT выборкой из декодера языковой модели для создания разнообразного набора путей рассуждений.

(3) Исключите пути рассуждений и агрегируйте, выбрав наиболее последовательный ответ в окончательном наборе ответов.

Древо мыслей подсказывает

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

В ТОТ для разных задач требуется количество мыслей и количество кандидатов. Игра в 24 — это задача на математическое мышление, цель которой — использовать 4 числа и основные арифметические операции (+-*/), чтобы получить 24.

Извлечение дополненной генерации (RAG)

Чтобы сделать LLM более согласованными с фактами и избежать проблемы галлюцинаций, RAG сочетает компонент поиска информации с моделью генератора текста. RAG можно точно настроить, а его внутренние знания можно эффективно модифицировать без необходимости переобучения всей модели. RAG принимает входные данные и извлекает набор релевантных/вспомогательных документов с учетом источника (например, Википедия). Документы объединяются как контекст с исходной подсказкой ввода и передаются в генератор текста, который производит окончательный вывод. Это делает RAG адаптивным к ситуациям, когда факты могут изменяться с течением времени. Это очень полезно, поскольку параметрические знания LLM статичны. RAG позволяет языковым моделям обходить переобучение, предоставляя доступ к самой последней информации для создания надежных выходных данных посредством генерации на основе поиска.

Реагировать на подсказки

ReAct вдохновлен синергией между «действием» и «рассуждением», которые позволяют людям изучать новые задачи и принимать решения или рассуждать. ReAct предлагает LLM генерировать вербальные следы рассуждений и действий для задачи. Это позволяет системе выполнять динамические рассуждения для создания, поддержания и корректировки планов действий, а также позволяет взаимодействовать с внешними средами (например, Википедией) для включения дополнительной информации в рассуждения.

ReAct во многом зависит от информации, которую он извлекает; неинформативные результаты поиска подрывают модель рассуждений и приводят к трудностям в восстановлении и переформулировании мыслей

Заключительные замечания

В заключение следует отметить, что изучение передовых методов подсказок открыло новые возможности для использования всего потенциала языковых моделей. Такие методы, как «Дерево мыслей», «Цепочка мыслей», «ReAct», «RAG» и другие, позволили понять, как можно адаптировать и структурировать подсказки для получения более точных, творческих и контекстуально соответствующих ответов. Используя структурированные подсказки, пользователи могут направлять языковые модели к желаемым результатам, осуществлять контроль над генерируемыми ответами и улучшать общее взаимодействие с пользователем. В следующем сообщении в блоге я расскажу о статье Шиншиллы и законах масштабирования, изученных путем обучения 400 языковых моделей. Я также расскажу о модели Meta LLaMA, которая была разработана с использованием законов масштабирования Chinchilla.

Спасибо, что прочитали!

Подпишитесь на меня в LinkedIn!

Ссылки

  1. Цепь мыслей
  2. Самосогласованность
  3. Древо мыслей
  4. Поиск дополненной генерации
  5. РеАкт
  6. Языковые модели — это учащиеся с небольшим шансом