Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2025-12-15 GMT+08:00

Entrenamiento de modelos

Además de datos y algoritmos, los desarrolladores dedican mucho tiempo a configurar los parámetros de entrenamiento del modelo. Los parámetros de entrenamiento del modelo determinan la precisión y el tiempo de convergencia del modelo. La selección de parámetros depende en gran medida de la experiencia de los desarrolladores. La selección incorrecta de los parámetros afectará a la precisión del modelo o aumentará significativamente el tiempo requerido para el entrenamiento del modelo.

Para simplificar el desarrollo de IA y mejorar la eficiencia del desarrollo y el rendimiento del entrenamiento, ModelArts ofrece las gestiones visualizadas de trabajos, recursos y versiones, también realiza automáticamente la optimización de hiperparámetros basada en el aprendizaje automático y el aprendizaje por refuerzo. Proporciona políticas automáticas de ajuste de hiperparámetros, como la tasa de aprendizaje y el tamaño de lote, e integra los modelos comunes.

Actualmente, cuando la mayoría de los desarrolladores construyen modelos, los modelos suelen tener docenas de capas o incluso cientos de capas y parámetros de nivel MB o GB para cumplir con los requisitos de precisión. Como resultado, las especificaciones de los recursos de computación son extremadamente altas, especialmente la potencia de computación de los recursos de hardware, la memoria y la ROM. Las especificaciones de recursos del lado del dispositivo son estrictamente limitadas. Por ejemplo, la potencia de computación del lado del dispositivo es de 1 TFLOPS, el tamaño de la memoria es de aproximadamente 2 GB y el espacio de ROM es de aproximadamente 2 GB, por lo que el tamaño del modelo en el lado del dispositivo debe estar limitado a 100 KB y el retardo de inferencia debe estar limitado a 100 milisegundos.

Por lo tanto, las tecnologías de compresión con precisión de modelo sin pérdida o casi sin pérdida, como la poda, la cuantificación y la destilación de conocimientos, se utilizan para implementar la compresión y optimización automáticas de modelos, y la iteración automática de compresión y reentrenamiento de modelos para controlar la pérdida de precisión de los modelos. La tecnología de cuantificación de bits bajos, que elimina la necesidad de reentrenamiento, convierte el modelo de punto flotante de alta precisión en una operación de punto fijo. Se utilizan múltiples tecnologías de compresión y optimización para satisfacer los requisitos de ligereza de los recursos de hardware de dispositivos y bordes. La tecnología de compresión del modelo reduce la precisión en menos del 1% en valores específicos.

Cuando el volumen de datos de entrenamiento es grande, el entrenamiento del modelo de aprendizaje profundo consume mucho tiempo. En tecnología de visión artificial, ImageNet-1k (un conjunto de datos de clasificación que contiene 1,000 clases de imagen, denominado ImageNet) es un conjunto de datos de uso común. Si utiliza una GPU P100 para entrenar un modelo ResNet-50 en el conjunto de datos, tardará casi una semana. Esto dificulta el rápido desarrollo de aplicaciones de aprendizaje profundo. Por lo tanto, la aceleración del entrenamiento de aprendizaje profundo siempre ha sido una preocupación importante para la academia y la industria.

La aceleración distribuida del entrenamiento debe considerarse en términos de software y de hardware. Un único método de optimización no puede responder a las expectativas. Por lo tanto, la optimización de la aceleración distribuida es un proyecto de sistema. La arquitectura de entrenamiento distribuido debe considerarse en términos de hardware y diseño de chips. Para minimizar los retrasos de computación y de comunicación, hay que tener en cuenta muchos factores, como las especificaciones generales de cálculo, el ancho de banda de la red, la caché de alta velocidad, el consumo de energía y la disipación térmica del sistema, así como la relación entre el rendimiento de cálculo y el de comunicación.

El diseño del software debe combinar funciones de hardware de alto rendimiento para aprovechar al máximo la red de hardware de alta velocidad e implantar una comunicación distribuida de gran ancho de banda y un almacenamiento en caché local de datos eficiente. Mediante el uso de algoritmos de optimización del entrenamiento, como el paralelo híbrido, la compresión de gradiente y la aceleración de convolución, el software y el hardware del sistema de entrenamiento distribuido pueden coordinarse y optimizarse eficientemente de extremo a extremo, y la aceleración del entrenamiento puede implementarse en un entorno distribuido de múltiples hosts y tarjetas. ModelArts ofrece una aceleración líder en la industria de más de 0.8 para ResNet50 en el conjunto de datos de ImageNet en un entorno distribuido con miles de hosts y tarjetas.

Para medir el rendimiento de aceleración del aprendizaje profundo distribuido, se utilizan los siguientes dos indicadores clave:

  • Rendimiento, es decir, la cantidad de datos procesados en una unidad de tiempo
  • Tiempo de convergencia, es decir, el tiempo necesario para lograr cierta precisión

El rendimiento depende del hardware del servidor (por ejemplo, más chips de aceleración de IA con mayor capacidad de procesamiento de FLOPS y mayor ancho de banda de comunicación logran un mayor rendimiento), la lectura y el almacenamiento en caché de datos, el preprocesamiento de datos, la computación de modelos (por ejemplo, la selección del algoritmo de convolución) y la optimización de la topología de comunicación. Excepto la computación de bajo bit y la compresión de gradiente (o parámetros), la mayoría de las tecnologías mejoran el rendimiento sin afectar la precisión del modelo. Para lograr el menor tiempo de convergencia, es necesario optimizar el rendimiento y ajustar los parámetros. Si los parámetros no se ajustan correctamente, no se puede optimizar el rendimiento. Si el tamaño del lote se establece en un valor pequeño, el rendimiento paralelo del entrenamiento del modelo será relativamente pobre. Como resultado, el rendimiento no puede mejorarse incluso si se aumenta el número de nodos de computación.

Lo que más preocupa a los usuarios es el tiempo de convergencia. El marco de MoXing implementa la organización completa y reduce significativamente el tiempo de convergencia del entrenamiento. Para la lectura y el preprocesamiento de datos, MoXing utiliza las canalizaciones de entrada simultáneas de varios niveles para evitar que las E/S de datos se conviertan en cuellos de botella. En cuanto a la computación de modelos, MoXing ofrece cálculo de precisión híbrido, que combina semiprecisión y precisión única para los modelos de capas superiores y reduce la pérdida causada por el cálculo de precisión mediante escalado adaptativo. Las políticas de hiperparámetros dinámicos (como el impulso y el tamaño del lote) se utilizan para minimizar el número de épocas necesarias para la convergencia del modelo. MoXing también funciona con servidores y bibliotecas informáticas subyacentes de Huawei para mejorar aún más la aceleración distribuida.

Optimización del entrenamiento distribuido de alto rendimiento de ModelArts

  • Precisión híbrida automática para utilizar plenamente las capacidades informáticas de hardware
  • Tecnologías de ajuste dinámico de hiperparámetros (tamaño dinámico de lote, tamaño de imagen e impulso)
  • Combinación y separación automáticas de gradiente del modelo
  • Optimización de la programación de operadores de comunicaciones basada en la computación adaptativa de BP bubble
  • Bibliotecas de comunicación distribuidas de alto rendimiento (NStack y HCCL)
  • Paralelo híbrido de modelo de datos distribuido
  • Compresión de datos de entrenamiento y caché multinivel