Hardware para aprendizaje profundo
Hardware actual para necesidades computacionales de aprendizaje profundo
El hardware es la base en la que se basa el aprendizaje profundo, proporcionando sus capacidades y preparación para ayudar a las personas a categorizar objetos, mejorar el reconocimiento de voz, comprender visualizaciones o cualquier otro propósito que motive a las personas a usar el aprendizaje profundo. Al analizar las necesidades computacionales del aprendizaje profundo, recordar los acrónimos es la mejor manera de detallar los requisitos de hardware para el aprendizaje profundo.
GPU, TPU, FPGA y ASIC son todos componentes de hardware clave necesarios para hacer que el aprendizaje profundo funcione, especialmente en medio de preocupaciones recientes de que su progreso se ha atrofiado . Estos tipos de hardware consumen mucha energía y facilitan grandes modelos de aprendizaje profundo que las CPU y las computadoras portátiles normales no pueden administrar. ¿Cómo cada uno de estos tipos de hardware satisface estas necesidades mientras aborda los límites computacionales que impiden que el aprendizaje profundo alcance el máximo potencial.
GPU
Las GPU son procesadores que generan gráficos de computadora basados en polígonos, acumulando capacidades de procesamiento a gran escala con el tiempo para brindar más realismo y sofisticación visual. Empresas como NVIDIA han sido pioneras en el mercado de procesadores, produciendo procesadores que contienen miles de núcleos diseñados para computar con una eficiencia casi total. Sus procesadores, en los últimos años, han realizado el cálculo de manipulaciones de matrices y redes neuronales. Titan X es una pieza de hardware particularmente impresionante para entrenar diferentes modelos de aprendizaje profundo, con más de 3500 núcleos que ofrecen 11 tera-flops.
Las GPU son necesarias para el aprendizaje profundo porque la fase de entrenamiento para el aprendizaje profundo, específicamente para las redes neuronales, requiere muchos recursos. La red neuronal atrae entradas que se procesan en capas ocultas. Las entradas se ajustan posteriormente, lo que lleva al modelo a hacer una predicción y encontrar patrones para hacer una predicción más precisa. Las GPU dedican más transistores a las unidades lógicas aritméticas que las CPU y dedican menos transistores a las memorias caché. Las GPU son los caballos de batalla dedicados para la representación gráfica y tienen más códigos lógicos que una CPU, lo que se aplica principalmente para problemas que requieren análisis a través del código.
TPU
Las unidades de procesamiento de tensor (TPU) son circuitos integrados específicos de la aplicación del acelerador de inteligencia artificial (IA) que se utilizan para acelerar el aprendizaje automático en las redes neuronales.
El hardware especializado para el aprendizaje profundo fue desarrollado por el gigante de los motores de búsqueda Google, con configuraciones básicas de ocho núcleos, así como configuraciones más grandes, que incluyen miles de núcleos. Cuando se introdujeron en mayo de 2016, las TPU eran más rápidas que las GPU y realizaban operaciones de tensor más rápidas. Son motores rápidos de aprendizaje automático que realizan operaciones de tensor que están constantemente presentes en el entrenamiento de redes neuronales. Las matrices sistólicas se utilizan como productos puntuales de tensores en un núcleo de una TPU en lugar de distribuirse en varios núcleos de GPU. Las TPU también utilizan la cuantificación para aproximar un valor aleatorio entre dos límites, comprimiendo los cálculos de coma flotante para permitir conversiones de números continuos a discretos.
FPGA
Los arreglos de puertas programables en campo (FPGA) son circuitos integrados que se crean para la configuración por parte de un cliente o diseñador después de la fabricación. Los FPGA en los últimos años han aprovechado más bloques de computación de acumulación múltiple, realizando multiplicaciones. Los bloques se pueden agrupar para realizar muchas multiplicaciones en paralelo.
Los FPGA son rentables en comparación con las GPU y ofrecen personalización de hardware aprovechando la integración de IA. Los arreglos están programados para ofrecer un comportamiento similar al de las GPU y son reprogramables y reconfigurables, y se adaptan al panorama actual de IA en evolución. Los FPGA facilitan un rendimiento sólido con un rendimiento significativo al tiempo que proporcionan una baja latencia para la transcripción, la transmisión de video y otras aplicaciones en tiempo real. Los FPGA también se adaptan a diferentes funciones, brindan eficiencia energética y cuentan con un bajo consumo de energía, lo que permite a los usuarios usar una parte de un FPGA para una función en lugar del chip completo.
ASIC
Un circuito integrado específico de la aplicación, como los FPGA, ofrece personalización para manejar los límites computacionales del aprendizaje profundo. Son tipos de hardware más especializados que las GPU porque las GPU son procesadores paralelos con miles de unidades computacionales, mientras que los ASIC son capaces de realizar pequeños conjuntos de cálculos rápidamente.
Sin embargo, el inconveniente de los ASIC en comparación con los FPGA es que los ASIC tienen una lógica fija. No puede reprogramar los ASIC para hacer otras cosas cuando sea necesario en comparación con los FPGA, donde puede crear los circuitos que mejor se adapten a sus necesidades en cualquier momento. Dicho esto, los ASIC son más eficientes energéticamente que los FPGA y proponen arquitecturas especializadas, compensaciones y soluciones de ingeniería para aspectos técnicos. Los TPU son los ejemplos más famosos de ASIC, y estos componentes de hardware proporcionan el procesamiento y el consumo de energía necesarios al tiempo que aceleran el aprendizaje profundo.
Hay muchas opciones de hardware disponibles para extraer los mejores elementos del aprendizaje profundo, y los componentes mencionados anteriormente pueden abordar las preocupaciones sobre las restricciones computacionales que limitan el progreso del aprendizaje profundo.
En la parte final, la próxima semana, nos centraremos en la familia ASIC conocida popularmente como IPU o Unidades de procesamiento de infraestructura.