¿Necesito una GPU para aprender el aprendizaje profundo?

AWS definitivamente NO es una forma rentable de trabajar en el aprendizaje profundo. Una instancia de AWS de nivel medio como, por ejemplo, r3.large le costará $ 0.20 / hora más ancho de banda y otros cargos, que es fácilmente $ 150 + / mes.

Estoy hablando de un trabajo con 8 r3.gran instancias spot mientras hablamos, con una oferta de $ 0.027 / hr, que es casi 8 veces menos, pero las instancias spot pueden ser eliminadas en cualquier momento. Esa no es una forma de realizar largas sesiones de capacitación de aprendizaje profundo.

Por cierto, los estoy usando para procesar el último archivo de Common Crawl para obtener datos de nuestro material de aprendizaje profundo. Cuesta <$ 15, en aproximadamente 3 días, revisar alrededor de 3B documentos en su rastreo web de octubre de 2016 que consta de 56700 archivos. Como siempre, un gran saludo para ellos por hacer esto.

Puedes comprar una Nvidia GTX 1060 con 4–5 TFLOPS por $ 200 y guardarla en una caja que ya tengas y podrás hacer maravillas con ella. Cuente con cientos de dólares más o menos para 16 GB de RAM (para que coincida con la tarjeta). Lo hice con una Dell Precision T1700 con 32 GB de RAM ECC y funciona muy bien. Solo asegúrese de que la tarjeta se ajuste a su estuche, ya que las versiones de doble y triple ventilador son bastante grandes.

AWS es bueno para ciertas cosas, como el gran escalamiento instantáneo o los grandes requisitos corporativos donde los tipos de TI desean proyectar imágenes de la grandeza de Amazon, ya que realmente no les importan mucho los presupuestos.

Para una sola persona que quiera ingresar y comenzar a jugar con algunos datos reales, no hay sustituto para una caja simple con una CPU decente (Core i5 o superior), buena fuente de alimentación, mucha RAM y una GPU Nvidia rápida.

Depende de lo que quieras hacer, si solo quieres rascar la superficie, probablemente no necesites hardware sofisticado en general, pero si quieres sumergirte profundamente necesitas hardware sofisticado.

Muchos algoritmos de aprendizaje profundo (por ejemplo, convNet, LSTM, …) consumen el recurso de su dispositivo y pueden seguir funcionando durante semanas, por lo que si desea que funcionen mucho más rápido, debe ejecutarlos en la GPU, especialmente si desea jugar con ellos Little bit y ejecútelos en grandes conjuntos de datos.

consulte la guía de hardware de Tim Dettmers sobre aprendizaje profundo, el enlace está debajo:

Una guía completa de hardware para el aprendizaje profundo – Tim Dettmers

Uno absolutamente necesita una GPU para aprender el aprendizaje profundo.

Uno no puede experimentar un aprendizaje profundo lo suficientemente bueno sin llevar a cabo experimentos a gran escala que involucren el uso de grandes conjuntos de datos y arquitecturas de red complicadas. Esto tiene que complementarse con muchos experimentos para elegir diferentes hiperparámetros. Tal experimentación a gran escala es una parte integral del propio “aprendizaje”. Sin ellos, el aprendizaje es extremadamente incompleto.

Una GPU es absolutamente necesaria para convertir el párrafo anterior en una experiencia de la realidad de uno. Una CPU no puede manejar arquitecturas de red complicadas debido a la cantidad prohibitiva de tiempo requerida para hacer los cálculos.

A pesar de la disponibilidad de servicios basados ​​en la nube para hacer un aprendizaje profundo hoy en día, se debe hacer mucho más en esa área para garantizar la accesibilidad. Se necesita una conexión a Internet de alta velocidad para transferir conjuntos de datos masivos a los servidores de dichos servicios. Cuando se trabaja con conjuntos de datos masivos (p. Ej., Imagenet-2017), se necesita un espacio de almacenamiento lo suficientemente grande como para pagar por dichos servicios. El dinero también se cobra por el tiempo que uno pasa haciendo cálculos en dichos entornos. Por lo tanto, si uno busca depurar su código, que es una tarea frecuente cuando se trabaja en algo innovador, una parte importante de los pagos se destina a las horas de tiempo dedicadas a realizar experimentos de depuración y no exactamente a los cálculos finales.

El acceso a una GPU en las proximidades sigue siendo la mejor opción disponible para que organizaciones individuales y de pequeña a mediana escala se aventuren en experimentos de aprendizaje profundo.

Permítanme reformular su pregunta (como veo dos preguntas diferentes aquí) correctamente.

  1. ¿Necesito una GPU personal o en la nube para Deep Learning o puedo trabajar solo con la CPU?

Yo diría que sí y no. Sí, si está trabajando con las imágenes, definitivamente necesita una GPU porque el procesamiento de imágenes en la GPU es mucho más rápido que en la CPU. También puede trabajar con CPU pero será lento. Y si vas a jugar con arquitecturas de red y otros parámetros, estarás haciendo muchas pruebas y errores y sería lo suficientemente frustrante si solo te quedas con la CPU porque tomará mucho tiempo. He trabajado allí también con GPU de CPU y te diré que es un gran alivio trabajar en GPU. No pierde mucho tiempo esperando que su modelo entrene como lo haría en el caso de la CPU.

Para resumir, también puedes trabajar sin GPU, pero tomará mucho tiempo.

Aquí hay un video para mostrar la diferencia entre CPU y GPU.

2. ¿Necesito una GPU personal o puedo trabajar en la nube?

Depende de usted y su definición de uso. Una instancia de GPU en AWS costaría .65 $ / hora y si es un estudiante, Amazon le proporcionará un crédito estudiantil por valor de 40 $ (a través de AWS Educate), lo que resulta en ~ 61 horas gratis. Hasta ahora he estado usando AWS solo para mis proyectos en CNN, han pasado 6 meses y las cosas me están funcionando sin problemas. Entonces, si no puede pagar una GPU propia, tiene una opción buena y económica para elegir AWS. Además de ser económico, tiene un buen soporte del equipo de Amazon, 60 GB de almacenamiento, buena velocidad de transferencia entre servidores (para descargar bases de datos o modelos de otros servidores a su máquina) y muchas personas lo están utilizando para sus proyectos a gran escala. De hecho, hasta donde yo sé, pocas startups también lo están usando para sus negocios. Entonces diría que ir con AWS es una buena opción.

Pero si cree que comprar su propia GPU sería más barato para usted a más largo plazo de lo que puede comprar, pero asegúrese de comparar el rendimiento de ambas GPU (una dada por AWS y otra que planea comprar).

AWS definitivamente NO es una forma rentable de trabajar en el aprendizaje profundo. Una instancia de AWS de nivel medio como, por ejemplo, r3.large le costará $ 0.20 / hora más ancho de banda y otros cargos, que es fácilmente $ 150 + / mes.

Estoy hablando de un trabajo con 8 r3.gran instancias spot mientras hablamos, con una oferta de $ 0.027 / hr, que es casi 8 veces menos, pero las instancias spot pueden ser eliminadas en cualquier momento. Esa no es una forma de realizar largas sesiones de capacitación de aprendizaje profundo.

Por cierto, los estoy usando para procesar el último archivo de Common Crawl para obtener datos de nuestro material de aprendizaje profundo. Cuesta <$ 15, en aproximadamente 3 días, revisar alrededor de 3B documentos en su rastreo web de octubre de 2016 que consta de 56700 archivos. Como siempre, un gran saludo para ellos por hacer esto.

Puedes comprar una Nvidia GTX 1060 con 4–5 TFLOPS por $ 200 y guardarla en una caja que ya tengas y podrás hacer maravillas con ella. Cuente con cientos de dólares más o menos para 16 GB de RAM (para que coincida con la tarjeta). Lo hice con una Dell Precision T1700 con 32 GB de RAM ECC y funciona muy bien. Solo asegúrese de que la tarjeta se ajuste a su estuche, ya que las versiones de doble y triple ventilador son bastante grandes.

AWS es bueno para ciertas cosas, como el gran escalamiento instantáneo o los grandes requisitos corporativos donde los tipos de TI desean proyectar imágenes de la grandeza de Amazon, ya que realmente no les importan mucho los presupuestos.

Para una sola persona que quiera ingresar y comenzar a jugar con algunos datos reales, no hay sustituto para una caja simple con una CPU decente (Core i5 o superior), buena fuente de alimentación, mucha RAM y una GPU Nvidia rápida.

Hay dos razones principales por las que el aprendizaje profundo ha captado tanta atención en los últimos años:

  1. Datos
  2. GPU (El poder de cálculo)

Según Ian Goodfellow, Yoshua Gengio y Auron Courvile:

1) El aprendizaje profundo se ha vuelto más útil a medida que la cantidad de capacitación disponible

Los datos han aumentado.

2. Los modelos de aprendizaje profundo han crecido en tamaño con el tiempo como hardware de computadora

y la infraestructura de software para el aprendizaje profundo ha mejorado.

Sí, puede ejecutar sus modelos en la propia CPU, pero si los modelos son grandes como Resnet, Inception, etc., le tomará meses entrenar los modelos si se utilizan CPU, pero si usa GPU, puede terminar su trabajo en días. en comparación con meses si se ejecuta en CPU.

Entonces, para concluir las aplicaciones de GPU’s Speedup por un amplio margen.

Como todos mencionaron, no es necesario. Puede escribir el código TensorFlow sin GPU, en su máquina o en la nube, y luego acelerar el entrenamiento con GPU. Puede obtener más información sobre cómo acelerar el aprendizaje profundo con GPU en nuestro curso gratuito Aceleración del aprendizaje profundo con GPU

Depende de usted. si entrena un modelo de red neuronal pequeño, como datos de entrada 40000 o datos de entrada 60000, entonces puede manejarlo su computadora, pero lleva un tiempo completar la época. pero es necesario que su computadora tenga 3 a 4 gb de ram con tarjeta gráfica nvidia es suficiente. Si desea entrenar una gran estructura de datos en la red neuronal o en la red neuronal de convolución, puede usar GPU.

Necesario: No. Puede escribir el código TensorFlow en Raspberry Pi.

Reconocimiento de imagen TensorFlow en una Raspberry Pi – Silicon Valley Data Science

Recomendado – ¡Sí! Si entrena grandes redes neuronales, el uso de una GPU acelerará el tiempo de entrenamiento en múltiples, lo reducirá de días a horas; dependiendo de la GPU que uses.

Si desea encontrar algo útil, utilizando las herramientas y plataformas existentes, entonces sí.

Sin embargo, puede prescindir de las GPU, en cuyo caso, puede tardar un poco más.

Por ejemplo: entrenar un modelo en GPU (6GB) me llevó 2 horas. El mismo modelo tardó unos 3 días en una máquina de 32 GB de RAM.

Entonces, es una compensación.

¡No! ¡Pero es bueno para el análisis avanzado!

More Interesting

¿Qué es el proceso de procesamiento del lenguaje natural?

¿El aprendizaje automático es un tema torpe?

Cómo etiquetar objetivamente objetos con etiquetas que son subjetivas, en sistemas expertos

¿Cómo podría usar el aprendizaje automático para clasificar los datos 1D?

Cómo hacer frente al aprendizaje de la ciencia de datos

¿El aprendizaje de refuerzo se convertirá en un tema candente en ML después del éxito de AlphaGo? ¿Qué preguntas importantes de investigación en RL aún no tienen una buena respuesta?

¿Cuál es un buen consejo para una implementación eficiente de un algoritmo de aprendizaje automático en C / C ++?

¿Es posible que AI / ML aprenda el patrón subyacente en los siguientes problemas y prediga la respuesta?

¿Qué es un giroscopio? ¿Como funciona?

¿Por qué alguien usaría un modelo de regresión basado en un árbol de decisión?

¿Qué sucede cuando las computadoras aprenden a componer música mejor que los humanos?

¿Se está saturando el aprendizaje automático como campo de investigación?

¿Qué áreas de ciencia de datos o aprendizaje automático están creciendo en importancia?

¿Cuáles son las consecuencias de usar la función de error del tren [matemáticas] \ min_ {f \ in \ mathcal {H}} \ max_ {i \ in \ {1… N \}} \ | f (x ^ {(i)}) - y ^ {(i)} \ | ^ 2 [/ math] en lugar del error de tren medio empírico estándar para Machine Learning?

¿Qué es exactamente el sobreajuste? ¿Por que sucede? ¿Cómo afecta a mi modelo?