ELAI S.r.l.

Una IA responde en 8 milisegundos: ¿llega realmente a tiempo?

Dos trazas con igual media muestran por qué evaluar sistemas embedded exige plazos, percentiles e incertidumbre estadística, además de velocidad.

Una IA responde en 8 milisegundos: ¿llega realmente a tiempo?

La pregunta que la media no resuelve

Un sensor óptico inspecciona una pieza y un modelo de IA debe responder en 10 milisegundos desde la adquisición. El informe indica 8 ms de latencia media. ¿Podemos decir que llega a tiempo? Todavía no: la media reparte el tiempo total entre ensayos, pero no cuenta respuestas tardías. Una clasificación correcta puede ser inútil si la pieza ya pasó el punto de actuación.

Resumen. Construimos dos conjuntos de mil latencias con igual media, calculamos percentiles y retrasos y añadimos otras fases del dispositivo. Derivamos qué significa observar cero retrasos en una muestra finita. Pasamos de la pregunta práctica a la probabilidad binomial sin presuponer estadística. Son datos sintéticos construidos explícitamente, no medidas de placas, aceleradores o productos EL-AI.

Primero definamos qué reloj medimos

La latencia es tiempo entre eventos elegidos. «Llamada a función hasta retorno» difiere de «muestra del sensor hasta resultado disponible para actuar». La deadline es el plazo necesario. La inferencia puede excluir lectura, preparación, copias y esperas. Fijamos D=10 ms y retraso L>D; exactamente 10 ms cuenta como puntual. Hay que explicitarlo.

Primero aislamos inferencia. No simulamos colas: las pruebas están suficientemente separadas. No se ejecuta un modelo neuronal. A contiene mil valores de 8 ms; B, 990 de 7,8 ms y diez de 27,8 ms. Guardamos microsegundos enteros: 7,8 ms son 7800, evitando efectos de redondeo en los conteos.

Igual media, respuestas distintas

La media suma tiempos y divide por ensayos. En B, muchos casos rápidos compensan exactamente unos lentos. La fórmula es correcta; responde a otra pregunta que la puntualidad.

mean(B) = (990 × 7.8 + 10 × 27.8) / 1000 = 8.0 ms miss_fraction = count(L > D) / n

A no tiene retrasos en la traza; B tiene diez, un 1%. B suele ser más rápido, pero falla en una minoría que la media oculta. No sabemos si A sería regular en hardware: lo construimos así. Demuestra una posibilidad matemática, no superioridad arquitectónica. Igual exactitud de clasificación tampoco eliminaría esa diferencia temporal.

El percentil es un umbral, no el peor caso

Para el percentil 99 ordenamos mil tiempos y tomamos la posición 990. Usamos nearest rank: índice matemático ceil(q n), q entre cero y uno. El código resta uno porque las listas empiezan en cero. Al menos el 99% queda por debajo o igual al umbral, sin que el 1% restante deba parecerse. Otras bibliotecas interpolan: es necesario conocer la convención.

TrazaMedia msp99 msp99.9 msMáx observado msRetrasos / 1000
A8.08.08.08.00
B8.07.827.827.810

B tiene incluso mejor p99 que A pese a diez retrasos. En p99.9 entramos en la cola lenta: 27,8 ms. «P99 menor de 10 ms» puede ser razonable si se permiten retrasos, pero no significa todas las respuestas bajo 10 ms. El máximo observado de 27,8 ms no demuestra un límite para cualquier entrada y estado futuro.

Dos trazas sintéticas: izquierda, proporción que supera un umbral; derecha, límite estadístico tras cero retrasos con ensayos independientes. Escalas e hipótesis separan datos construidos e inferencia.
Dos trazas sintéticas: izquierda, proporción que supera un umbral; derecha, límite estadístico tras cero retrasos con ensayos independientes. Escalas e hipótesis separan datos construidos e inferencia.

En el panel izquierdo B sigue en 1% entre 8 y 27,8 ms: subir el umbral de 10 a 20 ms no rescata esos diez casos. Llega a cero en 27,8 ms porque contamos L>D. A llega a cero en 8 ms. Ver toda la curva evita decidir por un solo percentil. Explicaremos el panel derecho tras distinguir muestra y población.

El dispositivo no es solo el modelo

Añadimos 1,5 ms constantes por adquisición, preparación y entrega, sin solapamiento. Es una hipótesis didáctica, no medida. Ltot=Linf+1,5 ms: ambas medias pasan a 9,5; A queda en 9,5, B tiene 990 resultados en 9,3 y diez en 29,3. Sigue habiendo 1% de retrasos, pero cambia el margen normal. Medir solo el núcleo neuronal omitiría esas fases.

La suma es sencilla porque el coste añadido es constante. Sumar los p99 de dos fases no da en general el p99 total: importa qué latencias coinciden. Hay que medir fases de la misma solicitud con identificadores o disponer de límites válidos por fase. Las tuberías solapadas y aceleradores asíncronos exigen separar envío y finalización real.

Cero retrasos no significa probabilidad cero

Imaginemos ahora n ensayos reales independientes bajo condiciones estables y sin retrasos. La hipótesis no convierte nuestras trazas sintéticas en mediciones. Sea p la probabilidad desconocida y constante de retraso. No fallar una vez tiene probabilidad 1−p; en n ensayos independientes se multiplican. Un evento raro puede escapar de una campaña breve.

P(K=0 | p,n) = (1−p)ⁿ (1−pU)ⁿ = α ⇒ pU = 1 − α^(1/n)

K cuenta retrasos, n ensayos y α es el umbral de probabilidad. Para un límite superior unilateral del 95% usamos α=0,05. Buscamos pU que haga cero retrasos probable al 5%. Con n=1000, pU≈0,002991, aproximadamente 0,299%. Cero de mil no justifica «menos de uno por mil con confianza del 95%»: el límite sigue cerca de tres por mil.

La confianza describe la cobertura del procedimiento en campañas repetidas bajo el modelo; no da probabilidad subjetiva a un parámetro fijo ni garantiza la próxima ejecución. El panel derecho muestra el descenso con n. Hacen falta observaciones informativas, no copias del mismo caso. Si carga y temperatura agrupan retrasos, la independencia es dudosa y la fórmula no es un atajo.

¿Cuántos ensayos exigiría un objetivo?

Podemos invertir el cálculo antes de probar. Para un límite no mayor que ε y aceptación con cero retrasos, exigimos (1−ε)ⁿ≤α. Tomando logaritmos, log(1−ε) es negativo y resulta el mínimo siguiente. Dividir por negativo invierte la desigualdad: importa para no diseñar una prueba demasiado corta.

n ≥ ceil(log(α) / log(1−ε)) α = 0.05, ε = 0.001 ⇒ n ≥ 2995

Harían falta al menos 2995 ensayos independientes sin retrasos para ese límite unilateral. Un solo retraso invalida la fórmula de cero eventos y exige el cálculo binomial apropiado. No certifica el sistema: define un experimento estadístico. Si p fuese 1%, cien solicitudes independientes tendrían probabilidad 1−0,99¹⁰⁰≈63,4% de algún retraso. Raro por solicitud puede ser frecuente en una secuencia.

Del ejemplo al protocolo en dispositivo

Primero hay que fijar los límites temporales. En llamadas asíncronas, parar tras enviar mide envío, no finalización. El contador necesita resolución, conversión y manejo del desbordamiento. La documentación oficial de Zephyr lee contadores antes y después del bloque y convierte ciclos a tiempo; el temporizador depende de arquitectura, SoC o placa. No ejecutamos esa API en hardware.

Registraría revisión de placa, procesador, frecuencias, versión de sistema o runtime, compilador y opciones, modelo y precisión, formas de entrada, memoria y muestras. Separaría arranque frío y régimen, documentando calentamiento, concurrencia, interrupciones y temperatura. No descartaría casos lentos sin saber si son errores o eventos reales. Usar milisegundos no hace comparables protocolos distintos.

Pesos del modelo y pico de RAM son distintos; también latencia, potencia y energía por inferencia. No deducimos consumo de tiempos sintéticos. Los requisitos temporales rígidos necesitan justificar el peor caso permitido, incluyendo bloqueos e interferencias, no un percentil. Si se toleran retrasos, pueden convenir distribuciones medidas y una política de resultados caducados. Depende de consecuencias que aquí no cuantificamos.

Reproducir el resultado e interpretar el código

El paquete incluye listas completas, generador, JSON y gráficos. Sin azar no requiere semilla. Comparar t con 10000 cuenta retrasos en microsegundos; dividir por 1000 convierte a milisegundos. El percentil ordena y usa el rango declarado. expm1 y log1p reducen pérdidas de precisión cerca de uno: son elecciones numéricas, no nuevos modelos estadísticos.

Los controles verifican media 8 ms, diez retrasos en B, p99 de 7,8 ms y mínimo 2995 ensayos. El código comprueba que 2995 cumple la desigualdad y 2994 no. No hay un test de rendimiento de Zephyr o redes oculto tras estos resultados. Los datos reales exigirían mediciones trazables y revisar independencia, entradas y estabilidad.

Respuesta a la pregunta inicial

Una media de 8 ms no demuestra puntualidad. Defina inicio y fin, cuente retrasos, observe la cola y separe observación y garantía. B parece mejor en p99 pero falla diez de mil; incluso cero fallos en mil ensayos independientes deja un límite cercano al 0,3%. Mida el requisito real, sin pedir a la media una respuesta que no contiene.

Fuentes y límites de atribución

NIST aporta la referencia de límites binomiales exactos; derivamos el caso unilateral de cero eventos. Zephyr explica contadores, conversiones y límites de medida, consultado en web el 28 de septiembre de 2026, no como firmware usado. Es una monografía didáctica reproducible, no benchmark de hardware, investigación original ni prueba de un producto embedded EL-AI disponible.

NIST — Exact Binomial Confidence Limits.

Zephyr — Executing Time Functions.

Zephyr — Kernel Timing.

from math import ceil, log, log1p, expm1
x = [7800]*990 + [27800]*10  # synthetic microseconds
q99 = sorted(x)[ceil(.99*len(x))-1]
print("mean ms:", sum(x)/len(x)/1000)
print("p99 ms:", q99/1000)
print("deadline misses:", sum(t > 10000 for t in x))
print("95% upper p after 1000 independent zero-miss trials:",
      -expm1(log(.05)/1000))
print("zero-miss trials for upper p <= .001:",
      ceil(log(.05)/log1p(-.001)))
# Constructed data; no hardware timing was performed.

Código, datos e instrucciones · JSON. Cálculos didácticos ejecutados con Python 3.14.0; figuras con Matplotlib 3.11.2. Análisis asistido por IA, sin afirmar revisión por pares ni humana. Portada original ImageGen ilustrativa: no documenta personas, sedes ni instalaciones de EL-AI. Fuentes consultadas el 28 de septiembre de 2026.