В современном мире взаимодействия с большими языковыми моделями (LLM) правильная настройка параметров генерации играет ключевую роль. Эта статья, основанная на материалах официальной учебной части 34103, подробно рассматривает основные и дополнительные параметры, позволяющие тонко настроить поведение искусственного интеллекта.
Основные параметры генерации
Для контроля над тем, как модель формирует свой ответ, существует несколько базовых параметров. Понимание их работы — первый шаг к мастерству в промпт-инжиниринге.
Top_p (Top_probability)
Параметр Top_p работает аналогично параметру Temperature (Температура), поскольку он также управляет уровнем случайности ответа модели, но делает это иным способом; Общая рекомендация заключается в том, чтобы изменять только один из этих двух параметров за раз, а не оба одновременно.
max_tokens (Максимальная длина)
Параметр max_tokens не контролирует фактическую длину вывода, а служит жестким ограничением (лимитом) для генерации токенов. В идеале вы не будете часто достигать этого предела, так как модель остановится сама, когда сочтет ответ завершенным, или при достижении определенной вами стоп-последовательности.
stop (Стоп-последовательности)
Это набор символов (токенов), при генерации которых процесс создания текста будет остановлен.
Diversity_penalty (Штраф за разнообразие)
Этот параметр гарантирует, что генерируемый текст будет разнообразным, накладывая штраф на токены, которые уже были использованы в ответе. Диапазон значений — от 0 до 2, где более высокие значения приводят к более разнообразному выводу.
- Низкий diversity_penalty (0): Штраф не применяется; в тексте могут встречаться повторяющиеся фразы.
- Средний diversity_penalty (1): Сбалансированное разнообразие и связность текста.
- Высокий diversity_penalty (2): Максимальное разнообразие, что может негативно сказаться на связности (когерентности) повествования.
Другие важные параметры
Помимо основных настроек, существует ряд дополнительных параметров, влияющих на частоту слов и повторения.
Частота и присутствие
- Frequency_penalty (от -2 до 2): Наказывает за часто встречающиеся токены в сгенерированном тексте, побуждая ИИ использовать менее распространенные слова. Положительные значения способствуют использованию редких слов, а отрицательные, более частому использованию обычной, повседневной лексики.
- Presence_penalty (от -2 до 2): Накладывает штраф на токены, которые уже были использованы во входном тексте. Это влияет на то, как часто ИИ повторяет фразы из вашего запроса. Положительные значения препятствуют повторению, в то время как отрицательные могут привести к эхо-повторению входного текста.
Вторичные параметры
- Best_of (положительное целое число): Генерирует указанное количество ответов и возвращает тот, который имеет наивысший балл на основе внутренней оценки модели. Полезно для выбора качественного вывода среди нескольких альтернатив.
- N (положительное целое число): Определяет количество альтернативных вариантов завершения для генерации. Может использоваться для исследования нескольких идей по одному запросу.
- Echo (логическое значение: true или false): Включает или отключает способность ИИ повторять части входного текста в ответе.
- Stop_sequences (список строк): Указывает список строк, при обнаружении которых ИИ прекратит генерацию текста.
- User_attributes (список пар ключ-значение): Позволяет предоставить дополнительную информацию о пользователе, чтобы ИИ мог адаптировать текст под предпочтения или демографические данные.
- System_level_settings (словарь): Расширенные настройки для тонкой настройки поведения ИИ, такие как изменение внутренней памяти, скорости обработки или использования ресурсов.
- Prompt_tokens (список токенизированных строк): Позволяет напрямую предоставлять токенизированный ввод, что полезно для оптимизации производительности при работе с длинными текстами.
Следует помнить, что эти параметры могут иметь разный эффект в зависимости от версии ИИ или конкретной реализации модели.
Пользовательские (изобретенные) параметры
В мире ИИ возможно использование параметров, полностью придуманных пользователем. Модель может генерировать ответы, на которые влияют такие параметры, как Sarcasm (Сарказм) или Cowboy-ness (Ковбойский стиль). Эти параметры — просто удобный способ выразить намерение пользователя относительно тона и стиля. По сути, это более компактная форма выражения того, что вы могли бы описать обычным естественным языком.
Пример использования:
Prompt: Напишите абзац о том, какой милый Оскар Ублюдок (Oscar the Grouch).
Temperature: .5
Sarcasm: .5
Laconic: 1
Позвольте ИИ создать оптимальный промпт за вас
Современный подход к работе с нейросетями включает автоматизацию промпт-инжиниринга. Вы можете использовать инструменты и методологии для автоматического создания промптов, применяя алгоритмы машинного обучения для их оптимизации на основе конкретных наборов данных. Один из эффективных методов — поручить ИИ взять на себя определенную роль и попросить его самого задать себе вопросы для достижения наилучшего результата.