Curso de Matemáticas para IA · Lección 7 de 180
Potencias para la IA: por qué duplicar el contexto puede cuadruplicar el trabajo de atención
Aprende las leyes de los exponentes y las raíces, y usa un explorador en escala logarítmica y NumPy para ver por qué duplicar las dimensiones del modelo o el contexto puede crear cuatro veces más cantidades.
Una secuencia de tokens contiene pares ordenados de tokens. Duplica la secuencia hasta tokens y el número de pares se convierte en : cuatro veces más. El número no cambió; cambió la operación aplicada a él.
Esa operación es una potencia. Las potencias comprimen la multiplicación repetida en un pequeño superíndice, y el superíndice nos dice cómo responde una cantidad cuando cambia la escala de su entrada. Al terminar esta lección podrás manipular exponentes positivos, cero, negativos y fraccionarios; tratar las raíces como potencias inversas con límites en el dominio de los números reales; y calcular cuándo una cantidad de IA crece lineal o cuadráticamente.
Esta lección se apoya en la visión de la lección 2 de las funciones como reglas reutilizables. Aquí la regla puede ser , y la pregunta es cómo cambia su salida cuando cambia . El sitio complementario oficial de Mathematics for Machine Learning separa los fundamentos matemáticos de los sistemas de aprendizaje automático que los usan. Su capítulo introductorio presenta esos fundamentos como herramientas para comprender los modelos y sus supuestos; el álgebra de exponentes que sigue es un puente original de prerrequisitos desarrollado para este curso.
Un superíndice controla la regla de crecimiento
En , es la base y es el exponente. El exponente indica cómo participa la base en la operación.
La intuición es «multiplicar la base por sí misma veces», pero eso solo define exponentes enteros positivos. El punto de partida formal es:
Los exponentes cero y negativos amplían esta definición conservando las mismas leyes algebraicas. Para cualquier distinto de cero,
La condición importa. Una potencia negativa crea un recíproco, y dividir entre cero no está definido. Por ejemplo,
mientras que no tiene valor real.
La regla del exponente cero se deduce de la ley del cociente, no de «ninguna multiplicación». Si , entonces
Las dos expresiones solo pueden coincidir si . Como la cancelación usó , este argumento no decide el caso ; ese límite necesita su propio contexto.
Las leyes de los exponentes dan cuenta de cada factor
Para enteros positivos y , multiplicar dos potencias con la misma base une sus factores repetidos:
La misma idea de contar produce las leyes centrales siguientes. Los exponentes negativos requieren bases distintas de cero, y los exponentes fraccionarios requieren el cuidado del dominio que se introduce en la sección siguiente.
| Operación | Ley | Precaución necesaria |
|---|---|---|
| Multiplicar bases iguales | Ambas potencias deben estar definidas | |
| Dividir bases iguales | ||
| Elevar una potencia | Comprueba el dominio real para potencias fraccionarias | |
| Elevar un producto | Siempre es seguro para entero; ten cuidado con exponentes reales |
Hay un patrón tentador que no es una ley de los exponentes:
Para , y , el lado izquierdo es , mientras que el lado derecho propuesto es . La suma dentro de los paréntesis debe hacerse antes de aplicar la potencia, o debe desarrollarse con la ley distributiva.
Las raíces invierten las potencias, con un dominio asociado
La raíz cuadrada principal de un número real no negativo , escrita , es el número real no negativo cuyo cuadrado es :
Así, . Aunque tanto como valen , el símbolo radical nombra la raíz no negativa. Resolver la ecuación es otra tarea y tiene dos soluciones reales, y .
Para , la raíz cuadrada es la potencia de un medio:
En general, para positivo y un entero positivo , . Un exponente racional combina una raíz y una potencia:
Una raíz cuadrada no significa «dividir entre dos». El número es , mientras que porque . Lo que se divide entre dos es el exponente: para un real. En general, , no siempre ; si , ambos lados valen .
Una prueba de duplicación revela el crecimiento lineal y cuadrático
Supón que una cantidad sigue la regla de potencia
donde es el tamaño de entrada, es el exponente de escala y es una constante que no cambia durante la comparación. Si la entrada se multiplica por un factor de escala , entonces
Por tanto, la salida cambia por el factor . Al duplicar, :
| Exponente | Regla | Efecto de | Nombre usado aquí |
|---|---|---|---|
| veces | crecimiento lineal | ||
| veces | crecimiento cuadrático | ||
| veces | crecimiento cúbico | ||
| del tamaño | crecimiento inverso |
El explorador coloca las potencias de dos a distancias iguales en cada eje. Esa es una escala logarítmica: pasos iguales representan factores de multiplicación iguales, no sumas iguales. Mueve el control de longitud de secuencia con el puntero o las teclas de flecha y compara la línea sólida recta con la curva discontinua de cuadrados .
Elige una longitud que sea potencia de dos entre 128 y 8.192 tokens. Las teclas de flecha cambian una duplicación cada vez.
- Longitud seleccionada
- 1024
- Crecimiento lineal
- 8×
- Crecimiento cuadrático
- 64×
- Posiciones de puntuación n²
- 1.048.576
En n = 1024, el crecimiento lineal es 8× la base y el cuadrático es 64×, lo que da 1.048.576 posiciones de puntuación.
Mostrar los datos del gráfico como tabla
| Longitud de secuencia n | Lineal n | Cuadrático n² | Posiciones de puntuación n² | Estado actual |
|---|---|---|---|---|
| 128 | 1× | 1× | 16.384 | |
| 256 | 2× | 4× | 65.536 | |
| 512 | 4× | 16× | 262.144 | |
| 1024 | 8× | 64× | 1.048.576 | ← Seleccionada |
| 2048 | 16× | 256× | 4.194.304 | |
| 4096 | 32× | 1024× | 16.777.216 | |
| 8192 | 64× | 4096× | 67.108.864 |
El estado inicial renderizado en el servidor selecciona . Respecto a , la longitud es veces mayor, pero el cuadrado es veces mayor. La tabla bajo el gráfico mantiene disponible cada valor trazado sin depender de la forma visual ni de JavaScript.
La atención densa convierte los pares de tokens en un cuadrado
El artículo original de Transformer define la atención de producto punto escalado con : cada consulta se compara con cada clave antes de escalar y normalizar las puntuaciones y usarlas para combinar los valores. En su análisis clásico de autoatención densa, el artículo informa de un término de complejidad por capa , donde es la longitud de la secuencia y es el ancho de representación (Vaswani et al., Attention Is All You Need).
La notación matricial puede leerse como una cuadrícula incluso antes de que el curso introduzca formalmente las matrices. Con posiciones de token:
- hay filas de consultas;
- cada fila tiene una posición de puntuación por cada una de las claves; y
- la cuadrícula completa de puntuaciones contiene, por tanto, posiciones por cabeza.
Si cada comparación consulta-clave usa características, formar esos productos punto tiene un término aritmético principal proporcional a . Mantener fijo y cambiar solo produce el cálculo de duplicación del inicio:
Este conteo es una propiedad matemática de la cuadrícula completa de puntuaciones densas. No garantiza que el tiempo de reloj ni la memoria máxima aumenten exactamente veces. El hardware paralelo, el procesamiento por bloques, los kernels fusionados o recomputados, las máscaras y los mecanismos de atención que evitan la cuadrícula completa pueden cambiar lo que almacena una implementación y la rapidez con la que se ejecuta. La afirmación segura es más limitada: la autoatención densa clásica tiene posiciones de puntuación consulta-clave y su complejidad aritmética estándar contiene un término cuadrático en la longitud de la secuencia.
El crecimiento de parámetros depende de qué dimensiones cambian
Una capa densa que asigna características de entrada a características de salida necesita un peso por cada par entrada-salida:
Un sesgo opcional añade parámetros más, pero la tabla de pesos por pares es la relación de escala principal en este ejemplo.
Supón que la capa cambia de entradas y salidas a entradas y salidas. Ambas dimensiones se duplican:
La razón hace visible el exponente:
Si solo se duplicara el ancho de salida, el número también se duplicaría. Llamar «cuadrático» a todo crecimiento de parámetros oculta qué dimensiones cambiaron realmente. Aquí solo aparece una ley cuadrática cuando dos dimensiones multiplicadas escalan juntas.
NumPy permite comprobar la fórmula y su inversa
El np.logspace de NumPy construye valores en intervalos iguales de una escala logarítmica; con base , los extremos enteros a generan longitudes de contexto de a . Su np.power eleva los elementos correspondientes de un arreglo a potencias, y np.sqrt devuelve la raíz cuadrada no negativa elemento por elemento.
import numpy as np
lengths = np.logspace(7, 13, num=7, base=2, dtype=np.int64)
score_positions = np.power(lengths, 2)
quadratic_growth = score_positions // score_positions[0]
recovered_lengths = np.sqrt(score_positions)
print("lengths:", lengths)
print("score positions:", score_positions)
print("quadratic growth:", quadratic_growth)
print("recovered lengths:", recovered_lengths)
lengths: [ 128 256 512 1024 2048 4096 8192]
score positions: [ 16384 65536 262144 1048576 4194304 16777216 67108864]
quadratic growth: [ 1 4 16 64 256 1024 4096]
recovered lengths: [ 128. 256. 512. 1024. 2048. 4096. 8192.]
La última línea comprueba la relación inversa para entradas no negativas: porque todas las longitudes de secuencia del arreglo son positivas. Para un arreglo que pudiera contener un negativo, la identidad correcta sería .
Los casos límite forman parte de la operación
La notación de exponentes es lo bastante compacta como para ocultar un error de dominio. Estos casos deben seguir visibles al leer ecuaciones o código:
- depende del contexto. La regla anterior suponía , mientras que para positivo. En , esas extensiones se encuentran sin decidir un único valor. Algunas fórmulas combinatorias y sistemas de software lo definen como por conveniencia; el álgebra elemental de exponentes reales suele dejarlo indefinido. Indica la convención en vez de elegirla en silencio.
- Las raíces pares de números reales negativos no son reales. Ningún real satisface , por lo que no tiene valor real. Los números complejos amplían el dominio, pero quedan fuera de esta lección.
- Una base negativa con un exponente fraccionario requiere cuidado especial. La raíz cúbica real existe, así que la expresión racional exacta puede interpretarse como . Sin embargo, un exponente de coma flotante como
1 / 3es una aproximación, y elnp.powerde NumPy con valores reales devuelvenanpara una base negativa con un exponente no entero. No supongas que el software reconstruirá la fracción pretendida. - Una potencia no se distribuye sobre una suma. El contraejemplo basta para rechazar ese atajo.
- Una raíz no divide el valor entre su índice. , no . Las raíces dividen exponentes cuando se cumplen los supuestos de dominio pertinentes.
El explorador en escala logarítmica ya sugiere la siguiente pregunta. Si , ¿qué operación recupera ? La lección 8 presenta los logaritmos como potencias inversas y los usa para convertir una escala multiplicativa en pasos aditivos. Hasta que esté publicada, la página del curso Math for AI mantiene el orden de publicación verificado.
Comprueba tu comprensión
Pregunta 1
Evalúa 3⁴ expandiendo la potencia e identifica la base y el exponente.
Mostrar la solución paso a paso
En , la base es y el exponente es . Un exponente entero positivo cuenta factores repetidos de la base:
Multiplica por etapas:
Por tanto, . Multiplicar confundiría un conteo de factores con la multiplicación ordinaria.
Pregunta 2
Para x ≠ 0, simplifica x³x⁻⁵, reescribe el resultado sin exponente negativo y compruébalo en x = 2.
Mostrar la solución paso a paso
Las bases coinciden, así que al multiplicar se suman los exponentes:
Un exponente negativo significa recíproco, y el supuesto hace válido ese recíproco:
Para ,
La forma simplificada también da , así que el cálculo queda comprobado.
Pregunta 3
Evalúa 64⁻²ᐟ³ y explica el papel del signo negativo, el numerador 2 y el denominador 3 en el exponente.
Mostrar la solución paso a paso
El signo negativo pide un recíproco:
El denominador pide una raíz cúbica y el numerador pide después un cuadrado:
Al combinar los pasos,
La base es positiva y distinta de cero, así que tanto la raíz como el recíproco son válidos en los números reales.
Pregunta 4
Una capa densa crece de 300 × 200 pesos a 600 × 400 pesos. Calcula ambos recuentos y explica por qué duplicar las dos dimensiones produce un cambio de cuatro veces.
Mostrar la solución paso a paso
La capa original tiene un peso por cada par de entrada y salida:
La capa mayor tiene
Su razón es
De forma equivalente, cada dimensión obtuvo un factor , así que el producto obtuvo . Este razonamiento cuenta solo los pesos; los sesgos opcionales añadirían un valor por salida, no otra tabla completa de pares.
Pregunta 5
La autoatención densa clásica aumenta una secuencia de 512 a 1.024 tokens mientras el ancho de la cabeza permanece fijo. Calcula las posiciones de puntuación consulta-clave antes y después, y luego indica qué demuestra y qué no demuestra la razón.
Mostrar la solución paso a paso
Para una cuadrícula consulta-clave densa completa, el recuento de posiciones es . Antes del aumento,
Después de duplicar la longitud,
La razón es
Esto demuestra que la cuadrícula completa tiene cuatro veces más posiciones de puntuación y que la aritmética de atención densa estándar tiene un término cuadrático en la longitud cuando el ancho de cabeza es fijo. No demuestra un cambio exacto de en la latencia medida ni en la memoria máxima, porque la implementación y el hardware son variables adicionales.
Pregunta 6
Un estudiante afirma (a + b)² = a² + b². Pon a prueba la afirmación con a = 2 y b = 3, y después da el desarrollo correcto.
Mostrar la solución paso a paso
Sustituir y en el lado izquierdo da
El lado derecho afirmado da
Como , un contraejemplo refuta la identidad afirmada. El desarrollo correcto se obtiene distribuyendo ambos factores:
Con y , esto da , en concordancia con el lado izquierdo.
Pregunta 7
En el contexto de los números reales, clasifica 0⁻², √(−9), (−8)¹ᐟ³, √((−5)²) y 0⁰. Da una razón o una advertencia sobre la convención para cada uno.
Mostrar la solución paso a paso
Considera cada expresión con el dominio que requiere:
- dividiría entre cero, así que no está definida.
- no tiene valor real porque ningún número real tiene como cuadrado .
- puede leerse como la raíz cúbica real porque el índice de la raíz es impar. Las funciones de potencia en coma flotante pueden no conservar esta interpretación racional exacta.
- . La raíz cuadrada principal es no negativa, por lo que esto es , no .
- depende del contexto. La derivación del exponente cero suponía una base distinta de cero, así que no resuelve este caso. Una fórmula o un sistema de software debe indicar si adopta un valor como o deja la expresión indefinida.
La lección común es que la notación por sí sola no elimina los supuestos usados para definir la operación.