ElemedexEnciclopedia de bolsillo de arquitecturas de IA

Glosario (MT) › Matemática mínima

MT044

Matriz y tensor

También: arreglo multidimensional

En inglés: Matrix and tensor

Una matriz es una tabla rectangular de números; un tensor generaliza la idea a cualquier cantidad de ejes. Es el formato en que las redes guardan datos y parámetros.

Una matriz es una tabla de números con filas y columnas: una matriz de 2 × 3 tiene dos filas y tres columnas. En la jerga del aprendizaje profundo, tensor es simplemente un arreglo con cualquier número de ejes: un número suelto es un tensor de rango 0, un vector es de rango 1, una matriz de rango 2, un «cubo» de números de rango 3. Todo tensor tiene un rango (cuántos ejes), una forma (cuántos elementos hay a lo largo de cada eje) y un tipo de dato (Chollet, 2021, sec. 2.2). Quien venga de la física o de la geometría notará que el uso es más pobre que el suyo: aquí «tensor» no exige ninguna ley de transformación, solo una grilla.

Ejemplo mínimo. Multiplicar una matriz por un vector es hacer un producto punto por cada fila: [[1, 2], [0, 1]] · (3, 1) = (1·3 + 2·1, 0·3 + 1·1) = (5, 1). Geométricamente, aplicar una matriz es transformar el espacio de manera lineal: rotarlo, estirarlo, inclinarlo. La matriz [[0, −1], [1, 0]] gira el vector (1, 0) noventa grados, hasta (0, 1) (Chollet, 2021, sec. 2.3.5).

Esto es casi todo lo que hace una red neuronal: multiplicar por matrices de parámetros y aplicar no linealidades. Dos ejemplos concretos. La tabla de embeddings de Phi-3 es una matriz de 32.064 filas, una por token del vocabulario, y 3.072 columnas; «buscar el embedding» de un token es leer su fila (Alammar y Grootendorst, 2024, p. 79). Y cuando un modelo pequeño tipo BERT procesa «Hello world», devuelve un tensor de forma [1, 4, 384]: una oración, cuatro tokens (contando los especiales [CLS] y [SEP]), 384 números por token (Alammar y Grootendorst, 2024, p. 60).

Como la multiplicación de matrices consiste en muchísimos productos independientes entre sí, se paraleliza muy bien; por eso las GPU, diseñadas para gráficos, se volvieron el motor del aprendizaje profundo.

Fuentes

  • Alammar, J., & Grootendorst, M. (2024). Hands-on large language models: Language understanding and generation. O’Reilly Media. §
  • Chollet, F. (2021). Deep learning with Python (2nd ed.). Manning Publications. §