A amostragem top-p, também conhecida como amostragem de núcleo, é uma estratégia de decodificação estocástica usada para gerar sequências a partir de modelos probabilísticos autorregressivos, como modelos de linguagem de grande porte. Foi originalmente proposta por Ari Holtzman, Yejin Choi e colegas em 2019 para geração de linguagem natural, a fim de resolver o problema de texto repetitivo e sem sentido produzido por outros métodos de decodificação comuns, como busca em feixe. A técnica desde então foi aplicada em outros campos científicos, incluindo engenharia de proteínas e geofísica.
Na amostragem top-p, um limite de probabilidade p é definido, e o próximo item em uma sequência é amostrado apenas do menor conjunto possível de candidatos de alta probabilidade cuja probabilidade cumulativa exceda p. Este método adapta o tamanho do conjunto de candidatos com base na certeza do modelo, tornando-o mais flexível do que a amostragem top-k, que amostra de um número fixo de candidatos. Devido à sua eficácia, a amostragem top-p é amplamente utilizada em muitas aplicações de modelos de linguagem de grande porte.
Técnica
A cada etapa do processo de geração de texto, um modelo de linguagem calcula uma distribuição de probabilidade sobre todo o seu vocabulário para o próximo token. Embora seja possível simplesmente escolher o token com maior probabilidade (busca gulosa) ou um conjunto limitado de sequências de alta probabilidade (busca em feixe), esses métodos determinísticos frequentemente produzem texto monótono, repetitivo ou sem sentido. A amostragem top-p introduz aleatoriedade para evitar esses problemas, mantendo a qualidade.
A ideia central é amostrar de um conjunto menor e mais confiável de tokens a cada etapa, chamado de núcleo. Este núcleo contém os tokens mais prováveis cuja probabilidade combinada, ou cumulativa, apenas excede o limite p. Ao amostrar apenas deste grupo de tamanho dinâmico, o modelo pode se adaptar a diferentes situações. Quando o modelo está confiante sobre o próximo token (por exemplo, um token tem probabilidade muito alta), o núcleo será pequeno. Quando o modelo está incerto (as probabilidades estão mais uniformemente distribuídas), o núcleo será maior, permitindo mais diversidade.
O processo em cada etapa é o seguinte:
- O modelo calcula as probabilidades para todos os possíveis próximos tokens.
- Os tokens são ordenados por sua probabilidade em ordem decrescente.
- O núcleo é formado selecionando tokens do topo da lista até que sua probabilidade cumulativa exceda o limite predefinido, p.
- As probabilidades dos tokens dentro deste núcleo são então reescalonadas para que somem 1. Todos os tokens fora do núcleo são descartados (recebem probabilidade 0).
- O próximo token final é amostrado aleatoriamente desta nova distribuição menor.
Formalmente, o núcleo, V^(p) ⊆ V, é definido como o menor conjunto de tokens que satisfaz:
∑_{x ∈ V^(p)} P(x | x_1, …, x_{t-1}) ≥ p
Nesta fórmula, P(x | x_1, …, x_{t-1}) representa a probabilidade de um token x dado os tokens anteriores x_1, …, x_{t-1}.
Exemplo
Imagine que em uma certa etapa, um modelo de linguagem tem um vocabulário de cinco palavras: [the, a, cat, dog, eats] e produz as seguintes probabilidades:
- the: 0.5
- a: 0.2
- cat: 0.1
- dog: 0.1
- eats: 0.1
Se definirmos p = 0.8:
- Os tokens são ordenados por probabilidade: [the, a, cat, dog, eats].
- A probabilidade cumulativa é calculada:
- the: 0.5
- the + a: 0.5 + 0.2 = 0.7
- the + a + cat: 0.7 + 0.1 = 0.8
- O núcleo é o menor conjunto com probabilidade cumulativa ≥ 0.8, que é V^(0.8) = {the, a, cat}.
- As probabilidades para este conjunto são reescalonadas para somar 1:
- P(the) = 0.5 / 0.8 = 0.625
- P(a) = 0.2 / 0.8 = 0.25
- P(cat) = 0.1 / 0.8 = 0.125
- O próximo token é então amostrado desta nova distribuição, significando que dog e eats têm 0% de chance de serem escolhidos.
Amostragem top-k
A amostragem top-k é uma técnica semelhante onde o conjunto de tokens candidatos é restrito aos k tokens mais prováveis. A principal vantagem do top-p é sua adaptabilidade. Quando o modelo está muito certo sobre o próximo token (uma distribuição concentrada), o núcleo V^(p) pode ser muito pequeno. Quando o modelo está incerto (uma distribuição plana), o núcleo pode ser muito maior, permitindo mais diversidade. Em contraste, o top-k sempre amostra de um número fixo de tokens, o que pode ser muito restritivo ou muito amplo dependendo do contexto.
Aplicações
Embora a amostragem top-p seja mais famosa como uma estratégia de decodificação para modelos de linguagem de grande porte, a técnica também foi adaptada para uso em outros domínios científicos que envolvem gerar ou analisar dados sequenciais de modelos probabilísticos.
Geração de linguagem natural
Em seu domínio original de geração de linguagem natural, a amostragem top-p é valorizada por sua capacidade de produzir texto mais diverso e coerente em comparação com métodos determinísticos. Foi demonstrado que é benéfica em tarefas como geração automática de perguntas, onde a diversidade de amostras é importante para criar dados de treinamento eficazes para modelos de resposta a perguntas.
Design de medicamentos e proteínas
A amostragem top-p é usada em biologia computacional para gerar novas sequências moleculares e proteicas a partir de modelos de linguagem especializados. No design de medicamentos de novo, modelos de linguagem química treinados em estruturas moleculares usam amostragem de núcleo para gerar bibliotecas focadas de novos candidatos a medicamentos válidos. Da mesma forma, em engenharia de proteínas, a amostragem top-p ajuda a explorar o espaço de sequências enquanto mantém a probabilidade de produzir proteínas funcionais.
Geofísica
Em geofísica, a amostragem top-p foi aplicada para gerar formas de onda sísmicas ou outros dados sequenciais a partir de modelos probabilísticos, auxiliando em tarefas como simulação de terremotos ou imageamento subsuperficial. A natureza adaptativa do núcleo permite variabilidade realista nos dados gerados, o que é crucial para modelar fenômenos naturais complexos.
Relação com Outras Estratégias de Decodificação
A amostragem top-p é um dos vários métodos de decodificação estocástica usados em modelos generativos. É frequentemente combinada com escalonamento de temperatura para controlar ainda mais a aleatoriedade da saída. Enquanto o escalonamento de temperatura ajusta a nitidez da distribuição de probabilidade antes da amostragem, a amostragem top-p trunca a distribuição para um subconjunto de tokens. Essas técnicas podem ser usadas juntas para alcançar um equilíbrio entre diversidade e coerência.
Comparada a métodos determinísticos como busca gulosa ou busca em feixe, a amostragem top-p introduz estocasticidade, o que pode prevenir loops repetitivos e produzir saídas mais variadas. No entanto, essa aleatoriedade também pode levar a incoerência ocasional, e a escolha de p é crítica. Um valor baixo de p (por exemplo, 0.5) torna a saída mais focada e determinística, enquanto um valor alto de p (por exemplo, 0.95) aumenta a diversidade, mas pode reduzir a qualidade.
Considerações de Implementação
Na prática, a amostragem top-p é implementada na maioria dos frameworks modernos de aprendizado profundo e é um parâmetro padrão em APIs para modelos de linguagem de grande porte, como os da OpenAI, Anthropic e Google DeepMind. O limite p é tipicamente definido entre 0.9 e 0.95 para tarefas gerais de geração de texto, mas o valor ótimo depende da aplicação específica e do trade-off desejado entre criatividade e precisão.
Um desafio na implementação é garantir que o cálculo da probabilidade cumulativa seja eficiente, especialmente para vocabulários grandes. No entanto, como o núcleo geralmente é pequeno, a sobrecarga computacional é mínima. Além disso, a amostragem top-p pode ser combinada com outras técnicas como RLHF (aprendizado por reforço com feedback humano) para alinhar o texto gerado com preferências humanas.
Limitações e Extensões
Apesar de suas vantagens, a amostragem top-p tem limitações. O limite p é estático e não se adapta ao contexto, o que pode levar a desempenho subótimo em alguns cenários. Pesquisadores exploraram extensões como valores dinâmicos de p baseados na entropia da distribuição, mas estas ainda não são amplamente adotadas. Além disso, a amostragem top-p não garante coerência global, pois considera apenas probabilidades locais em cada etapa.
Outra limitação é que a amostragem top-p ainda pode produzir texto repetitivo se a distribuição do modelo estiver fortemente concentrada em poucos tokens. Em tais casos, combinar top-p com outras estratégias como top-k ou ajustes de temperatura pode ser necessário. Apesar desses desafios, a amostragem top-p permanece uma ferramenta fundamental no arsenal de IA generativa, amplamente usada tanto em pesquisa quanto em sistemas de produção.