TL;DR
Hugging Face publica rankings oficiales por benchmark, y todos se pueden descargar por API sin clave. Los descargué el 11 de noviembre de 2026 (59 benchmarks, 1.389 resultados) y encontré tres cosas que cambian cómo se lee un primer puesto. Primera: ninguno de los 1.389 resultados lleva el sello verified, porque ese sello exige una evaluación ejecutada en HF Jobs con inspect-ai y hoy nadie lo tiene en estas tablas. Segunda: solo 590 resultados (42,5 %) traen una nota con el protocolo de evaluación, y 26 de esas notas mencionan voto mayoritario. Tercera: en GPQA Diamond (198 preguntas) una pregunta vale 0,505 puntos, así que el 1.º y el 2.º puesto, separados por 0,24 puntos, están separados por menos de media pregunta. Abajo está el script completo (unas 30 líneas, solo biblioteca estándar) para repetirlo hoy y comprobar que los números cambian.
Aviso de entrada: esta cuenta es de VIDRAFT y en estas tablas aparecen modelos nuestros (FINAL-Bench/Darwin). Los incluyo con el mismo rasero que a los demás: sus resultados son autorreportados, no verificados, y en tres casos concretos (AIME 2026, HMMT y GPQA) explico abajo por qué su cifra de la tabla es la más favorable de las que publicamos.
¿Qué contiene exactamente un ranking oficial de Hugging Face?
Un dataset con la etiqueta benchmark:official y un archivo eval.yaml define una o varias tareas. Los resultados no se envían a un formulario central: cada modelo guarda un YAML en su propio repositorio, dentro de .eval_results/, y Hugging Face los agrega en la tabla del benchmark. Según la documentación del Hub, un resultado lleva como mínimo el dataset, la tarea y el valor, y opcionalmente una source (por ejemplo, un enlace a trazas o a un paper), una fecha y una notes con los detalles de la evaluación.
El sello verified se concede cuando hay un verifyToken válido, es decir, cuando la evaluación corrió en HF Jobs con inspect-ai. Un resultado enviado por pull request abierta se muestra como community. Todo lo demás es lo que el autor del modelo declara en su ficha.
Esto no es una crítica a nadie: es un diseño descentralizado y la propia documentación lo llama un trabajo en curso. Pero implica que una tabla es un inventario de declaraciones, y que leerla bien exige mirar tres campos que casi nadie mira: verified, notes y el tamaño del benchmark.
¿Cómo descargo todos los rankings oficiales con Python?
La lista de benchmarks oficiales sale de un filtro de la API y cada ranking está en /api/datasets/<id>/leaderboard. Este es el script completo. Solo usa la biblioteca estándar:
import json, math, re, urllib.request H = {"User-Agent": "Mozilla/5.0"} def get(url): return json.load(urllib.request.urlopen(urllib.request.Request(url, headers=H), timeout=60)) def wilson(p, n, z=1.96): d = 1 + z * z / n c = (p + z * z / (2 * n)) / d h = z * math.sqrt(p * (1 - p) / n + z * z / (4 * n * n)) / d return 100 * (c - h), 100 * (c + h) ids = [x["id"] for x in get("https://huggingface.co/api/datasets?filter=benchmark:official&limit=200")] boards = {i: get(f"https://huggingface.co/api/datasets/{i}/leaderboard") for i in ids} rows = [e for lb in boards.values() for e in lb] print("benchmarks:", len(ids), "| entries:", len(rows)) print("verified=true:", sum(1 for e in rows if e["verified"])) print("with notes:", sum(1 for e in rows if e.get("notes"))) print("notes mention majority/voting:", sum(1 for e in rows if re.search(r"majority|maj@|voting", e.get("notes") or "", re.I))) N = {"Idavidrein/gpqa": 198, "TIGER-Lab/MMLU-Pro": 12032, "MathArena/aime_2026": 30, "MathArena/hmmt_feb_2026": 33, "cais/hle": 2500, "SWE-bench/SWE-bench_Verified": 500} print(f"{'benchmark':32}{'n':>7}{'1 item':>8}{'gap pts':>9}{'gap items':>11} 95% CI of #1") for i, n in N.items(): a, b = boards[i][0], boards[i][1] gap = abs(a["value"] - b["value"]) lo, hi = wilson(min(a["value"], 100) / 100, n) print(f"{i:32}{n:>7}{100 / n:>8.3f}{gap:>9.2f}{gap * n / 100:>11.1f} {lo:5.1f} to {hi:5.1f}") La salida que obtuve el 11 de noviembre de 2026 a las 11:28 (hora de Corea):
benchmarks: 59 | entries: 1389 verified=true: 0 with notes: 590 notes mention majority/voting: 26 benchmark n 1 item gap pts gap items 95% CI of #1 Idavidrein/gpqa 198 0.505 0.24 0.5 90.3 to 96.9 TIGER-Lab/MMLU-Pro 12032 0.008 1.63 196.1 89.2 to 90.3 MathArena/aime_2026 30 3.333 0.00 0.0 88.6 to 100.0 MathArena/hmmt_feb_2026 33 3.030 4.80 1.6 89.6 to 100.0 cais/hle 2500 0.040 6.10 152.5 68.2 to 71.8 SWE-bench/SWE-bench_Verified 500 0.200 0.40 2.0 82.7 to 88.8 Los tamaños n salen de fuentes públicas: 198 (GPQA Diamond), 12.032 (MMLU-Pro, división de test), 30 (AIME 2026), 33 (HMMT febrero 2026) y 500 (SWE-bench Verified) aparecen en las notas de los propios resultados o en los metadatos del dataset, y 2.500 (HLE) en la nota del resultado de Kimi-K3.1-Pro y en la documentación del Hub. Los números cambian a diario porque entran modelos nuevos; que tu ejecución no coincida al decimal es lo esperado.
¿Qué significa que ninguno de los 1.389 resultados esté verificado?
Significa que, hoy, cada cifra de estas tablas es lo que cada equipo declara en su ficha. No significa que sean falsas. Muchas traen una nota de protocolo detallada y una fuente enlazada, y eso permite repetirlas. Pero la tabla no puede decirte que alguien las repitió.
La gráfica muestra otra cara del mismo asunto: 799 de los 1.389 resultados (57,5 %) no traen ninguna nota. Sin nota no sabes si hubo herramientas, cuántas muestras, qué presupuesto de razonamiento ni si la cifra es de una sola corrida. Entre los que sí la traen, 92 mencionan tools (con herramientas o sin ellas, no-tools) y 26 voto mayoritario. Compararlos sin leerlas es comparar protocolos distintos como si fueran el mismo.
¿Cuánto vale un punto? La resolución del benchmark
Aquí está el cálculo que casi nunca se hace. Si un benchmark tiene n preguntas, un acierto más sube la nota 100 / n puntos. En GPQA Diamond son 0,505 puntos por pregunta. Un 94,44 equivale exactamente a 187 de 198, y un 93,43 a 185 de 198: dos preguntas de diferencia.
El primer puesto de GPQA en la tabla es 94,44 y el segundo 94,2. La diferencia, 0,24 puntos, son 0,5 preguntas. Además, 94,2 no corresponde a un número entero de aciertos (daría 186,5 de 198), así que no es una sola corrida contada pregunta a pregunta, y su ficha no trae nota de protocolo. No es un reproche: simplemente no se puede saber, y esa es la cuestión.
Para estimar el ruido de muestreo uso el intervalo de Wilson al 95 %, que se comporta bien con proporciones cercanas al 100 % y con n pequeño (el intervalo normal clásico se sale del rango). Para el 94,44 de GPQA da de 90,3 a 96,9. Para el 100 de AIME 2026 con 30 problemas, de 88,6 a 100: un 100 sobre 30 problemas es compatible con un modelo que falla uno de cada nueve.
La regla práctica que sale de la gráfica: cuando el margen entre el 1.º y el 2.º es menor que el ancho del intervalo, no hay base estadística para ordenarlos. Eso pasa en GPQA, AIME 2026, HMMT y SWE-bench Verified. En cambio, en MMLU-Pro (1,63 puntos con 12.032 preguntas) y en HLE (6,1 puntos con 2.500) el margen sí supera el ruido de muestreo. Con la salvedad de que esta es una aproximación conservadora: al comparar dos modelos sobre las mismas preguntas, un test pareado es más sensible que mirar intervalos por separado. Pero necesita las respuestas por pregunta, que la tabla no publica.
¿Qué cifra está mostrando el ranking cuando hay voto mayoritario?
Este es el caso donde la nota importa más, y lo vemos en nuestros propios resultados. Las notas de Darwin-180B-RSI en AIME 2026 y HMMT febrero 2026 dicen que el valor del ranking es el voto mayoritario de 16 muestras (maj@16) y, en la misma nota, dan la exactitud media de esas 16 muestras: 98,75 en AIME y 96,59 en HMMT, frente al 100 de la tabla en ambos.
(El eje vertical de esta gráfica empieza en 90 para que se vea la diferencia; no leas las alturas como proporciones.)
Ninguna de las dos cifras es incorrecta, pero responden preguntas distintas. El voto mayoritario dice qué responde el modelo si pagas 16 muestras por pregunta y te quedas con la más frecuente. La media dice qué te toca en una sola llamada. Para un producto con latencia y coste por token, la segunda es la más cercana a tu experiencia. La tabla muestra la primera. Y en GPQA ocurre lo mismo: el 94,44 de Darwin-180B-RSI es un voto mayoritario de hasta 16 muestras, mientras que Darwin-397B-ZTC figura con 93,43 en el puesto 4 con decodificación voraz y una sola muestra. Son dos protocolos en la misma columna.
Tomo de ahí una conclusión que vale para nuestra propia comunicación: un primer puesto por 0,24 puntos en 198 preguntas, con voto mayoritario, no demuestra que el modelo sea mejor que el segundo. Lo que sí es verificable por cualquiera es el dato del repositorio: valor, protocolo declarado y fuente enlazada.
¿Cómo uso esto en la práctica?
Una lista corta de hábitos que me funcionan al leer cualquier ranking:
- Busca
nantes que el valor. Calcula100 / n. Si el margen que te venden es de una o dos preguntas, es empate. - Lee la nota entera. Herramientas, número de muestras, presupuesto de razonamiento y tipo de decodificación cambian la cifra más que el modelo.
- Distingue declarado de verificado. Hoy el campo
verifiedvalefalseen todos los resultados que descargué; mira de nuevo cuando lo repitas, porque debería cambiar. - Compara dentro del mismo protocolo. Voto mayoritario con voto mayoritario, una muestra con una muestra.
- Repite la descarga. Las tablas se mueven a diario; guarda el JSON con fecha si vas a citarlo.
Nuestros resultados en estas tablas están en la misma situación que los demás: 27 filas en total, 11 primeros puestos más un empate a 100 en AIME 2026 (donde figuramos segundos por orden de lista), todos con verified en false. Si quieres contrastar cualquiera, el script de arriba te da la fila, la nota y la fuente en segundos.
Preguntas frecuentes
¿Dónde se pide la lista de rankings oficiales de Hugging Face?
Con GET https://huggingface.co/api/datasets?filter=benchmark:official&limit=200. Cada ranking está en GET /api/datasets/<id>/leaderboard, sin clave de API. El día de esta medición eran 59 benchmarks, 53 con resultados y 6 vacíos.
¿Qué significa verified en un resultado de Hugging Face?
Que hay un verifyToken válido: la evaluación se ejecutó en HF Jobs con inspect-ai. En los 1.389 resultados que descargué el 11 de noviembre de 2026, ninguno lo tiene.
¿Por qué usar el intervalo de Wilson y no el normal?
Porque con proporciones cerca del 100 % y pocas preguntas (30 en AIME), el intervalo normal puede pasarse de 100. Wilson se mantiene dentro del rango y cubre mejor con n pequeño.
¿Un margen menor que el intervalo prueba que dos modelos son iguales?
No: solo dice que esta tabla no alcanza para ordenarlos. Un test pareado sobre las respuestas por pregunta puede separar modelos que los intervalos individuales no separan.
¿Cuál es la diferencia entre voto mayoritario y exactitud media?
El voto mayoritario (maj@k) toma la respuesta más frecuente entre k muestras; la exactitud media promedia el acierto de cada muestra. La primera suele ser mayor y cuesta k veces más cómputo por pregunta.
¿Estas tablas sirven para elegir un modelo para producción?
Sirven para preseleccionar. La decisión final debería apoyarse en una evaluación propia con tus datos, tu latencia y un protocolo de una sola llamada si eso es lo que usarás.
Further reading
- La misma molécula, otra GPU, otro puesto: cómo una tarjeta barata cambió un ranking sin dar ningún error
- Demostrar con tablas de clasificación públicas: importa más quien corrige
Fuentes: documentación de resultados de evaluación del Hub de Hugging Face, ranking de GPQA, ranking de AIME 2026.


