Atlas / src /about.py
Victor Dieguez
Editing texts
b23d29d
from dataclasses import dataclass
from enum import Enum
@dataclass
class Task:
benchmark: str
metric: str
col_name: str
# Select your tasks here
# ---------------------------------------------------
class Tasks(Enum):
# task_key in the json file, metric_key in the json file, name to display in the leaderboard
#task0 = Task("anli_r1", "acc", "ANLI")
#task1 = Task("logiqa", "acc_norm", "LogiQA")
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 # Change with your few shot
# ---------------------------------------------------
# Your leaderboard name
TITLE = """<h1 align="center" id="space-title">Atlas Diagnóstico de Modelos de Linguagem</h1>"""
# What does your leaderboard evaluate?
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
"""
# Which evaluations are you running? how can people reproduce what you have?
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"