Обучение с нуля и нескольких выстрелов
В этой статье объясняется обучение с нуля и несколько выстрелов для быстрого проектирования в .NET, включая их основные варианты использования.
Преимущества производительности модели GPT от разработки запросов, практика предоставления инструкций и примеров модели для уточнения его выходных данных. Обучение с нуля и обучение с несколькими выстрелами — это методы, которые можно использовать при предоставлении примеров.
При обучении с нуля вы включаете запросы, но не подробные завершения. Можно включить завершения, которые состоят только из подсказок. Обучение с нуля полностью зависит от существующих знаний модели для создания ответов, что снижает количество созданных маркеров и может помочь вам контролировать затраты. Однако обучение с нуля не добавляется в знания модели.
Ниже приведен пример запроса нулевого снимка, который сообщает модели оценить входные данные пользователя, чтобы определить, какие из четырех возможных намерений входные данные представляют, а затем предуказать ответ с "Намерение: "
prompt = $"""
Instructions: What is the intent of this request?
If you don't know the intent, don't guess; instead respond with "Unknown".
Choices: SendEmail, SendMessage, CompleteTask, CreateDocument, Unknown.
User Input: {request}
Intent:
""";
При использовании нескольких снимков обучения вы включаете запросы, связанные с подробными завершениями. По сравнению с обучением с нуля, это означает, что обучение с несколькими выстрелами создает больше маркеров и приводит к обновлению модели знаний, что может сделать несколько выстрелов обучения более ресурсоемким. Тем не менее, по тем же причинам несколько выстрелов обучения также помогают модели создавать более релевантные ответы.
prompt = $"""
Instructions: What is the intent of this request?
If you don't know the intent, don't guess; instead respond with "Unknown".
Choices: SendEmail, SendMessage, CompleteTask, CreateDocument, Unknown.
User Input: Can you send a very quick approval to the marketing team?
Intent: SendMessage
User Input: Can you send the full update to the marketing team?
Intent: SendEmail
User Input: {request}
Intent:
""";
Варианты использования обучения с нуля
Обучение с нуля — это практика передачи запросов, которые не связаны с подробными завершениями, хотя их можно связать с подсказкой. Существует два основных варианта использования для обучения с нуля.
- Работа с оштрафованными llMs . Так как она зависит от существующих знаний модели, обучение с нуля не является ресурсоемким, как малозанимаемое обучение, и оно хорошо работает с LLMs, которые уже были оштрафованы на наборы данных инструкций. Возможно, вы сможете полагаться исключительно на нулевое обучение и держать затраты относительно низкими.
- Создание базовых показателей производительности. Обучение с нуля позволяет имитировать работу приложения для фактических пользователей. Это позволяет оценить различные аспекты текущей производительности модели, такие как точность или точность. В этом случае вы обычно используете нулевое обучение, чтобы установить базовые показатели производительности, а затем поэкспериментировать с несколькими выстрелами для повышения производительности.
Несколько вариантов использования обучения
Обучение с несколькими выстрелами — это практика передачи запросов в сочетании с подробными завершениями (несколько снимков), чтобы показать модели, как реагировать. В отличие от обучения с нуля, несколько выстрелов обучения могут добавляться в знания модели. Вы даже можете использовать собственные наборы данных для автоматического создания запросов с несколькими выстрелами, выполняя создание дополненного набора данных.
Несколько выстрелов обучения имеют два основных варианта использования:
- Настройка LLM — так как она может добавляться в знания модели, небольшое обучение может повысить производительность модели. Она также приводит к созданию более токенов, чем обучение с нуля, что в конечном итоге может стать запретительно дорогим или даже неуловимым. Однако, если ваш LLM еще не оштрафован, вы не получите хорошую производительность с нулевыми подсказками, и несколько выстрелов обучения оправданы.
- Устранение проблем с производительностью . Вы можете использовать обучение с несколькими выстрелами в качестве последующего обучения с нуля. В этом случае вы используете нулевое обучение, чтобы установить базовые показатели производительности, а затем поэкспериментировать с несколькими выстрелами на основе использованных запросов нулевого снимка. Это позволяет добавить в знания модели после просмотра того, как он в настоящее время отвечает, чтобы вы могли итерировать и повысить производительность, свести к минимуму количество представляемых маркеров.
Предупреждения
- Примеры обучения не работают хорошо для сложных задач рассудка. Однако добавление инструкций может помочь решить эту проблему.
- Для обучения с несколькими выстрелами требуется создать длинные запросы. Запросы с большим количеством маркеров могут увеличить вычисления и задержку. Обычно это означает увеличение затрат. Существует также ограничение на длину запросов.
- При использовании нескольких примеров модель может узнать ложные шаблоны, такие как "Тональности в два раза чаще будут положительными, чем отрицательные".