벤치마크 리더보드 데이터 접근하기

벤치마크 리더보드 데이터 접근하기 (Accessing Benchmark Leaderboard Data)

Hub의 Benchmark 데이터셋은 평가 점수로 모델을 순위 매기는 리더보드를 담고 있어요. 이 데이터에 프로그래밍 방식으로 접근해 분석, 대시보드 또는 도구를 그 위에 구축할 수 있습니다.

출처: 문서

본문

Hub의 Benchmark 데이터셋은 평가 점수로 모델을 순위 매기는 리더보드를 포함합니다. 이 데이터에 프로그래밍 방식으로 접근해 분석, 대시보드, 도구를 그 위에 구축할 수 있어요.

공식 벤치마크 발견하기 (Discovering official benchmarks)

huggingface_hub으로 모든 공식 벤치마크 데이터셋을 찾으세요:

from huggingface_hub import HfApi

api = HfApi()
for ds in api.list_datasets(benchmark=True):
    print(ds.id)

또는 REST API로 직접(에이전트와 스크립팅에 유용):

GET https://huggingface.co/api/datasets?filter=benchmark:official

리더보드 순위 가져오기 (Getting leaderboard rankings)

리더보드 API는 벤치마크 데이터셋에 대한 순위 매겨진 모델 점수를 반환합니다:

GET https://huggingface.co/api/datasets/{dataset_id}/leaderboard

get_dataset_leaderboard를 사용해 타입이 지정된 DatasetLeaderboardEntry 객체로 순위 매겨진 모델 점수를 가져오세요:

from huggingface_hub import HfApi

api = HfApi()
leaderboard = api.get_dataset_leaderboard("SWE-bench/SWE-bench_Verified")

for entry in leaderboard[:5]:
    print(f"#{entry.rank} {entry.model_id}: {entry.value}")

[!TIP] huggingface_hub은 기본적으로 캐시된 토큰을 사용합니다. gated 벤치마크 데이터셋의 경우 로그인(hf auth login)했는지 확인하거나 토큰을 명시적으로 전달하세요:

leaderboard = api.get_dataset_leaderboard("gated/benchmark", token="hf_...")

[!TIP] 빠른 접근용 curl 원라이너(에이전트와 스크립팅에 유용):

curl https://huggingface.co/api/datasets/cais/hle/leaderboard \
  --header "Authorization: Bearer $(cat ~/.cache/huggingface/token)" | jq .

응답 필드 (Response fields)

DatasetLeaderboardEntry는 다음을 포함합니다:

Field Description
rank 리더보드 순위
model_id 전체 모델 ID(예: Qwen/Qwen3.5-397B-A17B)
value 벤치마크 점수
verified 결과가 독립적으로 검증되었는지 여부
author User 또는 Organization 객체
source 결과가 제출된 곳(모델 카드, 외부 등)
filename eval 결과 YAML 파일 경로(예: .eval_results/swe_bench_verified.yaml)
pull_request 벤치마크 데이터셋 저장소의 제출 PR 번호
notes 항목과 연결된 선택적 메모

사전 집계된 멀티 벤치마크 데이터셋 (Pre-aggregated multi-benchmark dataset)

한 파일에서 여러 벤치마크의 점수를 원한다면 OpenEvals/leaderboard-data 데이터셋이 공식 벤치마크 전반의 점수를 단일 Parquet 파일로 집계합니다:

pandashf:// 경로를 사용해 직접 불러올 수 있어요:

import pandas as pd

df = pd.read_parquet(
    "hf://datasets/OpenEvals/leaderboard-data/data/train-00000-of-00001.parquet"
)
print(df[["model_name", "provider", "aime2026_score", "mmluPro_score"]].head())

여러 API 엔드포인트를 호출하지 않고 크로스-벤치마크 관점을 얻는 가장 빠른 방법입니다.

모델 메타데이터로 보강하기 (Enriching with model metadata)

huggingface_hub으로 리더보드 데이터를 릴리스 날짜, 파라미터 수, 기타 메타데이터로 보강하세요:

from huggingface_hub import HfApi

api = HfApi()
info = api.model_info("Qwen/Qwen3.5-397B-A17B")

print(f"Released: {info.created_at}")
print(f"Parameters: {info.safetensors.total / 1e9:.1f}B" if info.safetensors else "")

모델 중심 관점: 모델별 eval 결과 (Model-centric view: eval results per model)

리더보드 API는 데이터셋 중심 관점(한 벤치마크의 모든 모델)을 제공합니다. 반대 방향(단일 모델의 모든 벤치마크 점수)은 expand=["evalResults"]와 함께 model_info를 사용하세요:

from huggingface_hub import HfApi

api = HfApi()
info = api.model_info("Qwen/Qwen3.5-397B-A17B", expand=["evalResults"])

for result in info.eval_results:
    print(f"{result.dataset_id}: {result.value}")

이것은 모델의 .eval_results/ 파일에서 파싱된 EvalResultEntry 객체를 반환합니다.

예시: 리더보드 데이터 위에 구축하기 (Example: building on leaderboard data)

Benchmark Leaderboard Race Space는 이러한 데이터 소스를 결합해 모델 순위가 시간에 따라 어떻게 변하는지 보여주는 애니메이션 시각화를 만듭니다. 이 데이터 위에 자체 분석·시각화를 구축할 수 있어요 — 전체 예시는 소스 코드를 참고하세요.

웹페이지에 리더보드 임베드하기 (Embed a leaderboard in a webpage)

벤치마크 데이터셋의 리더보드를 iframe으로 자신의 웹페이지에 직접 임베드할 수 있어요.

사용할 URL은 https://huggingface.co/datasets/<namespace>/<dataset-name>/embed/leaderboard이며, <namespace>는 벤치마크 데이터셋 소유자(사용자 또는 조직), <dataset-name>은 데이터셋 이름입니다.

<iframe
  src="https://huggingface.co/datasets/cais/hle/embed/leaderboard"
  frameborder="0"
  width="100%"
  height="560px"
></iframe>

파라미터 (Parameters)

iframe URL에 쿼리 파라미터를 전달해 임베드된 리더보드를 구성할 수 있어요:

Parameter Description
leaderboard_task_id 벤치마크의 eval.yaml에 정의된 표시할 태스크 ID(예: gpqa_diamond). 기본값은 첫 번째 태스크.
eval_result 리더보드에서 강조할 모델 ID(예: meta-llama/Llama-3.1-8B)
leaderboard_max_params 최대 파라미터 수로 행 필터링. 1B, 3B, 6B, 12B, 32B, 128B 또는 500B 값 허용
leaderboard_is_expanded true로 설정하면 접힌 대신 완전히 펼친 리더보드 렌더링

예를 들어 테이블을 펼치고 특정 모델을 강조한 HLE 리더보드를 임베드하려면:

<iframe
  src="https://huggingface.co/datasets/cais/hle/embed/leaderboard?leaderboard_is_expanded=true&eval_result=meta-llama/Llama-3.1-8B"
  frameborder="0"
  width="100%"
  height="560px"
></iframe>

임베드는 평가 결과가 있는 공식 벤치마크 데이터셋에서만 사용할 수 있어요.

더 알아보기 (Learn more)

get_dataset_leaderboard로 벤치마크 순위를 가져오고, OpenEvals/leaderboard-data Parquet로 한 파일에서 여러 벤치마크를 확인할 수 있어요. 모델별로는 expand=["evalResults"]를 쓰고, 웹페이지에는 embed/leaderboard iframe을 사용하세요. 자세한 제출·등록은 Eval Results 문서를 참고하세요.