¿El aprendizaje automático es todo sobre software? ¿Qué tipo de hardware se requiere para simular algoritmos de aprendizaje automático?

¿El aprendizaje automático es todo sobre software?

  • Aunque la mayor parte del aprendizaje automático se trata de “algoritmos” a los que “aprende” acerca de los datos que se le presentan y produce algunos resultados de consultas basadas en su aprendizaje. La mayoría de las veces, estos algoritmos se implementan como software que debe ejecutarse en algún hardware. Así que supongo que la respuesta es (como lo son las respuestas más interesantes): sí y no 🙂

¿Qué tipo de hardware se requiere para simular algoritmos de aprendizaje automático?

  • No estoy seguro de lo que significa aquí el término “simulación”. En general, no necesitamos simular algoritmos ML, solo los ejecutamos :).
  • Ahora, dependiendo de la complejidad algorítmica del algoritmo y la cantidad de datos que necesita manejar, diferentes hardware pueden ser adecuados para diferentes algoritmos. Permítanme ilustrar con algunos ejemplos:
    • Cuando los algoritmos de ML tienen una complejidad lineal o sub-lineal y los datos no son enormes, las CPU son el hardware más deseado. Estos son fáciles de usar (use cualquier idioma en el planeta 🙂). Las CPU fueron la plataforma más popular para casi todos los usos industriales y de investigación hasta hace unos años.
    • La reciente revolución en ML denominada “aprendizaje profundo” ha cambiado bastante las opciones. Las GPU se consideran una plataforma de hardware “imprescindible” para dichos algoritmos. Estos algoritmos son (en términos generales) variantes de la “Red neuronal artificial” y en su mayoría requieren mucha multiplicación de matrices para el entrenamiento y la inferencia. Las GPU son excelentes para tales cálculos, son un orden de magnitud más rápido que las CPU para dicha carga de trabajo. Las GPU se han atribuido a los avances recientes en el aprendizaje automático. Más se puede leer en [1]
    • Aunque las GPU son geniales, no lo son para Google: P. Usan TPU. Aunque Google no ha dicho mucho acerca de estos chips misteriosos que están utilizando para impulsar sus esfuerzos de “aprendizaje profundo”, definitivamente marcan una tendencia. [2] sería una gran introducción para esto.
    • Ahora hablamos de una plataforma más exótica que todavía tiene que demostrar su valía. Se basa en ideas similares a las “redes neuronales artificiales”, pero toma una forma diferente de representar el algoritmo. Adoptan una visión más “centrada en las neuronas” para lo mismo. Podría decirse que IBM es la vanguardia de este frente con su chip de investigación: True north [3]. Estos no han podido igualar el nivel de precisión del estado del arte. Pero se ha demostrado que estos son mucho más eficientes energéticamente que otras soluciones. Si ofrecen precisión en el futuro, será extremadamente emocionante ver a otros tratando de ponerse al día. Otra mención de honor es que esta categoría es Spinnaker [4].
    • Hay algunas plataformas más que son prometedoras y que deben verse en el futuro.
      • Plataforma phi de Intel
      • FPGAs

[1] ¿Por qué las GPU son adecuadas para el aprendizaje profundo?

[2] Google sobrealimenta las tareas de aprendizaje automático con un chip personalizado de TPU

[3] Chip inspirado en el cerebro

[4] SpiNNaker