Понимание и настройка параметров модели

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

Перейти к параметрам Geminiarrow_downward к параметрам изображения

Параметры моделей Gemini

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

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

Описание каждого параметра

Наиболее распространенными параметрами являются следующие:

Узнайте о каждом из этих параметров в следующих разделах этой страницы.

Максимальное количество выходных токенов

Максимальное количество токенов, которое может быть сгенерировано в ответе. Токен состоит примерно из четырех символов. 100 токенов соответствуют примерно 20 словам.

Укажите меньшее значение для более коротких ответов и большее значение для более длинных ответов.

Температура

Температура используется для выборки во время генерации ответа, которая происходит при применении topP и topK . Температура контролирует степень случайности при выборе токенов. Более низкие температуры хороши для подсказок, требующих более детерминированного и менее открытого или творческого ответа, в то время как более высокие температуры могут привести к более разнообразным и творческим результатам. Температура 0 является детерминированной, что означает, что всегда выбирается ответ с наибольшей вероятностью.

В большинстве случаев попробуйте начать с температуры 0.2 . Если модель возвращает слишком общий или слишком короткий ответ или модель дает запасной ответ, попробуйте увеличить температуру.

Топ-К

Top-K меняет способ выбора токенов моделью для вывода. Значение top-K, равное 1 означает, что следующий выбранный токен является наиболее вероятным среди всех токенов в словаре модели (также называемое жадным декодированием), а значение top-K, равное 3 , означает, что следующий токен выбирается из трех наиболее вероятных токенов с использованием температуры.

На каждом этапе выбора токенов отбираются топ-K токенов с наибольшей вероятностью. Затем токены дополнительно фильтруются на основе top-P, причем последний токен выбирается с использованием температурной выборки.

Укажите меньшее значение для менее случайных ответов и более высокое значение для более случайных ответов. Значение top-K по умолчанию равно 40 .

Топ-П

Top-P меняет способ выбора токенов моделью для вывода. Токены выбираются от наиболее (см. top-K) до наименее вероятных до тех пор, пока сумма их вероятностей не станет равна значению top-P. Например, если токены A, B и C имеют вероятность 0,3, 0,2 и 0,1, а значение top-P равно 0.5 , то модель выберет A или B в качестве следующего токена, используя температуру, и исключит C как кандидата.

Укажите меньшее значение для менее случайных ответов и более высокое значение для более случайных ответов. Значение top-P по умолчанию равно 0.95 .

Настройка параметров модели для моделей Gemini

Вы настраиваете параметры модели в generationConfig во время инициализации модели. Вот базовый пример:

Kotlin

// ...

val config = generationConfig {
    maxOutputTokens = 200
    stopSequences = listOf("red")
    temperature = 0.9f
    topK = 16
    topP = 0.1f
}

val generativeModel = Firebase.vertexAI.generativeModel(
    modelName = "GEMINI_MODEL_NAME",
    generationConfig = config
)

// ...

Java

// ...

GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");
configBuilder.temperature = 0.9f;
configBuilder.topK = 16;
configBuilder.topP = 0.1f;

GenerationConfig generationConfig = configBuilder.build();

GenerativeModel gm = FirebaseVertexAI.getInstance().generativeModel(
    "GEMINI_MODEL_NAME",
    generationConfig
);

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// ...

Параметры моделей Imagen

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

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

Описание каждого параметра

Полный список параметров и их значений можно найти в документации Google Cloud , но здесь представлен общий обзор доступных параметров и их значений по умолчанию, если это применимо.

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

Этот параметр пока не поддерживается imagen-3.0-generate-002 .

---
Количество результатов
numberOfImages
Количество сгенерированных изображений, возвращаемых для каждого запроса. по умолчанию — одно изображение для моделей Imagen 3.
Соотношение сторон
aspectRatio
Соотношение ширины и высоты создаваемых изображений по умолчанию квадрат 1:1
Формат изображения
imageFormat
Параметры вывода, такие как формат изображения (тип MIME) и уровень сжатия созданных изображений. Тип MIME по умолчанию — PNG
сжатие по умолчанию — 75 (если тип MIME установлен на JPEG).
Водяной знак
addWatermark
Добавлять ли невидимый цифровой водяной знак (называемый SynthID ) к созданным изображениям. по умолчанию true для моделей Imagen 3.
Поколение человека
personGeneration
Разрешить ли генерацию людей по модели по умолчанию зависит от модели

Настройте параметры модели для моделей Imagen

Kotlin

// ...

val config = ImagenGenerationConfig(
    negativePrompt = "frogs",
    numberOfImages = 2,
    aspectRatio = ImagenAspectRatio.LANDSCAPE_16x9,
    imageFormat = ImagenImageFormat.jpeg(compressionQuality = 100),
    addWatermark = false
)

val imagenModel = Firebase.vertexAI.imagenModel(
    modelName = "IMAGEN_MODEL_NAME",
    generationConfig = config
)

// ...

Java

// ...

ImagenGenerationConfig config = new ImagenGenerationConfig.Builder()
    .setNegativePrompt("frogs")
    .setNumberOfImages(2)
    .setAspectRatio(ImagenAspectRatio.LANDSCAPE_16x9)
    .setImageFormat(ImagenImageFormat.jpeg(100))
    .setAddWatermark(false)
    .build();

ImagenModel m = FirebaseVertexAI.getInstance().imagenModel(
    "IMAGEN_MODEL_NAME",
    config
);

ImagenModelFutures model = ImagenModelFutures.from(m);

// ...

Другие варианты управления созданием контента

  • Узнайте больше о разработке подсказок , чтобы вы могли влиять на модель и генерировать выходные данные, соответствующие вашим потребностям.
  • Используйте настройки безопасности , чтобы настроить вероятность получения ответов, которые могут быть расценены как вредные, включая разжигание ненависти и контент откровенно сексуального характера.
  • Установите системные инструкции для управления поведением модели. Эта функция похожа на «преамбулу», которую вы добавляете перед тем, как модель будет подвергнута дальнейшим инструкциям от конечного пользователя.
  • Передайте схему ответа вместе с приглашением указать конкретную схему вывода. Эта функция чаще всего используется при генерации выходных данных JSON , но ее также можно использовать для задач классификации (например, когда вы хотите, чтобы модель использовала определенные метки или теги).