Автоматизация человеческой интуиции подсказок крафта

Спустя три месяца после того, как OpenAI выпустила свой GPT-3 API, теперь это общепринятое понятие - получение результатов STOA в основном является функцией эффективного программирования подсказок, а не задачей НЛП.

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

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

Взаимодействие с GPT-3 осуществляется с помощью подсказок - текстовых подсказок, указывающих на контекст и текущую задачу.

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

После сотен итераций с разными подсказками я задумался:

Как можно автоматизировать эту догадку человеческой интуиции? Что, если мы скармливаем GPT-3 подсказки GPT-3?

Все дело в данных, причем в большом количестве.

К настоящему времени в OpenAI есть множество примеров подсказок, написанных людьми, наряду с используемыми параметрами и, возможно, также предустановками, учитывая, что подсказка была сохранена через их среду Playground (подробнее об API Playground здесь ).

Что такое пресеты?

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

У пресетов есть еще одно преимущество - они неявно информируют нас о качестве подсказки, которую они содержат, поскольку пользователь явно сохранил ее и тем самым непреднамеренно пометил эти подсказки как «высококачественные».

Создание мета-подсказки

Представьте, что OpenAI берет все свои сохраненные пресеты, а затем объединяет их описание и подсказку в одно длинное мета-приглашение. Узнает ли GPT-3, как запрашивать сам себя?

This is a program that generates GPT-3 prompts based on their descriptions.
--
Description: [preset description]
Prompt: [preset stored prompt]
-- 
--
Description: [preset description]
Prompt: [preset stored prompt]
--
...

Если это сработает, теперь у нас есть приложение, которое генерирует подсказки на основе данного описания.

Выбор лучшей подсказки

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

Например, если вы пишете бота, чтобы отвечать на вопросы по математике, состоящие из одной цифры, ваша функция оценки должна точно соответствовать, поскольку есть только один правильный ответ на «5 + 6». Ваш помеченный набор примеров может состоять из 10 пар ввода / вывода.

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

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

Так что даже если бот выдаст «Джордж Вашингтон, конечно!» функция все равно оценит его как действительный ответ.

Авто ГПТ-3

Имея функцию оценки и приложение GPT-3, способное генерировать подсказки, вы можете повторять разные подсказки с разными параметрами, пока не доберетесь до наиболее эффективной предустановки. Это было бы похоже на то, что AutoML делает с ML, предоставляя дополнительный уровень абстракции от интуиции языковых моделей.

Конечные заметки

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

Когда многие говорят о том, что GPT-3 меняет наше представление о кодировании, предполагая, что программисты будущего будут инженерами подсказок, трудно не задумываться, нужна ли вообще эта профессия, или мы могли бы сразу перейти к Auto GPT- 3.

Поделись своими мыслями! Twitter LinkedIn