Gerar texto
GO!
Introdução
Uma das características mais importantes dos modelos de transformers é a sua capacidade de gerar texto de forma muito semelhante a um humano. Nestes slides vamos explorar como se gera texto em modelos de linguagem e cada uma das estratégias de decoding que podem ser utilizadas.
Decoder
Desafios
Contrariamente a tarefas que envolvam pré-treino ou um fine-tuning supervisionado, converter os resultados dos modelos (outputs probabilísticos) requer um método de decoding, o que introduz alguns desafios: - O decoding é feito de forma iterativa e por esse motivo requer mais capacidade computacional; - A qualidade e diversidade do texto gerado depende da escolha de método de decoding utilizado e hiperparâmetros escolhidos.
O decoding do GPT-2
Tal como com outros modelos autoregressivos ou causais, GPT-2 foi pré-treinado para estimar a probabilidade P(y|x) de uma sequência de tokens ocorrer no texto, dada a prompt inicial ou o contexto da sequência . Dado que é impraticável conseguir dados suficientes de treino para obter P(y|x), por normal utiliza-se a regra da cadeia da probabilidade para fatorizar esta operação como um produto de probabilidades condicionadas: Onde significa . É a partir desta forma de calcular a probabilidade condicionada que ficamos com a intuição que modelos de linguagem autoregressivos calculam a probabilidade de calcular a próxima palavra, dada a palavra anterior na sequência. PS: O objetivo de pré-treino deste modelo é muito diferente do BERT que utiliza contexto do passado e do futuro para prever os masked tokens
Gerar sequências
Os
cães
são
animais
Os
cães
são
animais
de
Os
cães
são
animais
de
estimação
input token
output token
Matemática para determinar o próximo token
A distribuição de probabilidade do próximo token é dada por: O objetivo da maioria dos métodos de decoding é pesquisar a sequência mais provável escolhendo tal que:
Algoritmos de Pesquisa
Greedy Search Decoding
O argoritmo mais simples para realizar decoding envolve selecionar os tokens mais prováveis em cada intervalo de tempo:
(ver notebook decoder.ipynb)
Beam Search Decoding
Em vez de fazer o decoding de cada token considerando o token que tem maior probabilidade, beam search mantém o top b tokens mais prováveis, onde b é referido como o número de beams ou hipótese parcial. O novo conjunto de beams é escolhido definindo todo o conjunto de beams e considerando os b beams mais prováveis. O processo vai-se repetir até que o tamanho máximo é atingido ou o token EOS surja.
(ver notebook decoder.ipynb)
Sampling Methods
O método de amostragem mais simples consite em aleatoriamente selecionar uma amostra do vocabulário de uma determinada distribuição de probabilides do output do modelo: onde |V| denota a cardinalidade do vocabulário. Assim, é possível alterar a diversidade do output utilizando o parametro temperatura T, que pode escalar os logits antes do softmax:
(ver notebook decoder.ipynb)
Sampling Methods
Ao adicionar o parâmetro temperatura T, podemos alterar a forma da distribuição de probabilidades.
Temperatura baixa (0.1, curva vermelha escura) - A probabilidade fica concentrada quase toda na palavra mais provável. - O modelo tende a escolher sempre a mesma resposta → texto previsível e repetitivo. Temperatura média (0.3–0.7, curvas laranja e azul clara) - As primeiras opções ainda têm maior peso, mas as alternativas também ganham espaço. - Gera texto mais variado, mas ainda coerente. Temperatura alta (1.0, azul escura): - A distribuição é mais “achatada”, várias palavras têm probabilidades parecidas. - A escolha é mais aleatória → texto criativo, mas pode perder consistência.
Top-k sampling
O modelo gera uma lista de todas as palavras possíveis, ordenadas da mais provável para a menos provável. É uma extensão do método anterior Mantém apenas as k palavras mais prováveis e descarta todas as outras. Depois escolhe aleatoriamente entre essas k, de acordo com as probabilidades. Exemplo: se k=5, só as 5 palavras mais prováveis entram no sorteio. k pequeno (ex: 5): mais previsível, menos criativo.k grande (ex: 100): mais diversidade, maior risco de incoerência.
Gerar sequência
Para gerar uma sequência iniciamos com uma prompt como "Os animais são" e usamos o modelo para prever o próximo token. Assim que tenhamos determinado o próximo token, adicionamo-lo ao prompt e utilizamos a nova sequência para gerar o próximo token. Este processo é repetido n vezes até que se chegue ao token end-of-sequence <EOS> ou o número máximo de tokens.
Gerar Texto
Ana Martins
Created on September 3, 2025
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Math Lesson Plan
View
Primary Unit Plan 2
View
Animated Chalkboard Learning Unit
View
Business Learning Unit
View
Corporate Signature Learning Unit
View
Code Training Unit
View
History Unit plan
Explore all templates
Transcript
Gerar texto
GO!
Introdução
Uma das características mais importantes dos modelos de transformers é a sua capacidade de gerar texto de forma muito semelhante a um humano. Nestes slides vamos explorar como se gera texto em modelos de linguagem e cada uma das estratégias de decoding que podem ser utilizadas.
Decoder
Desafios
Contrariamente a tarefas que envolvam pré-treino ou um fine-tuning supervisionado, converter os resultados dos modelos (outputs probabilísticos) requer um método de decoding, o que introduz alguns desafios: - O decoding é feito de forma iterativa e por esse motivo requer mais capacidade computacional; - A qualidade e diversidade do texto gerado depende da escolha de método de decoding utilizado e hiperparâmetros escolhidos.
O decoding do GPT-2
Tal como com outros modelos autoregressivos ou causais, GPT-2 foi pré-treinado para estimar a probabilidade P(y|x) de uma sequência de tokens ocorrer no texto, dada a prompt inicial ou o contexto da sequência . Dado que é impraticável conseguir dados suficientes de treino para obter P(y|x), por normal utiliza-se a regra da cadeia da probabilidade para fatorizar esta operação como um produto de probabilidades condicionadas: Onde significa . É a partir desta forma de calcular a probabilidade condicionada que ficamos com a intuição que modelos de linguagem autoregressivos calculam a probabilidade de calcular a próxima palavra, dada a palavra anterior na sequência. PS: O objetivo de pré-treino deste modelo é muito diferente do BERT que utiliza contexto do passado e do futuro para prever os masked tokens
Gerar sequências
Os
cães
são
animais
Os
cães
são
animais
de
Os
cães
são
animais
de
estimação
input token
output token
Matemática para determinar o próximo token
A distribuição de probabilidade do próximo token é dada por: O objetivo da maioria dos métodos de decoding é pesquisar a sequência mais provável escolhendo tal que:
Algoritmos de Pesquisa
Greedy Search Decoding
O argoritmo mais simples para realizar decoding envolve selecionar os tokens mais prováveis em cada intervalo de tempo:
(ver notebook decoder.ipynb)
Beam Search Decoding
Em vez de fazer o decoding de cada token considerando o token que tem maior probabilidade, beam search mantém o top b tokens mais prováveis, onde b é referido como o número de beams ou hipótese parcial. O novo conjunto de beams é escolhido definindo todo o conjunto de beams e considerando os b beams mais prováveis. O processo vai-se repetir até que o tamanho máximo é atingido ou o token EOS surja.
(ver notebook decoder.ipynb)
Sampling Methods
O método de amostragem mais simples consite em aleatoriamente selecionar uma amostra do vocabulário de uma determinada distribuição de probabilides do output do modelo: onde |V| denota a cardinalidade do vocabulário. Assim, é possível alterar a diversidade do output utilizando o parametro temperatura T, que pode escalar os logits antes do softmax:
(ver notebook decoder.ipynb)
Sampling Methods
Ao adicionar o parâmetro temperatura T, podemos alterar a forma da distribuição de probabilidades.
Temperatura baixa (0.1, curva vermelha escura) - A probabilidade fica concentrada quase toda na palavra mais provável. - O modelo tende a escolher sempre a mesma resposta → texto previsível e repetitivo. Temperatura média (0.3–0.7, curvas laranja e azul clara) - As primeiras opções ainda têm maior peso, mas as alternativas também ganham espaço. - Gera texto mais variado, mas ainda coerente. Temperatura alta (1.0, azul escura): - A distribuição é mais “achatada”, várias palavras têm probabilidades parecidas. - A escolha é mais aleatória → texto criativo, mas pode perder consistência.
Top-k sampling
O modelo gera uma lista de todas as palavras possíveis, ordenadas da mais provável para a menos provável. É uma extensão do método anterior Mantém apenas as k palavras mais prováveis e descarta todas as outras. Depois escolhe aleatoriamente entre essas k, de acordo com as probabilidades. Exemplo: se k=5, só as 5 palavras mais prováveis entram no sorteio. k pequeno (ex: 5): mais previsível, menos criativo.k grande (ex: 100): mais diversidade, maior risco de incoerência.
Gerar sequência
Para gerar uma sequência iniciamos com uma prompt como "Os animais são" e usamos o modelo para prever o próximo token. Assim que tenhamos determinado o próximo token, adicionamo-lo ao prompt e utilizamos a nova sequência para gerar o próximo token. Este processo é repetido n vezes até que se chegue ao token end-of-sequence <EOS> ou o número máximo de tokens.