Inferencia en tiempo realReal-Time Inference
Terminar cada juicio dentro de un tiempo fijo, siempre
- La inferencia en tiempo real no depende solo de acertar: también depende de si termina dentro de un tiempo fijado de antemano.
- Una respuesta correcta que llega tarde vale igual que una equivocada. Mientras tanto, la imagen ya pasó al cuadro siguiente.
- El tiempo que tarda en procesar un cuadro tiene que ser más corto que el intervalo con que llegan los cuadros, o si no se atrasa.
- Si no llega a tiempo, se salta algún cuadro o se cambia a un método más liviano para ganar tiempo.
- El tiempo de ida y vuelta hasta un servidor también entra en el presupuesto. Por eso a veces se elige calcular dentro del propio dispositivo.
Contenido
1La analogía
Al caminar hacia una puerta automática, la puerta se desliza y se abre. Mientras el sensor detecta que alguien se acerca, el motor gira y la hoja se corre hacia un costado, la persona sigue caminando. Todo eso tiene que terminar antes de que la persona llegue a la puerta.
De nada sirve que la puerta juzgue con total precisión si llega tarde. Una puerta que se queda un instante dudando antes de abrirse se siente como una puerta rota. Acá, si la respuesta salió a tiempo importa más que si la respuesta fue correcta.
Por eso las puertas automáticas se abren un poco antes y son un poco menos exigentes. Prefieren arriesgarse a abrirse de más con alguien que solo pasa cerca, con tal de no llegar tarde.
2En detalle
Primero se fija el presupuesto de tiempo
La palabra "tiempo real" no trae un número fijo. Lo define el uso. Si es para mostrar algo encima de una imagen de webcam, entran unos treinta cuadros por segundo, así que el tiempo que hay para cada cuadro es ese intervalo. Adentro de ese tiempo tiene que entrar leer, decidir y dibujar.
Un asistente que responde por voz tiene un margen mucho más holgado, porque la persona espera la respuesta. Al revés, revisar objetos que pasan rápido por una cinta es mucho más ajustado. El mismo modelo puede ser tiempo real en un uso y no serlo en otro.
En el presupuesto no entra solo el tiempo de cálculo. El tiempo en que la imagen llega desde la cámara, el tiempo de ajustar el tamaño, el tiempo de dibujar el resultado en pantalla: todo sale de la misma bolsa. Aunque el modelo solo sea rápido, el conjunto puede llegar tarde igual.
Una sola demora se agranda como una bola de nieve
Basta con pasarse un poco del tiempo asignado a un cuadro para que el problema crezca. Mientras se procesa, llega el cuadro siguiente y se pone en fila, y después llega otro más. Si la velocidad de procesar no alcanza a la velocidad con que llegan los cuadros, la fila se alarga sin parar, y lo que se ve en pantalla es cada vez el resultado de un cuadro más viejo.
En pocos segundos aparece la situación rara de que, después de agitar la mano, el aviso llega recién un buen rato después. Por eso un programa que corre en tiempo real no deja que se acumule la fila. En cuanto empieza a atrasarse, directamente descarta cuadros intermedios. Procesar diez de treinta cuadros y mostrar el actual es mucho mejor que mostrar uno viejo.
Aunque el resultado se vea un poco cortado por los cuadros salteados, es mejor que un resultado tarde. En un procesamiento en tiempo real, descartar no es un fallo: es funcionamiento normal.
Formas de ganar tiempo
Lo primero que se toca es el tamaño de la entrada. Reducir la imagen a la mitad baja mucho la cantidad de puntos que hay que revisar. Si el uso hace que la cara ocupe toda la pantalla, una imagen chica alcanza igual.
Después viene cambiar el modelo mismo por uno más liviano. Suelen existir varios tamaños para la misma tarea, así que se puede elegir uno un poco menos preciso pero mucho más rápido. Reducir la cantidad de dígitos con que se manejan los números también ayuda a aligerar el cálculo.
También se puede repartir el trabajo. El juicio pesado se hace solo cada tantos cuadros, y en el resto se arrastra el resultado anterior para seguir el ritmo. Como no hace falta buscar todo de nuevo en cada cuadro, sobra mucho más presupuesto.
Importa el peor caso, no el promedio
El "tiempo promedio de procesamiento" no es de fiar en tiempo real. Si veinte cuadros se procesan rápido y de repente uno tarda mucho, la pantalla salta en ese instante, y la persona se acuerda justo de esa vez. Es común que el promedio esté perfecto y aun así el uso resulte incómodo.
Por eso se mira aparte el porcentaje de los casos más lentos. Estos saltos aparecen cuando otro programa interrumpe un momento, cuando se reserva memoria nueva, o cuando el dispositivo se calienta y baja la velocidad. Reservar de antemano el espacio y procesar siempre con el mismo tamaño ayuda a que estos saltos disminuyan.
Dónde se calcula cambia todo
Mandar el cálculo a un servidor lejano permite usar un equipo mucho más potente, pero el tiempo de ida y vuelta para enviar la imagen y recibir el resultado se suma entero al presupuesto. Si la conexión tiembla un momento, justo ese instante se atrasa mucho.
Por eso, lo que debe responder de inmediato en pantalla suele elegir procesarse dentro del propio dispositivo. A cambio hay que usar un modelo liviano que corra en el navegador o en el teléfono. También se mezcla: el juicio pesado se manda al servidor de vez en cuando, y el resto se procesa en el dispositivo.
3Con más precisión
En la inferencia en tiempo real se confunden a menudo dos valores. El tiempo que pasa desde que entra un caso hasta que sale la respuesta es uno, y la cantidad de casos procesados en un tiempo fijo es otro, distinto. Si se juntan varios casos en un lote para calcularlos de una sola vez, sube la cantidad procesada, pero cada caso individual tarda más en recibir su respuesta. Por eso, donde hace falta responder en pantalla, se usan lotes chicos o se procesa caso por caso.
También hay un punto donde la analogía se queda corta. La puerta automática solo tiene que decidir una vez si se abre o no, pero la inferencia en tiempo real da una respuesta nueva a cada instante, y esa respuesta cambia todo el tiempo. A cambio, tiene la ventaja de poder arrastrar la respuesta del instante anterior, así que puede seguir el ritmo con mucho menos trabajo que si tuviera que buscar todo de cero cada vez. Además, la persona frente a una puerta automática al menos se detiene y espera un poco, pero un video que fluye no espera a nadie.
4Pruébalo
5Malentendidos comunes
Es fácil pensar que "tiempo real" tiene un umbral de velocidad fijo, pero en realidad el tiempo permitido cambia según dónde se use, así que el mismo modelo puede ser tiempo real en un lugar y no serlo en otro.
Es fácil creer que con hacer el modelo más rápido ya es tiempo real, pero en realidad el tiempo de leer la imagen, ajustar el tamaño y dibujar el resultado sale del mismo presupuesto.
Es fácil suponer que alcanza con que el tiempo promedio no supere el límite, pero en realidad lo que decide la sensación de uso es esa vez ocasional en que el tiempo se dispara.
7Resumen en una línea
En resumenLa inferencia en tiempo real termina cada juicio dentro de un tiempo corto fijado de antemano, y en ese terreno una respuesta correcta que llega tarde vale igual que una equivocada.
¿Has visto un error o tienes una analogía mejor? Sugerir una corrección · Última actualización2026-09-02