Francisco Rojas: Cómo impulsar un machine learning energéticamente eficiente

Hombre con camisa azul de rayas sonriendo

El machine learning está en todas partes. Ahora lo impulsa todo, desde los algoritmos de detección de tumores hasta los programas de reconocimiento facial. Este tipo de inteligencia artificial es ahora omnipresente y una tecnología fundamental. Nos hemos ido acostumbrando a la “analítica en todas partes», sin embargo, se abren nuevas discusiones interesantes y atingentes al cambio climático, por ejemplo, su impacto energético, producto del procesamiento de datos.

En la actualidad, el entrenamiento de modelos muy complejos suele requerir un consumo de energía asombroso. Los investigadores que revisaron una destacada arquitectura utilizada para el procesamiento del lenguaje natural descubrieron que, en una ocasión, el entrenamiento del modelo requirió más de 650.000kWh de energía durante 84 horas. Esto generó aproximadamente el mismo impacto estimado de emisiones de CO2 que tendrían 57 seres humanos a lo largo de todo un año de sus vidas.


Banner_frasco-suscripcion-800x250

Sin nuevos enfoques, el impacto energético del machine learning podría ser rápidamente insostenible. Entonces, ¿cómo podemos utilizarlo de forma responsable? Para empezar, necesitamos conocer bien la relación entre los enfoques utilizados para entrenar un modelo y la energía que requieren. En Accenture hemos realizado varios experimentos para medir el consumo de energía para el entrenamiento de modelos, ajustando diferentes parámetros de la arquitectura.

Un algoritmo de aprendizaje automático realiza un número de pasadas, o «épocas», sobre un conjunto de datos mientras se entrena. En nuestra investigación, siempre había un umbral de épocas en el que la precisión del modelo se estabilizaba rápidamente, pero el consumo de energía seguía aumentando. Por ejemplo, a medida que avanzábamos en el entrenamiento, el modelo sólo consumía 964 jules de energía para alcanzar una precisión de entrenamiento del 96,17%. Pero para conseguir una mejora adicional del 2,5% en la precisión, el modelo necesitó más de 15 veces más energía en el entrenamiento adicional, es decir, 15.077 jules adicionales.

Para ponerlo en términos prácticos, esa cantidad de energía podría encender una ampolleta LED de 7W en un hogar rural durante casi 40 minutos. Si eso no parece un gran impacto a primera vista, recuerde lo que dijimos acerca de que el aprendizaje automático es omnipresente. Si podemos ahorrar incluso pequeñas cantidades de energía cada vez que se entrenan los modelos de aprendizaje automático, podríamos tener un impacto significativo en el uso de la energía y la sostenibilidad.

También descubrimos que los conjuntos de datos de entrenamiento más grandes requieren mucha más energía para entrenar los modelos (como es de esperar), pero no necesariamente conllevan un beneficio proporcional en la precisión. En un experimento con un pequeño modelo de red neuronal convolucional (CNN), probamos utilizar sólo el 70% de los datos de entrenamiento y lo comparamos con los resultados de utilizar todo el conjunto. El uso de todo el conjunto consumió un 47% más de energía, pero la precisión del modelo resultante apenas superó al entrenado con sólo el 70% del conjunto. La mejora en la precisión no fue ni del 1%.

En resumen: hoy en día existen vías viables para entrenar modelos de aprendizaje automático de forma sostenible y eficiente desde el punto de vista energético. Puede empezar por pensar en su caso de uso: ¿cuál es la precisión que debe tener su modelo? Si está clasificando imágenes médicas para ayudar a los médicos a diagnosticar a los pacientes, maximizar la precisión mediante más épocas de entrenamiento o un conjunto de datos más grande puede merecer el impacto energético adicional. Si está utilizando la tecnología para un propósito menos crítico, puede haber un objetivo de precisión menor que satisfaga sus necesidades y ahorre energía en el entrenamiento.

También hay que considerar otras opciones tecnológicas. ¿Es necesario crear y entrenar un nuevo modelo desde cero? El aprendizaje por transferencia, en el que un modelo existente se reutiliza para una tarea diferente, puede ser otra opción para ahorrar energía y tiempo.

Proponemos un enfoque general para el aprendizaje automático que se asemeja a lo que se hace cuando se realizan las pruebas finales de software para clasificar los fallos que quedan en un sistema. En esos casos, el nivel de fiabilidad general del software se compara con el esfuerzo que se necesitaría para encontrar y eliminar cualquier otro error sin introducir otros nuevos. Si ese esfuerzo es muy intenso y el software es ya aceptablemente fiable, se libera. Necesitamos un enfoque similar para tomar decisiones informadas sobre la formación y la precisión de los modelos, a la vez que somos eficientes energéticamente con el machine learning.

Y no hay que olvidar los rápidos avances que se están produciendo en el hardware especializado y en los marcos informáticos para el aprendizaje automático. Las arquitecturas informáticas tradicionales necesitan mucha potencia para realizar tareas de aprendizaje automático. Pero enfoques como la computación neuromórfica se adaptan mejor a las necesidades del aprendizaje automático y, a medida que alcancen la madurez, proporcionarán otra vía hacia el machine learning más eficiente desde el punto de vista energético.

Banner_azules
Reciba las últimas noticias de la industria en su casilla:

Suscribirse ✉