Perché è importante?
L'addestramento e l'esecuzione dei modelli di IA possono richiedere molte risorse, aumentando i costi e le emissioni di carbonio. Il settore ICT (Information and Communication Technology) rappresenta già il 2-5% delle emissioni globali e potrebbe raggiungere il 14% entro il 2040 con i data center che contribuiscono a quasi la metà di questa crescita.
In qualità di PM, potremmo non avere il controllo sul codice o sull'infrastruttura, ma influenziamo decisioni chiave e scelte intelligenti, come l'uso di modelli più piccoli, l'addestramento efficiente e la formulazione delle domande giuste. Questo capitolo intende fornirvi metodi tecnici che riducono l'impatto ambientale, anche senza dati chiari sul consumo energetico che le grandi aziende tecnologiche (anche le principali proprietarie di data center) non condividono facilmente. Queste tecniche non solo aiutano il pianeta, ma possono anche velocizzare il vostro team e ridurre i costi di infrastruttura.
Cosa posso fare?
-
Scegliete il framework AI più efficiente dal punto di vista energetico (ad esempio, PyTorch sembra più efficiente durante la fase di inferenza e TensorFlow durante quella di addestramento).
-
Utilizzate modelli pre-addestrati quando possibile, per risparmiare sull'elaborazione. Sono disponibili modelli open source di qualità, pre-addestrati, da utilizzare così come sono o tramite transfer learning. Ad esempio: Mistral, Llama, DeepSeek, Hugging Face.
-
Scegliere modelli specializzati e più piccoli rispetto agli LLM generici all'avanguardia (ad esempio, modelli di trasformatori più piccoli come DistilBERT per attività di NLP). Per superare lo scetticismo sull'efficacia, testare un modello più piccolo per convalidare la parità di prestazioni, condividendo i risultati in modo trasparente con le parti interessate.
-
Utilizzare il potatura del modello, che riduce la complessità di un modello già addestrato rimuovendo i componenti non necessari. Rende il modello più piccolo ed efficiente, riducendo i tempi di calcolo nell'ambiente di produzione.
-
Messa a punto il modello con attenzione, congelando i parametri dei modelli pre-addestrati e introducendo il proprio sottoinsieme di parametri.
-
Sfruttare le tecniche di campionamento casuale quando si ha a che fare con un set di dati molto grande consente di creare un sottoinsieme rappresentativo per l'addestramento o la valutazione del modello, riducendo significativamente il tempo di calcolo.
-
Praticare l'distillazione per trasferire le conoscenze da modelli grandi e complessi (insegnanti) a modelli più piccoli ed efficienti (studenti), riducendo le risorse computazionali e il consumo energetico, pur mantenendo le prestazioni.
-
Utilizza tipi di dati a precisione ridotta, sfruttando l'quantizzazione (una tecnica di ottimizzazione della memoria per l'esecuzione dell'inferenza) per ridurre le dimensioni dei modelli. Ad esempio: float32, int8
-
Addestra ed esegui i modelli in modo più efficiente. Pianifica l'addestramento quando l'energia è più economica o più verde, ad esempio di notte o in regioni a energia verde. Rimanda o metti in coda i processi che richiedono molto tempo, come l'inferenza di modelli di grandi dimensioni, per l'elaborazione in batch.
-
Incoraggiare l'inferenza locale o sul dispositivo per attività ricorrenti o prevedibili, per ridurre la dipendenza dal cloud.
-
Optare per l'edge computing quando possibile. I modelli più piccoli sono più adatti all'elaborazione e all'archiviazione più vicine alla fonte dei dati, riducendo il consumo energetico.
-
Sfruttare l'Apprendimento federato per addestrare un modello ML su più dispositivi o server che contengono dati locali senza condividere i dati effettivi, al fine di limitare l'addestramento del modello e ridurre i tempi di elaborazione.
-
Praticare il refactoring del codice AI, attento al consumo energetico: identificare e rifattorizzare i codici AI che contribuiscono a un elevato consumo energetico, senza sacrificare l'accuratezza o le prestazioni di questi modelli.
-
Collaborare con gli ingegneri per ottimizzare l'utilizzo dell'hardware nelle fasi di sviluppo, impostare limiti di potenza della GPU e sfruttare l'elaborazione in batch.
Cose da considerare
-
🧑💰Progettazione ottimizzata del sistema e allocazione delle risorse per migliorare le prestazioni e ridurre i costi
-
🌍 Misure di efficienza energetica che portano a una diminuzione dei consumi
-
🌍💰Riduzione del consumo di acqua nelle operazioni
Che aspetto ha il successo?
Chiedere agli ingegneri di riferire sui miglioramenti di efficienza o sui compromessi di prestazioni, e di organizzare revisioni periodiche dei modelli in cui si discuta dell'impatto ambientale, insieme all'accuratezza e alla latenza.