PERF02-BP06 Utilización de aceleradores computacionales optimizados basados en hardware
Use aceleradores de hardware para realizar ciertas funciones de manera más eficiente que con las alternativas basadas en CPU.
Antipatrones usuales:
-
En su carga de trabajo, no ha comparado una instancia de uso general con una instancia personalizada que pueda ofrecer mayor rendimiento y costes más reducidos.
-
Utiliza aceleradores computacionales basados en hardware para tareas en las que podría ser más eficiente utilizar alternativas basadas en CPU.
-
No supervisa el uso de GPU.
Ventajas de aplicar esta práctica recomendada: al utilizar aceleradores basados en hardware, como unidades de procesamiento de gráficos (GPU) y matrices de puertas programables en campo (FPGA), puede ejecutar determinadas funciones de procesamiento de manera más eficiente.
Nivel de riesgo expuesto si no se establece esta práctica recomendada: medio
Guía para la implementación
Las instancias de computación acelerada proporcionan acceso a aceleradores de computación basados en hardware, como las GPU y las FPGA. Estos aceleradores de hardware realizan ciertas funciones, como el procesamiento gráfico o la concordancia de patrones de datos, de forma más eficiente que las alternativas basadas en CPU. Muchas cargas de trabajo aceleradas, como el renderizado, la transcodificación y el machine learning, son muy variables en cuanto al uso de recursos. Ejecute este hardware únicamente durante el tiempo necesario y retírelo de forma automatizada cuando no sea necesario para mejorar la eficiencia general del rendimiento.
Pasos para la implementación
-
Identifique qué instancias de computación acelerada pueden satisfacer sus necesidades.
-
En las cargas de trabajo de machine learning, utilice un hardware personalizado específico para la carga de trabajo, como AWS Trainium
, AWS Inferentia y Amazon EC2 DL1 . Las instancias de AWS Inferentia, como las instancias Inf2, ofrecen hasta un 50 % más de rendimiento por vatio que las instancias de Amazon EC2 equivalentes . -
Recopile las métricas de uso de sus instancias de computación acelerada. Por ejemplo, puede utilizar el agente de CloudWatch para recopilar las métricas, como
utilization_gpu
yutilization_memory
, de sus GPU, tal y como se muestra en Collect NVIDIA GPU metrics with Amazon CloudWatch. -
Optimice el código, el funcionamiento de la red y la configuración de los aceleradores de hardware para asegurarse de que se aprovecha al máximo el hardware subyacente.
-
GPU Monitoring and Optimization in the Deep Learning AMI (Supervisión y optimización de la GPU en la AMI de aprendizaje profundo)
-
Optimizing I/O for GPU performance tuning of deep learning training in Amazon SageMaker AI
(Optimización de la E/S para el ajuste del rendimiento de la GPU en el entrenamiento del aprendizaje profundo en Amazon SageMaker AI)
-
Utilice las bibliotecas de alto rendimiento y los controladores de GPU más recientes.
-
Use la automatización para liberar instancias de GPU cuando no se estén usando.
Recursos
Documentos relacionados:
Vídeos relacionados:
-
AWS re:Invent 2021 - How to select Amazon Elastic Compute Cloud GPU instances for deep learning
-
AWS re:Invent 2022 - [NEW LAUNCH!] Introducing AWS Inferentia2-based Amazon EC2 Inf2 instances
-
AWS re:Invent 2022 - Accelerate deep learning and innovate faster with AWS Trainium
-
AWS re:Invent 2022 - Deep learning on AWS with NVIDIA: From training to deployment
Ejemplos relacionados: