Parámetros del modelo de base: criterios de decodificación y detención

Puedes configurar parámetros para controlar cómo genera el modelo el resultado en respuesta a tu solicitud. Establezca los parámetros de decodificación para ajustar cómo se genera el texto de salida. Establezca los parámetros de criterios de detención para especificar cuándo el modelo debe dejar de generar la salida.

Decodificación

La decodificación es el proceso que utiliza un modelo para elegir las señales en la salida generada.

Elija una de las siguientes opciones de decodificación:

  • Descodificación codiciosa: selecciona la señal con la probabilidad más alta en cada paso del proceso de descodificación.

    La descodificación codiciosa genera una salida que coincide estrechamente con el lenguaje más común en los datos de preentrenamiento del modelo y en el texto de solicitud, lo que es deseable en casos de uso menos creativos o basados en hechos. Una debilidad de la descodificación codiciosa es que puede causar bucles repetitivos en la salida generada.

    La decodificación glotona no siempre genera el mismo resultado en solicitudes consecutivas. Para obtener resultados coherentes en varias solicitudes, utiliza la decodificación por muestreo y especifica el mismo número para el parámetro de semilla aleatoria en cada solicitud.

  • Descodificación de muestreo: ofrece más variabilidad en la forma en que se seleccionan las señales.

    Con la decodificación de muestreo, el modelo muestrea señales, lo que significa que el modelo elige un subconjunto de señales y, a continuación, se elige una señal aleatoriamente de este subconjunto para añadirla al texto de salida. El muestreo añade variabilidad y aleatoriedad al proceso de decodificación, lo que puede ser deseable en casos de uso creativos. Sin embargo, con una mayor variabilidad viene un mayor riesgo de salida incorrecta o sin sentido.

Más opciones para la decodificación de muestreo

Cuando se selecciona Decodificación por muestreo, hay más parámetros disponibles que se pueden utilizar para ajustar la forma en que el modelo de la base elige las fichas que se van a muestrear. Los parámetros siguientes funcionan conjuntamente para influir en qué señales se muestrean:

  • Muestreo de temperatura aplana o agudiza la distribución de probabilidad sobre las señales que se van a muestrear.
  • El muestreo de k principales muestra señales con las probabilidades más altas hasta que se alcanza el número especificado de señales.
  • El muestreo de nivel superior muestra señales con las puntuaciones de probabilidad más altas hasta que la suma de las puntuaciones alcanza el valor de umbral especificado. (El muestreo Top-p también se denomina muestreo de núcleo.)
Tabla 1. Valores soportados, valores predeterminados y notas de uso para la decodificación de muestreo
Parámetro Valores admitidos Valor predeterminado Uso
Temperatura Número de coma flotante en el rango de 0.0 (igual que la descodificación codiciosa) a 2.0 (creatividad máxima) 0.7 Los valores más altos conducen a una mayor variabilidad
K principales Entero en el rango de 1 a 100 50 Los valores más altos conducen a una mayor variabilidad
P primeros Número de coma flotante en el rango de 0.0 a 1.0 1.0 A menos que cambie el valor, este valor no se utiliza

Los ajustes de Temperatura, K máximo y P máximo no son aplicables cuando se elige utilizar la descodificación codiciosa.

Ejemplo de ajuste de valores de decodificación de muestreo

En este ejemplo, el modelo de base ya ha generado el texto de salida I took my dog y ahora el modelo está eligiendo la siguiente señal.

Para encontrar la mejor opción, el modelo calcula una distribución de probabilidad discreta sobre las señales posibles. Con este tipo de distribución, a cada símbolo se le asigna una puntuación de probabilidad de coma decimal entre 0 y 1, donde las puntuaciones suman 1.

En un escenario real, puede haber cientos de señales posibles. En este ejemplo, las opciones incluyen sólo cinco señales, que se muestran aquí en el contexto de las frases típicas:

Me llevé a mi perro ...

  • para un paseo.
  • a el veterinario.
  • con yo.
  • y mi gato de vacaciones.
  • por el collar.

Los K principales y los P principales representan dos métodos diferentes para elegir las señales que se van a muestrear.

Ambos métodos empiezan ordenando las opciones de más a menos probables. La tabla siguiente lista las señales y sus puntuaciones de probabilidad ficticias en orden.

Tabla 2: Opciones de señal de ejemplo con puntuaciones de probabilidad
Señal Puntuación de probabilidad
para 0.4
por: 0.25
con 0.17
y 0.13
por 0.05

Ejemplo de K principales

El K superior especifica cuántas señales se van a muestrear. Por ejemplo, si establece los K principales en 3, sólo se muestrean los tres primeros símbolos de la lista: para, paray con.

Muestra los mismos valores que en la tabla 2, pero con las tres primeras filas resaltadas

Nota: Una configuración de descodificación Greedy equivale a Top K = 1.

Ejemplo de P principales

Top P especifica el umbral de puntuación de probabilidad acumulada que deben alcanzar las señales.

Por ejemplo, si establece Top P en 0.6, sólo se muestrean las dos primeras señales, para y en, porque sus probabilidades (0.4 y 0.25) suman 0.65. (Como se muestra en este ejemplo, está bien que la suma supere el umbral.)

Muestra los mismos valores que en la tabla 2, pero con los valores de probabilidad de las dos primeras filas añadidas para hacer 0.65

Top P no se utiliza a menos que establezca el valor del parámetro Top P en un valor distinto del valor predeterminado de 1. El uso de Top P y Top K juntos puede ser una forma útil de filtrar señales con puntuaciones de probabilidad extra bajas. Cuando se especifican ambos parámetros, se aplica primero el K superior.

Por ejemplo, puede establecer los K principales en 5 y los P principales en 0.8. El valor K superior muestra las 5 señales y, a continuación, el P superior limita las señales muestreadas a para, paray con porque sus probabilidades alcanzan el umbral de puntuación de probabilidad de 0.8 (0.4 + 0.25 + 0.17 = 0.82).

Cuando se especifican ambos valores, se considera que cualquier señal por debajo del límite de corte establecido por K superior tiene una probabilidad de cero cuando se calcula P superior. Por ejemplo, si Top K se establece en 2 y Top P en 0.8, sólo se muestrean para y para . El símbolo con no se muestrea porque las puntuaciones de probabilidad para con, y, y por se restablecen en 0.

Ejemplo de temperatura

El ajuste de temperatura afecta a la forma de la distribución de probabilidad que se utiliza al muestrear las fichas.

Muestra dos gráficos uno al lado del otro. El gráfico de baja temperatura muestra un aumento drástico. El gráfico de alta temperatura muestra un aumento gradual.

Las bajas temperaturas amplifican las diferencias de probabilidad entre tokens. Los términos más probables tienen puntuaciones mucho más altas en relación con los términos menos probables. Como resultado, los términos que son similares a los términos en los datos de entrenamiento del modelo o la entrada de solicitud probablemente se muestrearán. Utilice un valor de temperatura más bajo cuando desee una salida más fiable.

Las altas temperaturas dan como resultado probabilidades de señal que están más cerca entre sí. Como resultado, los términos inusuales tienen una mejor posibilidad de ser muestreados. Utilice un valor de temperatura más alto cuando desee aumentar la aleatoriedad y la variabilidad o la salida, por ejemplo, cuando desee una salida creativa. Recuerde, la aleatoriedad también puede conducir a resultados inexactos o sin sentido.

Por ejemplo, cuando se aplica un valor de temperatura alta como, por ejemplo, 2, las puntuaciones de probabilidad de las señales de este ejemplo podrían estar más cerca entre sí, tal como se muestra en la Tabla 3.

Tabla 3: Probabilidades de señal de muestra con una temperatura alta
Señal Puntuaciones con temperatura = 2
para 0.3
por: 0.25
con 0.2
y 0.15
por 0.10

Cuando Top P se fija en 0.8, la temperatura afecta a las fichas de muestra del siguiente modo:

  • Con una temperatura alta, las cuatro fichas superiores(para, a, con y y) se muestrean porque sus puntuaciones0.3 + 0.25 + 0.2 + 0.15 = 90) suman 90.
  • Con una temperatura baja, sólo se toman muestras de las tres primeras fichas(for, to y with) porque sus puntuaciones0.4 + 0.25 + 0.17 = 82) suman 82.

Muestra una tabla con dos columnas. Las tres primeras palabras de la columna Temperatura baja suman 0.82. Las primeras cuatro palabras de la columna Temperatura alta se suman a 0.9.

Cuando se utiliza un valor de temperatura alto, se necesitan más fichas para alcanzar el umbral establecido por Top P. La ficha extra que se muestrea tiene la puntuación más baja, lo que significa que la ficha es una elección más inusual.

Semilla aleatoria

Cuando envía la misma solicitud a un modelo varias veces con decodificación de muestreo, el modelo suele generar texto diferente cada vez. Esta variabilidad es el resultado de pseudo-aleatoriedad intencional que se incorpora en el proceso de decodificación.

Semilla aleatoria hace referencia al número que se utiliza para iniciar el generador de números aleatorios que el modelo utiliza para aleatorizar sus opciones de señal. Si desea eliminar esta aleatoriedad intencional como una variable de los experimentos, puede elegir un número y especificar ese mismo número cada vez que ejecute el experimento.

  • Valores soportados: Entero en el rango de 1 a 4.294.967.295
  • Valor predeterminado: Se genera aleatoriamente
  • Utilice: Para generar resultados repetibles, establezca el mismo valor de semilla aleatoria cada vez.

Penalización por repetición

Si la salida generada para la solicitud, el modelo y los parámetros elegidos contienen de forma coherente texto repetitivo, puede intentar añadir una penalización de repetición. Cuando se establece, la penalización reduce las puntuaciones de probabilidad de las señales que se han utilizado recientemente para que el modelo tenga menos probabilidades de repetirlas. Un valor más alto conduce a una salida más diversa y variada.

  • Valores admitidos: Número de coma flotante en el intervalo de 1.0 (sin penalización) a 2.0 (penalización máxima)
  • Valor por defecto: 1.0
  • Utilización: Cuanto mayor sea la penalización, menor será la probabilidad de que el resultado incluya texto repetido.

Criterios de detención

La generación de texto se detiene después de que el modelo considere que la salida está completa, se genera una secuencia de detención, se alcanza el límite máximo de señales o se alcanza el límite de tiempo de generación del modelo.

Si se especifica un límite de tiempo al enviar una solicitud de inferencia mediante la API de watsonx.ai, la generación del modelo se detiene cuando se alcanza dicho límite. Para obtener más información, consulta el método de generación de texto.

Puede afectar a la longitud de la salida generada por el modelo de las siguientes maneras: especificando secuencias de detención y estableciendo señales Min y señales Max.

Secuencias de detención

Una secuencia de detención es una serie de uno o más caracteres. Si especifica secuencias de detención, el modelo dejará de generar automáticamente la salida después de que una de las secuencias de detención que especifique aparezca en la salida generada.

Por ejemplo, una forma de hacer que un modelo deje de generar resultados después de una sola frase es especificar un punto como secuencia de detención. De esta forma, después de que el modelo genere la primera frase y la termine con un punto, la generación de salida se detiene.

La elección de secuencias de detención efectivas depende de su caso de uso y de la naturaleza de la salida generada que espera.

  • Valores admitidos: de 0 a 6 cadenas, cada una de ellas no superior a 40 tokens

  • Valor por defecto: Sin secuencia de parada

  • Utilización: Sigue estos consejos para utilizar las secuencias de parada:

    • Las secuencias de detención se ignoran hasta que se genere el número de señales especificado en el parámetro Señales mín. Ten en cuenta esta relación cuando establezcas el valor mínimo del parámetro token.
    • Si su prompt incluye ejemplos de pares de entrada y salida, asegúrese de incluir en sus ejemplos una de las secuencias de parada en la salida de ejemplo.

Mínimo y máximo de señales nuevas

Si la salida del modelo es demasiado corta o demasiado larga, intente ajustar los parámetros que controlan el número de señales generadas:

  • El parámetro Señales mínimas controla el número mínimo de señales en la salida generada

  • El parámetro Número máximo de señales controla el número máximo de señales en la salida generada

  • Valores admitidos: El número máximo de tokens que se permiten en la salida difiere según el modelo. Para obtener más información, consulte la información sobre Número máximo de señales en Modelos base soportados.

  • Valores predeterminados:

    • Mínimo de señales: 0
    • Máximo de señales: 200
  • Usar:

    • El número mínimo de señales debe ser menor o igual que el número máximo de señales.

Más información