Desde Karpatia llm.c,
Me pregunto «¿Podría escribir esto en Rust?» » Aquí están las lecciones que aprendí y cómo escribo. llm.rust.
En este primer artículo, abordemos el problema de la multiplicación de matrices.
La multiplicación de matrices es quizás la operación más importante del aprendizaje automático. Todavía recuerdo cuando era estudiante de ingeniería, y en una de las primeras clases de álgebra lineal, el profesor empezó a explicar matrices, vectores propios, bases y bases ortonormales. Estaba muy confundido, me tomó un poco de tiempo comprender por qué nos preocupamos tanto por las matrices y los conjuntos de bases, y qué implica una buena base para nuestro mundo. A partir de ahí, siempre me pareció tan fascinante el álgebra lineal y, desde un punto de vista puramente computacional, qué sorprendentes todos estos algoritmos que intentan ser cada vez más eficientes en la manipulación de matrices.
En particular, sabemos que el producto matriz-vector es bastante simple, pero las cosas se vuelven cada vez más complicadas cuando tenemos productos matriz-matriz o tensor-tensor. A partir de ahí se han implementado numerosas metodologías para optimizar la multiplicación de matrices. Por ejemplo, hace mucho tiempo publiqué en mente profunda…