ProcesadoresTutoriales

Procesadores con inteligencia artificial: el misterioso futuro de la CPU

Los procesadores con inteligencia artificial ya son una realidad. Pero ¿cómo afectará la IA a estas unidades de procesamiento? A responder esta pregunta es a lo que vamos en este tutorial donde verás que las redes neuronales y la inteligencia artificial están alterando las CPUs más allá de los aceleradores que puedan contener…

Procesadores y los primeros «coqueteos» con la IA

Intel EVO

Hay que decir que los primeros «coqueteos» entre los procesadores y la inteligencia artificial se produjo con las primeras cargas de trabajo de IA que comenzaron a ejecutar estas unidades de procesamiento. Desde que se acuñó el término inteligencia artificial en 1956, hasta nuestros días, mucho ha evolucionado este campo.

Existió un pionero español en este campo llamado Leonardo Torres Quevedo, un gran olvidado en nuestro país, pero que es uno de los padres de la IA moderna y de la automática. Sus trabajos fueron bastante valorados en el extranjero.

Cuando comenzaron a desarrollarse las primeras redes neuronales artificiales y algoritmos de IA, se necesitaba pasar estos algoritmos a código fuente para ser compilado y ejecutado por los procesadores como cualquier otro programa. En estas fechas se carecían de aceleradores.

También aparecieron algunos lenguajes como PROLOG muy usado para IA, además de sistemas cada vez más capaces. Todo un hito sería el superordenador Watson de IBM, dedicado a la inteligencia artificial, y donde se comenzaron a crear los primeros chips con redes neuronales artificiales y aceleradores de IA, aunque solo para el sector de la investigación y el alto rendimiento.

Poco a poco la inteligencia artificial se hacía más y más inteligente, y se necesitaba más y más potencia de cálculo, empleando unidades más poderosas como la GPU para ello…

También te interesará conocer los mejores procesadores del mercado

Predictores con IA en las CPUs

amd fx

Como bien sabes, uno de los puntos más críticos de un procesador es el predictor de saltos. Esta unidad se encarga de predecir los saltos condicionales o incondicionales que tomará el software que está ejecutando, tratando de anticiparse para no desperdiciar ciclos de reloj mientras se espera a la decisión. De este modo, una vez que termina de ejecutarlo, ya tiene el resultado, mejorando así el rendimiento.

En cambio, estas predicciones se han venido basando en tablas y estadísticas de cuántas veces se ha tomado o no esa bifurcación durante estos saltos. Y así la CPU podía tomar una determinación, con un buen porcentaje de aciertos, pero también de fallos.

Cuando se produce un fallo, se necesita vaciar el cauce de la pipeline y volver a ejecutar el camino correcto, desechando el incorrecto. Por tanto, esto significa una importante penalización en ciclos de reloj.

Pues bien, AMD fue una de las pioneras en investigar sobre el uso de redes neuronales artificiales basadas en el perceptrón para su unidad de predicción de saltos, aprendiendo así de forma más inteligente que simplemente usando tablas estadísticas, y pudiendo mejorar el acierto. Esto lo hizo para la microarquitectura Piledriver.

No obstante, en una conversación que tuve con François Piednöel, ex arquitecto principal de Intel, parece que este tipo de tecnologías se le comenzaron a atracar a los ingenieros. Actualmente se desconocen detalles de si Intel, AMD, y otras compañías están realmente usando versiones de redes neuronales mejoradas para la predicción de saltos, pero es algo interesante.

También te interesará conocer los mejores portátiles con procesadores con IA

Aceleradores de inteligencia artificial: procesadores con inteligencia artificial

Dado que la cantidad de cargas de trabajo de inteligencia artificial han aumentado mucho, ya que se emplean tecnologías como los asistentes de voz, tecnologías de IA para las cámaras web, uso de IA para mejorar el rendimiento gráfico, y un largo etc., los procesadores han tenido que integrar aceleradores de inteligencia artificial. De esta forma se le daba solución a estas cargas de trabajo que consumen recursos y la CPU convencional no tiene la arquitectura ideal para optimizar el rendimiento.

Como debes saber ya, si nos lees frecuentemente, la IA necesita de datos de coma flotante muy simples, como los FP8, FP16, etc. Es decir, de una precisión muy baja. Algo para lo que las FPUs de los procesadores no están pensados, ya que están creadas para FP32, FP64, o SIMD superiores. Lo mismo ocurría con las GPUs, que tampoco estaban optimizadas, aunque actualmente han hecho un gran avance con las unidades Tensor y los aceleradores de cómputo para estos datos simples.

Uno de los pioneros en comenzar a integrar estos aceleradores de IA en el SoC fue Apple, con sus unidades A-Series y M-Series. Dentro de ellas se incluía una NPU o Neural Processing Unit, que Apple denomina Neural Engine. Estas unidades no son más que un procesador dedicado que actúa como acelerador para las cargas de trabajo de inteligencia artificial. Por ejemplo, se encargan de ciertas cargas de IA de algunas de sus apps, del asistente virtual Siri, de tecnologías de la cámara para el ajuste y mejora de imagen, etc.

Poco a poco, esto se ha hecho necesario también en otros SoCs o procesadores. Y AMD fue la primera en sorprender este año con la inclusión de la tecnología AMD Ryzen AI para sus procesadores AMD Ryzen para portátiles basados en Zen 4. Esta unidad no es más que otra NPU similar a la de Apple y dedicada a acelerar las cargas de trabajo de IA en el sistema. Se convirtieron así en los primeros chips x86 en incluir uno de estos aceleradores.

Intel no debería tardar demasiado en dar una respuesta, y también comenzar a integrar este tipo de unidades si no quiere quedarse atrás en este campo.

La IA como recurso de diseño para procesadores

WSPM, memristor

No solo tenemos casos de inteligencia artificial como carga de trabajo o en aceleradores incrustados en los procesadores, también hay que decir que la IA está presente mucho más allá, como en algunas herramientas EDA que mejoran ciertas funciones y facilitan el trabajo al ingeniero o arquitecto.

También es cierto que algunas grandes corporaciones están empleando IA para poder mejorar los diseños de sus procesadores. Una ayuda a las mentes brillantes de los arquitectos que ven cómo la IA puede, por el momento, automatizar o agilizar ciertas tareas repetitivas, o más aburridas para los humanos.

No obstante, en un futuro de los microprocesadores se espera que el uso de la IA vaya a más y también permitan crear diseños de microarquitecturas realizadas solo por ellas, como sustitución de los ingenieros actuales.

Por el momento, sin tratar de predecir el futuro, ahora tenemos los llamados IA-EDA, unos entornos de desarrollo de circuitos electrónicos usados en la industria de los semiconductores y que pueden tener algunas ventajas frente a los EDA tradicionales, como por ejemplo, realizar tareas como:

  • Diseño automatizado: se usa para automatizar ciertas etapas del diseño de chips, como el enrutamiento de cables, la colocación de componentes y la optimización del diseño. Los algoritmos de aprendizaje automático y optimización pueden ayudar a generar diseños más eficientes y optimizados en términos de rendimiento, área y consumo de energía.
  • Verificación de diseño: es una parte crítica del proceso de diseño de chips para garantizar que el diseño cumpla con las especificaciones y no tenga errores. La IA se utiliza para desarrollar técnicas de verificación más avanzadas, como la generación automática de casos de prueba, la detección de errores y la depuración automatizada.
  • Exploración de diseño y optimización: se utiliza para explorar y optimizar el espacio de diseño de chips. Los algoritmos de aprendizaje automático pueden ayudar a encontrar configuraciones óptimas de parámetros, como tamaños de transistores, voltajes de operación y topologías de circuitos, para cumplir con los objetivos de diseño, como el rendimiento, el consumo de energía y el costo.
  • Análisis y predicción de rendimiento: se emplea para analizar y predecir el rendimiento de los diseños de chips. Los modelos de aprendizaje automático pueden entrenarse con datos históricos y de simulación para predecir el rendimiento de un diseño en función de ciertos parámetros y condiciones de operación.

Conclusión

Cada vez la IA va a estar más presente en todos los ámbitos, y también en los procesadores, que tendrán que adaptarse para lidiar con estas nuevas cargas de trabajo, como en su momento se tuvieron que adaptar a las nuevas necesidades multimedia o del software actual.

Es posible vislumbrar un futuro donde la propia IA sea la que diseñe los chips o se encargue de la gestión de la fab en la foundry. De hecho, las foundries actuales pueden gestionarse de forma casi autónoma, para reducir el nivel de personal dentro de ellas y, por tanto, la contaminación de la sala blanca.

Te recomendamos nuestra comparativa Elgato Facecam Pro vs Insta360 Link vs Razer Kiyo Pro Ultra.

No obstante, todo eso implica sus riesgos y sus inconvenientes, como la independencia de gran parte de la mano de obra humana actual…

¿Qué opinas?

Isaac

Geek de los sistemas electrónicos, especialmente del hardware informático. Con alma de escritor y pasión por compartir todo el conocimiento sobre tecnología.
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en info@profesionalreview.com
Botón volver arriba