Foto: Fortune

Con motivo de la conferencia F8 de Facebook que se lleva a cabo en la ciudad de California, la compañía ha anunciado una actualización PyTorch, su marco de desarrollo de código abierto para Python, que está enfocado en el aprendizaje automático.

En concreto, la compañía lanzó la versión 1.1 con nuevas características, incluyendo la capacidad de dividir las partes de una red neuronal mediante diversas GPU en el entrenamiento de sistemas de Inteligencia Artificial (IA). En declaraciones al sitio web ZDNet, Joe Spisak, líder de productos de PyTorch, enfatizó el crecimiento de los modelos de aprendizaje automático, lo que a su vez hace más costoso el proceso de entrenamiento por la capacidad de memoria de GPU requerida.

Spisak explicó además que los modelos más recientes de IA de Facebook Research superan los 10 GB de memoria, con los conteos de parámetros superando las 1,000 millones de unidades. Con el objetivo de abordar esta realidad, la versión 1.1 de PyTorch incorpora la capacidad de seccionar las redes en la GPU, un proceso conocido como “fragmentación de modelo”. De esta forma, las redes neuronales ahora podrán alcanzar el umbral del MIMD (Instrucción Múltiple de Datos Múltiples).

Con respecto al funcionamiento de la herramienta, Spisak afirmó que por lo general, los modelos de IA se encuentran en una GPU, y son capaces de interactuar con datos paralelos distribuidos. Esto quiere decir que el desarrollador puede dividir el conjunto de datos y replicar el modelo en todo el sistema.

Microsoft utiliza PyTorch en el desarrollo de varios de sus modelos de aprendizaje automático, que luego se implementan en ONNX, su marco de tiempo de ejecución y así logra potenciar sus redes neuronales. Por su parte, Airbnb aplica PyTorch para desarrollar sus modelos de IA para servicios conversacionales con el usuario.

Con la incorporación de la función de capacitación distribuida para dividir las cargas de trabajo en diversas GPU, los desarrolladores obtienen una herramienta realmente útil para ejecutar modelos que utilizan diversos parámetros en cada iteración.