Hub documentation

Resultados da Avaliação

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Resultados da Avaliação

Este é um recurso em desenvolvimento.

O Hub fornece um sistema descentralizado para rastrear os resultados de avaliação de modelos. Os conjuntos de dados de benchmark hospedam os rankings, e os repositórios de modelos armazenam as pontuações de avaliação que aparecem automaticamente tanto na página do modelo quanto no ranking do benchmark.

Conjuntos de Dados de Benchmark

Repositórios de datasets podem ser definidos como Benchmarks (por exemplo, MMLU-Pro, HLE, GPQA). Esses exibem a tag “Benchmark” e agregam automaticamente os resultados de avaliação de repositórios de modelos em todo o Hub, exibindo um ranking dos principais modelos.

Benchmark Dataset

Resultados da Avaliação do Modelo

As pontuações de avaliação são armazenadas nos repositórios de modelos como arquivos YAML na pasta .eval_results/. Esses resultados:

  • Aparecer na página do modelo com links para o ranking de benchmarks
  • São agregados aos painéis de classificação do conjunto de dados de referência
  • Pode ser enviado por meio de PRs e marcado como “fornecido pela comunidade”

Model Evaluation Results

Adicionando resultados de avaliação

Para adicionar resultados de avaliação a um modelo, você pode enviar um PR para o repositório do modelo com um arquivo YAML na pasta .eval_results/.

Crie um arquivo YAML em .eval_results/*.yaml no repositório do seu modelo:

- dataset:
    id: cais/hle                  # Required. Hub dataset ID (must be a Benchmark)
    task_id: default              # Required. ID of the Task, as defined in the dataset's eval.yaml
    revision: <hash>              # Optional. Dataset revision hash
  value: 20.90                    # Required. Metric value
  verifyToken: <token>            # Optional. Cryptographic proof of auditable evaluation
  date: "2025-01-15"              # Optional. ISO-8601 date or datetime of when the eval was run (defaults to git commit time)
  source:                         # Optional. Attribution for this result, for instance a repo containing output traces or a Paper
    url: https://huggingface.co/spaces/SaylorTwift/smollm3-mmlu-pro  # Required if source provided
    name: Eval traces             # Optional. Display name
    user: SaylorTwift             # Optional. HF username/org
  notes: "no-tools"               # Optional. Details about the evaluation setup (e.g., "tools", "no-tools", etc.)

Ou, apenas com os atributos obrigatórios:

- dataset:
    id: Idavidrein/gpqa
    task_id: gpqa_diamond
  value: 0.412

Os resultados exibem selos com base nos metadados no arquivo YAML:

SeloCondição
verificadoUm verifyToken é válido (a avaliação foi executada em HF Jobs com inspect-ai)
comunidadeResultado enviado via PR aberto (não mesclado ao main)
leaderboardLinks para o conjunto de dados de benchmark
sourceLinks para logs de avaliação ou fonte externa

Para mais detalhes sobre como formatar esses dados, consulte as especificações de Resultados de Avaliação.

Contribuições da Comunidade

Qualquer pessoa pode enviar resultados de avaliação para qualquer modelo por meio de uma Pull Request:

  1. Vá para a página do modelo, clique na aba “Community” e abra um Pull Request.
  2. Adicione um arquivo .eval_results/*.yaml com seus resultados.
  3. O PR aparecerá como “fornecido pela comunidade” na página do modelo enquanto estiver aberto.

Para obter ajuda na avaliação de um modelo, consulte o guia Avaliando modelos com Inspect. Os logs de avaliação do Inspect podem ser gravados diretamente em HF Storage Buckets.

As pontuações da comunidade ficam visíveis enquanto a PR estiver aberta. Se uma pontuação for contestada, o autor do modelo pode fechar a PR para removê-la. O objetivo é tornar os dados de avaliação existentes transparentes, ao mesmo tempo em que se avança rumo a um padrão totalmente reproduzível por meio de pontuações verificadas.

Ocultando Modelos de um Ranking

Os mantenedores de benchmarks podem ocultar um modelo de seu ranking, por exemplo, se discordarem dos resultados reportados:

  • Na página do conjunto de dados de referência, os mantenedores podem usar o alternador em cada linha do ranking para ocultar ou exibir um modelo. Os modelos ocultos são listados em um menu para que possam ser restaurados posteriormente.
  • O ocultamento se aplica ao modelo em todas as tarefas do benchmark.
  • Modelos ocultos são removidos do ranking público e os modelos restantes são reclassificados.
  • Na página do modelo, os resultados para esse benchmark não são mais exibidos publicamente.

Registrando um Benchmark

Para registrar seu conjunto de dados como um benchmark:

  1. Crie um repositório de dataset contendo seus dados de avaliação
  2. Adicione um arquivo eval.yaml na raiz do repositório com a configuração do seu benchmark, em conformidade com a especificação definida abaixo.
  3. O arquivo é validado no momento do push
  4. (Beta) Entre em contato para que possamos adicioná-lo à lista de permissões.

Exemplos podem ser encontrados nestes benchmarks: GPQA, MMLU-Pro, HLE, GSM8K.

Especificação do Eval.yaml

O eval.yaml deve conter os seguintes campos:

  • name — Nome de exibição legível para o benchmark (por exemplo, "Humanity's Last Exam").
  • description — Breve descrição do que o benchmark mede.
  • evaluation_framework — Identificador canônico do framework de avaliação para este benchmark. Trata-se de um enumerável mantido pela equipe do Hugging Face. Adicione o seu à lista aqui. Exatamente um framework é suportado por benchmark.
  • tasks[] — Lista de tarefas (sub-classificações) definidas por este benchmark (veja abaixo).

Campos obrigatórios em cada item de tasks[]:

  • id — Identificador único para a tarefa. (ex.: "gpqa_diamond"). Um único benchmark pode definir várias tarefas, cada uma gerando seu próprio leaderboard. Sinta-se à vontade para escolher um identificador de leaderboard para cada tarefa.

Campos opcionais em cada item de tasks[]:

  • config — Configuração do conjunto de dados do Hugging Face a ser avaliado (por exemplo, "default"). O padrão é a configuração padrão do conjunto de dados.
  • split — Divisão do dataset do Hugging Face a ser avaliada (por exemplo, "test"). O padrão é "test".

Ao definir evaluation_framework: inspect-ai, também é necessário definir os seguintes campos:

  • field_spec — Especificação dos campos de entrada e saída. Consiste nos subcampos input, target, choices e no opcional input_image. Consulte a documentação para mais detalhes.
  • solvers — Solvers usados para ir da entrada à saída usando o modelo de IA. Isso pode variar de um prompt de sistema simples a loops de autocrítica. Veja a documentação para mais detalhes.
  • scores — Scorers utilizados. Os scorers determinam se os solvers tiveram sucesso em encontrar a saída correta para o alvo definido no dataset e em que medida. Consulte a documentação para mais detalhes.

Exemplo mínimo (somente campos obrigatórios):

name: MathArena AIME 2026
description: The American Invitational Mathematics Exam (AIME).
evaluation_framework: math-arena

tasks:
  - id: MathArena/aime_2026

Exemplo estendido:

name: MathArena AIME 2026
description: The American Invitational Mathematics Exam (AIME).
evaluation_framework: "math-arena"

tasks:
  - id: MathArena/aime_2026
    config: default
    split: test

Exemplo estendido (específico de "inspect-ai"):

name: Humanity's Last Exam
description: >
  Humanity's Last Exam (HLE) is a multi-modal benchmark at the frontier of human
  knowledge, designed to be the final closed-ended academic benchmark of its
  kind with broad subject coverage. Humanity's Last Exam consists of 2,500
  questions across dozens of subjects, including mathematics, humanities, and
  the natural sciences. HLE is developed globally by subject-matter experts and
  consists of multiple-choice and short-answer questions suitable for automated
  grading.
evaluation_framework: "inspect-ai"

tasks:
  - id: hle
    config: default
    split: test

    field_spec:
      input: question
      input_image: image
      target: answer

    solvers:
      - name: system_message
        args:
          template: |
            Your response should be in the following format:
            Explanation: {your explanation for your answer choice}
            Answer: {your chosen answer}
            Confidence: {your confidence score between 0% and 100% for your answer}
      - name: generate

    scorers:
      - name: model_graded_fact
        args:
          model: openai/o3-mini
Update on GitHub