четверг, 16 марта 2023 г.

Педагогический промт-инжиниринг. Ч.2 Теоретические положения и общие рекомендации

Теоретические положения об основах промта с LLM как таковыми

Для того, чтобы стать профессиональным промт-инженером, специалистом по работе с искусственным интеллектом, а это новая и весьма перспективная профессия, необходимо усвоить некоторую складывающуюся сейчас теорию «промтинга». Мы от этого пока весьма далеки, однако приведу здесь по материалам курса по «prompt engineering (PE)» (https://learnprompting.org/docs/intro - доступно для всех) несколько положений. Авторы этого курса различают:

  • Простые техники: инструктаж, ролевые промты, стандартные промты (вопрос-ответ, в том числе с примерами)
  • Промты промежуточного уровня: цепочки мыслей (метод побуждающий LLM объяснять свои рассуждения), цепочка мыслей Zero Shot (шаг за шагом), самосогласованность, предварительно сгенерированные знания, разбиение на подпроблемы («детские» стратегии),
  • Прикладные промты (стратегии, предложенные участниками сообщества), включая инструкцию по созданию собственного умного чат-бота.
  • Расширенные приложения. Это MRKL Systems 1 (Modular Reasoning, Knowledge and Language, произносится как «чудо»), например системы, которые объединяют LLM (нейронные сети) и внешние инструменты, такие как калькуляторы (символические вычисления), для решения сложных задач, языковые модели с программным обеспечением и тому подобные сложные системы. Про этой теме очень интересна статья о возможности интеграции  ChatGPT с Wolfram|Alpha https://writings.stephenwolfram.com/2023/01/wolframalpha-as-the-way-to-bring-computational-knowledge-superpowers-to-chatgpt/

Я думаю, что нам, обычным педагогам доступны методы и промты на основе первых двух групп. 

Общие рекомендации для сценариев бесед с ChatGPT

1. Язык общения с ChatGPT. Обычно советуют задавать промты и получать ответы на английском. Дескать на русском ответы получаются менее качественные и полные.  Однако в статье https://habr.com/ru/post/715492/ утверждается, что «запросы можно писать на русском (он хорошо понимает), а вот ответы просить давать на английском. Мы все же рекомендуем пользоваться английским. Из переводчиков лучше DeepL

2. О памяти чата. Текущая версия ChatGPT помнит что вы ей сообщили только на время сессии.  Если закрыли страницу, надо начинать все с нуля. Языковые модели (ЯМ) обладают ограниченным контекстом. Для ChatGPT это 4096 токенов (около 2-3 тысяч слов). За этой границей все сказанное в ходе сессии "забывается" моделью. Поэтому полезно периодически повторять базовый запрос или разбивать Ваш запрос на части. Если в ответ на Ваш запрос чат выдает слишком короткий текст, попросите уточнить или просто напишите: "продолжай", "продолжи с фразы ...последняя фраза в предыдущем блоке...", "продолжай и добавь примеры и так далее.

Несмотря на то, что некоторые сервисы, например, https://www.chatpdf.com  предлагают вводить для анализа большие тексты (до 200 стр. документа pdf) не стоит ждать на выходе достоверного ответа по всему тексту, так же как и достоверной аннотации. В лучшем случае – общие слова, в худшем Вас введут в заблуждение. Выхода 2: 1) разбивать текст для анализа  на куски примерно по 4000 токенов, а это примерно 3000 слов на английском, из которых около 750 надо оставить на ответ - то есть вводить не более 4-5 страниц. На русском это будет еще раза в 4-5 меньше, так как каждое слово шифруется большим количество токенов; 2) второй выход – ждать более производительной модели. Так, в GPT4 уже есть 2 версии: 1-я на 8000 токенов (вдвое больше), а вторая целых 32 в 8 раз больше, чем сейчас. Но обе версии платные, причем существенно дороже, чем модели на GPT3.    

3. О ложных утверждениях и решениях. ЯМ пока плохо понимают, когда они лгут: в них нет критика, который бы заставил их переосмыслить написанное. Именно для избежания этого применяются методы и промты-подсказки о которых пойдет речь далее. Наиболее простые и часто применяемые:

  • инструкция – добавление к вопросу подробной инструкции что и как нужно делать и в какой форме представить результат. При этом для борьбы с «самоуправством и забывчивостью» надо в каждый запрос добавлять примеры с правильным форматом. Не ленитесь писать для ИИ большое подробное ТЗ - чем больше деталей вы дадите тем точнее будет результат. Переносите в запрос буквально все, что для вас на первый взгляд кажется очевидным
  • ролевой подход — назначить роль ИИ. Например, ваше приглашение может начинаться со слов «Вы врач» или «Вы юрист», а затем просить ИИ ответить на какой-либо медицинский или юридический вопрос. При назначении роли ИИ мы даем ему некоторый контекст. Этот контекст помогает ИИ лучше понять вопрос. При лучшем понимании вопроса ИИ часто дает лучшие ответы. Роли можно менять, уточнять, задавать несколько ролей (См. статью Множественные личности ChatGPT https://habr.com/ru/company/alfa/blog/718138/, а также нашу интерпретацию для педагогических целей ниже)
  • пошаговые формулировки задачи и пошаговые проверки (цепочки мыслей и т.п. методы). Например, спросить ChatGPT верно ли утверждение, которое она сгенерировала,  после указания на ошибки попросить изменить ответ, пошаговое разбиение задачи с примерами выполнения подзадач и т.п.

4. Вот пример рекомендаций к постановке развернутого запроса:

  • Задать контекст в первом предложении. Точная тема даст вам более релевантные ответы.  Объясните ИИ кем он является.  Например: «Ты эксперт в здравоохранении. Ты помогаешь людям сбрасывать вес уже 20 лет».
  • Поставить ясную задачу после контекста.  Например: «Дай лучший совет, как сбросить вес. Без очевидных».
  • Распишите порядок, в котором её надо выполнить. Также кратко, сухо и по делу
  • Задайте ограничения. К примеру - не заменяйте слова в тексте, если меняется исходный смысл. Не переводите нецензурные выражения - оставь их на родном языке
  • Задайте формат вывода. К примеру - разбейте результат на абзацы длиной в 2-3 предложения без потери смысла
  • Завершать запрос вопросом. Чтобы убедиться, что вывод релевантен и полезен, задавайте конкретные вопросы. Например: «Учитывая всю информацию, можешь составить план силовых упражнений на неделю?».
  • Уточнять вопросы после ответа.  Например: «У меня болит спина и я могу тратить на упражнения не больше получаса в день».
  • Практиковаться. Любой гайд работает только с практикой. 
5. Подготавливайте заранее и правильно выстраивайте весь сценарий Вашей беседы с ChatGPT.  Если ответ явно неполный, например, попросили 10 задач, а получили 5, Вы можете просто сказать «напишите еще 5» в поле подсказки ниже, чтобы продолжить наращивание вывода. Или «продолжай». Беседа с ChatGPT подкупает возможностью дальнейшего уточнения вывода. Ниже вывода можно дать отзыв или дополнительную информацию. Иногда ясно, что промт был не очень удачный и поэтому можно внести изменения. Используйте термины «переписать с…», «переписать и изменить…» или «добавить…» для настройки вывода. На английском: “rewrite with…” “rewrite and change…” or “add…”

Мы не будем здесь приводить методы и примеры обхода моральных ограничений ChatGPT. Предполагается, что педагогу этого не нужно. Надо помнить также, что ИИ лучше всего работает, когда инструкции написаны позитивно, а не говорят ему, что делать «нельзя». 

Комментариев нет:

Отправить комментарий