Несколько захватывающих техник быстрой разработки для повышения эффективности наших моделей LLM.

Захватывающие техники быстрой разработки эффективность наших моделей LLM в TOP!

Искусственный интеллект стал полной революцией в мире технологий.

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

Тем не менее, несмотря на то, насколько хорошими были эти поздние скачки в развитии ИИ, всегда есть место для улучшений.

И вот именно здесь начинает действовать prompt engineering!

Войдите в это направление, которое может значительно улучшить производительность моделей ИИ.

Давайте все это вместе откроем!

Суть prompt engineering

Prompt engineering – это быстрорастущая область в ИИ, которая фокусируется на повышении эффективности и эффективности языковых моделей. Все дело в том, чтобы создавать идеальные подсказки, чтобы направлять модели ИИ на производство желаемых результатов.

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

Значение prompt engineering

  • Улучшенная производительность: Используя высококачественные подсказки, модели ИИ могут генерировать более точные и актуальные ответы. Это означает меньше времени, затраченного на исправления, и больше времени, чтобы использовать возможности ИИ.
  • Экономия ресурсов: Обучение моделей ИИ требует большого количества ресурсов. Prompt engineering может снизить необходимость повторного обучения, оптимизируя производительность модели с помощью лучших подсказок.
  • Универсальность: Грамотно составленная подсказка может сделать модели ИИ более универсальными, позволяя им справляться с широким спектром задач и вызовов.

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

Представление базовых методов prompt engineering

Последовательное мышление с помощью “Давайте мыслить пошагово”

Сегодня известно, что точность моделей LLM значительно улучшается при добавлении последовательности слов “Давайте мыслить пошагово”.

Почему… вы можете спросить?

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

Например, я могу вызвать GPT3.5 с помощью следующей подсказки:

Если у Джона есть 5 груш, он съедает 2, покупает еще 5, затем отдает 3 своему другу, сколько у него груш?

Модель даст мне ответ сразу же. Однако, если я добавлю фразу “Давайте мыслить пошагово”, я заставляю модель генерировать процесс мышления с несколькими шагами.

Few-Shot Prompting

Если Zero-shot prompting предполагает попросить модель выполнить задачу без предоставления контекста или предыдущих знаний, то техника few-shot prompting предполагает, что мы представляем LLM несколько примеров нашего желаемого результата вместе с определенным вопросом.

Например, если мы хотим создать модель, которая определяет любое определение с поэтическим оттенком, это может быть довольно сложно объяснить. Верно?

Однако мы могли бы использовать следующие подсказки few-shot, чтобы направить модель в нужном направлении.

Ваша задача – ответить в стиле, соответствующем следующему образцу.

<пользователь>: Научи меня устойчивости.

<система>: Устойчивость – это как дерево, гнущееся под ветром, но никогда не ломается.

Это способность пережить трудности и продолжать двигаться вперед.

<пользователь>: Ваш ввод здесь.

Если вы еще не пробовали это, можете попробовать вызвать GPT.

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

 

Техники продвинутого приказа LLM

 

1. Цепочка мыслей (CoT) приказывает

 

Представленный компанией Google в 2022 году, этот метод предполагает, что модель должна пройти несколько этапов рассуждений, прежде чем дать окончательный ответ. 

Звучит знакомо, не так ли? Если да, то вы абсолютно правы. 

Это похоже на слияние последовательного мышления и приказа с небольшим количеством данных. 

Как?

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

  

Таким образом, исходя из первого примера, мы можем предложить приказ с первой проблемой и последовательным объяснением того, как ее решить. Затем мы можем отправить наш ввод и посмотреть, как волшебство происходит!

 

<пользователь> Если у Джона есть 5 груш, затем он съедает 2, покупает еще 5, а затем отдает 3 другу, сколько у него осталось груш? Давайте думать шаг за шагом.

<агент> Пойдем шаг за шагом. Джон начинает с 5 груш. Он съедает 2 груши, поэтому у него остается 5-2 = 3 груши. Затем он покупает еще 5 груш. Таким образом, у него теперь есть 3 + 5 = 8 груш. Наконец, он отдает 3 груши своему другу. Следовательно, у него остается 8-3 = 5 груш. Так что после всех этих шагов у Джона есть 5 груш.

<пользователь> Здесь ваш ввод.

 

Однако, большинство из вас, должно быть, думают… Нужно ли мне каждый раз думать об последовательном способе решения проблемы, когда я хочу что-то спросить в ChatGPT?

Что ж… вы не первый! И это приводит нас к…

 

2. Автоматическая цепочка мыслей (Auto-CoT)

 

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

  • Она может быть скучной. 
  • Она может привести к плохим результатам – например, когда наш мыслительный процесс неверен.

Они предложили использовать LLM совместно с приказом “Давайте думать шаг за шагом”, чтобы последовательно создавать цепочки рассуждений для каждой демонстрации. 

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

 

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

 

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

Так… в чем основное отличие?

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

 

<Пользователь> Если у Джона есть 5 груш, затем он съедает 2, покупает еще 5, а затем отдает 3 другу, сколько у него осталось груш? Давайте думать шаг за шагом.

<Агент> Начнем с 5 груш. Джон съедает 2 груши. Затем он отдает 3 груши другу. Эти действия можно объединить: 2 (съеденные) + 3 (отданные) = 5 груш, в общей сложности затронуто. Теперь вычтите общее количество затронутых груш из изначальных 5 груш: 5 (изначальных) – 5 (затронутых) = 0 груш осталось. Затем все другие задачи, которые я посылаю модели, будут ошибочными.

Вот почему Self-Consistency включает в себя выбор из различных путей рассуждения, каждый из которых содержит цепочку мыслей, а затем позволяет LLM выбрать лучший и наиболее последовательный путь для решения проблемы.

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

<Пользователь> Если у Джона есть 5 груш, потом он съедает 2, покупает еще 5, затем отдает 3 другу, сколько груш у него остается?

<Агент> Начнем с 5 груш. Джон съедает 2 груши, остается 5–2 = 3 груши. Он покупает еще 5 груш, что приводит к общей сумме 3 + 5 = 8 груш. Наконец, он отдает 3 груши другу, поэтому у него остается 8–3 = 5 груш.

<Пользователь> Если у Джона есть 5 груш, потом он съедает 2, покупает еще 5, затем отдает 3 другу, сколько груш у него остается?

<Агент> Начнем с 5 груш. Затем он покупает еще 5 груш. Джон сейчас съедает 2 груши. Эти действия можно объединить: 2 (съеденных) + 5 (купленных) = 7 груш). Вычтите съеденную грушу из общего количества груш 7 (общая сумма) – 2 (съеденные) = 5 груш осталось.

<Пользователь> Ваш ввод здесь.

И вот появляется последний прием.

4. Совместное использование общих знаний

Обычной практикой инженерии запросов является добавление дополнительных знаний к запросу перед отправкой финального вызова API к GPT-3 или GPT-4.

Согласно Jiacheng Liu и Co, мы всегда можем добавить некоторые знания к любому запросу, чтобы LLM лучше понимал вопрос.

Так, например, когда мы спрашиваем ChatGPT, является ли частью гольфа попытка набрать большее количество очков, он нас проверит. Однако главная цель гольфа на самом деле противоположная. Вот почему мы можем добавить предыдущие знания, сообщив ему “Игрок с меньшим количеством очков побеждает”.

И что забавно, если мы точно говорим модели ответ?

В этом случае эта техника используется для улучшения способа взаимодействия LLM с нами.

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

Таким образом, LLM можно улучшить, не увеличивая объем обучающих данных!

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

Инженерия запросов стала ключевым приемом для расширения возможностей LLM. Путем итерации и усовершенствования запросов мы можем общаться с моделями и получать более точные и контекстуально значимые результаты, экономя время и ресурсы.

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

Комбинируя тщательно разработанные вводные запросы с этими более продвинутыми техниками, владение навыками инженерии запросов без сомнения даст вам преимущество в грядущие годы.

[Josep Ferrer](https://www.linkedin.com/in/josep-ferrer-sanchez) является инженером аналитиком из Барселоны. Он окончил физический факультет и в настоящее время работает в области науки о данных, применяемой к человеческой подвижности. Он является автором контента на неполный рабочий день, сосредоточенным на науке о данных и технологиях. Вы можете связаться с ним через LinkedIn, Twitter или VoAGI.