Что такое инженерия подсказок?

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

Что такое подсказка?

Подсказка – это текст на естественном языке, содержащий требование к генеративному искусственному интеллекту выполнить определенную задачу. Генеративный искусственный интеллект – это решение ИИ, которое создает новый контент, такой как истории, разговоры, видео, изображения и музыку. Он основан на очень больших моделях МО, использующих глубокие нейронные сети, предварительно обученные на огромных объемах данных.

Большие языковые модели (LLM) очень гибкие и могут выполнять различные задачи. Например, обобщать документы, составлять целые предложения, отвечать на вопросы и переводить контент на другие языки. Модели используются для конкретного пользовательского ввода и прогнозируют наилучшие выходы на основе предыдущего обучения.

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

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

Подробнее о генеративном искусственном интеллекте »

Почему инженерия подсказок важна?

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

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

Например, рассмотрим чат-ботов с ИИ. Пользователь может ввести неполный запрос, например: «Где купить рубашку». Код приложения использует специально разработанную подсказку: «Ты продавец-консультант в компании по производству одежды. Пользователь из Алабамы, США, спрашивает, где купить рубашку. Отправь ему информацию о трех ближайших к нему магазинах, где в наличии есть рубашки». Затем чат-бот сгенерирует более релевантную и точную информацию.

Ниже указаны некоторые преимущества инженерии подсказок.

Больше контроля для разработчиков

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

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

Повышение удобства для пользователей

Пользователи будут избегать проб и ошибок и по-прежнему получат последовательные, точные и актуальные ответы от инструментов ИИ. Благодаря инженерии подсказок пользователи могут быстро и легко получить релевантные результаты. С ее помощью можно уменьшить погрешность вызванную человеческой предвзятостью в обучающих данных больших языковых моделей.

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

Повышение гибкости

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

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

Как можно использовать инженерию подсказок?

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

Специальные знания в предметных областях

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

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

Критическое мышление

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

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

Креативность

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

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

Какие есть методы инженерии подсказок?

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

Ниже приведены несколько методов, которые инженеры используют для совершенствования задач обработки естественного языка (NLP) в своих моделях ИИ.

Подсказки по цепочке рассуждений

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

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

Пример вопроса: «Какая столица Франции?» Модель может совершить несколько развертываний и дать такие ответы: «Париж», «Столица Франции – Париж», и «Париж – столица Франции». Поскольку в результате всех развертываний модель дает один и тот же ответ, она выберет вариант «Париж».

Подсказки по методу дерева мыслей

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

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

Вспомогательные подсказки

Использование вспомогательных подсказок схоже с методом дерева мыслей. Модель должна дать ответ с объяснением, а затем описать некоторые части своего объяснения. Пример противоречивого объяснения: деревья подрезают или от них избавляются. Данный метод повышает эффективность сложных рассуждений.

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

Подсказки на основе сложности

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

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

Подсказки на основе сгенерированных знаний

Этот метод предполагает то, что модель сначала сгенерирует факты в соответствии с подсказкой, а затем сформулирует ответ. Благодаря этому, качество ответов повышается, ведь модель использует релевантные факты.

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

От меньшего к большему

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

Например, пользователь просит модель найти значение «x» в уравнении 2x + 3 = 11. Сначала модель может выделить такие подзадачи: вычесть 3 с обеих сторон и разделить на 2. Затем она будет последовательно решать их, чтобы получить окончательный ответ.

Критика ответов и новые решения

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

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

Направленные подсказки-стимулы

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

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

Какие есть рекомендации по инженерии подсказок?

Чтобы инженерия подсказок работала должным образом, нужно указывать контекст, общую информацию и ожидаемый ответ. Ниже приведены некоторые рекомендации по использованию инженерии подсказок.

Точные запросы

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

Адекватный контекст в подсказках

Укажите адекватный контекст, а также требования к выходным данным, формулируя подсказку. Ограничьте контекст определенным форматом. Например, вам нужен список самых популярных фильмов 1990-х годов в виде таблицы. Чтобы получить точный результат, вы должны четко указать, сколько фильмов нужно включить в список, а также желаемое форматирование таблицы.

Баланс между целевой информацией и ожидаемыми выходными данными

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

Экспериментируйте и улучшайте подсказки

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

Как AWS может удовлетворить ваши требования к генеративному ИИ?

В Amazon Web Services (AWS) доступен широкий набор инструментов для создания и использования генеративного ИИ. Например, вы можете воспользоваться указанными ниже сервисами.

  • Amazon CodeWhisperer, чтобы в режиме реального времени генерировать предложения для кода, начиная от его фрагментов и заканчивая полноценными функциями на основе ваших комментариев и существующего кода.
  • Amazon Bedrock, чтобы ускорить разработку приложений генеративного ИИ с использованием языковых моделей посредством API, не затрагивая управление инфраструктурой.
  • Amazon SageMaker JumpStart, чтобы обнаруживать, изучать и развертывать языковые модели с открытым исходным кодом. Например, вы можете работать с такими моделями, как OpenLLaMA, RedPajama, MPT-7B от MosaicML, FLAN-T5, GPT-NeoX-20B и BLOOM.

Если вы предпочитаете создавать собственные модели, воспользуйтесь студией Amazon SageMaker. Вам будет предоставлена управляемая инфраструктура и инструменты, с помощью которых вы сможете ускорить построение, обучение и развертывание масштабируемых, надежных и безопасных моделей.

Создайте аккаунт в AWS уже сегодня и ознакомьтесь с инженерией подсказок.

AWS: дальнейшие шаги

Зарегистрировать бесплатный аккаунт

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

Регистрация 
Начать разработку в консоли

Начните разработку в Консоли управления AWS.

Вход