Red de conocimiento informático - Problemas con los teléfonos móviles - Manual de Pytorch Número 10

Manual de Pytorch Número 10

En aplicaciones del mundo real, es posible que nos enfrentemos a más datos que en los capítulos anteriores, y la estructura de la red del modelo es más compleja (puede tener más parámetros), lo que requiere optimización y aceleración del modelo.

En este capítulo, el autor presentará varios métodos de aceleración y optimización de la red:

Google ha desarrollado su propio ASIC para la aceleración NN, llamado TPU.

Debido a que la TPU está diseñada para optimizar los cálculos de NN, no tiene algunas de las desventajas de la GPU. Google también proporciona el servicio Google Cloud TPU y también podemos elegir el servicio TPU cuando ejecutamos Google Colab.

TPU es una buena opción si el presupuesto lo permite. No demostraremos aquí cómo utilizar la TPU, ya que aún no es conveniente. Será útil saber más al respecto en futuras aplicaciones prácticas.

Si necesita usar TPU ahora, dado que Pytorch no admite TPU directamente, debe instalar un paquete intermedio Pytorc/XLA (Álgebra lineal acelerada) para completar la comunicación. Para obtener más detalles sobre Pytorc/XLA, consulte la documentación oficial: /pytorch/xla/

Enfoque multi-GPU

Una buena arquitectura debería poder utilizar plenamente el valor de hardware existente y no deje que los recursos queden inactivos. Esta sección se centrará en demostrar el uso de múltiples GPU en una sola máquina.

El uso de múltiples GPU a menudo se denomina procesamiento paralelo.

El procesamiento de datos distribuidos (DDP) se puede utilizar con múltiples procesos en una sola máquina o con múltiples procesos en múltiples máquinas.

1. Utilice torch.distributed para inicializar el grupo de procesos

2. Utilice torch.nn.to()

3. Utilice torch.nn.parallel

p>

4. Inicie la operación del proceso a través de torch.multiprocessing

El siguiente contenido se mejorará en dos o tres comentarios, y este comentario termina aquí.

Múltiples máquinas, múltiples GPU

-- Ajuste de hiperparámetros

-- Cuantización

-- Poda