La aparición de las redes neuronales artificiales
El campo del aprendizaje profundo está experimentando un rápido y radical cambio, tanto que algunos creen que es una amenaza para la humanidad. Inicialmente, la atención se centró en la categorización de imágenes a través de redes neuronales convolucionales, que logró impresionantes ganancias de precisión. Poco a poco fueron evolucionando los algoritmos y también fueron alimentados con infinidad de datos para que aprendiesen.
Curiosamente, a medida que las tareas se volvieron más complejas, gran parte del cálculo necesario empezó a afectar al hardware fuera de las funciones convencionales de las redes neuronales. Por ejemplo, en el caso de SSD, se requiere un gran rendimiento para los accesos, ya que se necesita realizar un gran número de ellos.
En los últimos años, las cargas de trabajo basadas en el lenguaje han ganado más atención y cada vez cuentan con más aplicaciones. Un componente crucial en el avance del aprendizaje profundo ha sido el modelo de memoria RAM, y también la memoria secundaria, especialmente en tareas secuenciales y temporales como el reconocimiento de voz y la traducción automática de un idioma a otro. Al igual que con los enfoques de procesamiento de imágenes, gran parte del cálculo en tareas basadas en el lenguaje se realiza fuera de los componentes tradicionales de las redes neuronales.
Otra área en la que las interacciones naturales con las máquinas han progresado es en los diálogos de larga duración, como los chatbots, los asistentes virtuales (Siri, Alexa, Google Assistant, etc.) entre otros. Recientemente, los métodos basados en transformadores y atención han necesidad de mejoras en cuanto al procesamiento de texto.
Por último, cabe destacar los enfoques de aprendizaje automático basados en redes neuronales gráficas, que permiten ejemplos de tamaño arbitrario. Estos enfoques capturan grandes cantidades de conocimiento mundial en forma de gráficos, donde personas, lugares y objetos se representan como nodos, y las relaciones entre ellos. Esto también ha implicado la necesidad de una mejora en el hardware.
Impacto de la inteligencia artificial en el hardware
Todas estas cargas de trabajo especiales para la inteligencia artificial han obligado a que el hardware necesite de unas características o prestaciones diferentes para poder ejecutar estos algoritmos de forma eficiente y rápida. Por ejemplo, la GPU se ha hecho vital en estos casos, y se debe mejorar en los siguientes puntos:
- Facilidad para los desarrolladores: en primer lugar, es fundamental que la combinación de hardware y software sea fácil de utilizar. Deben ser capaces de ejecutar lenguajes y frameworks como TensorFlow, Pytorch, entre otros, que son ampliamente utilizados por científicos de datos. Las GPU han sido líderes en este aspecto, y las nuevas soluciones de hardware deben ofrecer una capacidad de software al menos comparable a la de una GPU.
- Durabilidad, escalabilidad y reprogramabilidad: en segundo lugar, las futuras arquitecturas de hardware deben ofrecer durabilidad como una característica primordial. Esto implica que la solución sea escalable a largo plazo y esté preparada para el futuro, brindando un alto rendimiento en experimentación, desarrollo e implementación de algoritmos. También deben ser reprogramables y capaces de admitir una amplia gama de cargas de trabajo, incluso aquellas que no se ajusten perfectamente. Codificar y optimizar algoritmos para GPU requiere habilidades especializadas, lo que limita el acceso de los científicos de datos a enfoques innovadores. Facilitar la manipulación y la extracción de eficiencia del hardware por parte de los científicos de datos haría que las arquitecturas alternativas fueran más atractivas para su adopción.
- Dinamismo: en tercer lugar, las necesidades de consolidación y elasticidad de carga de trabajo en implementaciones de producción requieren un soporte nativo para el dinamismo. Por lo tanto, las pilas de hardware y software deben ofrecer soporte para la virtualización, migración y otros aspectos de la implementación a gran escala.
- Alto rendimiento y eficiencia: por último, pero no menos importante, las soluciones deben ser al menos competitivas en términos de rendimiento y eficiencia energética. Es crucial que ofrezcan un rendimiento óptimo y utilicen la energía de manera eficiente, para garantizar la eficacia de las aplicaciones de inteligencia artificial y el aprovechamiento adecuado de los recursos.