La primera vez que presté atención a la eficiencia del caché KV en OpenGradient no fue porque la latencia se veía mal. Fue porque la utilización parecía extrañamente desigual.
Al principio, culpé a la computación. Esa era la explicación obvia. Pero la verdadera presión estaba en la memoria, donde los prompts largos estaban ocupando el caché KV como habitaciones alquiladas que no estaban utilizando completamente.
Durante una prueba de OpenGradient, estaba ejecutando lotes con solicitudes que variaban de aproximadamente 2k a 16k tokens. Algunas solicitudes finalizaban rápidamente, mientras que otras continuaban reservando memoria mucho más tiempo del que su carga de trabajo de generación justificaba.
Lo que destacaba era cuán costoso se vuelve el espacio de caché no utilizado cuando las longitudes de contexto varían. Una sola solicitud de 16k tokens puede consumir varias veces más memoria KV que una solicitud de 4k tokens, incluso cuando ambas generan longitudes de salida similares. A través de docenas de sesiones concurrentes, esa diferencia se acumula rápido.
En un experimento, reducir la asignación de KV desperdiciado mejoró la capacidad de solicitudes concurrentes en aproximadamente un 20–30% antes de que la presión de memoria se convirtiera en el cuello de botella. La computación no era el factor limitante. La memoria sí lo era.
Esa es la parte que mucha gente subestima. Las discusiones sobre la infraestructura de IA a menudo se centran en el tamaño del modelo, el conteo de GPU o la velocidad de generación de tokens. Mientras tanto, unos pocos gigabytes de mala.
@OpenGradient
#OPG
$OPG
$HEI
$SYN
¿Cuál es la restricción más pasada por alto en la inferencia de IA hoy en día?
Al principio, culpé a la computación. Esa era la explicación obvia. Pero la verdadera presión estaba en la memoria, donde los prompts largos estaban ocupando el caché KV como habitaciones alquiladas que no estaban utilizando completamente.
Durante una prueba de OpenGradient, estaba ejecutando lotes con solicitudes que variaban de aproximadamente 2k a 16k tokens. Algunas solicitudes finalizaban rápidamente, mientras que otras continuaban reservando memoria mucho más tiempo del que su carga de trabajo de generación justificaba.
Lo que destacaba era cuán costoso se vuelve el espacio de caché no utilizado cuando las longitudes de contexto varían. Una sola solicitud de 16k tokens puede consumir varias veces más memoria KV que una solicitud de 4k tokens, incluso cuando ambas generan longitudes de salida similares. A través de docenas de sesiones concurrentes, esa diferencia se acumula rápido.
En un experimento, reducir la asignación de KV desperdiciado mejoró la capacidad de solicitudes concurrentes en aproximadamente un 20–30% antes de que la presión de memoria se convirtiera en el cuello de botella. La computación no era el factor limitante. La memoria sí lo era.
Esa es la parte que mucha gente subestima. Las discusiones sobre la infraestructura de IA a menudo se centran en el tamaño del modelo, el conteo de GPU o la velocidad de generación de tokens. Mientras tanto, unos pocos gigabytes de mala.
@OpenGradient
#OPG
$OPG
$HEI
$SYN
¿Cuál es la restricción más pasada por alto en la inferencia de IA hoy en día?
Compute
50%
Memory
25%
Networking
25%
Verification/Proof
0%
4 Voto(s) • Votación cerrada