LM Evaluation Harness

Avaliação de Modelos de Linguagem

O LM Evaluation Harness (frequentemente referido apenas como “Harness”) é um framework unificado para avaliação few-shot de Modelos de Linguagem Grandes (LLMs). Ele permite testar a performance de modelos em uma variedade de benchmarks acadêmicos e tarefas práticas de forma padronizada.

⚙️ Como funciona

Em vez de criar scripts customizados para cada dataset de teste, o Harness fornece uma interface padronizada onde:

  1. Você seleciona o modelo (ex: local via Ollama/vLLM, ou remoto via API como OpenAI/Anthropic).
  2. Você escolhe as tasks (ex: hellaswag, mmlu, truthfulqa).
  3. O Harness formata os prompts (com ou sem exemplos few-shot), envia para o modelo, analisa a resposta e calcula as métricas (ex: Acurácia, F1-Score).
# Exemplo conceitual (pseudocódigo) de como o Harness é executado via CLI
# python -m lm_eval --model hf --model_args pretrained=EleutherAI/pythia-160m --tasks hellaswag --device cuda:0 --batch_size 8

🎯 Quando usar

  • Comparação de Modelos: Para decidir qual LLM open-source utilizar no seu projeto (ex: Llama 3 vs Mistral) em um domínio específico.
  • Validação Pós-Fine-Tuning: Para garantir que um modelo refinado (fine-tuned) para uma tarefa específica não perdeu suas capacidades gerais (fenômeno de catastrophic forgetting).
  • MLOps e CI/CD para IA: Integrar a avaliação no pipeline de implantação, garantindo que novas versões do modelo mantenham um padrão de qualidade mínimo antes do deploy em produção.

⚠️ Trade-offs e Armadilhas: Benchmarks podem ser “contaminados” se os dados de teste já estiverem presentes no conjunto de treinamento do modelo. Além disso, um bom score no Harness não garante necessariamente que o modelo tenha um bom comportamento em chat interativo com usuários humanos (alinhamento).


Relacionadas: langchain · object-detection

Construído com Eleventy · busca por Lunr.js