Chiosa
SYSTEMS · learning path

Mide los costes de transferencia y capacidad antes de trasladar datos o trabajo de servicio de GPU

8 min3 papersbeginner
Publicado en Chiosa Actualizado

Un modelo puede superar la memoria de la GPU, una solicitud larga puede ocupar la interfaz de procesamiento de texto y recuperar una solicitud almacenada en caché puede llevar tiempo. Trasladar datos o trabajo puede aliviar cada presión, pero la nueva ubicación también tiene un coste.

En los tres estudios, la pregunta útil es qué limitación medida alivia un cambio de ubicación. La respuesta depende de la carga de trabajo evaluada: acceder a la memoria del equipo anfitrión puede ralentizar la generación, preparar texto en la GPU puede aumentar la capacidad de la interfaz y cargar una caché remota puede llevar más tiempo que volver a calcular.

Qué comprenderás

  • ¿Qué coste aparece cuando un modelo supera la memoria de la GPU y sus datos se mantienen en la memoria del equipo anfitrión?

  • ¿Qué mide la tasa de solicitudes de una interfaz cuando se simulan las GPU que trabajan detrás de ella?

  • ¿Qué costes de transferencia y costes fijos cuentan al comparar una entrada de caché remota con volver a calcular una solicitud?

Tres maneras de desplazar el coste

Imagina que estás ejecutando un modelo cuyos datos ocupan más que la memoria de la GPU. Mantener algunos datos en la memoria del equipo anfitrión permite ejecutar el modelo, pero la GPU debe atravesar una conexión para leerlos.

Trasladar datos a la memoria de la GPU acelera su acceso, pero ocupa espacio que pronto podría necesitar otra parte del modelo. Ember, un gestor de memoria para cargas de trabajo que superan la memoria de la GPU, estudia esta decisión durante la generación de texto del modelo. Su problema consiste en decidir dónde ubicar los datos que la GPU usa repetidamente.

Otra clase de solicitud puede poner a prueba el sistema antes de que empiece el cálculo del modelo. Un agente puede volver a enviar una conversación larga y añadir muy poco texto nuevo.

Una caché puede ahorrarle al modelo buena parte del trabajo sobre el comienzo repetido, pero la interfaz de servicio aún debe convertir el texto recibido en identificadores de tokens: los identificadores ordenados que lee el modelo.

GraphTok estudia trasladar esa preparación de la CPU a una GPU. Usa capacidad de la GPU para aliviar una limitación de la interfaz de servicio, en vez de liberar espacio para almacenar datos del modelo.

Hay una tercera opción para las solicitudes repetidas: almacenar los resultados del procesamiento previo de una solicitud y recuperarlos para volver a usarlos. Ese estado almacenado se llama caché KV.

Una copia remota solo ahorra cálculos en la GPU si recuperarla sirve al objetivo pertinente a un coste aceptable. El estudio de cachés remotas pregunta con qué rapidez debe llegar ese estado y qué trabajo sigue haciendo el motor cuando lo encuentra.

En conjunto, los casos plantean una pregunta de implementación: ¿qué coste elimina cada traslado y qué coste introduce?

Cómo continúa la lección

  • Liberar espacio en la memoria de la GPU

  • Procesar el texto en la GPU

  • Calcular el coste de una caché remota

  • Elegir qué comportamiento medir