Estimador de GPU necesarias para búsqueda vectorial

Este estimador traduce una carga de búsqueda vectorial en un número aproximado de GPU equivalentes. Multiplica las consultas por segundo por el tiempo efectivo de GPU consumido por consulta y divide esa demanda por la utilización objetivo de cada dispositivo.

Puede resultar útil cuando el índice, el reranking o una fase de búsqueda acelerada se ejecutan en GPU y se dispone de una medición de tiempo por consulta. No presupone que toda búsqueda vectorial necesite GPU: si tu motor funciona principalmente en CPU, este cálculo no es el modelo de capacidad adecuado. Tampoco sustituye la comprobación de memoria para alojar el índice o los datos necesarios.

Datos de entrada

QPS
s
%
Resultado
GPU necesarias (redondeo hacia arriba)
Demanda agregada
GPU teóricas
Margen de utilización

1. Indica el QPS objetivo
Usa una tasa sostenida de consultas que quieras poder completar.

2. Introduce el tiempo de GPU por consulta
Mide el consumo en el tramo realmente acelerado por GPU, preferiblemente con una carga representativa.

3. Define la utilización máxima
Selecciona un objetivo inferior al 100 % si necesitas margen para variabilidad y picos.

4. Revisa el número entero de dispositivos
La cifra principal redondea hacia arriba la capacidad teórica necesaria.

Demanda = QPS × segundos de GPU por consulta GPU teóricas = demanda / (utilización / 100) GPU necesarias = redondear hacia arriba(GPU teóricas)

La fórmula supone GPU equivalentes y reparto eficiente de consultas. No evalúa si el índice cabe en VRAM.

Qué significa el resultado

El resultado indica cuántas GPU equivalentes serían necesarias para atender la demanda de cómputo bajo la utilización objetivo.

La búsqueda vectorial puede estar limitada por memoria o ancho de banda antes que por cómputo; valida el cuello de botella con métricas del sistema.

Datos: 500 QPS, 0,0018 s de GPU por consulta y 70 % de utilización objetivo.

Cálculo: demanda = 500 × 0,0018 = 0,90 GPU-s/s. GPU teóricas = 0,90 / 0,70 = 1,286.

Resultado: se necesitan 2 GPU al redondear hacia arriba.

¿Todas las bases vectoriales usan GPU?

No. Muchas cargas se ejecutan bien en CPU y memoria. Usa este estimador solo cuando una parte relevante de la consulta tenga un consumo de GPU medible.

¿Qué tiempo debo medir si hay reranking?

Si el reranking usa la misma GPU y forma parte de la capacidad que quieres dimensionar, incluye su tiempo. Si está en otro servicio, calcula ese recurso por separado.

¿Por qué no basta con dividir QPS entre una cifra de benchmark?

Los benchmarks dependen de tamaño de índice, dimensionalidad, filtros, batch y hardware. Medir segundos de GPU por consulta en tu configuración hace explícita esa dependencia.

¿La utilización objetivo es la utilización observada?

No necesariamente. Es un límite de diseño. Puedes fijarlo por debajo de la saturación para conservar margen de respuesta ante picos.

¿Cómo trato GPU con diferente rendimiento?

Mide el tiempo por consulta en cada tipo o normaliza su capacidad. No sumes dispositivos heterogéneos como si fueran idénticos sin ajustar rendimiento.