El equipo de Moondream analiza en profundidad un problema frecuente en la inferencia de modelos de IA: las llamadas burbujas de GPU, periodos en los que el procesador gráfico permanece inactivo porque la CPU aún no le ha indicado la siguiente tarea. El artículo explica por qué aparecen durante el bucle de decodificación autoregresiva, en el que se genera un token cada vez y se repite un trasiego constante entre CPU y GPU.
La compañía, detrás del motor Photon, presenta como solución una técnica de decodificación en pipeline (pipelined decoding) que solapa el trabajo de ambos procesadores. En lugar de esperar a que la CPU planifique, lance y confirme cada paso antes de iniciar el siguiente, se inicia el forward del siguiente token mientras la CPU termina de procesar el resultado anterior. El token muestreado permanece en la memoria de la GPU, lo que elimina la espera.
El texto detalla tres mecanismos de apoyo: el uso de dos slots alternos tipo ping-pong para evitar colisiones en los búferes del modelo, el reordenamiento de muestreo para decodificación restringida (forward primero, muestreo después) y, finalmente, la gestión de solicitudes finalizadas. También se describen transferencias DMA asíncronas, gráficos CUDA y eventos de streams para reducir aún más los tiempos muertos. El conjunto permite aprovechar mejor el hardware y aumentar la velocidad de generación token a token.
