Skip to content

DocLama/AiBalance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AIBalance — Arbitrage Environnemental de l'IA Generative

Hackathon ADEME 2026 — Impact environnemental de l'IA generative

https://aibalance.netlify.app/

Problematique

Les modeles d'IA generative sont adoptes massivement, mais leur cout energetique reste opaque. Les utilisateurs choisissent sur la performance percue, rarement sur l'empreinte reelle.

Face à l’opacité de l’impact environnemental des modèles d’IA, peut-on recommander le modèle le plus sobre à qualité équivalente selon l’usage ?

Resultats cles

Metrique Valeur
Gain energetique potentiel (simulation globale) 49.4%
Modeles analyses 109
Categories de taches 18
Gaspillage median (ratio optimal vs reel) x1.1
Modeles gaspillant plus de 10x l'optimal 21.4%
Facteur carbone France vs Chine x9.5
Precision du classifieur de taches 62.3% (TF-IDF + LinearSVC)

Ce que le projet demontre

  1. Le classement des modeles change selon la tache : un modele excellent en code peut etre mediocre en redaction (heatmap win rate par categorie)
  2. On peut economiser ~50% d'energie en redirigeant chaque tache vers le modele equivalent le plus sobre (test de non-inferiorite, delta=3%)
  3. La localisation du datacenter change tout : un modele heberge en France emet ~9.5x moins de CO2 qu'en Chine a energie egale (mix nucleaire vs charbon)
  4. Le moteur de recommandation fonctionne : pour un prompt donne, il classifie la tache, identifie les criteres pertinents, et recommande le modele sobre optimal avec 3 modes (performance / balanced / green)

Sources de donnees

Dataset Contenu Lignes
Compar:IA conversations Energie (kWh), tokens, categories, parametres modeles 495,534
Compar:IA votes Preferences A/B (chosen_model_name), criteres qualitatifs (useful, creative, correct...) 164,212
Compar:IA reactions Like/dislike par message, criteres individuels 96,739
models_scores.csv Scores agreges (win_rate global, wh_per_1k_tok, active_params, transparency) 110
Foundation Model Transparency Index (Stanford) Score de transparence (~100 criteres) 13 entreprises

Architecture du moteur de recommandation

Prompt utilisateur
    |
    +-- [Classifieur TF-IDF + LinearSVC] --> Categorie (ex: "Education")
    |
    +-- [extract_complexity()] --> Features explicabilite (n_mots, is_code, n_questions)
    |
    +-- [Criteria Weights] --> Poids par critere POUR CETTE categorie
    |                          (deltas gagnant/perdant calcules depuis votes.parquet)
    |
    +-- [Score Qualite Q] --> somme(poids x score_modele_normalise)
    +-- [Score Sobriete S] --> 1/log(energie) normalise
    |
    +-- [Score Final] --> alpha x Q + beta x S
    |                     | performance : alpha=0.8, beta=0.2
    |                     | balanced    : alpha=0.5, beta=0.5
    |                     | green       : alpha=0.2, beta=0.8
    |
    +-- [Estimation CO2] --> gCO2 = (Wh/1000) x PUE_provider x EF_region

Methodologie

1. Win rate par (modele x categorie)

Calcul vectorise depuis les 164k votes A/B. Un modele est "meilleur" dans une categorie s'il gagne plus souvent les duels dans cette categorie. Les egalites comptent 0.5 pour chaque cote. Seuil minimum : 10 batailles par couple.

2. Profils qualitatifs multi-criteres

Depuis les votes et les reactions, on extrait 6 criteres par modele et par categorie :

  • Positifs : useful, creative, clear_formatting
  • Negatifs : incorrect, superficial, instructions_not_followed

3. Poids des criteres par categorie

Pour chaque categorie, on calcule le delta moyen (gagnant - perdant) pour chaque critere. Ce delta indique quel critere compte le plus pour gagner un duel dans cette categorie. Exemple : en code, "correct" est le critere le plus discriminant ; en creation, c'est "creative".

4. Analyse GASP (Gaspillage Energetique)

Test de non-inferiorite (Wellek, 2010) : un modele est "equivalent" au meilleur si son win_rate est a moins de delta (3%) du maximum. Parmi les equivalents, on choisit le plus sobre.

E*_j = min(E_m)  pour m dans M_equiv_j

ou M_equiv_j = { m : win_rate(m,j) >= max(win_rate(k,j)) - delta }

Autrement dit : parmi les modeles dont la qualite est a moins
de delta (3%) du meilleur, on choisit le moins energivore.

5. Estimation carbone par provider

Chaque modele est mappe a son provider cloud avec PUE et facteur d'emission sources :

Provider PUE gCO2/kWh Confiance Source
Google (GCP) 1.09 370 Elevee Google 2024 Environmental Report
AWS (Anthropic) 1.15 290 Elevee AWS 2024 Sustainability Report
Microsoft Azure (OpenAI) 1.16 370 Elevee Microsoft 2024
Scaleway (Mistral, open-source) 1.25 56 Elevee Scaleway DC5
Compar:IA (open-source) 1.30 56 Moyenne Scaleway PUE moyen
DeepSeek (Chine) 1.35 530 Faible Estimation IEA
xAI Memphis 1.20 400 Faible Estimation

6. Validation (Ablation Study)

Comparaison de 6 strategies de recommandation pour verifier que chaque brique apporte quelque chose. Ground truth Pareto strict (modeles non-domines par categorie).

Installation et execution

Prerequis

  • Python 3.10+
  • ~10 Go de RAM disponible (chargement des parquets)

Notebook (analyse complete)

pip install polars plotly scikit-learn pandas numpy pyarrow seaborn
jupyter notebook AIBalance_v8.ipynb

Le notebook genere 18 visualisations Plotly interactives (HTML) et 10 fichiers CSV dans outputs_v6/.

Visualisations (18 graphiques interactifs Plotly)

# Analyse Fichier
1 Heatmap win rate par modele x categorie 2_heatmap_winrate.png
2 Generaliste vs Specialiste 2_generaliste_specialiste.png
3 Radar de qualite par modele 2_radar_qualite.png
4 Criteres discriminants par categorie 2_criteres_discriminants.png
5 Likes vs Energie / Win Rate 2_likes_analysis.png
6 Profils des modeles (Sobre vs Gourmand) 2_profils_modeles.png
7 Fronts de Pareto par categorie 2_pareto_par_categorie.png
8 Efficacite par categorie x profil 2_cross_analysis.png
9 Distribution energie par provider 2_energie_par_provider.png
10 Matrice de confusion (classifieur) 3_confusion_matrix.png
11 Demo recommandations (6 prompts) 4_demo_recommandations.png
12 GASP : distribution du gaspillage 5_gasp_1_distribution.png
13 GASP : modeles equivalents par categorie 5_gasp_2_equivalents.png
14 GASP : optimal vs pire par categorie 5_gasp_3_optimal_vs_pire.png
15 Simulation globale (gain 49%) 5_simulation_globale.png
16 Sensibilite au seuil delta 5_sensibilite_delta.png
17 Impact carbone par provider 6_carbon_analysis.png
18 Ablation study (6 strategies) 7_ablation_study.png

Limites

Limites

  • Couverture votes : 164k votes sur 495k conversations (33%) — certains couples (modele, categorie) ont peu de batailles
  • Win rate = proxy de qualite : le win rate mesure la preference utilisateur, pas la qualite objective
  • PUE par provider : les PUE sont des moyennes annuelles publiees, pas les PUE reels du datacenter exact utilise
  • Scope carbone : seule l'inference est couverte — l'entrainement (scope 3) peut etre 100-1000x plus couteux
  • Modeles open-source : on suppose qu'ils tournent sur l'infra Compar:IA (Scaleway, France) — non confirme

References

  • Wellek, S. (2010). Testing Statistical Hypotheses of Equivalence and Noninferiority. Chapman & Hall.
  • Deb, K. et al. (2002). A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation.
  • Google (2024). Environmental Report — Data Center PUE.
  • AWS (2024). Sustainability Report.
  • Microsoft (2024). Environmental Sustainability Report.
  • Scaleway (2024). Environmental Leadership — PUE DC5.
  • Uptime Institute (2024). Global Data Center Survey — PUE 1.56 industry average.
  • IEA (2024). Electricity mix by country.
  • RTE/ADEME (2024). Mix electrique francais — 56 gCO2/kWh.

Equipe

Hackathon ADEME 2026: Alexis Fabre - Edwin LI - Karim Merkache 🇩🇿 - Walid Mouaoued

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors