O que é temperatura do LLM?

Autores

Joshua Noble

Data Scientist

O que é temperatura do LLM?

Na inteligência artificial (IA) e no aprendizado de máquina, a temperatura é um parâmetro para ajustar a saída de grandes modelos de linguagem (LLMs). A temperatura controla a aleatoriedade do texto gerado pelos LLMs durante a inferência.

Os LLMs geram texto prevendo a próxima palavra (ou melhor, o próximo token) de acordo com uma distribuição de probabilidade. Cada token recebe um logit (valor numérico) do LLM, e o conjunto total de tokens é normalizado em uma "distribuição de probabilidade softmax". Cada token recebe uma "função softmax", que existe entre zero e um, e a soma das probabilidades softmax dos tokens é um.

O parâmetro temperatura do LLM modifica essa distribuição. Uma temperatura mais baixa basicamente torna os tokens com a maior probabilidade de serem selecionados; uma temperatura mais alta aumenta a probabilidade de um modelo selecionar tokens menos prováveis. Isso acontece porque um valor de temperatura mais alto introduz mais variabilidade na seleção de tokens do LLM. Diferentes configurações de temperatura introduzem diferentes níveis de aleatoriedade quando um modelo de IA generativa produz texto.

A temperatura é uma funcionalidade crucial para controlar a aleatoriedade no desempenho do modelo. Ela permite que os usuários ajustem a saída do LLM para melhor atender a diferentes aplicações do mundo real de geração de texto. Mais especificamente, essa configuração de LLM permite que os usuários equilibrem coerência e criatividade ao gerar a saída para um caso de uso específico. Por exemplo, uma temperatura baixa pode ser preferível para tarefas que exigem precisão e exatidão factual, como documentação ou respostas de conversas com chatbots. O valor de temperatura mais baixo ajuda o LLM a produzir texto mais coerente e consistente e a evitar respostas irrelevantes. Por outro lado, uma alta temperatura é preferível para saídas criativas ou tarefas criativas, como redação criativa ou brainstorming de conceitos. A configuração de temperatura permite de forma eficaz que os usuários façam o ajuste fino dos LLMs e ajustem a saída de um modelo de acordo com o resultado desejado.

A temperatura é frequentemente confundida com "criatividade", mas nem sempre é esse o caso. É mais útil pensar nela como a amplitude com a qual o modelo usa o texto de seus dados de treinamento. Max Peeperkorn et al1 conduziram uma análise empírica da saída do LLM para diferentes valores de temperatura e escreveram:

"Descobrimos que a temperatura está fracamente correlacionada com a novidade e, sem surpresa, medianamente correlacionada com a incoerência, mas não há relação com a coesão ou tipicidade. No entanto, a influência da temperatura na criatividade é muito mais sutil e fraca do que o sugerido pela alegação "parâmetro criatividade"; os resultados gerais sugerem que o LLM gera saidas um pouco mais inovadoras à medida que as temperaturas aumentam.”

Um valor de temperatura alto pode fazer com que as saídas do modelo pareçam mais criativas, mas é mais correto pensar nelas como sendo menos determinadas pelos dados de treinamento.

As mais recentes tendências em IA, trazidas a você por especialistas

Receba insights selecionados sobre as notícias mais importantes (e intrigantes) sobre IA. Inscreva-se no nosso boletim informativo semanal Think. Consulte a Declaração de privacidade da IBM.

Agradecemos a você! Você se inscreveu.

Sua assinatura será entregue em inglês. Você encontrará um link para cancelar a assinatura em cada boletim informativo. Você pode gerenciar suas assinaturas ou cancelar a assinatura aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

Configuração da temperatura

Muitas APIs para acessar modelos, incluindo o IBM® Granite Instruct ou o ChatGPT da OpenAI, têm parâmetros para configurar a temperatura junto com uma variedade de outros parâmetros do LLM. Os três mais comuns são:

do_sample: esse parâmetro controla as amostras do modelo durante a geração de texto. A amostragem é um método para variar a saída de texto. Quando definido como "True", o modelo coleta amostras aleatoriamente a partir de probabilidades de tokens omitidas, em vez de sempre selecionar a palavra mais provável de uma sequência em um conjunto de dados. Na verdade, precisamos ter isso definido como "True" para permitir ajustes de temperatura para o LLM pré-treinado.

top_k: esse parâmetro restringe as possíveis escolhas do modelo durante a amostragem aleatória aos k tokens mais prováveis. Embora o parâmetro anterior permita a amostragem aleatória para outros tokens previstos além do mais provável, esse parâmetro limita o número de tokens potenciais dos quais o modelo seleciona. Embora a amostragem aleatória ajude a produzir saídas mais variadas e diversas, esse parâmetro ajuda a manter a qualidade do texto gerado, excluindo os tokens mais improváveis da amostragem.

top_p: às vezes, esse parâmetro também é chamado de amostragem de núcleo. É outro método de limitar as opções de amostragem aleatória para evitar saídas inconsistentes e sem sentido. Esse parâmetro permite que o modelo considere tokens cuja probabilidade acumulada é maior do que um valor de probabilidade especificado. Ao selecionar tokens para a saída gerada, o modelo seleciona apenas um grupo de tokens cuja probabilidade total seja superior a, por exemplo, 95%. Enquanto a amostragem aleatória permite que o modelo tenha uma saída mais dinâmica, o parâmetro top p garante que a saída mantenha alguma coerência e consistência.

AI Academy

Por que os modelos de base são uma mudança de paradigma para a IA

Aprenda sobre uma nova classe de modelos de IA flexíveis e reutilizáveis que podem liberar novas receitas, reduzir custos e aumentar a produtividade, e utilize o nosso guia para se aprofundar.

Controle da saída

Muitas vezes, os modelos também permitem que os usuários controlem a saída do modelo de forma mais explícita. Alguns parâmetros comumente usados para controle da saída são:

Comprimento máximo: o comprimento máximo é o número total de tokens que a IA pode gerar. Essa configuração é útil porque permite que os usuários gerenciem o tamanho da resposta do modelo e pode evitar respostas excessivamente longas ou irrelevantes. 

Sequências de parada: essas sequências informam ao modelo quando parar de gerar a saída e ajudam a controlar o comprimento e a estrutura do conteúdo. Solicitar que um LLM escreva um e-mail usando "Atenciosamente" ou "Cordialmente" como sequência de parada diz ao modelo para parar antes da saudação de encerramento. Esse prompt pode ajudar a manter o e-mail curto e direto ao ponto. As sequências de parada são úteis para a saída que você espera que saia em um formato estruturado, como um e-mail, uma lista numerada ou um diálogo.

Penalidade de frequência: uma penalidade de frequência é uma configuração que desencoraja a repetição no texto gerado ao penalizar tokens na proporção da frequência com que eles aparecem. Quanto mais vezes um token for usado no texto, menor será a probabilidade de o LLM usá-lo novamente.

Penalidade de presença: a penalidade de presença é semelhante à penalidade de frequência, mas penaliza os tokens com base no fato de terem ocorrido ou não, em vez de penalizá-los proporcionalmente.

Comparação de saídas com o IBM Granite

Para ver como a temperatura afeta a saída de um LLM, observe as saídas criadas pelo modelo IBM Granite 3.1 de 2 bilhões de parâmetros. O prompt fornecido aqui foi: "Escreva uma história sobre um cientista de dados que adora Python".

Com uma temperatura de 0,1 o Granite gera:

Era uma vez, na movimentada cidade de São Francisco, um cientista de dados brilhante chamado Alex. Alex era conhecido por suas habilidades excepcionais em programação Python e análise de dados. Ele passava dias e noites imerso no mundo dos dados, usando Python para extrair insights e fazer previsões.

Um dia, Alex foi encarregado de analisar a rotatividade de clientes de um serviço popular de streaming. Ele usou a biblioteca scikit-learn do Python para criar um modelo de aprendizado de máquina que pudesse prever quais clientes provavelmente cancelariam suas assinaturas.

Com uma temperatura de 0,75, o Granite gera:

Era uma vez, na movimentada cidade de São Francisco, um cientista de dados brilhante chamado Alex. Alex era conhecido por sua profunda paixão pelo Python, uma linguagem de programação que ele acreditava ser a ferramenta perfeita para análise de dados e aprendizado de máquina.

Todos os dias, Alex acordava cedo, preparava um bule de café e se sentava à mesa. Ele passava horas escrevendo código em Python, explorando conjuntos de dados e construindo modelos preditivos. Seu amor pelo Python não era apenas sobre a linguagem em si, mas também sobre a comunidade que cresceu em torno dele.

Com uma temperatura de 1,25, o Granite gera:

Era uma vez, em uma cidade movimentada cheia de arranha-céus imponentes e luzes de neon, havia um cientista de dados que amava o Python mais do que qualquer outra coisa no mundo. O cientista de dados tem um ajudante felino chamada Suki. Suki é um gato curioso e brincalhão, sempre ansioso para explorar cada canto da casa.

Um dia, o cientista de dados está trabalhando em um problema complexo de programação. Suki continua miando alto, como se estivesse tentando comunicar uma mensagem ao cientista de dados. O cientista de dados percebe que o miado alto geralmente acontece quando ele está perto de uma solução para um complexo problema de programação.

Observe que, embora cada história comece com um início semelhante, o aumento da temperatura aumenta a variabilidade do texto e os detalhes gerados.

Soluções relacionadas
Modelos de base

Explore a biblioteca de modelos de base da IBM no portfólio do watsonx para escalar a IA generativa com confiança na sua empresa.

Conheça o watsonx.ai
Soluções de inteligência artificial

Use a IA a serviço da sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

Explore as soluções de IA
Consultoria e serviços em IA

Reinvente os fluxos de trabalho e as operações críticas adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor comercial.

Explore os serviços de IA
Dê o próximo passo

Explore a biblioteca da IBM de modelos de base no portfólio do IBM® watsonx para escalar a IA generativa para os seus negócios com confiança.

Explore o watsonx.ai Explore as soluções de IA
Notas de rodapé

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