<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Loadgen on lo0 — Blog Técnico</title><link>https://blog.lo0.es/tags/loadgen/</link><description>Recent content in Loadgen on lo0 — Blog Técnico</description><generator>Hugo -- gohugo.io</generator><language>es</language><lastBuildDate>Sat, 29 Aug 2026 09:00:00 +0200</lastBuildDate><atom:link href="https://blog.lo0.es/tags/loadgen/index.xml" rel="self" type="application/rss+xml"/><item><title>MLPerf Inference: cómo leerlo, qué obliga LoadGen y qué comparabilidad ofrece</title><link>https://blog.lo0.es/posts/mlperf-inference-como-leerlo/</link><pubDate>Sat, 29 Aug 2026 09:00:00 +0200</pubDate><guid>https://blog.lo0.es/posts/mlperf-inference-como-leerlo/</guid><description>&lt;blockquote>
&lt;p>Notación: importes en &lt;strong>euros (N €)&lt;/strong>, decimales con coma. No se usa el símbolo de dólar
(en este sitio es delimitador de fórmula).&lt;/p>
&lt;/blockquote>
&lt;h2 id="tldr">TL;DR&lt;/h2>
&lt;p>MLPerf Inference lo mantiene MLCommons con cadencia semestral. Impone tres cosas que ningún benchmark casero tiene: un &lt;strong>generador de carga obligatorio&lt;/strong> (LoadGen, compilado desde una revisión etiquetada y sin modificar), unas reglas de equivalencia de modelo que acotan qué se puede optimizar, y un &lt;strong>proceso de auditoría&lt;/strong> que revisa hasta dos submissions por ronda. Los cuatro escenarios (SingleStream, MultiStream, Server, Offline) tienen duración mínima de 600 s y métricas distintas: Server reporta el caudal de Poisson sostenido y es el único con restricción de latencia. Para los benchmarks LLM esa restricción no es una latencia de petición sino dos SLO simultáneos al percentil 99: TTFT y TPOT, con cifras por modelo que van de 2000 ms / 200 ms en Llama 2 70B a 450 ms / 40 ms en su variante Interactive. La calidad se exige relativa al modelo de referencia (99 % o 99,9 %) y se audita además la &lt;strong>longitud de generación&lt;/strong> (Llama 2 70B: más del 90 % de 294,45 tokens por muestra). Tres reglas de lectura resumen la comparabilidad real: los resultados solo se comparan con la misma versión, división, categoría y escenario; per-accelerator no es métrica oficial de MLCommons, es derivada; y ni el coste ni la energía entran en la métrica primaria, hasta el punto de que la ronda v5.1 tuvo 2 submissions de potencia frente a 27 organizaciones participantes.&lt;/p>
&lt;hr>
&lt;h2 id="qué-es-y-cómo-se-organiza">Qué es y cómo se organiza&lt;/h2>
&lt;p>MLPerf Inference lo mantiene la &lt;strong>MLCommons Association&lt;/strong> a través del MLPerf Inference Working Group, cuya participación está limitada a miembros y afiliados de MLCommons (&lt;a href="https://mlcommons.org/working-groups/benchmarks/inference/">MLPerf Inference Working Group&lt;/a>). La cadencia declarada de publicación de resultados es de aproximadamente seis meses.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Ronda&lt;/th>
&lt;th>Publicación de resultados&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>v4.0&lt;/td>
&lt;td>27 de marzo de 2024&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>v4.1&lt;/td>
&lt;td>28 de agosto de 2024&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>v5.0&lt;/td>
&lt;td>2 de abril de 2025&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>v5.1&lt;/td>
&lt;td>9 de septiembre de 2025&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>v6.0&lt;/td>
&lt;td>1 de abril de 2026&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>v6.1&lt;/td>
&lt;td>en preparación a fecha de esta ficha&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>La suite se divide en dos categorías de sistema: &lt;strong>Datacenter&lt;/strong> y &lt;strong>Edge&lt;/strong>, definida esta última en las reglas como todo lo que no es datacenter (&lt;a href="https://github.com/mlcommons/inference_policies/blob/master/inference_rules.adoc">inference_rules.adoc&lt;/a>). Un sistema Datacenter tiene dos requisitos que no aplican en Edge:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>ECC obligatoria&lt;/strong> en DRAM y HBM, activa durante todas las corridas de rendimiento y precisión. No hay requisito sobre SRAM.&lt;/li>
&lt;li>&lt;strong>Networking obligatorio&lt;/strong> desde la ronda v3.0, con ancho de banda mínimo calculado sobre el throughput alcanzado. Para Llama 3.1 405B el ingress mínimo es &lt;code>throughput × 20000 × dtype_size&lt;/code> bytes/s; para Llama 2 70B el egress mínimo es &lt;code>throughput × 1024 × dtype_size&lt;/code>.&lt;/li>
&lt;/ul>
&lt;p>Edge admite además &lt;strong>resultados inferidos&lt;/strong>: un MultiStream derivado de SingleStream vale 8 veces la latencia p99; un Offline derivado de MultiStream, 8000 dividido por la latencia media en milisegundos.&lt;/p>
&lt;h2 id="los-cuatro-escenarios">Los cuatro escenarios&lt;/h2>
&lt;p>Esta es la tabla normativa, transcrita de las reglas:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Escenario&lt;/th>
&lt;th>Generación de queries&lt;/th>
&lt;th>Duración&lt;/th>
&lt;th>Samples/query&lt;/th>
&lt;th>Restricción de latencia&lt;/th>
&lt;th>Tail latency&lt;/th>
&lt;th>Métrica reportada&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>SingleStream&lt;/td>
&lt;td>La siguiente query se emite cuando el SUT completa la anterior&lt;/td>
&lt;td>600 s&lt;/td>
&lt;td>1&lt;/td>
&lt;td>Ninguna&lt;/td>
&lt;td>90 %&lt;/td>
&lt;td>Latencia p90 con parada temprana&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Server / Interactive&lt;/td>
&lt;td>LoadGen emite queries según una &lt;strong>distribución de Poisson&lt;/strong>&lt;/td>
&lt;td>600 s&lt;/td>
&lt;td>1&lt;/td>
&lt;td>Específica del benchmark&lt;/td>
&lt;td>99 %&lt;/td>
&lt;td>Máximo parámetro de Poisson soportado&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Offline&lt;/td>
&lt;td>Todas las muestras se entregan al inicio en &lt;strong>una sola query&lt;/strong>&lt;/td>
&lt;td>1 query, 600 s&lt;/td>
&lt;td>Al menos 24 576&lt;/td>
&lt;td>Ninguna&lt;/td>
&lt;td>N/A&lt;/td>
&lt;td>Throughput medido&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>MultiStream&lt;/td>
&lt;td>La siguiente query se emite cuando el SUT completa la anterior&lt;/td>
&lt;td>600 s&lt;/td>
&lt;td>&lt;strong>8&lt;/strong>&lt;/td>
&lt;td>Ninguna&lt;/td>
&lt;td>99 %&lt;/td>
&lt;td>Latencia p99 de query con parada temprana&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Cuatro precisiones operativas que cambian cómo se interpreta cada número:&lt;/p>
&lt;ul>
&lt;li>En &lt;strong>Server&lt;/strong>, LoadGen no mide una latencia: ejecuta una búsqueda binaria sobre el caudal objetivo. Para un valor dado genera queries a ese QPS con llegadas de Poisson; si la corrida falla el gate de latencia, reduce el valor y repite. La métrica final publicada es, según la FAQ oficial, &lt;strong>scheduled samples per second&lt;/strong>, no completed samples ni el objetivo introducido por el usuario.&lt;/li>
&lt;li>En &lt;strong>MultiStream&lt;/strong>, la latencia de una query es la &lt;strong>máxima&lt;/strong> de las latencias de sus muestras, y las 8 muestras de cada query son contiguas en el orden en que se cargaron. El valor &lt;code>multi_stream_samples_per_query = 8&lt;/code> está fijado en la configuración oficial.&lt;/li>
&lt;li>En &lt;strong>Offline&lt;/strong> no hay restricción de latencia alguna. Las propias reglas prohíben las técnicas que solo funcionan en experimentos de longitud fija &lt;em>excepto en el escenario Offline&lt;/em>, lo que es un reconocimiento normativo de que un resultado Offline no dice nada sobre el comportamiento bajo SLO.&lt;/li>
&lt;li>Los percentiles de la tabla son el &lt;strong>límite teórico inferior&lt;/strong> para corridas con muchísimas queries. Con parada temprana, el percentil efectivamente calculado es algo superior al nominal, como penalización por procesar pocas queries.&lt;/li>
&lt;/ul>
&lt;p>Los escenarios obligatorios dependen del benchmark. En Datacenter, las tareas de resumen, question answering, generación de texto y VLM requieren &lt;code>(Server | Interactive), Offline&lt;/code>, es decir, el submitter elige entre Server e Interactive. Razonamiento y recomendación requieren &lt;code>Server, Offline&lt;/code>. Segmentación médica, clasificación de nodos, speech-to-text y RAG solo requieren &lt;code>Offline&lt;/code>.&lt;/p>
&lt;h2 id="loadgen-qué-mide-y-qué-no">LoadGen: qué mide y qué no&lt;/h2>
&lt;p>LoadGen es el módulo que genera la carga y calcula las métricas. Su uso es obligatorio para todas las submissions, y debe compilarse desde una revisión etiquetada y aprobada del repositorio, sin alteración; el README es explícito en que no se admiten modificaciones locales de la biblioteca C++.&lt;/p>
&lt;p>Sus cuatro responsabilidades declaradas son generar las queries según el escenario, rastrear la latencia de cada query, validar la precisión de los resultados y calcular las métricas finales. La latencia se define como el tiempo desde que LoadGen fue planificado para pasar una query al sistema bajo prueba hasta que recibe la respuesta.&lt;/p>
&lt;p>Igual de importante es lo que declara &lt;strong>fuera de su alcance&lt;/strong>: LoadGen no conoce el modelo, no conoce los formatos de datos, no sabe puntuar la precisión y no conoce las restricciones de escenario de las reglas MLPerf. La consecuencia está escrita en su propio README: como es ajeno al modelo, no puede imponer los requisitos de MLPerf, por ejemplo los percentiles y latencias objetivo. Esos límites se inyectan desde &lt;code>mlperf.conf&lt;/code> y &lt;code>user.conf&lt;/code>. La justificación de que sea obligatorio aparece en el paper fundacional de ISCA 2020: establece una frontera clara entre los componentes que pertenecen al submitter y los que pertenecen a MLPerf, y mide el rendimiento del sistema completo en lugar de el de una pieza.&lt;/p>
&lt;h3 id="duración-número-de-queries-y-parada-temprana">Duración, número de queries y parada temprana&lt;/h3>
&lt;p>La duración mínima es de 600 000 ms en los cuatro escenarios. El número mínimo de queries sale de una tabla de intervalo de confianza que las reglas publican:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Percentil de cola&lt;/th>
&lt;th>Confianza&lt;/th>
&lt;th>Margen de error&lt;/th>
&lt;th>Inferencias&lt;/th>
&lt;th>Redondeo&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>90 %&lt;/td>
&lt;td>99 %&lt;/td>
&lt;td>0,50 %&lt;/td>
&lt;td>23 886&lt;/td>
&lt;td>24 576&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>95 %&lt;/td>
&lt;td>99 %&lt;/td>
&lt;td>0,25 %&lt;/td>
&lt;td>50 425&lt;/td>
&lt;td>57 344&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>97 %&lt;/td>
&lt;td>99 %&lt;/td>
&lt;td>0,15 %&lt;/td>
&lt;td>85 811&lt;/td>
&lt;td>90 112&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>99 %&lt;/td>
&lt;td>99 %&lt;/td>
&lt;td>0,05 %&lt;/td>
&lt;td>262 742&lt;/td>
&lt;td>270 336&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>El verificador de submissions aplica &lt;code>Server: 270336&lt;/code>, &lt;code>SingleStream: 1024&lt;/code> y &lt;code>MultiStream: 662&lt;/code>. Para Offline, el mínimo se fija por benchmark: 24 576 en Llama 2 70B, 15 000 en Mixtral 8x7B, 13 368 en Llama 3.1 8B, 8 313 en Llama 3.1 405B, 4 388 en DeepSeek-R1, 1 633 en Whisper y 43 en 3D UNet.&lt;/p>
&lt;p>El mecanismo de &lt;strong>parada temprana&lt;/strong> permite acortar corridas manteniendo la garantía estadística. Con tolerancia &lt;code>d = 0&lt;/code> y confianza &lt;code>c = 0,99&lt;/code>, el algoritmo resuelve por búsqueda binaria el menor número de queries por debajo del umbral de latencia que satisface el criterio, dado el número de queries observadas por encima.&lt;/p>
&lt;p>Los &lt;strong>modos&lt;/strong> de LoadGen son &lt;code>SubmissionRun&lt;/code> (accuracy seguido de performance), &lt;code>AccuracyOnly&lt;/code>, &lt;code>PerformanceOnly&lt;/code> y &lt;code>FindPeakPerformance&lt;/code>. Este último, aplicable solo a Server, toma el &lt;code>target_qps&lt;/code> como cota inferior si pasa, estima la superior en el doble y la duplica hasta fallar, y luego hace búsqueda binaria. En modo performance LoadGen selecciona queries uniformemente al azar con reemplazo de un conjunto de tamaño QSL; en modo accuracy usa una copia del dataset de validación, cada muestra exactamente una vez. Debe ejecutarse una corrida de accuracy por cada resultado de rendimiento presentado, y el mismo código en ambos modos.&lt;/p>
&lt;p>Las &lt;strong>semillas&lt;/strong> se anuncian cuatro semanas antes del cierre y el generador obligatorio es Mersenne Twister 19937. Cambian cada ronda: en v5.1, &lt;code>qsl_rng_seed = 1780908523862526354&lt;/code>; en v5.0 era &lt;code>6023615788873153749&lt;/code>.&lt;/p>
&lt;h3 id="los-tests-de-compliance">Los tests de compliance&lt;/h3>
&lt;p>Se activan colocando un fichero &lt;code>audit.config&lt;/code> en el directorio de trabajo, cuyos parámetros &lt;strong>sobrescriben&lt;/strong> los de &lt;code>mlperf.conf&lt;/code> y &lt;code>user.conf&lt;/code>. Sus logs son obligatorios en el paquete de submission. El propósito declarado es detectar anomalías, no diagnosticar su causa.&lt;/p>
&lt;p>Para los benchmarks LLM el test requerido es &lt;strong>TEST06&lt;/strong>, específico contra el &lt;em>exploit&lt;/em> del token de fin de secuencia. Ejecuta 100 muestras y exige tres condiciones: que el primer token reportado por separado coincida con el primer token de la salida del modelo, que la salida termine con cero o un único token EOS, y que el número de tokens reportados coincida con la longitud real de la secuencia generada.&lt;/p>
&lt;h2 id="divisiones-categorías-y-qué-se-puede-tocar">Divisiones, categorías y qué se puede tocar&lt;/h2>
&lt;h3 id="las-tres-divisiones">Las tres divisiones&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Closed&lt;/strong>: exige preprocesado, postprocesado y modelo equivalentes a la implementación de referencia. Permite calibración para cuantización y &lt;strong>no permite reentrenamiento&lt;/strong>. Es la única que puede usar el nombre MLPerf sin cualificar.&lt;/li>
&lt;li>&lt;strong>Open&lt;/strong>: permite preprocesado, postprocesado y modelo arbitrarios, incluido reentrenamiento. Las restricciones de precisión, de latencia y de escenario &lt;strong>no aplican&lt;/strong>: en su lugar hay que reportar la precisión obtenida y las restricciones de latencia bajo las que se obtuvo el rendimiento. El modelo puede tener cualquier origen, cuantizarse de cualquier forma y esparsificarse de cualquier forma. Debe usar el mismo dataset de validación que el Closed correspondiente y usarlo entero.&lt;/li>
&lt;li>&lt;strong>Network&lt;/strong>: hereda todos los requisitos de Closed, solo aplica a Datacenter, y separa el nodo LoadGen del sistema bajo prueba mediante una &lt;em>fabric&lt;/em>. La biblioteca de despacho del submitter no puede preprocesar, postprocesar, &lt;strong>batchear&lt;/strong>, paddear ni &lt;strong>cachear&lt;/strong>. Las interconexiones de bus están prohibidas por nombre (PCIe, CXL, CCIX, HyperTransport, NVLink, QPI, UPI, ICI) y solo se admiten Ethernet, IEEE 802.11, InfiniBand y 3GPP, con requisito de funcionar chasis a chasis a más de diez metros.&lt;/li>
&lt;/ul>
&lt;h3 id="las-categorías-de-disponibilidad">Las categorías de disponibilidad&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Categoría&lt;/th>
&lt;th>Hardware&lt;/th>
&lt;th>Software&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Available in cloud&lt;/td>
&lt;td>Disponible para alquiler en cloud&lt;/td>
&lt;td>Available&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Available on premise&lt;/td>
&lt;td>Disponible para compra&lt;/td>
&lt;td>Available&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Preview&lt;/td>
&lt;td>Debe estar disponible para la siguiente submission, o la siguiente tras 140 días, lo que sea más largo&lt;/td>
&lt;td>Available salvo lo necesario para hardware sustancialmente nuevo&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>RDI&lt;/td>
&lt;td>No cumple lo anterior&lt;/td>
&lt;td>No cumple lo anterior&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Available exige cuatro condiciones acumulativas: precio disponible, haberse alquilado o enviado a al menos un tercero, evidencia pública de disponibilidad y disponibilidad razonable para terceros adicionales en la fecha de submission. Un resultado Preview obliga a re-presentar como Available con rendimiento igual o mejor, tolerando hasta un &lt;strong>2 % de degradación&lt;/strong> por ruido; si no se re-presenta, el resultado Preview queda &lt;strong>marcado como inválido&lt;/strong>. Los componentes RDI no pueden presentarse como Available hasta el ciclo siguiente al siguiente, o 221 días, lo que sea más largo.&lt;/p>
&lt;h3 id="qué-permite-y-qué-prohíbe-closed">Qué permite y qué prohíbe Closed&lt;/h3>
&lt;p>MLPerf entrega los pesos en fp16 o fp32. La regla central es que el submitter puede hacer cuantización puramente matemática y reproducible, usando solo los datos de calibración y los tensores del modelo entregado, a cualquier formato numérico que alcance la calidad exigida, y que el método debe describirse públicamente a un nivel que permita reproducirlo. El test contra puertas traseras es elegante: la descripción del método de cuantización debe ser &lt;em>mucho más pequeña&lt;/em> que los pesos no nulos que produce.&lt;/p>
&lt;p>Está &lt;strong>permitido&lt;/strong>, entre otras cosas: cualquier framework o runtime, disposición arbitraria de datos, variar el algoritmo de multiplicación de matrices, transformaciones matemáticamente equivalentes, aproximaciones polinómicas de trascendentales, procesar queries fuera de orden dentro de lo que el escenario admita, sustituir operaciones densas por operaciones dispersas matemáticamente equivalentes, elegir a mano precisiones distintas por operación, fusionar y desfusionar, batch dinámico, y mezclas de expertos combinando pesos con distinta cuantización.&lt;/p>
&lt;p>Está &lt;strong>prohibido&lt;/strong>: sustituir o suplementar pesos al por mayor, descartar pesos no nulos, incluido el podado, cachear queries o respuestas, coalescer queries idénticas, modificar pesos durante la parte cronometrada, algoritmos de cuantización de tamaño comparable a los pesos que producen, hardcodear el número total de queries, usar conocimiento de la implementación de LoadGen para predecir picos o valles en el escenario Server, cambiar el número de haces de búsqueda, e incorporar estadísticos de los conjuntos de rendimiento o precisión.&lt;/p>
&lt;p>Dos aclaraciones que interesan a cualquiera que sirva LLM en producción: el &lt;strong>KV-cache&lt;/strong> está permitido igual que en el modelo de referencia siempre que no se aplique &lt;strong>entre queries&lt;/strong>; PagedAttention se admite si el bloque se reutiliza solo dentro del lote; el batching continuo o dinámico está permitido; y las entradas del KV-cache se tratan como activaciones a efectos de cuantización, sin poder podarse. El &lt;strong>decodificado especulativo&lt;/strong> solo se admite en las combinaciones de benchmark y escenario listadas explícitamente, con la cabeza de referencia a la misma precisión, y las implementaciones que manipulan artificialmente la tasa de aceptación están prohibidas.&lt;/p>
&lt;h2 id="los-slo-que-casi-nadie-cita-ttft-y-tpot">Los SLO que casi nadie cita: TTFT y TPOT&lt;/h2>
&lt;p>Este es el punto donde más se malinterpreta una tabla de MLPerf. En los benchmarks LLM del escenario Server, la restricción no es una latencia de petición: las reglas fijan &lt;code>target_latency = 0&lt;/code> y activan &lt;code>use_token_latencies = 1&lt;/code>, de modo que el gate lo forman &lt;strong>dos métricas simultáneas&lt;/strong>, ambas evaluadas al &lt;strong>percentil 99&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>TTFT&lt;/strong> (&lt;em>time to first token&lt;/em>): latencia del primer token.&lt;/li>
&lt;li>&lt;strong>TPOT&lt;/strong> (&lt;em>time per output token&lt;/em>): intervalo medio entre todos los tokens generados.&lt;/li>
&lt;/ul>
&lt;p>Las cifras están en &lt;code>mlperf.conf&lt;/code> y cambian por ronda y por benchmark:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Benchmark (escenario Server)&lt;/th>
&lt;th>TTFT&lt;/th>
&lt;th>TPOT&lt;/th>
&lt;th>Ronda&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>llama2-70b&lt;/code>&lt;/td>
&lt;td>2000 ms&lt;/td>
&lt;td>200 ms&lt;/td>
&lt;td>v5.0, v5.1, v6.x&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>llama2-70b-interactive&lt;/code>&lt;/td>
&lt;td>&lt;strong>450 ms&lt;/strong>&lt;/td>
&lt;td>&lt;strong>40 ms&lt;/strong>&lt;/td>
&lt;td>v5.1, v6.x&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>mixtral-8x7b&lt;/code>&lt;/td>
&lt;td>2000 ms&lt;/td>
&lt;td>200 ms&lt;/td>
&lt;td>v5.0, v5.1, v6.x&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>llama3_1-405b&lt;/code>&lt;/td>
&lt;td>6000 ms&lt;/td>
&lt;td>175 ms&lt;/td>
&lt;td>v5.0, v5.1, v6.x&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>llama3_1-405b-interactive&lt;/code>&lt;/td>
&lt;td>4500 ms&lt;/td>
&lt;td>80 ms&lt;/td>
&lt;td>v6.x&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>llama3_1-8b&lt;/code>&lt;/td>
&lt;td>2000 ms&lt;/td>
&lt;td>100 ms&lt;/td>
&lt;td>v5.1, v6.x&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>llama3_1-8b-interactive&lt;/code>&lt;/td>
&lt;td>500 ms&lt;/td>
&lt;td>30 ms&lt;/td>
&lt;td>v6.x&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>deepseek-r1&lt;/code>&lt;/td>
&lt;td>2000 ms&lt;/td>
&lt;td>80 ms&lt;/td>
&lt;td>v5.1, v6.x&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>deepseek-r1-interactive&lt;/code>&lt;/td>
&lt;td>1500 ms&lt;/td>
&lt;td>15 ms&lt;/td>
&lt;td>v6.x&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>gpt-oss-120b&lt;/code>&lt;/td>
&lt;td>3000 ms&lt;/td>
&lt;td>80 ms&lt;/td>
&lt;td>v6.x&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Un TPOT de 40 ms equivale a 25 tokens por segundo y por usuario, que es el orden de magnitud de una interfaz conversacional; uno de 200 ms equivale a 5 tokens por segundo, que es un caso de uso por lotes disfrazado de servicio. Dos resultados del mismo modelo bajo etiquetas Server e Interactive no son la misma medida. Quedan dos discrepancias documentadas entre fuentes primarias: la variante &lt;code>llama2-70b-interactive&lt;/code> no aparece en el &lt;code>mlperf.conf&lt;/code> etiquetado como v5.0 pese a haberse anunciado en esa ronda, y en el ciclo v6.x el TPOT de &lt;code>gpt-oss-120b-interactive&lt;/code> figura como 15 ms en &lt;code>mlperf.conf&lt;/code> y como 20 ms en el texto de las reglas.&lt;/p>
&lt;p>Para contraste, las restricciones de los benchmarks no-LLM del escenario Server son latencias de petición convencionales: ResNet-50 15 ms, RetinaNet 100 ms, BERT 130 ms, DLRMv2 60 ms, DLRMv3 80 ms, RNN-T 1000 ms, GPT-J y Stable Diffusion XL 20 000 ms.&lt;/p>
&lt;h2 id="calidad-el-99--y-el-recuento-de-tokens">Calidad: el 99 % y el recuento de tokens&lt;/h2>
&lt;p>Los objetivos de calidad se expresan relativos al modelo de referencia, nunca en absoluto, y cada benchmark exige una variante, otra o ambas. En la suite Datacenter vigente, 3D UNet, Llama 3.1 8B y Whisper piden 99 % y 99,9 % de FP32, lo que genera dos resultados distintos; Llama 2 70B pide solo 99,9 %; Llama 3.1 405B, Mixtral, DeepSeek-R1, GPT-OSS-120B, Qwen3-VL, RGAT y WAN-2.2 piden solo 99 %; y E2E-RAG es la excepción con 97 %. En el verificador esto se materializa como benchmarks separados (&lt;code>bert-99&lt;/code> y &lt;code>bert-99.9&lt;/code>), cada uno con su umbral numérico calculado.&lt;/p>
&lt;p>Sobre esa métrica hay una segunda restricción específica de LLM que se cita muy poco: también se audita la longitud de la generación.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Benchmark&lt;/th>
&lt;th>Restricción de longitud&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Llama 2 70B&lt;/td>
&lt;td>tokens por muestra &amp;gt; 90 % de 294,45&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Llama 3.1 405B&lt;/td>
&lt;td>tokens por muestra entre 90 % y 110 % de 684,68&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Mixtral 8x7B&lt;/td>
&lt;td>tokens por muestra entre 90 % y 110 % de 144,84&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Llama 3.1 8B&lt;/td>
&lt;td>longitud total generada &amp;gt; 90 % de 8 167 644&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>La FAQ zanja el atajo evidente: no se permite reducir la longitud máxima de salida por debajo de la referencia, y truncar tokens para mejorar el rendimiento o alcanzar la precisión &lt;strong>no está permitido&lt;/strong>. Los parámetros de inferencia están fijados en Closed (&lt;code>max_new_tokens = 1024&lt;/code> en Llama 2 70B, &lt;code>20000&lt;/code> en Llama 3.1 405B y DeepSeek-R1), igual que el algoritmo de decodificación: búsqueda voraz en la familia Llama, Mixtral y DeepSeek-R1; muestreo con &lt;code>temperature = 1.0&lt;/code> y &lt;code>top_p = 1.0&lt;/code> en GPT-OSS-120B y Qwen3-VL. La precisión se reporta a &lt;strong>cinco cifras significativas&lt;/strong> con redondeo al par.&lt;/p>
&lt;h2 id="la-suite-datacenter-vigente">La suite Datacenter vigente&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Área&lt;/th>
&lt;th>Tarea&lt;/th>
&lt;th>Modelo&lt;/th>
&lt;th>Dataset&lt;/th>
&lt;th>QSL&lt;/th>
&lt;th>Calidad exigida&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Visión&lt;/td>
&lt;td>Segmentación médica&lt;/td>
&lt;td>3D UNet&lt;/td>
&lt;td>KiTS 2019&lt;/td>
&lt;td>42&lt;/td>
&lt;td>99 % y 99,9 % de FP32 (DICE 0,86330)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Lenguaje&lt;/td>
&lt;td>Resumen&lt;/td>
&lt;td>Llama 3.1 8B&lt;/td>
&lt;td>CNN DailyMail v3.0.0&lt;/td>
&lt;td>13 368&lt;/td>
&lt;td>99 % y 99,9 % de FP32&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Lenguaje&lt;/td>
&lt;td>Question answering&lt;/td>
&lt;td>Llama 2 70B&lt;/td>
&lt;td>OpenOrca&lt;/td>
&lt;td>24 576&lt;/td>
&lt;td>99,9 % de FP32&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Lenguaje&lt;/td>
&lt;td>Generación de texto&lt;/td>
&lt;td>Llama 3.1 405B&lt;/td>
&lt;td>LongBench, Ruler, GovReport&lt;/td>
&lt;td>8 313&lt;/td>
&lt;td>99 % de FP16&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Lenguaje&lt;/td>
&lt;td>QA, matemáticas y código&lt;/td>
&lt;td>Mixtral 8x7B&lt;/td>
&lt;td>OpenOrca, GSM8K, MBXP&lt;/td>
&lt;td>15 000&lt;/td>
&lt;td>99 % de FP16&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Lenguaje&lt;/td>
&lt;td>Razonamiento&lt;/td>
&lt;td>DeepSeek-R1&lt;/td>
&lt;td>&lt;code>mlperf_deepseek_r1&lt;/code>&lt;/td>
&lt;td>4 388&lt;/td>
&lt;td>99 % de FP16 (exact match 81,9132 %)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Lenguaje&lt;/td>
&lt;td>QA, matemáticas y código&lt;/td>
&lt;td>GPT-OSS-120B&lt;/td>
&lt;td>AIME25, GPQA Diamond, LiveCodeBench v6&lt;/td>
&lt;td>6 396&lt;/td>
&lt;td>99 % de 83,13 %&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Visión&lt;/td>
&lt;td>Modelo visión-lenguaje&lt;/td>
&lt;td>Qwen3-VL-235B-A22B&lt;/td>
&lt;td>Catálogo de producto de Shopify&lt;/td>
&lt;td>48 289&lt;/td>
&lt;td>99 % de BF16 (F1 jerárquico 0,7824)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Comercio&lt;/td>
&lt;td>Recomendación&lt;/td>
&lt;td>DLRMv3&lt;/td>
&lt;td>Synthetic Streaming 100B&lt;/td>
&lt;td>34 996&lt;/td>
&lt;td>99,9 % de FP32&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Generativa&lt;/td>
&lt;td>Texto a vídeo&lt;/td>
&lt;td>WAN-2.2-T2V-A14B&lt;/td>
&lt;td>Prompts de VBench&lt;/td>
&lt;td>248&lt;/td>
&lt;td>99 % de BF16 (VBench 69,7752)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Grafos&lt;/td>
&lt;td>Clasificación de nodos&lt;/td>
&lt;td>RGAT&lt;/td>
&lt;td>IGBH&lt;/td>
&lt;td>788 379&lt;/td>
&lt;td>99 % de FP32 (72,86 %)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Audio&lt;/td>
&lt;td>Speech to text&lt;/td>
&lt;td>Whisper&lt;/td>
&lt;td>LibriSpeech&lt;/td>
&lt;td>1 633&lt;/td>
&lt;td>99 % y 99,9 % de FP32 (WER 2,0671 %)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Lenguaje&lt;/td>
&lt;td>RAG extremo a extremo&lt;/td>
&lt;td>E2E-RAG&lt;/td>
&lt;td>FRAMES&lt;/td>
&lt;td>824&lt;/td>
&lt;td>97 % de FP32&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>El benchmark &lt;strong>E2E-RAG&lt;/strong> merece atención de cualquiera que diseñe una plataforma RAG, porque fija el pipeline entero: índice FAISS HNSW con parámetros obligatorios &lt;code>M = 32&lt;/code>, &lt;code>efConstruction = 200&lt;/code> y &lt;code>efSearch = 100&lt;/code>; embeddings e5-base-v2; reranking ColBERTv2; generación y reescritura de consulta con GPT-OSS-120B; evaluación con Llama 3.1 8B como juez; y un máximo de 5 iteraciones de recuperación, obligatorio para todos los submitters. La carga de modelos no se cronometra; la construcción de la base vectorial sí.&lt;/p>
&lt;p>La definición de &lt;em>sample&lt;/em> cambia por modelo y es una fuente frecuente de confusión: en los LLM es una secuencia, en DLRMv3 es una petición con un historial de usuario y &lt;strong>2048 candidatos&lt;/strong>, en WAN-2.2 es un par de prompts positivo y negativo, y en PointPainting son cinco imágenes y una nube de puntos lidar.&lt;/p>
&lt;h2 id="cómo-leer-una-fila-de-resultados">Cómo leer una fila de resultados&lt;/h2>
&lt;p>Las columnas de la tabla oficial en división Closed son &lt;em>Submitter, Software, System, Benchmark Results, Processor/Count, Details, Accelerator/Count&lt;/em> y &lt;em>Code&lt;/em>. La división Open añade &lt;em>Model Used&lt;/em> y &lt;em>Notes&lt;/em>. Las filas con medición de potencia añaden &lt;em>System Power&lt;/em> en Server y Offline, o &lt;em>Energy Per Stream&lt;/em> en los escenarios de flujo. Cualquier cita debe usar el identificador con formato &lt;code>versión-mayor.versión-menor.entrada.benchmark&lt;/code>, del estilo &lt;code>5.1-0053&lt;/code>, y llevar un pie con suite, versión, división, benchmark, escenario, fecha y fuente.&lt;/p>
&lt;h3 id="per-accelerator-no-es-una-métrica-oficial">Per-accelerator no es una métrica oficial&lt;/h3>
&lt;p>&lt;strong>No existe columna per-accelerator.&lt;/strong> Es una métrica derivada, y las guías de comunicación de MLCommons son tajantes: cualquier comparación basada en una métrica distinta o derivada, como potencia, coste, tamaño de modelo o precisión, debe dejar clara la base de comparación en el texto y en un pie, y las métricas secundarias y derivadas no pueden presentarse como métricas MLPerf oficiales o verificadas. El propio NVIDIA lo declara con la fórmula estándar en sus blogs de ronda: el rendimiento por GPU no es una métrica primaria de MLPerf Inference y se calcula dividiendo el throughput reportado entre el número de aceleradores reportados. Lo mismo aplica a combinar resultados de varios benchmarks: MLCommons lo permite pero &lt;strong>no lo respalda&lt;/strong>, y el compuesto no puede presentarse como resultado oficial.&lt;/p>
&lt;h3 id="las-reglas-de-comparación">Las reglas de comparación&lt;/h3>
&lt;ul>
&lt;li>Los resultados MLPerf solo pueden compararse &lt;strong>con resultados MLPerf compatibles&lt;/strong>: mismo benchmark, mismo escenario y versiones compatibles según la tabla normativa de compatibilidad.&lt;/li>
&lt;li>Los resultados MLPerf no pueden compararse con resultados no MLPerf.&lt;/li>
&lt;li>Al comparar hay que identificar con claridad cualquier diferencia en versión, división, categoría, estado de verificación, escenario o número de chips. Al comparar Open con Closed, hay que identificar en qué sentido el resultado Open no clasificaría como Closed.&lt;/li>
&lt;li>Los submitters no pueden publicar resultados de una versión antes de su fecha oficial; los no-submitters deben esperar &lt;strong>dos semanas&lt;/strong> desde esa fecha.&lt;/li>
&lt;li>El régimen sancionador llega a prohibir a un infractor presentar resultados en el futuro y a marcar sus resultados como no conformes de forma permanente en la base de datos, con un plazo de retirada del contenido infractor de &lt;strong>tres días hábiles&lt;/strong>.&lt;/li>
&lt;/ul>
&lt;h3 id="cuánta-auditoría-hay-detrás-de-una-fila">Cuánta auditoría hay detrás de una fila&lt;/h3>
&lt;p>En cada ronda se auditan hasta dos submissions: una elegida al azar entre todas y cero o una elegida por el comité de revisión. Y hay una restricción que condiciona la lectura de la tabla entera: solo son auditables las submissions Available de la división Closed. Preview, RDI y Open quedan fuera del proceso. Existe exención de la auditoría aleatoria si el sistema es equivalente a otro ya auditado y ni el rendimiento agregado ni el rendimiento por acelerador se separan más de un 10 % de los de la auditoría anterior. Los plazos son de 28 días para seleccionar auditor, 30 para el informe tras firmar los acuerdos de confidencialidad y unos 90 días para el proceso completo, con &lt;strong>dos días&lt;/strong> de acceso al hardware para el auditor. Las reglas cierran con tres frases que definen el estándar de prueba: los resultados que no se pueden replicar no son resultados válidos, la detección del benchmark no está permitida y la optimización basada en la entrada tampoco.&lt;/p>
&lt;h2 id="las-rondas-recientes-en-cifras">Las rondas recientes, en cifras&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Ronda&lt;/th>
&lt;th>Organizaciones&lt;/th>
&lt;th>Resultados de rendimiento&lt;/th>
&lt;th>Resultados de potencia&lt;/th>
&lt;th>Benchmarks nuevos&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>v4.0&lt;/td>
&lt;td>23&lt;/td>
&lt;td>más de 8 500&lt;/td>
&lt;td>900&lt;/td>
&lt;td>2&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>v4.1&lt;/td>
&lt;td>22&lt;/td>
&lt;td>964&lt;/td>
&lt;td>31&lt;/td>
&lt;td>1&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>v5.0&lt;/td>
&lt;td>23&lt;/td>
&lt;td>17 457&lt;/td>
&lt;td>n/d&lt;/td>
&lt;td>4&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>v5.1&lt;/td>
&lt;td>27&lt;/td>
&lt;td>n/d&lt;/td>
&lt;td>2&lt;/td>
&lt;td>3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>v6.0&lt;/td>
&lt;td>24&lt;/td>
&lt;td>n/d&lt;/td>
&lt;td>n/d&lt;/td>
&lt;td>5 de 11 tests Datacenter&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Estos recuentos no forman una serie temporal: los criterios de conteo difieren entre notas de prensa y ninguna documenta el criterio, hasta el punto de que v4.0 y v4.1 se separan en un factor cercano a nueve.&lt;/p>
&lt;p>Los saltos de rendimiento publicados sí son comparables dentro de cada anuncio. Entre v4.0 y v5.0, con doce meses de diferencia, el número de submissions de Llama 2 70B se multiplicó por 2,5, la &lt;strong>mediana&lt;/strong> de la puntuación se duplicó y la mejor puntuación fue &lt;strong>3,3 veces más rápida&lt;/strong>. Entre v5.0 y v5.1, en seis meses, los mejores sistemas mejoraron &lt;strong>hasta un 50 %&lt;/strong> en algunos escenarios. La ronda v6.0 cambió de eje y su nota de prensa habla de escala en lugar de velocidad: un 30 % más de submissions multinodo, un 10 % de los sistemas con más de diez nodos frente al 2 % de la ronda anterior, y un sistema mayor de 72 nodos y 288 aceleradores, cuadruplicando el nodo máximo previo.&lt;/p>
&lt;p>Hardware que debutó en cada ronda: MI300X, TPU v6e, Xeon Granite Rapids y B200 en v4.1; MI325X, Xeon 6980P, GB200 y Jetson AGX Thor en v5.0; MI355X, Intel Arc Pro B60, GB300 y RTX Pro 6000 Blackwell Server Edition en v5.1.&lt;/p>
&lt;h2 id="qué-no-mide-mlperf-inference">Qué no mide MLPerf Inference&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Coste.&lt;/strong> No existe métrica de coste ni de TCO, y el coste está clasificado explícitamente como métrica derivada que no puede presentarse como oficial.&lt;/li>
&lt;li>&lt;strong>Energía, salvo extensión opcional.&lt;/strong> MLPerf Power se regula en documento aparte, exige medir a la pared con el flujo de trabajo del grupo de potencia y PTDaemon, y prohíbe cualquier otro método. Su adopción real es marginal: 2 submissions de potencia en v5.1 frente a 27 organizaciones participantes. Además, MLCommons acota qué significa esa cifra: la potencia medida solo vale para el benchmark que la acompaña, y cualquier otra referencia a potencia, como una configuración de TDP o el rating de una fuente, no está medida ni validada por MLCommons. La norma de comunicación prohíbe a los submitters publicar comparaciones normalizadas por vatio que usen cualquier proxy distinto de la potencia medida.&lt;/li>
&lt;li>Configuraciones no optimizadas por el fabricante. El sesgo está reconocido en la propia norma de auditoría, que contempla submissions cuyo rendimiento no es consistente con las características conocidas del hardware, o donde el comité carece de visibilidad sobre cómo se alcanzó, o donde hardware y software no están razonablemente disponibles para el público.&lt;/li>
&lt;li>&lt;strong>Barrera de entrada.&lt;/strong> Solo los miembros de MLCommons y los &lt;em>test partners&lt;/em> pueden presentar resultados a revisión. Quien mide con el mismo código sin presentar debe etiquetar cada cifra como &lt;strong>no verificada&lt;/strong> con la leyenda correspondiente.&lt;/li>
&lt;/ul>
&lt;h2 id="flujo-de-uso-para-una-plataforma-on-premise">Flujo de uso para una plataforma on-premise&lt;/h2>
&lt;p>MLPerf Inference es útil en una decisión de compra si se usa por lo que es, un banco de pruebas con reglas escritas, y no como ranking.&lt;/p>
&lt;ol>
&lt;li>Filtrar por división y categoría antes de mirar ningún número: quedarse con Closed y Available. Un resultado Preview o RDI describe hardware que todavía no se puede comprar, y ninguno de los dos es auditable.&lt;/li>
&lt;li>Elegir el escenario que corresponde al patrón de carga: Server o Interactive si hay usuarios esperando, Offline si el trabajo es por lotes. Un resultado Offline no autoriza a prometer una latencia.&lt;/li>
&lt;li>Leer el SLO antes del throughput: en cualquier benchmark LLM, el número de queries por segundo solo significa algo junto a su par TTFT/TPOT. La misma máquina publica cifras muy distintas bajo Server y bajo Interactive.&lt;/li>
&lt;li>Comprobar la variante de calidad: 99 % y 99,9 % son resultados diferentes del mismo modelo, y el segundo suele costar rendimiento.&lt;/li>
&lt;li>Traducir a la propia configuración con cuidado: dividir entre el número de aceleradores es una métrica derivada, no oficial, y hay que declararla como tal.&lt;/li>
&lt;li>Cerrar el hueco que MLPerf deja abierto con medición propia: coste, energía y el comportamiento bajo el tráfico real. Esa es exactamente la función del harness reproducible y de las herramientas de bench del track B, y la razón por la que ninguna decisión de plataforma se sostiene solo sobre una tabla pública.&lt;/li>
&lt;/ol>
&lt;h2 id="cross-links-del-track-de-benchmarking">Cross-links del track de benchmarking&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://blog.lo0.es/posts/benchmarking-llm-frameworks-estado-del-arte/">B1/B2 — Benchmarking de inferencia LLM: frameworks, métricas y estado del arte&lt;/a>: las métricas TTFT, TPOT y goodput fuera del corsé de MLPerf, y qué herramienta mide cada una.&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/posts/herramientas-benchmark-llm-ficha-a-ficha/">B2 — Catálogo de herramientas de benchmark LLM&lt;/a>: las herramientas con las que se reproduce en casa lo que MLPerf estandariza.&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/posts/guidellm-validacion-slo-bajo-carga/">B3 — GuideLLM y la validación de SLO bajo carga&lt;/a>: el equivalente práctico de la búsqueda binaria de LoadGen en el escenario Server.&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/posts/sesgo-medicion-reproducibilidad-bench/">B6 — Sesgo de medición y reproducibilidad&lt;/a>: por qué existe LoadGen, contado desde el lado de lo que pasa cuando no lo hay.&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/posts/comparativa-motores-serving-pareto/">B8 — Comparativa de motores de serving en frontera de Pareto&lt;/a>: la comparación que MLPerf no hace, con motores en lugar de sistemas.&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/posts/mlperf-power-eficiencia-energetica/">C4 — MLPerf Power&lt;/a>: la extensión energética de esta misma maquinaria, con su medición certificada a la pared.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="ver-también">Ver también&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://blog.lo0.es/posts/harness-reproducible-medicion-coste-rendimiento-energia/">El harness reproducible: coste, rendimiento y energía en un solo experimento auditable&lt;/a> — cómo montar en casa el equivalente auditable de una submission, midiendo además lo que MLPerf deja fuera.&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/posts/dimensionar-justificar-inversion-gpu/">Dimensionar y justificar la inversión en GPU&lt;/a> — el paso de una cifra de throughput bajo SLO al número de aceleradores y al retorno.&lt;/li>
&lt;/ul>
&lt;h2 id="fuentes">Fuentes&lt;/h2>
&lt;ul>
&lt;li>MLCommons, &lt;em>MLPerf Inference Working Group&lt;/em> — &lt;a href="https://mlcommons.org/working-groups/benchmarks/inference/">https://mlcommons.org/working-groups/benchmarks/inference/&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>MLPerf Inference Rules (inference_rules.adoc)&lt;/em> — &lt;a href="https://github.com/mlcommons/inference_policies/blob/master/inference_rules.adoc">https://github.com/mlcommons/inference_policies/blob/master/inference_rules.adoc&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>MLPerf Inference Power Measurement (power_measurement.adoc)&lt;/em> — &lt;a href="https://github.com/mlcommons/inference_policies/blob/master/power_measurement.adoc">https://github.com/mlcommons/inference_policies/blob/master/power_measurement.adoc&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>MLPerf Submission Rules (submission_rules.adoc)&lt;/em> — &lt;a href="https://github.com/mlcommons/policies/blob/master/submission_rules.adoc">https://github.com/mlcommons/policies/blob/master/submission_rules.adoc&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>MLPerf Results Messaging Guidelines&lt;/em> — &lt;a href="https://github.com/mlcommons/policies/blob/master/MLPerf_Results_Messaging_Guidelines.adoc">https://github.com/mlcommons/policies/blob/master/MLPerf_Results_Messaging_Guidelines.adoc&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>LoadGen README&lt;/em> — &lt;a href="https://github.com/mlcommons/inference/blob/master/loadgen/README.md">https://github.com/mlcommons/inference/blob/master/loadgen/README.md&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>loadgen/test_settings.h&lt;/em> — &lt;a href="https://github.com/mlcommons/inference/blob/master/loadgen/test_settings.h">https://github.com/mlcommons/inference/blob/master/loadgen/test_settings.h&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>loadgen/mlperf.conf (master)&lt;/em> — &lt;a href="https://github.com/mlcommons/inference/blob/master/loadgen/mlperf.conf">https://github.com/mlcommons/inference/blob/master/loadgen/mlperf.conf&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>loadgen/mlperf.conf (tag v5.1)&lt;/em> — &lt;a href="https://github.com/mlcommons/inference/blob/v5.1/loadgen/mlperf.conf">https://github.com/mlcommons/inference/blob/v5.1/loadgen/mlperf.conf&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>loadgen/mlperf.conf (tag v5.0)&lt;/em> — &lt;a href="https://github.com/mlcommons/inference/blob/v5.0/loadgen/mlperf.conf">https://github.com/mlcommons/inference/blob/v5.0/loadgen/mlperf.conf&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>tools/submission/submission_checker.py (tag v5.0)&lt;/em> — &lt;a href="https://github.com/mlcommons/inference/blob/v5.0/tools/submission/submission_checker.py">https://github.com/mlcommons/inference/blob/v5.0/tools/submission/submission_checker.py&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>compliance/nvidia TEST06 README (tag v5.1)&lt;/em> — &lt;a href="https://github.com/mlcommons/inference/blob/v5.1/compliance/nvidia/TEST06/README.md">https://github.com/mlcommons/inference/blob/v5.1/compliance/nvidia/TEST06/README.md&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>Benchmark results: Inference Datacenter&lt;/em> — &lt;a href="https://mlcommons.org/benchmarks/inference-datacenter/">https://mlcommons.org/benchmarks/inference-datacenter/&lt;/a>&lt;/li>
&lt;li>Reddi et al., &lt;em>MLPerf Inference Benchmark&lt;/em>, ISCA 2020 — &lt;a href="https://arxiv.org/abs/1911.02549">https://arxiv.org/abs/1911.02549&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>MLPerf Inference v5.0 Benchmark Results&lt;/em> (abril 2025) — &lt;a href="https://www.businesswire.com/news/home/20250402313932/en/MLCommons-Releases-New-MLPerf-Inference-v5.0-Benchmark-Results">https://www.businesswire.com/news/home/20250402313932/en/MLCommons-Releases-New-MLPerf-Inference-v5.0-Benchmark-Results&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>MLPerf Inference v5.1 Benchmark Results&lt;/em> (septiembre 2025) — &lt;a href="https://www.globenewswire.com/news-release/2025/09/09/3147136/0/en/MLCommons-Releases-New-MLPerf-Inference-v5-1-Benchmark-Results.html">https://www.globenewswire.com/news-release/2025/09/09/3147136/0/en/MLCommons-Releases-New-MLPerf-Inference-v5-1-Benchmark-Results.html&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>MLPerf Inference v6.0 Benchmark Results&lt;/em> (abril 2026) — &lt;a href="https://www.globenewswire.com/news-release/2026/04/01/3266801/0/en/MLCommons-Releases-New-MLPerf-Inference-v6-0-Benchmark-Results.html">https://www.globenewswire.com/news-release/2026/04/01/3266801/0/en/MLCommons-Releases-New-MLPerf-Inference-v6-0-Benchmark-Results.html&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>MLPerf Inference v4.1 Benchmark Results&lt;/em> (agosto 2024) — &lt;a href="https://www.businesswire.com/news/home/20240828886616/en/New-MLPerf-Inference-v4.1-Benchmark-Results-Highlight-Rapid-Hardware-and-Software-Innovations-in-Generative-AI-Systems">https://www.businesswire.com/news/home/20240828886616/en/New-MLPerf-Inference-v4.1-Benchmark-Results-Highlight-Rapid-Hardware-and-Software-Innovations-in-Generative-AI-Systems&lt;/a>&lt;/li>
&lt;li>NVIDIA Developer Blog, &lt;em>NVIDIA Blackwell delivers massive performance leaps in MLPerf Inference v5.0&lt;/em> — &lt;a href="https://developer.nvidia.com/blog/nvidia-blackwell-delivers-massive-performance-leaps-in-mlperf-inference-v5-0/">https://developer.nvidia.com/blog/nvidia-blackwell-delivers-massive-performance-leaps-in-mlperf-inference-v5-0/&lt;/a>&lt;/li>
&lt;li>NVIDIA Developer Blog, &lt;em>NVIDIA Blackwell Ultra sets new inference records in MLPerf debut&lt;/em> — &lt;a href="https://developer.nvidia.com/blog/nvidia-blackwell-ultra-sets-new-inference-records-in-mlperf-debut/">https://developer.nvidia.com/blog/nvidia-blackwell-ultra-sets-new-inference-records-in-mlperf-debut/&lt;/a>&lt;/li>
&lt;li>MLCommons, &lt;em>MLPerf Automotive&lt;/em> (octubre 2025) — &lt;a href="https://arxiv.org/html/2510.27065v1">https://arxiv.org/html/2510.27065v1&lt;/a>&lt;/li>
&lt;li>Tschand et al., &lt;em>MLPerf Power: Benchmarking the Energy Efficiency of Machine Learning Systems from Microwatts to Megawatts&lt;/em> — &lt;a href="https://arxiv.org/abs/2410.12032">https://arxiv.org/abs/2410.12032&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>