SUS05-BP04 Optimizar el uso de aceleradores de computación basados en hardware
Optimice el uso de instancias de computación acelerada para reducir las demandas de infraestructura física de su carga de trabajo.
Patrones comunes de uso no recomendados:
-
No supervisa el uso de GPU.
-
Utiliza una instancia de uso general para la carga de trabajo, mientras que una instancia personalizada puede ofrecer mayor rendimiento, menor coste y mejor rendimiento por vatio.
-
Utiliza aceleradores de computación basados en hardware para tareas en las que es más eficiente utilizar alternativas basadas en CPU.
Beneficios de establecer esta práctica recomendada: al optimizar el uso de los aceleradores basados en hardware, puede reducir las demandas de infraestructura física de su carga de trabajo.
Nivel de riesgo expuesto si no se establece esta práctica recomendada: medio
Guía para la implementación
Si necesita una gran capacidad de procesamiento, puede beneficiarse del uso de instancias de computación acelerada, que proporcionan acceso a aceleradores de computación basados en hardware, como unidades de procesamiento gráfico (GPU) y matrices de puertas programables en campo (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 solo durante el tiempo que sea necesario y retírelo mediante automatización cuando no se requiera para minimizar los recursos consumidos.
Pasos para la implementación
-
Identifique qué instancias de computación acelerada pueden satisfacer sus necesidades.
-
Para las cargas de trabajo de machine learning, aproveche el hardware personalizado específico para su 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 comparables . -
Recopile la métrica de uso de sus instancias de computación acelerada. Por ejemplo, puede utilizar el agente de CloudWatch para recopilar métricas como
utilization_gpu
yutilization_memory
para sus GPU, como se muestra en Recopilación de métricas de GPU NVIDIA con 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
(Optimización de la E/S para el ajuste del rendimiento de la GPU en el entrenamiento del aprendizaje profundo en Amazon SageMaker)
-
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:
-
Let's Architect! Architecting with custom chips and accelerators
(Arquitectura con chips y aceleradores personalizados) -
How do I choose the appropriate Amazon EC2 instance type for my workload?
(¿Cómo elijo el tipo de instancia Amazon EC2 apropiado para mi carga de trabajo?) -
Choose the best AI accelerator and model compilation for computer vision inference with Amazon SageMaker
(Elija el mejor acelerador de IA y compilación de modelos para la inferencia de visión artificial con Amazon SageMaker)
Vídeos relacionados:
-
«AWS re:Invent 2021 - How to select Amazon EC2 GPU instances for deep learning»
-
«AWS Online Tech Talks - Deploying Cost-Effective Deep Learning Inference»
-
«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»