Rendimiento de aprendizaje profundo en GPU T4 con pruebas MLPerf
Summary: Información sobre la arquitectura Turing, que es la arquitectura de GPU más reciente de NVIDIA después de la arquitectura Volta y el nuevo T4 se basa en la arquitectura Turing. ...
Symptoms
Cause
Resolution
Índice:
Resumen
La arquitectura Turing es la arquitectura de GPU más reciente de NVIDIA después de la arquitectura Volta y la nueva T4 se basa en la arquitectura Turing. Se diseñó para computación de alto rendimiento (HPC), capacitación e inferencia de aprendizaje profundo, aprendizaje automático, analítica de datos y gráficos. En este blog, se cuantificará el rendimiento de la capacitación de aprendizaje profundo de las GPU T4 en el servidor Dell EMC PowerEdge R740 con el conjunto de parámetros de referencia MLPerf. El rendimiento de MLPerf en T4 también se comparará con V100-PCIe en el mismo servidor con el mismo software.
Descripción general
Dell EMC PowerEdge R740 es un servidor de montaje en rack de 2U de 2 conectores. El sistema cuenta con procesadores Intel Skylake, hasta 24 DIMM y hasta 3 GPU V100-PCIe de doble ancho o 4 GPU T4 de ancho simple en 16 ranuras PCIe 3.0. T4 es la GPU que utiliza la arquitectura Turing más reciente de NVIDIA. Las diferencias de especificación de la GPU T4 y V100-PCIe se indican en la Tabla 1. Se seleccionó MLPerf para evaluar el rendimiento de T4 en la capacitación de aprendizaje profundo. MLPerf es una herramienta de análisis comparativo elaborada por un grupo diverso de académicos y trabajadores de la industria de Google, Baidu, Intel, AMD, Harvard y Stanford, etc., para medir la velocidad y el rendimiento del software y el hardware de aprendizaje automático. La versión inicial lanzada fue v0.5 y abarca implementaciones de modelos en diferentes dominios de aprendizaje automático, incluida la clasificación de imágenes, la detección y la segmentación de objetos, la traducción automática y el aprendizaje de refuerzo. El resumen de los parámetros de referencia de MLPerf utilizados para esta evaluación se muestra en la Tabla 2. Se utilizó la implementación de TensorFlow ResNet-50 a partir de la información de Google y se utilizaron las implementaciones de todos los demás modelos a partir de la información de NVIDIA. Todos los parámetros de referencia se aplicaron en sistemas de bajo nivel sin contenedor. En la Tabla 3, se indican el hardware y el software utilizados para la evaluación. El rendimiento de T4 con parámetros de referencia MLPerf se comparará con V100-PCIe.
| Tesla V100-PCIe | Tesla T4 | |
|---|---|---|
| Arquitectura | Volta | Turing |
| Núcleos CUDA | 5120 | 2560 |
| Núcleos Tensor | 640 | 320 |
| Funcionalidad de computación | 7,0 | 7.5 |
| Reloj de GPU | 1245 MHz | 585 MHz |
| Reloj de impulso | 1380 MHz | 1590 MHz |
| Tipo de memoria | HBM2 | GDDR6 |
| Tamaño de la memoria | 16 GB/32 GB | 16 GB |
| Ancho de banda | 900 GB/s | 320 GB/s |
| Ancho de ranura | Dos ranuras | Una ranura |
| Precisión única (FP32) | 14 TFLOPS | 8,1 TFLOPS |
| Precisión mixta (FP16/FP32) | 112 TFLOPS | 65 TFLOPS |
| Doble precisión (FP64) | 7 TFLOPS | 254,4 GFLOPS |
| TDP | 250 W | 70 W |
Tabla 1: La comparación entre T4 y V100-PCIe
| Clasificación de imágenes | Clasificación de objetos | Segmentación de instancia de objetos | Traducción (recurrente) | Traducción (no recurrente) | Recomendación | |
|---|---|---|---|---|---|---|
| Datos | ImageNet | COCO | COCO | WMT E-G | WMT E-G | MovieLens-20M |
| Tamaño de datos | 144 GB | 20 GB | 20 GB | 37 GB | 1.3 GB | 306 MB |
| Modelo | ResNet-50 v1.5 | Detector de etapa única (SSD) | Mask-R-CNN | GNMT | Transformer | NCF |
| Infraestructura | TensorFlow | PyTorch | PyTorch | PyTorch | PyTorch | PyTorch |
Tabla 2: Los parámetros de referencia de MLF Perf utilizados en la evaluación
| Plataforma | PowerEdge R740 |
|---|---|
| CPU | 2 procesadores Intel Xeon Gold 6136 a 3,0 Ghz (SkyLake) |
| Memoria | 384 GB DDR4 a 2666 MHz |
| Almacenamiento | Lustre de 782 TB |
| Unidad de procesamiento de gráficos (GPU) | T4, V100-PCIe |
| SO y firmware | |
| Sistema operativo | Red Hat® Enterprise Linux® 7.5 x86_64 |
| Kernel de Linux | 3.10.0-693.el7.x86_64 |
| BIOS | 1.6.12 |
| Aprendizaje profundo relacionado | |
| Compilador CUDA y controlador de GPU | CUDA 10.0.130 (410.66) |
| CUDNN | 7.4.1 |
| NCCL | 2.3.7 |
| TensorFlow | nightly-gpu-dev20190130 |
| PyTorch | 1.0.0 |
| MLPerf | V0.5 |
Tabla 3: Los detalles de software y configuración de hardware
Evaluación del rendimiento
En la Figura 1, se muestran los resultados de rendimiento de MLPerf en T4 y V100-PCIe en el servidor PowerEdge R740. Se incluyen seis parámetros de referencia de MLPerf. Por cada parámetro de referencia, se realizó la capacitación de modelo de extremo a extremo para alcanzar la precisión del modelo objetivo definida por el comité de MLPerf. El tiempo de capacitación en minutos se registró por cada parámetro de referencia. Las siguientes conclusiones se pueden realizar en función de estos resultados:
-
Los modelos ResNet-50 v1.5, SSD y Mask-R-CNN escalan bien con un número creciente de GPU. En el caso de ResNet-50 v1.5, V100-PCIe es 3,6 veces más rápido que T4. En el caso de SSD, V100-PCI es de 3,3 a 3,4 veces más rápido que T4. En el caso de Mask-R-CNN, V100-PCIe es de 2,2 a 2,7 veces más rápido que T4. Con el mismo número de GPU, cada modelo casi tarda la misma cantidad de etapas a fin de converger para T4 y V100-PCIe.
-
En el caso del modelo GNMT, se observó una aceleración superlineal cuando se utilizaron más GPU T4. En comparación con un T4, la aceleración es de 3,1 veces con dos T4 y de 10,4 veces con cuatro T4. Esto se debe a que la convergencia del modelo se ve afectada por la distribución aleatoria que se utiliza para la inicialización de ponderaciones de red neuronal y la transferencia de datos de capacitación. Independientemente del número de GPU que se utilice, con diferentes distribuciones aleatorias, es posible que el modelo necesite una cantidad diferente de etapas para converger. En este experimento, el modelo tardó las etapas 12, 7, 5 y 4 para converger con T4 1, 2, 3 y 4, respectivamente. Y el modelo tardó las etapas 16, 12 y 9 para converger con V100-PCIe 1, 2 y 3, respectivamente. Dado que el número de etapas es significativamente diferente, incluso con el mismo número de GPU T4 y V100, el rendimiento no se puede comparar de manera directa. En esta situación, la métrica de rendimiento es una comparación justa, ya que no depende de la propagación aleatoria. En la Figura 2, se muestra la comparación de rendimiento de T4 y V100-PCIe. Con el mismo número de GPU, V100-PCIe es de 2,5 a 3,6 veces más rápido que T4.
-
El modelo NCF y el modelo Transformer tienen el mismo problema que GNMT. En el caso del modelo NCF, el tamaño del conjunto de datos es pequeño y el modelo no tarda mucho en converger; por lo tanto, este problema no es evidente en la figura del resultado. El modelo Transformer tiene el mismo problema cuando se utiliza una GPU, ya que el modelo tardó 12 etapas en converger con un T4, pero solo tardó 8 etapas en converger con un V100-PCIe. Cuando se utilizan dos o más GPU, el modelo tardó 4 etapas en converger, sin importar cuántas GPU se utilicen o qué tipo de GPU se utilice. V100-PCIe es de 2,6 a 2,8 veces más rápido que T4 en estos casos.



Figura 1: Resultados de MLPerf en T4 y V100-PCIe

Figura 2 La comparación de rendimiento del modelo GNMT
Conclusiones y trabajo a futuro
En este blog, evaluamos el rendimiento de las GPU T4 en el servidor Dell EMC PowerEdge R740 mediante varios parámetros de referencia de MLPerf. El rendimiento del T4 se comparó con V100-PCIe con el mismo servidor y software. En general, V100-PCIe es de 2,2 a 3,6 veces más rápido que T4, según las características de cada parámetro de referencia. Una observación es que algunos modelos son estables sin importar los valores de distribución aleatoria que se utilicen, pero otros modelos, incluidos GNMT, NCF y Transformer, se ven muy afectados por la distribución aleatoria. En el trabajo futuro, ajustaremos los hiperparámetros para hacer que los modelos inestables converjan con menos etapas. También ejecutaremos MLPerf en más GPU y más nodos para evaluar la escalabilidad de esos modelos en servidores PowerEdge.
* Descargo de responsabilidad: Para fines de análisis comparativo, se evaluaron cuatro GPU T4 en Dell EMC PowerEdge R740. Actualmente, PowerEdge R740 admite oficialmente un máximo de tres T4 en 16 ranuras PCIe.