Hub documentation

Hasil Evaluasi

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Hasil Evaluasi

Ini adalah fitur yang masih dalam pengembangan.

Hub menyediakan sistem terdesentralisasi untuk melacak hasil evaluasi model. Dataset benchmark menjadi tuan rumah papan peringkat, dan repositori model menyimpan skor evaluasi yang secara otomatis muncul di halaman model dan papan peringkat benchmark tersebut.

Dataset Benchmark

Repo dataset dapat didefinisikan sebagai Benchmarks (misalnya, MMLU-Pro, HLE, GPQA). Repo ini menampilkan tag “Benchmark” dan secara otomatis mengagregasi hasil evaluasi dari repo model di seluruh Hub serta menampilkan papan peringkat model teratas.

Benchmark Dataset

Hasil Evaluasi Model

Skor evaluasi disimpan di repositori model sebagai file YAML di folder .eval_results/. Hasil-hasil ini:

  • Muncul di halaman model dengan tautan ke papan peringkat benchmark
  • Dikumpulkan ke dalam papan peringkat dataset benchmark
  • Dapat dikirimkan melalui PR dan ditandai sebagai “disediakan komunitas”

Model Evaluation Results

Menambahkan Hasil Evaluasi

Untuk menambahkan hasil evaluasi ke sebuah model, Anda dapat mengirim PR ke repo model dengan file YAML di folder .eval_results/.

Buat file YAML di .eval_results/*.yaml di repo model Anda:

- 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.)

Atau, dengan hanya atribut yang diperlukan:

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

Hasil menampilkan lencana berdasarkan metadata mereka di file YAML:

LencanaKondisi
terverifikasiverifyToken valid (evaluasi dijalankan di HF Jobs dengan inspect-ai)
komunitasHasil dikirim melalui PR terbuka (tidak digabungkan ke main)
leaderboardTautan ke dataset benchmark
sourceTautan ke log evaluasi atau sumber eksternal

Untuk detail lebih lanjut tentang cara memformat data ini, lihat spesifikasi Hasil Evaluasi.

Kontribusi Komunitas

Siapa pun dapat mengirimkan hasil evaluasi ke model apa pun melalui Pull Request:

  1. Buka halaman model, klik tab “Community”, dan buat Pull Request.
  2. Tambahkan file .eval_results/*.yaml dengan hasil Anda.
  3. PR akan ditampilkan sebagai “community-provided” di halaman model selama masih terbuka.

Untuk bantuan dalam mengevaluasi model, lihat panduan Evaluating models with Inspect. Log evaluasi dari Inspect dapat ditulis langsung ke HF Storage Buckets.

Skor komunitas terlihat selama PR masih terbuka. Jika sebuah skor dipermasalahkan, penulis model dapat menutup PR untuk menghapusnya. Tujuannya adalah menampilkan data evaluasi yang sudah ada secara transparan sambil membangun menuju standar yang sepenuhnya dapat direproduksi melalui skor yang telah diverifikasi.

Membuat Model Tersembunyi dari Papan Peringkat

Pemelihara benchmark dapat menyembunyikan model dari papan peringkat mereka, misalnya jika mereka mempertanyakan hasil yang dilaporkan:

  • Pada halaman dataset benchmark, pemelihara dapat menggunakan toggle di setiap baris papan peringkat untuk menyembunyikan atau menampilkan kembali model. Model yang disembunyikan akan terdaftar dalam menu sehingga dapat dipulihkan kemudian.
  • Hiding berlaku untuk model di seluruh tugas benchmark.
  • Model tersembunyi dihapus dari papan peringkat publik, dan model yang tersisa diurutkan ulang.
  • Di halaman model, hasil untuk benchmark tersebut tidak lagi ditampilkan secara publik.

Mendaftarkan Benchmark

Untuk mendaftarkan dataset Anda sebagai benchmark:

  1. Buat repo dataset yang berisi data evaluasi Anda
  2. Tambahkan file eval.yaml ke root repo dengan konfigurasi benchmark Anda, sesuai dengan spesifikasi yang didefinisikan di bawah.
  3. File divalidasi saat push
  4. (Beta) Hubungi kami agar kami dapat menambahkannya ke daftar izin.

Contoh dapat ditemukan dalam benchmark berikut: GPQA, MMLU-Pro, HLE, GSM8K.

Spesifikasi Eval.yaml

eval.yaml harus berisi field-field berikut:

  • name — Nama tampilan yang mudah dibaca untuk benchmark (misalnya "Humanity's Last Exam").
  • description — Deskripsi singkat tentang apa yang diukur oleh benchmark.
  • evaluation_framework — Pengenal kerangka evaluasi kanonik untuk benchmark ini. Ini adalah enumerable yang dipelihara oleh tim Hugging Face. Tambahkan milik Anda ke daftar di sini. Tepat satu kerangka didukung per benchmark.
  • tasks[] — Daftar tugas (sub-leaderboard) yang didefinisikan oleh benchmark ini (lihat di bawah).

Field wajib di setiap item tasks[]:

  • id — Pengenal unik untuk tugas. (mis. "gpqa_diamond"). Satu benchmark dapat mendefinisikan beberapa tugas, masing-masing menghasilkan leaderboard-nya sendiri. Silakan pilih pengenal leaderboard untuk setiap tugas.

Field opsional di setiap item tasks[]:

  • config — Konfigurasi dataset Hugging Face yang akan dievaluasi (misalnya "default"). Secara default menggunakan konfigurasi default dari dataset tersebut.
  • split — Bagian dari dataset Hugging Face yang akan dievaluasi (misalnya "test"). Bawaan adalah "test".

Saat mengatur evaluation_framework: inspect-ai, Anda juga perlu mengatur bidang berikut:

  • field_spec — Spesifikasi dari bidang input dan output. Terdiri dari sub-bidang input, target, choices dan opsional input_image. Lihat dokumentasi untuk detail lebih lanjut.
  • solvers — Solvers yang digunakan untuk mengubah input menjadi output menggunakan model AI. Ini bisa berkisar dari sistem prompt sederhana hingga loop self-critique. Lihat docs untuk detail lebih lanjut.
  • scores — Skor yang digunakan. Skor menentukan apakah solver berhasil menemukan output yang benar untuk target yang didefinisikan dalam dataset, dan dalam ukuran apa. Lihat dokumentasi untuk detail lebih lanjut.

Contoh minimal (hanya field yang wajib):

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

tasks:
  - id: MathArena/aime_2026

Contoh lanjutan:

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

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

Contoh lanjutan (khusus "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