Podemos leer en la página de Wikipedia que Google creó un chip ASIC personalizado para aprendizaje automático y diseñado para TensorFlow que ayuda a acelerar la IA.
Dado que los chips ASIC están especialmente personalizados para un uso particular sin la capacidad de cambiar su circuito, debe haber algún algoritmo fijo que se invoque.
Entonces, ¿cómo funciona exactamente la aceleración de la IA utilizando chips ASIC si su algoritmo no se puede cambiar? ¿Qué parte de ella está acelerando exactamente?
Respuestas:
Operaciones de tensor
El trabajo principal en la mayoría de las aplicaciones de ML es simplemente un conjunto de operaciones de tensor (muy grandes), por ejemplo, la multiplicación de matrices. Usted puede hacer que fácilmente en un ASIC, y todos los otros algoritmos solo puede funcionar por encima de eso.
fuente
Creo que el algoritmo ha cambiado mínimamente, pero el hardware necesario se ha recortado hasta el hueso.
El número de transiciones de compuerta se reduce (tal vez operaciones flotantes y precisión también), al igual que el número de operaciones de movimiento de datos, lo que ahorra energía y tiempo de ejecución. Google sugiere que su TPU logre un ahorro de costos 10 veces mayor para realizar el mismo trabajo.
https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html
fuente
ASIC: significa IC específico de la aplicación. Básicamente escribes programas para diseñar un chip en HDL . Tomaré casos de cómo funcionan las computadoras modernas para explicar mi punto:
n
¿numero de nucleos? No hay problema. ¿Desea definir el flujo de datos desde diferentes unidades de procesamiento a diferentes lugares? Puedes hacerlo. Además, con una planificación cuidadosa, puede obtener una compensación entre el área ASIC y la potencia y la velocidad. El único problema es que para todo esto necesita crear sus propios estándares. En general, se siguen algunos estándares bien definidos en el diseño de procesadores, como el número de pines y su funcionalidad, el estándar IEEE 754 para la representación de punto flotante, etc. que se han presentado después de muchas pruebas y errores. Entonces, si puede superar todo esto, puede crear fácilmente su propio ASIC.No sé qué están haciendo google con sus TPU, pero aparentemente diseñaron algún tipo de estándar Integer y FP para sus núcleos de 8 bits, dependiendo de los requisitos disponibles. Probablemente lo estén implementando en ASIC por consideraciones de potencia, área y velocidad.
fuente
La baja precisión permite el cálculo de alto paralelismo en las capas Convo y FC. Arquitectura fija de CPU y GPU, pero ASIC / FPGA puede diseñarse en función de la arquitectura de red neuronal
fuente