Точная настройка с помощью Gemini API

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

На этой странице представлены рекомендации по тонкой настройке текстовой модели, лежащей в основе текстовой службы Gemini API.

Как работает тонкая настройка

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

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

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

Подготовьте свой набор данных

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

Формат

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

Например, если примеры в вашем наборе данных включают "question:" и "context:" , рабочий трафик также должен быть отформатирован так, чтобы включать "question:" и "context:" в том же порядке, в котором они появляются в примеры наборов данных. Если вы исключите контекст, модель не сможет распознать шаблон, даже если точный вопрос был в примере в наборе данных.

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

Размер обучающих данных

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

Задача Количество примеров в наборе данных
Классификация 100+
Подведение итогов 100-500+
Поиск документов 100+

Загрузите свой набор данных настройки

Данные передаются либо онлайн с помощью API, либо через файлы, загруженные в Google AI Studio.

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

Клиентская библиотека

Чтобы использовать клиентскую библиотеку, предоставьте файл данных при вызове createTunedModel . Ограничение размера файла — 4 МБ. Чтобы начать работу, ознакомьтесь с кратким руководством по тонкой настройке Python .

КУЛЬ

Чтобы вызвать REST API с помощью cURL, предоставьте примеры обучения в формате JSON в аргументе training_data . Чтобы начать работу, ознакомьтесь с кратким руководством по настройке cURL .

Расширенные настройки настройки

При создании задания настройки вы можете указать следующие дополнительные настройки:

  • Эпохи: полный проход обучения по всему обучающему набору, при котором каждый пример обрабатывался один раз.
  • Размер пакета: набор примеров, используемых в одной итерации обучения. Размер партии определяет количество примеров в партии.
  • Скорость обучения: число с плавающей запятой, которое сообщает алгоритму, насколько сильно корректировать параметры модели на каждой итерации. Например, скорость обучения 0,3 будет корректировать веса и смещения в три раза эффективнее, чем скорость обучения 0,1. Высокие и низкие скорости обучения имеют свои собственные уникальные компромиссы, и их следует корректировать в зависимости от вашего варианта использования.
  • Множитель скорости обучения. Множитель скорости изменяет исходную скорость обучения модели. Значение 1 использует исходную скорость обучения модели. Значения больше 1 увеличивают скорость обучения, а значения от 1 до 0 снижают скорость обучения.

В следующей таблице показаны рекомендуемые конфигурации для точной настройки модели фундамента:

Гиперпараметр Значение по умолчанию Рекомендуемые корректировки
Эпоха 5

Если потери начинают выходить на плато до 5 эпох, используйте меньшее значение.

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

Размер партии 4
Скорость обучения 0,001 Используйте меньшее значение для небольших наборов данных.

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

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

Проверьте статус задания настройки

Вы можете проверить статус вашего задания по настройке в Google AI Studio на вкладке «Моя библиотека» или с помощью свойства metadata настроенной модели в API Gemini.

Устранение ошибок

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

Аутентификация

Настройка с использованием API и клиентской библиотеки требует аутентификации пользователя. Одного API-ключа недостаточно. Если вы видите ошибку 'PermissionDenied: 403 Request had insufficient authentication scopes' , вам необходимо настроить аутентификацию пользователя.

Чтобы настроить учетные данные OAuth для Python, обратитесь к руководству по настройке OAuth .

Отмененные модели

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

Что дальше