¿Qué es la temperatura de LLM?

Autores

Joshua Noble

Data Scientist

¿Qué es la temperatura LLM?

En inteligencia artificial (IA) y machine learning, la temperatura es un parámetro para ajustar el output de grandes modelos de lenguaje (LLM). La temperatura controla la aleatoriedad del texto generado por los LLM durante la inferencia.

Los LLM generan texto prediciendo la siguiente palabra (o más bien, el siguiente token) de acuerdo con una distribución de probabilidad. A cada token se le asigna un logit (valor numérico) del LLM y el conjunto total de tokens se normaliza en una "distribución de probabilidad softmax". A cada token se le asigna una "función softmax" que existe entre cero y uno, y la suma de las probabilidades softmax de todos los tokens es uno.

El parámetro de temperatura de LLM modifica esta distribución. Una temperatura más baja hace que los tokens con mayor probabilidad sean más propensos a ser seleccionados; una temperatura más alta aumenta la probabilidad de que el modelo seleccione tokens menos probables. Esto sucede porque un valor de temperatura más alto introduce más variabilidad en la selección de token del LLM. Los diferentes ajustes de temperatura introducen esencialmente diferentes niveles de aleatoriedad cuando un modelo de IA generativa genera texto.

La temperatura es una característica crucial para controlar la aleatoriedad en el rendimiento del modelo. Permite a los usuarios ajustar el resultado de LLM para que se adapte mejor a las diferentes aplicaciones del mundo real de generación de texto. Más específicamente, esta configuración de LLM permite a los usuarios equilibrar la coherencia y la creatividad al generar output para un caso de uso específico. Por ejemplo, una temperatura baja puede ser preferible para tareas que requieren precisión y exactitud fáctica, como la documentación técnica o las respuestas conversacionales con chatbots. El valor de temperatura más bajo ayuda al LLM a producir un texto más coherente y consistente y a evitar respuestas irrelevantes. Por el contrario, una temperatura alta es preferible para los resultados creativos o las tareas creativas, como la escritura creativa o la lluvia de ideas sobre conceptos. El ajuste de temperatura permite a los usuarios afinar los LLM y afinar el resultado de un modelo a su propio resultado deseado.

La temperatura suele confundirse con la "creatividad", pero no siempre es así. Es más útil pensar en ello como la amplitud con la que el modelo utiliza el texto de sus datos de entrenamiento. Max Peeperkorn et al1 realizó un análisis empírico del resultado de LLM para diferentes valores de temperatura y escribió:

"Descubrimos que la temperatura está débilmente correlacionada con la novedad y, como era de esperar, moderadamente correlacionada con la incoherencia, pero no hay relación ni con la cohesión ni con la tipicidad. Sin embargo, la influencia de la temperatura en la creatividad es mucho más matizada y débil de lo que sugiere la afirmación del "parámetro de creatividad"; los Resultados generales sugieren que el LLM genera outputs ligeramente más novedosos a medida que las temperaturas aumentan".

Un valor de temperatura alto puede hacer que los resultados del modelo parezcan más creativos, pero es más exacto pensar que están menos determinados por los datos de entrenamiento.

Las últimas tendencias en IA, presentadas por expertos

Obtenga conocimientos organizados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM.

¡Gracias! Está suscrito.

Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

Configuración de la temperatura

Muchas API para acceder a modelos, como IBM® Granite Instruct u OpenAI ChatGPT, tienen parámetros para configurar la temperatura junto con una variedad de otros parámetros LLM. Los tres más comunes son:

do_sample: este parámetro controla si el modelo muestrea durante la generación de texto. El muestreo es un método para variar el output de texto. Cuando se establece en "Verdadero", el modelo muestrea aleatoriamente las probabilidades de los tokens redactados en lugar de seleccionar siempre la palabra más probable de una secuencia en un conjunto de datos. De hecho, necesitamos tener este conjunto en verdadero para permitir los ajustes de temperatura para el LLM preentrenado.

top_k: este parámetro restringe las posibles opciones del modelo cuando se realiza un muestreo aleatorio a los top k token más probables. Aunque el parámetro anterior permite el muestreo aleatorio a otros tokens predichos más allá del más probable, este parámetro limita el número de tokens potenciales entre los que selecciona el modelo. Aunque el muestreo aleatorio ayuda a producir resultados más variados y diversos, este parámetro ayuda a mantener la calidad del texto generado al excluir de la muestra los tokens más improbables.

top_p: este parámetro a veces también se denomina muestreo de núcleo. Es otro método para limitar las opciones de muestreo aleatorio para evitar resultados inconsistentes y sin sentido. Este parámetro permite que el modelo considere tokens cuya probabilidad acumulada sea mayor que un valor de probabilidad especificado. Al seleccionar tokens para el resultado, el modelo solo selecciona un grupo de tokens cuya probabilidad total es superior, por ejemplo, al 95 %. Aunque el muestreo aleatorio permite que el modelo tenga una salida más dinámica, el parámetro p superior garantiza que la salida mantenga cierta coherencia y consistencia.

AI Academy

Por qué los modelos fundacionales son un cambio de paradigma para la IA

Conozca una nueva clase de modelos de IA flexibles y reutilizables capaces de desbloquear nuevos ingresos, reducir costes y aumentar la productividad, y utilice nuestra guía para profundizar más en el tema.

Control de output

A menudo, los modelos también permiten a los usuarios controlar el resultado del modelo de forma más explícita. Algunos parámetros comúnmente utilizados para el control de resultados son:

Longitud máxima: la longitud máxima es el número total de tokens que la IA puede generar. Esta configuración es útil porque permite a los usuarios gestionar la longitud de la respuesta del modelo y puede evitar respuestas demasiado largas o irrelevantes. 

Secuencias de parada: estas secuencias indican al modelo cuándo dejar de generar resultados y ayudan a controlar la longitud y la estructura del contenido. Solicitar a un LLM que escriba un correo electrónico utilizando "Saludos cordiales" o "Atentamente" como secuencia de parada indica al modelo que se detenga antes del saludo de cierre. Esta instrucción puede ayudar a mantener el correo electrónico breve y directo. Las secuencias de parada son útiles para resultados que se espera que aparezcan en un formato estructurado, como un correo electrónico, una lista numerada o un cuadro de diálogo.

Penalización de frecuencia: una penalización de frecuencia es una configuración que desalienta la repetición en el texto generado al penalizar los tokens proporcionalmente a la frecuencia con la que aparecen. Cuanto más a menudo se utilice un token en el texto, menos probable será que el LLM lo vuelva a utilizar.

Penalización de presencia: la penalización de presencia es similar a la penalización de frecuencia, pero penaliza los tokens en función de si se han producido o no en lugar de penalizarlos proporcionalmente.

Comparación de outputs con IBM Granite

Para ver cómo afecta la temperatura a la salida de un LLM, observe las salidas creadas por el modelo de dos billones de parámetros IBM® Granite 3.1. La instrucción proporcionada aquí fue: "Escriba una historia sobre un científico de datos que ama Python".

Con una temperatura de 0,1 Granite genera:

Érase una vez, en la bulliciosa ciudad de San Francisco, un brillante científico de datos llamado Alex. Alex era conocido por sus habilidades excepcionales en programación Python y análisis de datos. Pasaron sus días y noches inmersos en el mundo de los datos, utilizando Python para extraer conocimientos y hacer predicciones.

Un día, a Alex se le encargó analizar la pérdida de clientes de un popular servicio de streaming. Utilizaron la biblioteca scikit-learn de Python para crear un modelo de machine learning que pudiera predecir qué clientes eran propensos a cancelar sus suscripciones.

Con una temperatura de 0,75 Granite genera:

Érase una vez, en la bulliciosa ciudad de San Francisco, un brillante científico de datos llamado Alex. Alex era conocido por su profundo amor por Python, un lenguaje de programación que creían que era la herramienta perfecta para el análisis de datos y el machine learning.

Todos los días, Alex se levantaba temprano, preparaba una taza de café y se sentaba en su escritorio. Pasaba horas escribiendo código en Python, explorando conjuntos de datos y construyendo modelos predictivos. Su amor por Python no se debía solo al lenguaje en sí, sino también a la comunidad que había crecido a su alrededor.

Con una temperatura de 1,25 Granite genera:

Érase una vez, en una bulliciosa ciudad llena de imponentes rascacielos y luces de neón, un científico de datos que amaba Python más que a nada en el mundo. El científico de datos tiene un ayudante felino llamado Suki. Suki es una gata curiosa y juguetona, siempre ansiosa por explorar cada rincón de la casa.

Un día, el científico de datos está trabajando en un complejo problema de codificación. Suki sigue maullando en voz alta como si estuviera tratando de decirle algo al científico de datos. El científico de datos se da cuenta de que el fuerte maullido suele producirse cuando están cerca de una solución al complejo problema de codificación.

Tenga en cuenta que, aunque cada historia comienza con un comienzo similar, aumentar la temperatura aumenta la variabilidad del texto y los detalles que se generan.

Soluciones relacionadas
Modelos fundacionales

Explore la biblioteca de modelos fundacionales de IBM en la cartera de watsonx para escalar la IA generativa para su negocio con confianza.

Descubra watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Explore los servicios de IA
Dé el siguiente paso

Explore la biblioteca de modelos fundacionales de IBM en la cartera de IBM watsonx para escalar la IA generativa para su negocio con confianza.

Explore watsonx.ai Explore las soluciones de IA
Notas a pie de página

1 Max Peeperkorn, Tom Kouwenhoven, Dan Brown, and Anna Jordanous, Is Temperature the Creativity Parameter of Large Language Models?. 2024.