El impacto ambiental de los avances en la ciencia de datos

.
August 22, 2022
El impacto ambiental de los avances en la ciencia de datos

Recuerdo que hace unos años se me ocurrió que quería comprar una casa más grande. Recuerdo que mi esposa dijo: «¿Por qué deberíamos comprar una casa más grande? Todos los miembros de la familia pasan el rato en la cocina, no utilizamos el espacio que tenemos». Seguido de: «Si tenemos una casa más grande, de todos modos vamos a llenar el espacio extra con basura». Miré en nuestro sótano, que estaba lleno de «basura», y me di cuenta de que tenía razón. Hace poco empecé a pensar en cómo las personas suelen expandirse a cualquier espacio que tengan. Compramos más ropa hasta que nuestros armarios se llenan, compramos más alimentos congelados para llenar el congelador más grande que acabamos de comprar, gastamos el dinero extra después de recibir un ascenso y llenamos nuestras casas más grandes con más basura.

He sido científico de datos durante más de 20 años y, durante ese tiempo, me ha sorprendido el ritmo de los avances debido al aumento de la potencia de procesamiento. Pensemos en una estadística de OpenAI según la cual, entre 2012 y 2018, la cantidad de potencia de cálculo utilizada en los entrenamientos de IA más grandes se incrementó 300 000 veces. Compare eso con la ley de Moore de 7 veces en el mismo período de tiempo. Esta espectacular expansión de la potencia de cálculo utilizada para la IA ciertamente ha abierto la puerta a algoritmos que antes no eran posibles, o ha mejorado la precisión con respecto a los métodos tradicionales. Esto es algo bueno. Pero además, esa expansión está abierta a la tendencia humana a «llenar nuestra casa más grande de basura». Hay algunos ejemplos típicos de cómo aprovechar el aumento de la potencia de cálculo cuando no es necesario. Un ejemplo es la adaptación de un modelo predictivo en el que, en lugar de utilizar un enfoque único (XGBoost, por ejemplo), ejecutamos 10 enfoques diferentes, incluidos los enfoques de aprendizaje profundo intensivo desde el punto de vista computacional, y luego elegimos el mejor (que suele ser XGBoost). Otro ejemplo es el entrenamiento de un algoritmo con cientos de millones de registros cuando, tomando una muestra aleatoria de un millón de registros, se obtendría básicamente la misma respuesta. Mi observación ha sido que los científicos de datos lo hacen porque les ahorra unos minutos de tiempo y puede mejorar el rendimiento (aunque a menudo es minúsculo y poco significativo). Sin embargo, procesar todos los datos o probar diez enfoques diferentes sigue funcionando en un período de tiempo razonable, así que ¿por qué no?

El «por qué no» se reduce al uso de energía, lo que genera un impacto ambiental para crear esa energía. Los límites de uso de energía que solían existir ya no existen. Pensemos en mi historial como científico de datos que trabajaba en análisis de marketing. Hace 20 años, creó algoritmos de clasificación utilizando técnicas de inteligencia artificial. El algoritmo que se ajustaba a ese modelo se ejecutaba en mi escritorio local. Si tuviera 10 millones de registros, ese escritorio simplemente no podría adaptarse al modelo, así que me convertí en un experto en muestrear esos 10 millones para convertirlos en 50 000 registros, lo que daría prácticamente la misma respuesta que ejecutar los 10 millones. Unos años más tarde, la tecnología avanzó y nuestro equipo aprovechó un clúster de servidores centralizado de 3 servidores. Con esta configuración, el algoritmo de clasificación de 10 millones de registros sería posible, pero aun así no utilizaría todos los datos porque, si lo hiciera, consumiría toda la energía del clúster de servidores durante un día y, además, el resto del equipo de científicos de datos no tendría mala suerte.

En ambos escenarios había un límite estricto que me obligó a elegir el enfoque más eficiente. Ese enfoque en la eficiencia también serviría para ahorrar el consumo de energía. Pero no lo hice por eso, lo hice porque tenía que hacerlo, había límites estrictos. La migración a la nube para los recursos computacionales y el uso de algoritmos altamente distribuidos han eliminado esos límites. Ahora puedo ejecutar ese algoritmo de clasificación de 10 millones en la nube, lo que activará 10 servidores para terminar el trabajo en 30 minutos. ¿Quieres hacerlo en 10 minutos? Simplemente active 30 servidores en lugar de 10. Y lo mejor es que lo que hago no afecta a los recursos a los que tiene acceso mi compañera de equipo, porque puede ejecutar algoritmos y crear su propio conjunto de 10, 30 o 100 servidores. Hoy en día, los científicos de datos utilizan cada vez más energía para hacer nuestro trabajo, en parte porque no hay límites, no vemos ningún impacto si utilizamos más datos o porque no probamos diez enfoques diferentes. Solo si el ajuste de nuestro modelo no se lleva a cabo en un período de tiempo razonable, pensamos en reducir el tamaño de los datos. El problema central tiene que ver con la estadística de OpenAI según la cual la computación para la IA ha aumentado 300 000 veces en 6 años, mientras que la ley de Moore habría aumentado 7 veces en el mismo período. Si asumimos que la ley de Moore define la energía consumida según los cálculos, ¡eso significaría que el consumo de energía aumentó 300 000/7 = 42.857 veces en un período de 6 años! Es evidente que los científicos de datos están empezando a consumir una cantidad significativa de energía que puede tener un impacto importante en las emisiones de carbono. Dado el impacto de las emisiones de carbono en los datos del cambio climático, los científicos deben empezar a tomar conciencia de la cantidad de energía que consumen y pensar en formas de conservar la energía.

Tomemos un ejemplo más específico. Hace poco tuve una conversación con un científico de datos sobre este tema en la que ejecutó un algoritmo que tardó una hora en completarse. Ejecutó el algoritmo en 78 millones de registros en un entorno basado en la nube que utilizó 15 servidores para completar la tarea. Tras analizar cuál era el objetivo del algoritmo, llegamos a la conclusión de que los datos podrían haber sido muestreados en gran medida (aproximadamente 500 000 registros), que calculamos que podrían ejecutarse en su portátil en 30 minutos. El consumo medio de energía de servidores y ordenadores portátiles indica que, en este ejemplo concreto, se podrían haber ahorrado 5,45 kWh de energía. Para ponerlo en términos significativos, 5,45 kWh equivalen al consumo medio de energía de un hogar estadounidense típico durante 4,5 horas. O 5,45 kWh equivalen a liberar 5,2 libras de CO2 a la atmósfera.

El cálculo anterior mostró que un solo científico de datos podría haber ahorrado el equivalente a 5,2 libras de emisiones de CO2 en un solo día de trabajo. La Oficina de Estadísticas Laborales estima que hay 105.908 científicos de datos solo en EE. UU. Si todos los científicos de datos realizaran el mismo trabajo que en mi ejemplo cada día laborable del año, eso equivaldría a 1,2 millones de kWh = 1,2 TWh. En perspectiva, 1,2 TWh equivalen a 1.200 millones de libras de CO2 o electricidad suficiente para abastecer a 100 000 hogares estadounidenses durante todo un año.

Por supuesto, ahora el Dr. Brown de Regreso al futuro tirándose del pelo hablando de 1,21 gigavatios está metido en mi cabeza. En este caso, 1,2 TWh equivaldrían a que se produjeran 1000 relámpagos de forma constante durante una hora. El Dr. Brown seguramente se arrancaría todo el pelo en nuestro caso. Todos los cálculos son cálculos muy aproximados solo para dejar claro que los científicos de datos de hoy en día tienen tanta potencia de cálculo al alcance de la mano. Esa energía debe ir acompañada de una consideración y un uso responsables de la energía, no solo para ahorrar costos sino también para reducir el impacto negativo en nuestro medio ambiente. La computación en nube hace que ese impacto ambiental sea invisible, pero sigue ahí. Puedes usar cualquier analogía que te quede grabada, ya sea para suministrar electricidad a 100.000 hogares, pensar en 1.200 millones de libras de CO2 o en el pobre Dr. Brown arrancándose el pelo. En mi caso, creo que me limitaré a pensar en no comprar una casa más grande solo para llenarla de basura.

* https://www.wired.com/story/ai-great-things-burn-planet/

* https://www.bls.gov/oes/current/oes152051.htm

* https://www.epa.gov/energy/greenhouse-gas-equivalencies-calculator#results

365 con servidor * 1 hora * 15 servidores = 5,48 kWh

50 W/portátil * 0,5 horas* 1 portátil = 0,025 kWh

5,24 kWh — 0,025 kWh = 5,45 kWh de diferencia

Recuerdo que hace unos años se me ocurrió que quería comprar una casa más grande. Recuerdo que mi esposa dijo: «¿Por qué deberíamos comprar una casa más grande? Todos los miembros de la familia pasan el rato en la cocina, no utilizamos el espacio que tenemos». Seguido de: «Si tenemos una casa más grande, de todos modos vamos a llenar el espacio extra con basura». Miré en nuestro sótano, que estaba lleno de «basura», y me di cuenta de que tenía razón. Hace poco empecé a pensar en cómo las personas suelen expandirse a cualquier espacio que tengan. Compramos más ropa hasta que nuestros armarios se llenan, compramos más alimentos congelados para llenar el congelador más grande que acabamos de comprar, gastamos el dinero extra después de recibir un ascenso y llenamos nuestras casas más grandes con más basura.

He sido científico de datos durante más de 20 años y, durante ese tiempo, me ha sorprendido el ritmo de los avances debido al aumento de la potencia de procesamiento. Pensemos en una estadística de OpenAI según la cual, entre 2012 y 2018, la cantidad de potencia de cálculo utilizada en los entrenamientos de IA más grandes se incrementó 300 000 veces. Compare eso con la ley de Moore de 7 veces en el mismo período de tiempo. Esta espectacular expansión de la potencia de cálculo utilizada para la IA ciertamente ha abierto la puerta a algoritmos que antes no eran posibles, o ha mejorado la precisión con respecto a los métodos tradicionales. Esto es algo bueno. Pero además, esa expansión está abierta a la tendencia humana a «llenar nuestra casa más grande de basura». Hay algunos ejemplos típicos de cómo aprovechar el aumento de la potencia de cálculo cuando no es necesario. Un ejemplo es la adaptación de un modelo predictivo en el que, en lugar de utilizar un enfoque único (XGBoost, por ejemplo), ejecutamos 10 enfoques diferentes, incluidos los enfoques de aprendizaje profundo intensivo desde el punto de vista computacional, y luego elegimos el mejor (que suele ser XGBoost). Otro ejemplo es el entrenamiento de un algoritmo con cientos de millones de registros cuando, tomando una muestra aleatoria de un millón de registros, se obtendría básicamente la misma respuesta. Mi observación ha sido que los científicos de datos lo hacen porque les ahorra unos minutos de tiempo y puede mejorar el rendimiento (aunque a menudo es minúsculo y poco significativo). Sin embargo, procesar todos los datos o probar diez enfoques diferentes sigue funcionando en un período de tiempo razonable, así que ¿por qué no?

El «por qué no» se reduce al uso de energía, lo que genera un impacto ambiental para crear esa energía. Los límites de uso de energía que solían existir ya no existen. Pensemos en mi historial como científico de datos que trabajaba en análisis de marketing. Hace 20 años, creó algoritmos de clasificación utilizando técnicas de inteligencia artificial. El algoritmo que se ajustaba a ese modelo se ejecutaba en mi escritorio local. Si tuviera 10 millones de registros, ese escritorio simplemente no podría adaptarse al modelo, así que me convertí en un experto en muestrear esos 10 millones para convertirlos en 50 000 registros, lo que daría prácticamente la misma respuesta que ejecutar los 10 millones. Unos años más tarde, la tecnología avanzó y nuestro equipo aprovechó un clúster de servidores centralizado de 3 servidores. Con esta configuración, el algoritmo de clasificación de 10 millones de registros sería posible, pero aun así no utilizaría todos los datos porque, si lo hiciera, consumiría toda la energía del clúster de servidores durante un día y, además, el resto del equipo de científicos de datos no tendría mala suerte.

En ambos escenarios había un límite estricto que me obligó a elegir el enfoque más eficiente. Ese enfoque en la eficiencia también serviría para ahorrar el consumo de energía. Pero no lo hice por eso, lo hice porque tenía que hacerlo, había límites estrictos. La migración a la nube para los recursos computacionales y el uso de algoritmos altamente distribuidos han eliminado esos límites. Ahora puedo ejecutar ese algoritmo de clasificación de 10 millones en la nube, lo que activará 10 servidores para terminar el trabajo en 30 minutos. ¿Quieres hacerlo en 10 minutos? Simplemente active 30 servidores en lugar de 10. Y lo mejor es que lo que hago no afecta a los recursos a los que tiene acceso mi compañera de equipo, porque puede ejecutar algoritmos y crear su propio conjunto de 10, 30 o 100 servidores. Hoy en día, los científicos de datos utilizan cada vez más energía para hacer nuestro trabajo, en parte porque no hay límites, no vemos ningún impacto si utilizamos más datos o porque no probamos diez enfoques diferentes. Solo si el ajuste de nuestro modelo no se lleva a cabo en un período de tiempo razonable, pensamos en reducir el tamaño de los datos. El problema central tiene que ver con la estadística de OpenAI según la cual la computación para la IA ha aumentado 300 000 veces en 6 años, mientras que la ley de Moore habría aumentado 7 veces en el mismo período. Si asumimos que la ley de Moore define la energía consumida según los cálculos, ¡eso significaría que el consumo de energía aumentó 300 000/7 = 42.857 veces en un período de 6 años! Es evidente que los científicos de datos están empezando a consumir una cantidad significativa de energía que puede tener un impacto importante en las emisiones de carbono. Dado el impacto de las emisiones de carbono en los datos del cambio climático, los científicos deben empezar a tomar conciencia de la cantidad de energía que consumen y pensar en formas de conservar la energía.

Tomemos un ejemplo más específico. Hace poco tuve una conversación con un científico de datos sobre este tema en la que ejecutó un algoritmo que tardó una hora en completarse. Ejecutó el algoritmo en 78 millones de registros en un entorno basado en la nube que utilizó 15 servidores para completar la tarea. Tras analizar cuál era el objetivo del algoritmo, llegamos a la conclusión de que los datos podrían haber sido muestreados en gran medida (aproximadamente 500 000 registros), que calculamos que podrían ejecutarse en su portátil en 30 minutos. El consumo medio de energía de servidores y ordenadores portátiles indica que, en este ejemplo concreto, se podrían haber ahorrado 5,45 kWh de energía. Para ponerlo en términos significativos, 5,45 kWh equivalen al consumo medio de energía de un hogar estadounidense típico durante 4,5 horas. O 5,45 kWh equivalen a liberar 5,2 libras de CO2 a la atmósfera.

El cálculo anterior mostró que un solo científico de datos podría haber ahorrado el equivalente a 5,2 libras de emisiones de CO2 en un solo día de trabajo. La Oficina de Estadísticas Laborales estima que hay 105.908 científicos de datos solo en EE. UU. Si todos los científicos de datos realizaran el mismo trabajo que en mi ejemplo cada día laborable del año, eso equivaldría a 1,2 millones de kWh = 1,2 TWh. En perspectiva, 1,2 TWh equivalen a 1.200 millones de libras de CO2 o electricidad suficiente para abastecer a 100 000 hogares estadounidenses durante todo un año.

Por supuesto, ahora el Dr. Brown de Regreso al futuro tirándose del pelo hablando de 1,21 gigavatios está metido en mi cabeza. En este caso, 1,2 TWh equivaldrían a que se produjeran 1000 relámpagos de forma constante durante una hora. El Dr. Brown seguramente se arrancaría todo el pelo en nuestro caso. Todos los cálculos son cálculos muy aproximados solo para dejar claro que los científicos de datos de hoy en día tienen tanta potencia de cálculo al alcance de la mano. Esa energía debe ir acompañada de una consideración y un uso responsables de la energía, no solo para ahorrar costos sino también para reducir el impacto negativo en nuestro medio ambiente. La computación en nube hace que ese impacto ambiental sea invisible, pero sigue ahí. Puedes usar cualquier analogía que te quede grabada, ya sea para suministrar electricidad a 100.000 hogares, pensar en 1.200 millones de libras de CO2 o en el pobre Dr. Brown arrancándose el pelo. En mi caso, creo que me limitaré a pensar en no comprar una casa más grande solo para llenarla de basura.

* https://www.wired.com/story/ai-great-things-burn-planet/

* https://www.bls.gov/oes/current/oes152051.htm

* https://www.epa.gov/energy/greenhouse-gas-equivalencies-calculator#results

365 con servidor * 1 hora * 15 servidores = 5,48 kWh

50 W/portátil * 0,5 horas* 1 portátil = 0,025 kWh

5,24 kWh — 0,025 kWh = 5,45 kWh de diferencia