¿Hay alguna desventaja de usar GPU en el aprendizaje profundo?

Una desventaja principal de las GPU es que no está diseñada para el aprendizaje profundo, sino que está diseñada originalmente para implementar tuberías de gráficos. Como el aprendizaje profundo también alinea el mismo tipo de cálculo (multiplicaciones matriciales), las GPU se usaron para el aprendizaje profundo.

La siguiente gran novedad después de las GPU son la TPU (Unidad de procesamiento de tensor) de Google:

En lugar de estar estrechamente integrado con una CPU, para reducir las posibilidades de retrasar la implementación, la TPU fue diseñada para ser un coprocesador en el bus de E / S PCIe, lo que le permite conectarse a los servidores existentes tal como lo hace una GPU. Además, para simplificar el diseño y la depuración del hardware, el servidor host envía instrucciones de TPU para que se ejecute en lugar de buscarlas él mismo. Por lo tanto, el TPU está más cerca en espíritu de un coprocesador FPU (unidad de punto flotante) que de un GPU.

Ventaja de TPU sobre GPU:

  1. En las cargas de trabajo de AI de producción que utilizan la inferencia de redes neuronales, la TPU es de 15x a 30x más rápida que las GPU y CPU contemporáneas.
  2. El TPU también logra una eficiencia energética mucho mejor que los chips convencionales, logrando una mejora de 30x a 80x en la medición TOPS / Watt (operaciones tera [billones o 10 ^ 12 operaciones] de cómputo por vatio de energía consumida).
  3. Las redes neuronales que alimentan estas aplicaciones requieren una cantidad sorprendentemente pequeña de código: solo de 100 a 1500 líneas de código TensorFlow.

Google:

La necesidad de TPU realmente surgió hace aproximadamente seis años, cuando comenzamos a usar modelos de aprendizaje profundo computacionalmente costosos en más y más lugares a través de nuestros productos. El gasto computacional de usar estos modelos nos tenía preocupados. Si consideramos un escenario en el que las personas usan la búsqueda por voz de Google durante solo tres minutos al día y ejecutamos redes neuronales profundas para nuestro sistema de reconocimiento de voz en las unidades de procesamiento que estábamos usando, ¡habríamos tenido que duplicar la cantidad de centros de datos de Google!

Los TPU están detrás de cada consulta de búsqueda; potencian modelos de visión precisos que subyacen a productos como Google Image Search, Google Photos y la API de Google Cloud Vision; apuntalan las innovadoras mejoras de calidad que Google Translate lanzó el año pasado.

… y fueron fundamentales en la victoria de Google DeepMind sobre Lee Sedol, la primera instancia de una computadora que derrotó a un campeón mundial en el antiguo juego de Go.

Transporte de datos hacia y desde la GPU. Los datos ingresan a la GPU a través del bus, se asignan a la memoria, se procesan y envían los resultados a través del mismo canal. Si se nota o no, lleva tiempo. Por lo tanto, la desventaja es que si usa menos datos para la informática y tampoco requiere el procesamiento paralelo Es mejor no usar GPU, ya que se verá como una desventaja para una GPU.

A diferencia de la CPU que cuenta con ejecución secuencial, la GPU presenta ejecuciones paralelas y es increíblemente rápida.

Hay una obvia. Eso es costo Dependiendo de su necesidad, es posible que desee entrenar un modelo solo una vez / varias veces, etc. El costo de energía de las GPU es mayor que el de la CPU, por lo que su ejecución aumenta los costos de energía (electricidad).

Ejecutar el algoritmo en la CPU a veces es más barato dependiendo de lo que esté entrenando. En la mayoría de los casos, aunque ejecutarlo en GPU es más barato en función del costo por cálculo.

No veo ninguna desventaja en eso.

Creo que son una ventaja para el aprendizaje profundo.

El aprendizaje profundo generalmente ocurre en una matriz de datos. Y cuando en varias capas, es mucha multiplicación de matrices. Y todas estas operaciones matriciales se pueden procesar en paralelo en una GPU. (Las GPU son para llevar a cabo una gran cantidad de operaciones a la vez, y las CPU son para llevar a cabo menos operaciones pero con mayor velocidad que las GPU). Por esta misma razón, las GPU son un regalo para el aprendizaje profundo.

El uso de GPU es realmente muy recomendable cuando se trabaja con programas de aprendizaje profundo. La principal diferencia radica en el hecho de que la fase de entrenamiento y prueba de incluso programas simples lleva casi 96 horas mientras se trabaja con una CPU. Esta es la razón por la cual se aconseja a los estudiantes que elijan trabajar sobre algoritmos provenientes del entorno de Aprendizaje automático y Aprendizaje profundo, dependiendo de los recursos disponibles. Entonces, si uno tiene buenos recursos informáticos y muchos datos, se le recomienda que trabaje en el aprendizaje profundo y, de lo contrario, en el aprendizaje automático.

More Interesting

¿El CAPM está muerto, en el sentido de que el aprendizaje automático moderno y el modelado financiero han hecho que su aplicación en el mundo real sea redundante?

Cómo discriminar una señal del ruido en la última investigación y desarrollo de AI / ML

¿Se siguen evaluando empíricamente las arquitecturas de redes neuronales profundas?

¿Cuál es la importancia de las redes residuales profundas?

¿Qué es una explicación intuitiva para PCA?

¿Cuáles son las buenas heurísticas para elegir el tamaño de un lote en el entrenamiento de la red neuronal?

¿Cuáles son algunos modelos de detección de rostros basados ​​en aprendizaje profundo disponibles gratuitamente?

¿Es demasiado tarde para sumergirme en Data Science, ya que se están desarrollando poderosas herramientas de aprendizaje automático y ya hay muchos científicos de datos hábiles?

Cómo obtener colores 'visualmente distinguibles' de las imágenes

¿Cuáles son los siguientes pasos en el reconocimiento de voz después de extraer las funciones de MFCC?

¿Por qué utilizamos núcleos en algunos modelos de aprendizaje automático?

¿Puede el aprendizaje reforzado aprovechar la memoria o transferir el aprendizaje?

¿Cómo debo elegir entre convertirme en un desarrollador de JavaScript de pila completa o un ingeniero de aprendizaje automático?

¿Qué es el Autoencoder Adversarial?

Estoy tratando de construir un proyecto de aprendizaje automático para predecir el precio del automóvil usado. ¿Dónde puedo obtener una base de datos para la reventa de los autos usados?