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:
- Você seleciona o modelo (ex: local via Ollama/vLLM, ou remoto via API como OpenAI/Anthropic).
- Você escolhe as tasks (ex:
hellaswag,mmlu,truthfulqa). - 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