Тонкая настройка — это мощный метод создания новой модели GPT-J, которая соответствует вашему варианту использования. При правильном выполнении тонкая настройка GPT-J может обеспечить производительность, которая значительно превосходит более крупные общие модели, такие как GPT-3 Davinci от OpenAI.‍

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

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

  • Ваши данные должны быть в одном текстовом файле.
  • Вы должны предоставить не менее сотни качественных примеров, в идеале проверенных человеком, разбирающимся в данной задаче.
  • Вы должны использовать какой-то разделитель в конце каждого приглашения + завершения в своем наборе данных, чтобы дать модели понять, где начинается и заканчивается каждый обучающий пример. Простой разделитель, который хорошо работает практически во всех случаях, — «#####».
  • Убедитесь, что приглашение + завершение не превышает 2048 токенов, включая разделитель.‍

Классификация

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

Выберите классы, которые сопоставляются с одним токеном. Во время вывода укажите параметр length=1, так как для классификации вам нужен только первый токен.‍

Допустим, вы хотите упорядочить сообщения службы поддержки клиентов по темам. Возможно, вы захотите настроить GPT-J для фильтрации входящей поддержки, чтобы ее можно было направить соответствующим образом.‍

Набор данных может выглядеть следующим образом:

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

‍Теперь мы можем запросить нашу модель, сделав запрос завершения.

Анализ настроений

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

‍Набор данных может выглядеть следующим образом:

‍Теперь мы можем запросить нашу модель, сделав запрос завершения.

‍Чат-бот‍

Цель чат-бота — имитировать человеческие разговоры с пользователями с помощью текстовых сообщений или чата. Вы можете настроить GPT-J так, чтобы он имитировал конкретного человека или реагировал определенным образом в зависимости от контекста данного разговора для использования в ситуации поддержки клиентов. Во-первых, давайте посмотрим, как заставить GPT-J подражать Илону Маску.‍

Набор данных может выглядеть следующим образом:

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

‍Вы можете запросить модель, отправив запрос на завершение.

Обратите внимание, что мы предоставляем «Пользователь:» в качестве стоп-последовательности. Важно предвидеть, как модель может продолжать обеспечивать завершение сверх желаемого результата, и использовать последовательности остановки, чтобы остановить работу модели. Учитывая шаблон набора данных, в котором Пользователь что-то говорит, а затем Илон Маск, имеет смысл использовать «Пользователь:» в качестве стоп-последовательности.

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

Набор данных может выглядеть следующим образом:

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

‍Теперь мы можем запросить нашу модель, сделав запрос завершения.

Как и в предыдущем примере, мы используем «Клиент:» и «#####» в качестве стоп-последовательностей, поэтому модель останавливается после предоставления соответствующего завершения.

Извлечение сущностей‍

Основная цель извлечения сущностей — извлечь информацию из данного текста, чтобы понять тему, тему или другую информацию, такую ​​как имена, места и т. д. Допустим, вы хотите извлечь имена из предоставленного текста.‍

Набор данных может выглядеть следующим образом:

‍Теперь мы можем запросить нашу модель, сделав запрос завершения.

генерация идей

‍Распространенный вариант использования — использование GPT-J для генерации идей с учетом конкретной информации. Будь то реклама или веб-сайты, идеи для блогов или продукты, генерация идей — полезная задача для GPT-J. Давайте посмотрим на вышеупомянутый вариант использования генерации идей для блога.

‍Набор данных может выглядеть следующим образом:

Теперь мы можем запросить нашу модель, сделав запрос завершения.

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

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

Первоначально опубликовано на https://www.helloforefront.com.