Volver al archivo
#ai#llm#glossary#aigen

Batching continuo

El servidor genera dos respuestas al mismo tiempo. Una termina pronto y la otra es larga. Si el siguiente usuario tiene que esperar a que termine toda la pareja, la plaza liberada se desperdicia durante muchos pasos.

Continuous Batching permite cambiar la composición del grupo de solicitudes atendidas entre las sucesivas iteraciones del modelo. Una respuesta terminada abandona el batch —el grupo procesado conjuntamente— y una nueva solicitud puede ocupar su lugar.

La respuesta larga sigue desarrollándose mientras la corta es sustituida por la siguiente. La selección de los participantes corresponde al scheduler, el programa que planifica el trabajo. No hace falta esperar al participante más lento de todo el grupo anterior.

Este aprovechamiento de las plazas puede aumentar el rendimiento, pero no garantiza una espera menor a todos los usuarios. Importan las longitudes de las solicitudes, los límites de memoria y las reglas de planificación. Con longitudes similares, la ventaja sobre un grupo fijo puede ser pequeña.

Fuente del mecanismo: Orca, §3, «Iteration-level scheduling».

Mecanismo y detalles

Una prensa con dos carriles: una cinta turquesa larga sigue avanzando, mientras una naranja ocupa el lugar de una corta de color ocre.

Es especialmente útil en Decode: una persona necesita una respuesta breve y otra varios cientos de tokens. Reunir varias solicitudes antes de ejecutar el modelo no basta para poder cambiar la composición de un batch que ya está en marcha. Una solicitud nueva también necesita Prefill; la gestión de esta etapa junto con la generación depende de la implementación del motor.

¿Debe C esperar a A?

Experimento propio: hay dos espacios disponibles. A y B están listas en el instante 0 y necesitan seis y dos rondas, respectivamente. C queda lista en el instante 1 y necesita dos rondas. En ambas variantes realizamos los mismos cálculos, pero en el grupo fijo el espacio de B no admite C hasta que termina A.

Con batching continuo, C empieza en el instante 2 y termina en el 4; con un grupo fijo, empieza en el 6 y termina en el 8. Cambia B a seis rondas: en ese caso desaparece la liberación temprana del espacio y ambas estrategias producen el mismo calendario.

Las rondas tienen aquí una duración convencional e igual. Prefill y las transferencias quedan fuera del experimento; «lista» significa lista para las rondas mostradas. En la GPU, el tiempo de una iteración depende de su trabajo, así que el número de espacios ocupados no es un porcentaje de utilización del dispositivo.

Poder incorporar una solicitud no garantiza que empiece inmediatamente: se aplican los límites de memoria y la política del planificador (Orca, §4.2). PagedAttention facilita la gestión de memoria, pero no establece por sí solo el orden de atención.

Utilizo contenido generado por IA como parte de mi proceso de aprendizaje diario.