Qué es Intel Deep Learning Boost y cómo ayuda a mejorar el rendimiento del procesador
Con la segunda generación de procesadores Intel Xeon el gigante azul lanzó un su tecnología Deep Learning Boost, conocida coloquialmente como DL Boost. Esto fue genial para el mercado de servidores y centros de alto rendimiento, ya que permite mayor flexibilidad en las cargas de trabajo de IA, pero ahora con Sunny Cove y Dynamic Tuning 2.o Intel lo ha incluido en sus procesadores Ice Lake. ¿Qué es esta tecnología?
Las dos caras de la inteligencia artificial: entrenamiento e inferencia
Tanto Intel como AMD están explorando nuevos límites con la inteligencia artificial, pero normalmente se encuentran con una barrera tan conocida por todos como es el software.
La eficiencia es algo clave, no solo en el día a día, sino que en inteligencia artificial es todavía más crucial, por lo que un procesador o FPGA necesita nuevos algoritmos si queremos que el rendimiento aumente cada vez más.
Es una disputa muy a la orden del día en IA, ya que, a mejores algoritmos y mejor entrenamiento, más eficiencia y precisión se obtiene, aumentando con ello el rendimiento.
Los algoritmos entrenados pueden enfrentar nuevos problemas si les hacemos llegar nuevos datos con los que trabajar, por lo que su precisión bajará. Esta lucha entre el algoritmo y los nuevos datos se hace llamar inferencia, o dicho de otro modo, es el arte de lograr que un algoritmo entrenado resuelva con precisión un nuevo problema.
Por lo tanto, entrenamiento e inferencia están en lados opuestos de la balanza, donde en cualquier caso se necesitan.
Normalmente vemos este choque de entrenamiento e inferencia a diario, por ejemplo, en nuestra cámara del smartphone, donde intenta detectar las caras de las personas, pero si esto lo elevamos a un PC de escritorio o servidor, las posibilidades son mucho mayores y los desafíos se establecen al mismo nivel.
Para solventar estos desafíos, Intel ha dotado a la arquitectura Ice Lake con su microarquitectura de núcleo Sunny Cove y con ello su soporte para las instrucciones AVX-512, logrando que los procesadores Intel de escritorio tengan por primera vez la capacidad de trabajar con instrucciones vectoriales de 512 bits.
Esto supone un salto de rendimiento en ciertas operaciones muy grande y esto es pieza clave para entender DL Boost.
AVX-512 es imprescindible para trabajar con DL Boost
DL Boost es una nueva tecnología de Intel que acaba de entrar en el mercado de escritorio y que aprovecha las capacidades de la nueva arquitectura Ice Lake para utilizar su capacidad de cálculo de redes neuronales en forma de cálculos de menor precisión.
Esto significa que puede reformar cálculos FP32 a inferiores, llegando hasta INT2 si fuese necesario. Lo que se consigue con esto es poder aumentar o reducir la precisión de los cálculos de la CPU, de manera que, si DL Boost lo estima conveniente, puede variar el cálculo de la inferencia hacia otros porcentajes si con ello es capaz de reducir la latencia o el consumo de energía.
Para ello necesita AVX-512, ya que su rendimiento es de más del doble frente a AVX-256 y al mismo tiempo estas instrucciones forman parte de la biblioteca de DL Boost gracias a los Intel Xeon y al SDK de la propia compañía.
Estas bibliotecas también permiten que cálculos matemáticos complejos pasen por ellas y sean tratadas como cálculos de redes neuronales simples, lo que aumenta el rendimiento y disminuye el consumo de energía.
Entendiendo todos los conceptos, queda claro que Intel va a limitar su uso en escritorio a simplemente inferencia, donde mediante su SDK entendemos que intenta potenciar el uso de las instrucciones AVX-512 en el software común para poder explotar las capacidades que ofrece (y ofrecerá) DL Boost.
Si lo que dice es cierto, doblaría el rendimiento con las instrucciones INT8, lo cual es un nivel de instrucción básico, pero bastante utilizado dentro del procesador.