Calculadora de FLOPs por token
Datos de entrada
| Tipo de pasada | Pasada directa (2N) |
|---|---|
| Parámetros | 70 |
Calculadora de FLOPs por token
Estima las operaciones de coma flotante que un transformer realiza por token usando las reglas de 2N para la pasada directa y 6N para el entrenamiento, a partir del número de parámetros del modelo en miles de millones.
Datos de entrada
Modelo
Resultados
Introduce un valor para ver los resultados.
Detalles
FLOPs por token
¿Cuánto cómputo dedica un modelo de lenguaje a un solo token? La respuesta sustenta casi cualquier estimación aproximada del campo: los presupuestos de entrenamiento, los costes de inferencia y el aprovechamiento del hardware parten todos de ahí. El atajo estándar es notablemente sencillo: un transformer denso realiza unas dos operaciones de coma flotante por parámetro para procesar un token, y unas seis durante el entrenamiento. Esta calculadora aplica esas reglas al número de parámetros de un modelo.
La regla 2N
El cómputo de un transformer está dominado por grandes multiplicaciones de matrices, y en cada una de ellas cada peso se toca una vez por token. Una sola multiplicación-acumulación cuenta como dos operaciones de coma flotante —una multiplicación y una suma—, así que empujar un token a través de un modelo con parámetros cuesta aproximadamente dos operaciones por parámetro, la regla 2N, en la pasada directa. Es la estimación del trabajo de leyes de escala de Kaplan, y se ha convertido en la moneda universal para razonar sobre el cómputo de los modelos. Ignora deliberadamente todo lo que no sea una multiplicación de matrices ponderada por parámetros, lo cual es una buena aproximación para los modelos grandes.
Coste de la pasada directa y del entrenamiento
Entrenar un modelo requiere además una pasada inversa para calcular los gradientes. La pasada inversa produce gradientes respecto a las activaciones y a los pesos, cada uno con un coste aproximado al de la pasada directa, de modo que duplica más o menos el trabajo de la directa. El total son unas tres pasadas directas, o seis operaciones por parámetro y por token (la estimación 6N):
GF=k⋅N(GFLOPs, N en miles de millones)=k⋅N×109con el factor igual a dos para una pasada directa y a seis para un paso de entrenamiento. Como se introduce en miles de millones, la cifra de la pasada directa cae directamente en GFLOPs.
Ejemplo resuelto
Para un modelo de 70 mil millones de parámetros en una pasada directa:
GF=2×70=140 GFLOPs=2×70×109=1.4×1011 FLOPsCada token generado cuesta unos 140 GFLOPs. Multiplicar por el rendimiento total de un modelo da la tasa de cómputo alcanzada, y dividir esa cifra entre el máximo de un acelerador da su aprovechamiento. Entrenar el mismo modelo costaría GFLOPs por token, y multiplicar el coste de entrenamiento por el total de tokens de un conjunto de datos es la forma habitual de dimensionar el presupuesto de cómputo de un entrenamiento.
Qué deja fuera
La regla cuenta únicamente las multiplicaciones de matrices con pesos. El mecanismo de atención añade un término aparte que crece con la longitud de la secuencia y no depende del número de parámetros; para los modelos típicos a longitudes de contexto moderadas es pequeño, pero a contextos muy largos puede volverse considerable. Las capas de incrustación y de normalización quedan igualmente omitidas. Por estas razones, la cifra es una estimación para escala y presupuesto, no un recuento exacto de instrucciones. Para ver el cómputo alcanzado como fracción del máximo del hardware, continúe en la Calculadora de aprovechamiento de FLOPs del modelo.
Preguntas frecuentes (FAQ)
¿De dónde sale la estimación 2N?
El cómputo de un transformer está dominado por multiplicaciones de matrices en las que cada peso se usa una vez por token. Una multiplicación-acumulación son dos operaciones de coma flotante —una multiplicación y una suma—, así que procesar un solo token a través de N parámetros cuesta unas 2N operaciones en la pasada directa.
Es la regla general introducida en el trabajo de leyes de escala de Kaplan y reutilizada en todo el campo. Es una aproximación: cuenta las grandes multiplicaciones de matrices y trata el resto como despreciable, lo cual se cumple bien en los modelos grandes.
¿Por qué el entrenamiento es tres veces más costoso?
El entrenamiento ejecuta la pasada directa y después una pasada inversa para calcular los gradientes. La pasada inversa calcula los gradientes respecto a las activaciones y a los pesos, cada uno con un coste aproximado al de la pasada directa, de modo que la pasada inversa es cerca del doble de la directa y el total es unas tres veces: seis operaciones por parámetro y por token.
Multiplicar 6N por el total de tokens de un conjunto de datos es la forma habitual de estimar el presupuesto de cómputo de un entrenamiento.
¿Incluye esto la atención?
No. Las reglas 2N y 6N cuentan únicamente las multiplicaciones de matrices con pesos. El mecanismo de atención añade un término que crece con la longitud de la secuencia y es independiente del número de parámetros.
Para los modelos grandes típicos a longitudes de contexto moderadas, ese término es pequeño frente a las multiplicaciones de matrices, por lo que la estimación se mantiene cercana. A longitudes de contexto muy grandes, la atención puede pasar a ser una porción considerable, y se necesita un modelo más detallado.
Aviso legal
Estas son estimaciones de primer orden que cuentan las multiplicaciones de matrices dominantes y omiten los términos de atención, normalización e incrustación. El recuento real de operaciones depende de la arquitectura y de la longitud del contexto. Utilice la cifra para comparaciones de escala y estimaciones de presupuesto, no como una contabilidad exacta del hardware.
Recomendaciones
Calculadora de aprovechamiento de FLOPs del modelo
Calcula el aprovechamiento de FLOPs del modelo (MFU): la fracción del rendimiento máximo en coma flotante de un acelerador que una ejecución alcanza realmente, a partir del número de parámetros, el rendimiento en tokens y los TFLOP/s máximos.
Calculadora de rendimiento de inferencia
Estima el límite que impone el ancho de banda de memoria a la velocidad de decodificación de un LLM a partir del tamaño del modelo, la precisión de los pesos y el ancho de banda de memoria del acelerador: el techo (roofline) de tokens por segundo de un único flujo.