¿Cómo puede Google diseñar un procesador más adecuado para el entrenamiento de redes neuronales profundas que la GPU?

No sé qué ha planeado Google, pero aquí hay algunas cosas que podría pensar:

  • Mejora la arquitectura de “memoria”. Con GPU o tarjetas de cómputo, debe almacenar los resultados de las operaciones en la memoria (o caché) antes de aplicar otras operaciones. Con un ASIC puede alimentar directamente el resultado de las operaciones a las siguientes operaciones.
  • Puede ajustar el número de unidades funcionales a las necesidades de un modelo específico de aprendizaje automático. Si ha diseñado una red neuronal con una estructura de capa específica, puede adaptar el ASIC de aprendizaje automático con la cantidad exacta de circuitos de multiplicación, suma, etc. y no desperdiciar silicona en los circuitos que no necesita.
  • Google podría haber encontrado algo así como la raíz cuadrada inversa rápida: Wikipedia para el aprendizaje automático. La raíz cuadrada inversa rápida se aproxima a una operación compleja a través de operaciones binarias más rápidas y aparentemente no relacionadas. Google podría haber encontrado atajos similares para calcular las salidas o derivados de sus redes neuronales.
  • El rendimiento de las redes neuronales podría mejorarse mediante el uso de circuitos analógicos en alguna área (los circuitos analógicos se pueden usar para resolver ecuaciones diferenciales).

Para responder directamente a su pregunta, utiliza un cálculo de menor precisión para las operaciones (como 16 bits fijos u 8 bits fijos en lugar de fp32 o fp16).

Esto se debe a que el aprendizaje profundo es fundamentalmente muy tolerante a errores, aquí hay una publicación de blog sobre este fenómeno (bien conocido):

¿Por qué son suficientes ocho bits para redes neuronales profundas?

Esa es la mejora principal, otras mejoras podrían provenir de:

  1. Falta de jerarquía de caché coherente, o al menos muy simplificada. ← Las redes profundas no necesitan esto, así que córtalo para obtener más eficiencia.
  2. Uso de memoria personalizada como HBM2 que tiene (mucho) mayor ancho de banda, que es el elemento vital de la DL basada en GPU.
  3. Implementación de hardware de convoluciones de Winograd que son extremadamente eficientes para convoluciones 3 × 3 que resultan ser el tipo más comúnmente utilizado en DL ahora. Esta es la ruta que Nervana fue afaik.

More Interesting

¿Cuáles son las características importantes para el análisis de sentimientos basado en aspectos en el enfoque de aprendizaje automático? ¿Qué algoritmos se pueden usar para extraer estas características?

¿Cuál es la diferencia entre agrupar sin PCA y agrupar con PCA?

¿Cómo podemos usar Tensorflow para problemas de clasificación?

¿Qué enfoques / regulaciones se utilizan para manejar el 'problema mínimo / máximo local' cuando se usa el descenso de gradiente con redes neuronales profundas?

Mi campo de interés para el doctorado es la visión por computadora, el aprendizaje automático y el procesamiento de imágenes. ¿Qué recursos hay para principiantes con respecto a estos temas? Yo sé Java; ¿Debo aprender otros idiomas primero o puedo comenzar los cursos de inmediato?

En un problema de optimización no convexo, ¿es posible determinar si dos puntos pertenecen al mismo valle o no?

Cómo modelar la siguiente situación probabilística

¿Cuándo harán las máquinas la física y volverán a aprender las características de los datos de observación y luego reemplazarán aquellas como masa, giro, color o carga?

¿Los científicos de datos y el ingeniero de aprendizaje automático necesitan saber implementar algoritmos ML / DL desde cero o simplemente usar las bibliotecas existentes en producción?

¿Cuál es un buen tutorial breve para usar el aprendizaje profundo para tareas de reconocimiento de imágenes?

¿Cuál es la diferencia entre un clasificador Naive Bayes y AODE?

Todos dicen que el aprendizaje automático ocupará trabajos de un gran no. de personas, ¿es esto cierto? ¿Hay algún lado positivo?

¿Qué es el HTML? ¿Cuáles son las características que tiene sobre una representación de datos en texto plano?

¿Es útil el modelo jerárquico bayesiano en la industria o las finanzas?

¿Cómo se compara la industria del aprendizaje automático con las opciones de carrera dentro del desarrollo web?