¿Por qué es importante?
El entrenamiento y la ejecución de modelos de IA pueden requerir muchos recursos, lo que aumenta los costes y las emisiones de carbono. El sector de las TIC (tecnologías de la información y la comunicación) ya representa entre el 2 % y el 5 % de las emisiones mundiales y podría alcanzar el 14 % en 2040, con los centros de datos contribuyendo a casi la mitad de este crecimiento.
Como gestores de proyectos, puede que no controlemos el código o la infraestructura, pero sí influimos en decisiones clave y elecciones inteligentes, como utilizar modelos más pequeños, entrenar de forma eficiente y plantear las preguntas adecuadas. Este capítulo pretende proporcionarte métodos técnicos que reducen el impacto medioambiental, incluso sin datos claros sobre el consumo energético que las grandes empresas tecnológicas (también principales propietarias de centros de datos) no comparten fácilmente. Estas técnicas no solo ayudan al planeta, sino que también pueden acelerar el trabajo de tu equipo y reducir los costes de infraestructura.
¿Qué puedo hacer?
-
Selecciona el marco de IA más eficiente desde el punto de vista energético (por ejemplo, PyTorch parece ser más eficiente durante la fase de inferencia y TensorFlow durante la fase de entrenamiento).
-
Utiliza modelos preentrenados siempre que sea posible, para ahorrar en procesamiento. Existen modelos preentrenados de código abierto de gran calidad que se pueden utilizar tal cual o con aprendizaje por transferencia. Por ejemplo: Mistral, Llama, DeepSeek, Hugging Face.
-
Elija modelos especializados y más pequeños en lugar de LLM de uso general de vanguardia (por ejemplo, modelos transformadores más pequeños como DistilBERT para tareas de PLN). Para superar el escepticismo sobre la eficacia, pruebe un modelo más pequeño para validar la paridad de rendimiento y comparta los resultados de forma transparente con las partes interesadas.
-
Utilice el podao de modelos, que reduce la complejidad de un modelo ya entrenado eliminando los componentes innecesarios. Hace que el modelo sea más pequeño y eficiente, lo que limita el tiempo de cálculo para su entorno de producción.
-
Realice un Ajustar cuidadoso de su modelo, congelando los parámetros de los modelos preentrenados e introduciendo su propio subconjunto de parámetros.
-
Aproveche las técnicas de muestreo aleatorio cuando trabaje con un conjunto de datos muy grande, lo que le permitirá crear un subconjunto representativo de datos para el entrenamiento o la evaluación de su modelo, lo que puede reducir significativamente el tiempo de cálculo.
-
Practique el destilación para transferir conocimientos de modelos grandes y complejos (profesores) a otros más pequeños y eficientes (alumnos), reduciendo los recursos computacionales y el consumo de energía, al tiempo que se mantiene el rendimiento.
-
Utilice tipos de datos de menor precisión, aprovechando la optimización de la inferencia (cuantización), una técnica de optimización de la memoria para ejecutar la inferencia, con el fin de reducir el tamaño de los modelos. Por ejemplo: float32, int8.
-
Entrene y ejecute los modelos de forma más eficiente. Programe el entrenamiento cuando la energía sea más barata o más ecológica, como por ejemplo por la noche o en regiones con energía verde. Aplace o ponga en cola los procesos que requieren mucho tiempo, como la inferencia de modelos grandes, para el procesamiento por lotes.
-
Fomente la inferencia local o en el dispositivo para tareas recurrentes o predecibles con el fin de reducir la dependencia de la nube.
-
Opte por la computación periférica siempre que sea posible. Los modelos más pequeños se adaptan mejor al procesamiento y almacenamiento más cercanos a la fuente de datos, lo que reduce el consumo de energía.
-
Aproveche la computación distribuida (Aprendizaje federado) para entrenar un modelo de aprendizaje automático en varios dispositivos o servidores que contengan datos locales sin compartir los datos reales, con el fin de limitar el entrenamiento del modelo y reducir el tiempo de procesamiento.
-
Practique la refactorización de código de IA consciente del consumo energético: identifique y refactorice los «AI Code Smells» que contribuyen a un alto consumo energético sin sacrificar la precisión o el rendimiento de estos modelos.
-
Colabore con los ingenieros para optimizar el uso del hardware en todas las etapas de desarrollo, establecer límites de potencia de la GPU y aprovechar el procesamiento por lotes.
Aspectos a tener en cuenta
-
🧑💰Diseño optimizado del sistema y asignación de recursos para un mejor rendimiento y menores costes
-
🌍 Medidas de eficiencia energética que conducen a una disminución del consumo
-
🌍💰Reducción del consumo de agua en las operaciones
¿Cómo se ve el éxito?
Pida a los ingenieros que informen sobre las mejoras en la eficiencia o las compensaciones en el rendimiento y realice revisiones periódicas de los modelos en las que se analice el impacto medioambiental junto con la precisión y la latencia.