¿Qué es la temperatura de LLM?

Autores

Joshua Noble

Data Scientist

¿Qué es la temperatura de LLM?

En inteligencia artificial (IA) y machine learning, la temperatura es un parámetro para ajustar la salida de modelos de lenguaje grande (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 esencialmente hace que esos tokens con la mayor probabilidad sean más propensos a ser seleccionados; una temperatura más alta aumenta la probabilidad de que un 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. Las diferentes configuraciones de temperatura introducen esencialmente diferentes niveles de aleatoriedad cuando un modelo de IA generativa produce texto.

La temperatura es una característica crucial para controlar la aleatoriedad en el rendimiento del modelo. Permite a los usuarios ajustar la salida del LLM para que se adapte mejor a las diferentes aplicaciones reales 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 resultados para un caso de uso específico. Por ejemplo, una temperatura baja podría ser preferible para tareas que requieren precisión y exactitud objetiva, como documentación técnica o 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 resultados o tareas creativos, como la escritura creativa o la lluvia de ideas de conceptos. La configuración de temperatura permite a los usuarios ajustar los LLM y ajustar la salida de un modelo a su propio resultado deseado.

La temperatura a menudo se confunde con "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 realizaron un análisis empírico de la salida del LLM para diferentes valores de temperatura y escribieron:

“Encontramos 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 resultados 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 preciso pensar que están menos determinados por los datos de entrenamiento.

Las últimas tendencias de IA presentadas por expertos

Obtenga insights curados 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! Ya está suscrito.

Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. 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 de 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 la salida de texto. Cuando se establece en "True", el modelo muestrea aleatoriamente las probabilidades de 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 True para permitir los ajustes de temperatura para el LLM previamente entrenado.

top_k: este parámetro restringe las posibles opciones del modelo cuando se realiza un muestreo aleatorio a los token top k más probables. Si bien el parámetro anterior permite el muestreo aleatorio a otros tokens previstos más allá del más probable, este parámetro limita la cantidad de tokens potenciales entre los que selecciona el modelo. Si bien 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 los tokens más improbables de ser muestreados.

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 incongruentes 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 los resultados generados, el modelo solo selecciona un grupo de tokens cuya probabilidad total es superior, por ejemplo, al 95 %. Si bien el muestreo aleatorio permite que el modelo tenga un resultado más dinámico, el parámetro p superior garantiza que el resultado mantenga cierta coherencia y congruencia.

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 que pueden desbloquear nuevos ingresos, reducir costos y aumentar la productividad, luego use nuestra guía para investigar a profundidad.

Control de la salida

A menudo, los modelos también permiten a los usuarios controlar la salida del modelo de manera más explícita. Algunos parámetros comúnmente utilizados para el control de salida 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 duración de la respuesta del modelo y puede evitar respuestas demasiado largas o irrelevantes. 

Secuencias de parada: estas secuencias le dicen 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 usando "Saludos" o "Atentamente" como secuencia de parada le dice al modelo que se detenga antes del saludo de cierre. Esta instrucción puede ayudar a que el correo electrónico sea breve y vaya al grano. Las secuencias de parada son útiles para los resultados que espera obtener en un formato estructurado, como un correo electrónico, una lista numerada o un cuadro de diálogo.

Penalización por frecuencia: es una configuración que disuade 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 por presencia: es similar a la penalización por frecuencia, pero penaliza los tokens en función de si han ocurrido o no en lugar de penalizarlos proporcionalmente.

Comparación de resultados con IBM Granite

Para ver cómo la temperatura afecta la salida de un LLM, observe los resultados creados por el modelo de 2 mil millones de parámetros IBM Granite 3.1. La instrucción proporcionada aquí fue: "Escriba una historia sobre un científico de datos a quien le encanta 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. Pasó sus días y noches inmerso en el mundo de los datos, utilizando Python para extraer insights y hacer predicciones.

Un día, a Alex se le encargó analizar el abandono de clientes de un popular servicio de streaming. Utilizó la biblioteca scikit-learn de Python para crear un modelo de machine learning que pudiera predecir qué clientes tenían probabilidades de 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ía 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 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 programación. Suki sigue maullando en voz alta como si estuviera tratando de comunicar un mensaje al científico de datos. El científico de datos nota que el fuerte maullido suele ocurrir cuando está cerca de una solución al complejo problema de programación.

Tenga en cuenta que, aunque cada historia comienza de forma 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 en IA líder en la industria y la cartera de soluciones de IBM a su lado.

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

Reinvente los flujos de trabajo y las operaciones críticas mediante la incorporación de IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Conozca los servicios de IA
Dé el siguiente paso

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

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

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