Comprender y configurar los parámetros del modelo

Cada llamada que envías a un modelo incluye valores de parámetros que controlan cómo el modelo genera una respuesta. El modelo puede generar resultados diferentes para los valores de parámetros diferentes. Experimenta con diferentes valores de parámetros a fin de obtener los mejores valores para la tarea. Los parámetros disponibles para diferentes modelos pueden variar.

La configuración se mantiene durante el ciclo de vida de la instancia de servicio y modelo Vertex AI inicializada. Para actualizar la configuración del modelo, se debe volver a inicializar la instancia del modelo.

Más adelante en esta página, puedes aprender a configurar los parámetros del modelo.

Descripción de cada parámetro

Los más comunes son los siguientes:

Obtén información sobre cada uno de estos parámetros en las siguientes secciones de esta página.

Cantidad máxima de tokens de salida

Cantidad máxima de tokens que se pueden generar en la respuesta. Un token tiene casi cuatro caracteres. 100 tokens corresponden a aproximadamente 20 palabras.

Especifica un valor más bajo para las respuestas más cortas y un valor más alto para las respuestas más largas.

Temperatura

La temperatura se usa para las muestras durante la generación de respuesta, que se genera cuando se aplican topP y topK. La temperatura controla el grado de aleatorización en la selección de tokens. Las temperaturas más bajas son buenas para los mensajes que requieren una respuesta más determinista y menos abierta o de creatividad, mientras que las temperaturas más altas pueden generar resultados más diversos o creativos. Una temperatura de 0 es determinista, lo que significa que siempre se elige la respuesta de mayor probabilidad.

Para la mayoría de los casos de uso, intenta empezar con una temperatura de 0.2. Si el modelo muestra una respuesta demasiado genérica, demasiado corta o el modelo proporciona una respuesta de resguardo, intenta aumentar la temperatura.

K superior

El parámetro Top-K cambia la manera en la que el modelo selecciona los tokens para el resultado. K superior a 1 significa que el siguiente token seleccionado es el más probable entre todos los tokens en el vocabulario del modelo (también llamado decodificación voraz), mientras que el K superior a 3 significa que el siguiente token se selecciona de los tres tokens más probables mediante la temperatura.

Para cada paso de selección de tokens, se muestran los tokens de K superior con las probabilidades más altas. Luego, los tokens se filtran según el superior con el token final seleccionado mediante el muestreo de temperatura.

Especifica un valor más bajo para respuestas menos aleatorias y un valor más alto para respuestas más aleatorias. La parte superior K predeterminada es 40.

P superior

P superior cambia la manera en la que el modelo selecciona tokens para la salida. Los tokens se seleccionan desde el más alto (consulta K superior) hasta el menos probable, hasta que la suma de sus probabilidades sea igual al valor de P superior. Por ejemplo, si los tokens A, B y C tienen una probabilidad de 0.3, 0.2 y 0.1, y el valor P superior es 0.5, el modelo elegirá A o B como el siguiente token mediante la temperatura y excluirá a C como candidato.

Especifica un valor más bajo para respuestas menos aleatorias y un valor más alto para respuestas más aleatorias. La P superior predeterminada es 0.95.

Configurar los parámetros del modelo


Los parámetros del modelo se configuran en generationConfig durante la inicialización del modelo. Este es un ejemplo básico:

Kotlin+KTX

// ...

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

val generativeModel = Firebase.vertexAI.generativeModel(
    modelName = "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(
    "MODEL_NAME",
    generationConfig
);

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// ...

Otras opciones para controlar la generación de contenido

  • Obtén más información sobre el diseño de instrucciones para influir en el modelo y generar resultados específicos para tus necesidades.
  • Usa la configuración de seguridad para ajustar la probabilidad de recibir respuestas que se puedan considerar dañinas, como incitación al odio o a la violencia y contenido sexual explícito.
  • Establece instrucciones del sistema para guiar el comportamiento del modelo. Esta función es como un "preámbulo" que agregas antes de que el modelo se exponga a otras instrucciones del usuario final.
  • Pasa un esquema de respuesta junto con la instrucción para especificar un esquema de salida específico. Esta función se usa con mayor frecuencia cuando se genera un resultado JSON, pero también se puede usar para tareas de clasificación (como cuando deseas que el modelo use etiquetas específicas).