| | from dataclasses import dataclass |
| | from enum import Enum |
| |
|
| | @dataclass |
| | class Task: |
| | benchmark: str |
| | metric: str |
| | col_name: str |
| |
|
| |
|
| | |
| | |
| | class Tasks(Enum): |
| | |
| | |
| | |
| | tweetsent = Task("tweetsent", "acc", "tweetsent") |
| | oab_mcq = Task("oab_mcq", "acc", "oab_mcq") |
| | enem_mcq = Task("enem_mcq", "acc", "enem_mcq") |
| | bluex_mcq = Task("bluex_mcq", "acc", "bluex_mcq") |
| | hatebr = Task("hatebr", "acc", "hatebr") |
| | assin_rte_ptbr = Task("assin_rte_ptbr", "acc", "assin_rte_ptbr") |
| | faquad_rte_parq= Task("faquad_rte_parq","acc", "faquad_rte_parq") |
| |
|
| | NUM_FEWSHOT = 0 |
| | |
| |
|
| |
|
| |
|
| | |
| | TITLE = """<h1 align="center" id="space-title">Atlas Diagnóstico de Modelos de Linguagem</h1>""" |
| |
|
| | |
| | INTRODUCTION_TEXT = """ |
| | Bem-vindo ao Atlas, uma avaliação de LLMs em português que prioriza conteúdo correto sobre formatação rígida, sendo ideal para modelos pequenos que possuem conhecimento mas não produzem templates perfeitos. |
| | Nossa abordagem usa parseamento heurístico tolerante, calibração automática e métricas desacopladas: o macro_score (0-1) mede capacidade semântica, enquanto a nonparse_rate avalia obediência às instruções separadamente. |
| | Isso permite diagnosticar claramente se um modelo falha por conhecimento insuficiente ou por dificuldades de formatação, oferecendo um diagnóstico robusto e prático de usabilidade real. Inspirado no EleutherAI Benchmark [lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness). |
| | |
| | Versão Atual: Pre-alpha |
| | """ |
| |
|
| | |
| | LLM_BENCHMARKS_TEXT = f""" |
| | ## Como funciona |
| | O benchmark foi projetado para avaliar modelos de linguagem em português mantendo a precisão das golden labels, mas sem punir respostas que desviam de templates rígidos. Ele é especialmente amigável para modelos pequenos, que possuem conhecimento mas não conseguem seguir formatos ultra-restritos devido ao tamanho reduzido. A abordagem foca na pergunta: "com contexto e instruções claras, o modelo produz uma resposta correta e minimamente estruturada?", ao invés de exigir uma correspondência exata com um formato esperado. Isso preserva a capacidade informativa do modelo enquanto respeita sua natureza generativa e probabilística. |
| | |
| | Tecnicamente, o sistema extrai a intenção da resposta através de **parseamento heurístico tolerante**, que aceita verbosidade, ruído e variações mínimas para identificar a escolha do modelo (ex: letra da alternativa, "sim/não"). A **taxa de não-parseamento (nonparse_rate)** mede a fração de respostas que não puderam ser interpretadas, servindo como meta-métrica crucial de obediência às instruções de formato, sem penalizar o desempenho no score principal. Além disso, um sistema de **calibração automática** ajusta o mapeamento entre respostas textuais e rótulos numéricos para maximizar a acurácia, evitando que o modelo seja punido por detalhes arbitrários de codificação do dataset. |
| | |
| | As métricas variam por tipo de tarefa: similaridade semântica (STS) usa a média de correlações de Pearson/Spearman (intervalo [-1,1]); tarefas de múltiplas classes (CB, Fortuna) combinam accuracy e F1-macro em uma média; e tarefas binárias ou de múltipla escolha usam accuracy pura. O **macro_score** global é a média aritmética desses escores principais (s_task) de cada tarefa, teoricamente variando de -1 a 1, embora na prática fique entre 0 e 1 para modelos razoáveis. Importante: a nonparse_rate não entra nesse cálculo, permitindo separar claramente "capacidade de seguir formato" de "conhecimento semântico". |
| | |
| | Essa arquitetura oferece heurísticas poderosas para análise prática. Permite diagnosticar separadamente se um modelo falha por **problemas de conteúdo** (baixa accuracy/F1) ou de **formatação** (alta nonparse_rate). A calibração revela se o modelo "entende a intenção" das classes, independente da codificação específica. A média simples entre tarefas, apesar de dar peso igual a todas, produz um escore robusto e interpretável de versatilidade geral, monotonicamente relacionado ao desempenho em cada componente. Cada tarefa contribui uma vez com sua métrica mais representativa, evitando distorções. |
| | |
| | As principais **limitações** são teóricas: a mistura de escalas (correlação vs. accuracy) poderia desbalancear, mas na prática correlações negativas são raras em modelos úteis; e o peso igual entre tarefas reflete uma escolhe de priorizar versatilidade sobre especialização. Como toda heurística, não é um índice absoluto de "inteligência", mas um diagnóstico robusto de robustez e usabilidade real. O design equilibra simplicidade interpretativa, riqueza multidimensional (conhecimento, similaridade, multi-label) e tolerância às imperfeições dos modelos generativos. |
| | """ |
| |
|
| | EVALUATION_QUEUE_TEXT = """ |
| | ## Submissão de modelo |
| | Escreva um e-mail para contato@prosodia.org e conversaremos sobre! |
| | """ |
| | CITATION_BUTTON_LABEL = "Copie a seguinte parte para citar o Atlas" |
| | CITATION_BUTTON_TEXT = "Feito e produzido por Prosodia, contaro@prosodia.org" |
| |
|