Perplexidade
Perplexidade (do inglês Perplexity, PPL), na teoria da informação e no aprendizado de máquina, é uma medida da incerteza ou "surpresa" de um modelo de linguagem ao prever uma amostra de texto. Uma baixa perplexidade indica que a distribuição de probabilidade do modelo se ajusta bem aos dados de teste, enquanto uma alta perplexidade significa que o modelo prevê mal a sequência[1].
Formalmente, a perplexidade de uma distribuição de probabilidade é definida como a exponencial de sua entropia. Para uma distribuição discreta , ela é igual a , onde é a entropia[2]. Intuitivamente, a perplexidade pode ser entendida como o número "efetivo" de opções que o modelo tem a cada passo. Se a perplexidade for 100, isso significa que a incerteza do modelo é equivalente a escolher um de 100 resultados equiprováveis[3].
O termo foi introduzido pela primeira vez em 1977 por um grupo de pesquisadores da IBM liderado por Frederick Jelinek, no contexto do reconhecimento estatístico de fala, para quantificar a "dificuldade" de uma tarefa[4].
Perplexidade em Modelos de Linguagem
No campo do processamento de linguagem natural (PLN), a perplexidade se tornou uma métrica intrínseca (intrinsic) padrão para a avaliação da qualidade de modelos de linguagem. Ela mede quão bem um modelo prevê uma sequência de palavras ou tokens em um conjunto de dados de teste.
Definição Formal
Para um corpus de teste e um modelo de linguagem , a perplexidade é calculada como a média geométrica inversa da probabilidade do corpus de teste, normalizada pelo número de palavras:
Esta fórmula é equivalente à exponencial da entropia cruzada, ou da perda logarítmica negativa média (negative log-likelihood):
A minimização da perplexidade é equivalente à maximização da verossimilhança (likelihood) do modelo nos dados de teste. Portanto, um modelo com menor perplexidade é considerado estatisticamente mais preciso[5].
Aplicação Histórica e LLMs Modernos
Historicamente, a perplexidade foi amplamente utilizada para avaliar modelos estatísticos de n-gramas. Por exemplo, para o corpus do Wall Street Journal, um modelo de unigrama (que considera apenas as frequências das palavras) tem uma perplexidade de ~962, enquanto um modelo de trigrama (que considera o contexto das duas palavras anteriores) tem cerca de 109[6]. Essa redução drástica mostra o quão melhor o modelo captura os padrões da linguagem.
Com o desenvolvimento dos grandes modelos de linguagem (LLMs), a perplexidade manteve seu papel como um ponto de referência básico. Pesquisadores relatam a perplexidade em conjuntos de teste padrão (por exemplo, WikiText) como um indicador da "fluidez" do modelo. Por exemplo, no artigo da OpenAI sobre o GPT-2, é afirmado que o modelo com ~117 milhões de parâmetros atinge uma perplexidade de cerca de 37 no corpus WikiText-103[7]. A redução da perplexidade geralmente se correlaciona com a melhoria da qualidade do modelo, tornando a métrica um indicador conveniente de progresso durante o treinamento e a otimização.
Limitações e Interpretação da Métrica
Embora uma baixa perplexidade indique uma alta verossimilhança dos dados segundo o modelo, essa métrica possui várias limitações significativas e nem sempre se correlaciona com a qualidade real do texto gerado.
- Baixa perplexidade ≠ alta qualidade. A perplexidade mede a confiança do modelo em suas previsões, mas não sua veracidade. Um modelo pode estar confiantemente errado, gerando texto sem sentido, mas estatisticamente provável (por exemplo, repetindo palavras e frases muito comuns)[3].
- Sensibilidade aos dados e à tokenização. A perplexidade não é adequada para comparar diretamente modelos com diferentes arquiteturas, vocabulários ou métodos de tokenização. Por exemplo, um modelo baseado em caracteres pode ter uma perplexidade numericamente menor que um modelo baseado em palavras, mas isso não significa que ele resolva melhor as tarefas de linguagem[3].
- Incapacidade de avaliar a semântica e o contexto longo. A perplexidade é uma métrica local que avalia a previsão do próximo token. Ela se correlaciona fracamente com a capacidade do modelo de capturar dependências de longo prazo e o contexto semântico em grandes distâncias. Um estudo de 2024 (Hu et al.) mostrou que a capacidade de um LLM de compreender textos longos (até 100 mil tokens) praticamente não se reflete na métrica de perplexidade[8].
- Possibilidade de manipulação. A métrica pode ser "enganada". Um modelo sobreajustado (overfitted) apresentará uma perplexidade artificialmente baixa em dados que ele "memorizou". Pesquisas (Wang et al., 2022) também mostraram que a duplicação de trechos de texto ou mesmo a ausência de um ponto final na frase pode diminuir ou aumentar a perplexidade injustificadamente, sem afetar a qualidade real do texto[9].
Conclusão: O Papel da Perplexidade Hoje
Considerando as limitações mencionadas, na prática moderna, a perplexidade é vista como um indicador auxiliar e preliminar da qualidade de um modelo de linguagem. Ela continua sendo uma ferramenta valiosa para avaliação rápida e depuração de modelos, pois não depende de uma tarefa de aplicação específica e é simples de calcular[3].
No entanto, para uma avaliação completa de LLMs, a perplexidade por si só não é suficiente. Atualmente, ela é necessariamente complementada por métricas extrínsecas (extrinsic), vinculadas a tarefas específicas, como:
- Precisão em respostas a perguntas;
- Avaliações humanas (human evaluation);
- BLEU/ROUGE para tradução automática e sumarização.
Em conjunto com esses métodos, a perplexidade continua a desempenhar um papel importante — servir como uma medida objetiva da "surpresa" do modelo —, mas seus resultados devem ser sempre interpretados levando em conta as limitações mencionadas[3].
Ligações externas
- Artigo "Perplexidade em Modelos de Linguagem" no Habr (em russo)
- Documentação do Hugging Face sobre o cálculo da perplexidade
Leitura adicional
- Jelinek, F., Bahl, L. R., & Mercer, R. L. (1977). Perplexity — a Measure of the Difficulty of Speech Recognition Tasks. JASA:62(S1):S63.
- Jurafsky, D., & Martin, J. H. (2021). Speech and Language Processing (3ª ed., cap. 3: N-gram Language Models). PDF.
- Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. OpenAI white paper.
- Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
- Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361.
- Wang, C. et al. (2022). Perplexity by PLM Is Unreliable for Evaluating Text Quality. arXiv:2210.05892.
- Meister, C., & Cotterell, R. (2021). Language Model Evaluation Beyond Perplexity. arXiv:2106.00085.
- Hu, Y. et al. (2024). Can Perplexity Reflect Large Language Model's Ability in Long Text Understanding?. arXiv:2405.06105.
- Lazaridou, A. et al. (2021). Mind the Gap: Assessing Temporal Generalization in Neural Language Models. NeurIPS 2021.
Notas
- ↑ "Perplexidade (teoria da informação)". Wikipédia, a enciclopédia livre. [1]
- ↑ "Perplexity". Wikipedia. [2]
- ↑ 3.0 3.1 3.2 3.3 3.4 Morgan, Abby. "Perplexity for LLM Evaluation". Comet AI Blog, 21 Nov 2024. [3]
- ↑ "README.md · evaluate-measurement/perplexity". Hugging Face. [4]
- ↑ Jurafsky, Dan, and James H. Martin. Speech and Language Processing, 3rd ed., Chapter 3: N-gram Language Models, draft (2021). [5]
- ↑ Jurafsky, Dan, and James H. Martin. Speech and Language Processing, 3rd ed., Chapter 3: N-gram Language Models, draft (2021). [6]
- ↑ "Perplexity number of wikitext-103 on gpt-2 don't match the paper". GitHub, huggingface/transformers, Issue #483. [7]
- ↑ Hu, H., et al. "Can Perplexity Reflect Large Language Model's Ability in Long Text Understanding?". arXiv:2405.06105 [cs.CL], 10 de maio de 2024. [8]
- ↑ Wang, C., et al. "Perplexity by PLM Is Unreliable for Evaluating Text Quality". arXiv:2210.05892 [cs.CL], 12 de out. de 2022. [9]