Financiación
Ludovic Larzul, Fundador y CEO de Mipsology – Serie de Entrevistas

Ludovic Larzul es el fundador y CEO de Mipsology, una startup innovadora centrada en la aceleración de última generación para la inferencia de aprendizaje profundo. Han desarrollado tecnología para acelerar los cálculos de las redes neuronales de inferencia y ocultar el acelerador de hardware a los usuarios de IA. El Zebra de Mipsology es el primer acelerador comercial que encapsula dicha tecnología para proporcionar alto rendimiento y facilidad de uso.
¿Qué te interesó por primera vez en la IA y los microchips?
Trabajé en el diseño de un tipo específico de supercomputadora durante unos 20 años con mi anterior empresa EVE, antes de que fuera adquirida por Synopsys en 2012. Esas computadoras, también llamadas emuladores de ASIC, son utilizadas por muchas empresas que diseñan ASIC en todo el mundo. Disfruté bastante de la complejidad y diversidad de ese trabajo. Para tener éxito, hay que (a) entender la electrónica, el software, algoritmos complejos, cómo la gente diseña chips y cómo asegurarse de que funcionen bien, arquitectura de chips, potencia y más tecnología profunda, (b) predecir correctamente las necesidades de los clientes unos años por adelantado, (c) innovar continuamente, y (d) como startup, derrotar a la competencia con muchos menos recursos. Después de 20 años de éxito, estaba buscando un nuevo desafío. Fue en ese momento cuando la IA había comenzado a regresar a la escena. AlexNet había dado un gran salto hacia la comprensión de imágenes (y en retrospectiva, aún estaba en su infancia). El aprendizaje profundo era completamente nuevo pero prometedor (¿Quién recuerda cuando se necesitaban días para obtener un resultado en una red simple?). Me pareció bastante “divertido”, pero reconocí que había muchos desafíos.
¿Cuál fue la inspiración detrás del lanzamiento de Mipsology?
No sé si usaría la palabra “inspiración”. Al principio fue más como: “¿Podemos hacer algo que sea diferente y mejor?” Comenzó con suposiciones sobre lo que a la gente de la IA le gustaría y haría, y los siguientes años se pasaron encontrando soluciones cada vez mejores basadas en eso. Creo que más que inspiración, diría que a la gente con la que trabajo le gusta ser la mejor en lo que crean, en una actitud de competencia positiva. Eso hace un equipo fuerte que puede resolver problemas que otros no pueden resolver adecuadamente.
Mipsology utiliza tarjetas FPGA en lugar de GPUs. ¿Puedes describir qué son los FPGA?
Los FPGA son componentes electrónicos que se pueden programar a nivel de hardware. Puedes imaginarlo como un conjunto de Legos — unos pocos millones de ellos. Cada bloque pequeño realiza una operación simple como mantener un valor, o operaciones ligeramente más complejas como la adición. Al agrupar todos estos bloques, es posible crear un comportamiento específico después de que el chip se haya fabricado. Esto es lo opuesto a las GPUs y casi todos los demás chips, que están diseñados para una función específica y no se pueden cambiar después.
Algunos, como las CPU y las GPU, se pueden programar, pero no son tan paralelos como los FPGA. En cualquier momento dado, un FPGA realiza unos pocos millones de operaciones simplistas. Y esto puede ocurrir seiscientos o setecientos millones de veces por segundo. Debido a que son programables, lo que hacen se puede cambiar en cualquier momento para adaptarse a diferentes problemas, por lo que el poder computacional extraordinario puede ser efectivo. Los FPGA ya están casi en todas partes, incluyendo estaciones base de teléfonos móviles, redes, satélites, coches, etc. La gente no los conoce bien, aunque, porque no son tan visibles como una CPU como la de tu portátil.
¿Qué hace que estas tarjetas FPGA sean la solución superior a las GPUs más populares?
Los FPGA son superiores en muchos aspectos. Centrémonos solo en un par de aspectos importantes.
Las GPU están diseñadas para renderizar imágenes, principalmente para juegos. Han sido encontradas para coincidir bien con algunos cálculos en IA debido a la similitud de las operaciones. Pero siguen siendo principalmente dedicadas a los juegos, lo que significa que vienen con restricciones que no se ajustan bien a las redes neuronales.
Su programación también está limitada a las instrucciones que se decidieron dos o tres años antes de que estuvieran disponibles. El problema es que las redes neuronales están avanzando más rápidamente que el diseño de los ASIC, y las GPU son ASIC. Entonces, es como tratar de predecir el futuro: no es simple ser correcto. Puedes ver tendencias, pero los detalles son lo que realmente impactan los resultados, como el rendimiento. En contraste, porque los FPGA son programables a nivel de hardware, podemos mantenernos más fácilmente al día con el progreso de la IA. Esto nos permite entregar un mejor producto con un mejor rendimiento, y satisfacer las necesidades del cliente sin tener que esperar a la próxima generación de silicio.
Además, las GPU están diseñadas para ser productos de consumo. Su vida útil es intencionalmente corta, porque las empresas que diseñan GPU quieren vender nuevas a los jugadores unos años más tarde. Esto no funciona bien en sistemas electrónicos que necesitan ser confiables durante muchos años. Los FPGA están diseñados para ser robustos y utilizados las 24 horas del día, los 7 días de la semana, durante muchos años.
Otras ventajas bien conocidas de los FPGA incluyen:
- Hay muchas opciones que pueden caber en áreas específicas como la red o el procesamiento de video
- Funcionan tan bien en centros de datos como en el borde o en sistemas integrados
- No requieren enfriamiento específico (mucho menos enfriamiento con agua como las grandes GPU)
Una desventaja importante es que los FPGA son difíciles de programar. Requiere conocimiento específico. Aunque las empresas que venden FPGA han puesto un gran esfuerzo en reducir la brecha de complejidad, todavía no es tan simple como una CPU. En verdad, las GPU no son simples tampoco. Pero el software que oculta su programación para la IA hace que ese conocimiento sea innecesario. Ese es el problema que Mipsology es el primero en resolver: eliminar la necesidad de programar o tener conocimiento de FPGA para la computación de IA.
¿Hay alguna limitación actual en las tarjetas FPGA?
Algunas tarjetas FPGA son como algunas tarjetas GPU. Pueden conectarse a las ranuras PCIe de una computadora. Una ventaja bien conocida, además de la vida útil que mencioné antes, es que el consumo de energía es generalmente más bajo que el de las GPU. Otra ventaja menos conocida es que hay una selección más grande de tarjetas FPGA que de tarjetas GPU. Hay más FPGA para más mercados, lo que conduce a más tarjetas que caben en diferentes áreas de los mercados. Esto simplemente significa que hay más posibilidades para el cálculo de redes neuronales en todas partes a un costo más bajo. Las GPU son más limitadas; caben en centros de datos, pero no mucho más.
El Zebra de Mipsology es el primer acelerador comercial que encapsula tarjetas FPGA para proporcionar alto rendimiento y facilidad de uso. ¿Puedes describir qué es Zebra?
Para aquellos que están familiarizados con la IA y las GPU, la descripción más fácil es que Zebra es para FPGA lo que Cuda/CuDNN es para GPU. Es una pila de software que oculta completamente el FPGA detrás de marcos habituales como PyTorch o TensorFlow. Estamos apuntando principalmente a la inferencia para imágenes y videos. Zebra comienza con una red neuronal que se entrenó típicamente en punto flotante, y sin ningún esfuerzo manual del usuario o herramienta propietaria, hace que funcione en cualquier tarjeta basada en FPGA. Es tan simple como: conectar la tarjeta FPGA, cargar el controlador, iniciar el entorno de Zebra y lanzar la misma aplicación de inferencia que la que se ejecuta en CPU o GPU. Tenemos nuestra propia cuantificación que mantiene la precisión, y el rendimiento es fuera de la caja. No hay herramienta propietaria que el usuario deba aprender, y no toma horas de tiempo de ingeniería para obtener un alto rendimiento o baja latencia. Esto significa transiciones rápidas, lo que también reduce el costo y el tiempo de comercialización.
¿Cuáles son los diferentes tipos de aplicaciones para las que Zebra está mejor diseñado?
Zebra es un motor de aceleración genérico, por lo que puede acelerar el cálculo para cualquier aplicación que necesite calcular redes neuronales, con un enfoque principal en imágenes y video porque las necesidades de cálculo son más grandes para este tipo de datos. Hemos recibido solicitudes de muy diferentes mercados, pero todos son similares cuando se trata de calcular redes neuronales. Todos ellos normalmente requieren clasificación, segmentación, super resolución, posición del cuerpo, etc.
Como Zebra se ejecuta sobre FPGA, cualquier tipo de tarjeta puede ser utilizada. Algunas tienen un alto rendimiento y se utilizan típicamente en centros de datos. Otras son más adecuadas para su uso en el borde o en sistemas integrados. Nuestra visión es que, si un FPGA puede caber, los usuarios pueden utilizar Zebra para acelerar sus cálculos de redes neuronales de inmediato. Y si se utilizan GPU o CPU, Zebra puede reemplazarlas y reducir los costos de la infraestructura de IA. La mayoría de las empresas con las que hablamos están teniendo problemas similares: podrían implementar más aplicaciones basadas en IA, pero el costo es lo que les limita.
Para una empresa que desee utilizar Zebra, ¿cuál es el proceso?
Simplemente hágannoslo saber en [email protected] y nos encargaremos de empezar.
¿Hay algo más que te gustaría compartir sobre Mipsology?
Estamos muy animados con la retroalimentación que recibimos de la comunidad de IA para nuestra solución Zebra. En particular, nos dicen que esto es probablemente el mejor acelerador en el mercado. Después de solo unos meses, seguimos agregando a un ecosistema en crecimiento de socios interesados que incluye a Xilinx, Dell, Western Digital, Avnet, TUL y Advantech, por nombrar algunos.
Disfruté mucho aprendiendo sobre esta tecnología innovadora. Los lectores que deseen aprender más deben visitar Mipsology.












