subtitles/fr/02_the-carbon-footprint-of-transformers.srt (387 lines of code) (raw):
1
00:00:05,580 --> 00:00:08,820
Parlons donc de l'empreinte carbone des transformers.
2
00:00:08,820 --> 00:00:10,530
Vous avez peut-être vu des titres tels que celui-ci
3
00:00:10,530 --> 00:00:13,530
indiquant qu'entraîner un seul modèle d'IA peut entraîner autant d'émissions de CO2
4
00:00:13,530 --> 00:00:16,020
que cinq voitures dans leur vie.
5
00:00:16,020 --> 00:00:19,440
Alors quand est-ce vrai et est-ce toujours vrai ?
6
00:00:19,440 --> 00:00:21,803
En fait, cela dépend de plusieurs choses.
7
00:00:21,803 --> 00:00:23,430
Le plus important, c'est que cela dépend
8
00:00:23,430 --> 00:00:24,960
sur le type d'énergie que vous utilisez.
9
00:00:24,960 --> 00:00:26,267
Si vous utilisez une énergie renouvelable telle que le
10
00:00:26,267 --> 00:00:30,670
solaire, l'éolien, l'hydroélectrique, vous n'éméttez
11
00:00:30,670 --> 00:00:33,810
pas vraiment de carbone du tout. Très, très peu.
12
00:00:33,810 --> 00:00:36,769
Si vous utilisez des sources d'énergie non renouvelables telles que le charbon
13
00:00:36,769 --> 00:00:39,570
alors l'empreinte carbone est beaucoup plus élevée
14
00:00:39,570 --> 00:00:43,260
parce qu'en fait, vous émettez beaucoup de gaz à effet de serre.
15
00:00:43,260 --> 00:00:44,670
Un autre aspect est le temps d'entraînement.
16
00:00:44,670 --> 00:00:47,232
Donc, plus vous entraînez longtemps, plus vous dépensez d'énergie.
17
00:00:47,232 --> 00:00:50,250
Plus vous utilisez d'énergie, plus vous émettez de carbone.
18
00:00:50,250 --> 00:00:51,270
Donc, cela s'additionne.
19
00:00:51,270 --> 00:00:53,520
Surtout si vous entraînez de grands modèles
20
00:00:53,520 --> 00:00:56,460
pendant des heures, des jours et des semaines.
21
00:00:56,460 --> 00:00:58,380
Le matériel que vous utilisez a également son importance
22
00:00:58,380 --> 00:01:00,930
car certains GPU, par exemple, sont plus efficaces
23
00:01:00,930 --> 00:01:05,460
que d'autres et donc utiliser des GPU
24
00:01:05,460 --> 00:01:07,500
efficiement, correctement, à 100% tout le temps,
25
00:01:07,500 --> 00:01:10,650
peut vraiment réduire la consommation d'énergie que vous avez.
26
00:01:10,650 --> 00:01:13,290
Et encore une fois, réduire votre empreinte carbone.
27
00:01:13,290 --> 00:01:15,870
Il y a aussi d'autres aspects comme l'IO
28
00:01:15,870 --> 00:01:17,730
comme les données, etc., etc.
29
00:01:17,730 --> 00:01:20,940
Mais ce sont les trois principaux sur lesquels vous devez vous concentrer.
30
00:01:20,940 --> 00:01:23,340
Donc quand je parle de sources d'énergie et d'intensité de carbone
31
00:01:23,340 --> 00:01:24,420
Qu'est-ce que cela signifie vraiment ?
32
00:01:24,420 --> 00:01:27,480
Donc si vous regardez en haut de l'écran
33
00:01:27,480 --> 00:01:30,480
vous avez une empreinte carbone
34
00:01:30,480 --> 00:01:33,860
d'une instance de cloud computing à Mumbai en Inde
35
00:01:33,860 --> 00:01:38,700
qui émet 920 grammes de CO2 par kilowattheure.
36
00:01:38,700 --> 00:01:40,110
C'est presque un kilo
37
00:01:40,110 --> 00:01:43,680
de CO2 par kilowattheure d'électricité utilisé.
38
00:01:43,680 --> 00:01:45,150
Si vous comparez cela avec Montréal au Canada,
39
00:01:45,150 --> 00:01:48,720
où je suis en ce moment, 20 grammes de CO2 par kilo heure.
40
00:01:48,720 --> 00:01:50,040
C'est donc une très, très grande différence.
41
00:01:50,040 --> 00:01:54,240
Près de 40 fois plus de carbone émis
42
00:01:54,240 --> 00:01:55,950
à Mumbai qu'à Montréal.
43
00:01:55,950 --> 00:01:57,720
Et donc cela peut vraiment, vraiment s'accumuler.
44
00:01:57,720 --> 00:01:59,820
Si vous entraînez un modèle pendant plusieurs semaines, par exemple
45
00:01:59,820 --> 00:02:01,920
vous multipliez par 40
46
00:02:01,920 --> 00:02:03,450
le carbone que vous émettez.
47
00:02:03,450 --> 00:02:05,070
Donc, choisir la bonne instance,
48
00:02:05,070 --> 00:02:07,080
choisir une instance de calcul à faible émission de carbone,
49
00:02:07,080 --> 00:02:09,690
est vraiment la chose la plus importante que vous puissiez faire.
50
00:02:09,690 --> 00:02:13,020
Et c'est là que cela peut vraiment s'accumuler
51
00:02:13,020 --> 00:02:15,930
si vous vous entrainez de manière très intensive
52
00:02:15,930 --> 00:02:17,580
dans une région à forte intensité de carbone.
53
00:02:19,170 --> 00:02:21,750
D'autres éléments à prendre en compte, par exemple
54
00:02:21,750 --> 00:02:22,770
utiliser des modèles pré-entraînés.
55
00:02:22,770 --> 00:02:25,590
C'est l'équivalent du recyclage pour l'apprentissage automatique.
56
00:02:25,590 --> 00:02:28,292
Lorsque vous disposez de modèles pré-entraînés, vous pouvez les utiliser.
57
00:02:28,292 --> 00:02:30,120
Vous n'émettez pas de carbone du tout.
58
00:02:30,120 --> 00:02:31,230
Vous ne ré-entraînez rien.
59
00:02:31,230 --> 00:02:33,450
Donc c'est aussi faire ses devoirs
60
00:02:33,450 --> 00:02:35,574
de regarder ce qui existe déjà.
61
00:02:35,574 --> 00:02:37,890
Finetuner au lieu d'entraîner à partir de zéro.
62
00:02:37,890 --> 00:02:38,723
Donc, une fois de plus,
63
00:02:38,723 --> 00:02:40,590
si vous trouvez un modèle qui correspond presque à ce dont vous avez besoin
64
00:02:40,590 --> 00:02:43,530
mais pas tout à fait, finetunez les dernières couches
65
00:02:43,530 --> 00:02:45,210
pour qu'il corresponde vraiment à votre objectif.
66
00:02:45,210 --> 00:02:46,500
au lieu d'entrâiner un gros transformer
67
00:02:46,500 --> 00:02:48,810
à partir de zéro. Cela peut vraiment aider.
68
00:02:48,810 --> 00:02:51,270
Commencer par de petites expériences
69
00:02:51,270 --> 00:02:52,800
et déboguer au fur et à mesure.
70
00:02:52,800 --> 00:02:54,630
Cela signifie, par exemple,
71
00:02:54,630 --> 00:02:58,770
comprendre l'encodage des données,
72
00:02:58,770 --> 00:03:01,170
s'assurer qu'il n'y a pas de petits bugs, que vous allez
73
00:03:01,170 --> 00:03:03,840
réalisez, après 16 heures d'entraînement.
74
00:03:03,840 --> 00:03:05,820
Commencer petit et vraiment s'assurer
75
00:03:05,820 --> 00:03:08,760
de ce que vous faites, que votre code est stable.
76
00:03:08,760 --> 00:03:11,430
Et enfin, faire une revue de la littérature pour
77
00:03:11,430 --> 00:03:13,740
choisir des plages d'hyperparamètres pour ensuite poursuivre
78
00:03:13,740 --> 00:03:15,900
avec une recherche aléatoire au lieu d'une recherche par grille.
79
00:03:15,900 --> 00:03:18,420
Les recherches de combinaisons d'hyperparamètres
80
00:03:18,420 --> 00:03:21,300
aléatoires se sont avérés être aussi efficaces
81
00:03:21,300 --> 00:03:24,000
pour trouver la configuration optimale, que la recherche par grille.
82
00:03:24,000 --> 00:03:27,510
Mais évidemment, vous n'essayez pas toutes les combinaisons possibles,
83
00:03:27,510 --> 00:03:29,520
vous n'en essayez qu'un sous-ensemble.
84
00:03:29,520 --> 00:03:31,800
Cela peut donc être très utile.
85
00:03:31,800 --> 00:03:32,760
Donc maintenant, nous revenons
86
00:03:32,760 --> 00:03:36,300
à l'article original de Strubell et al. de 2019,
87
00:03:36,300 --> 00:03:39,180
l'infâme papier sur la vie des cinq voitures.
88
00:03:39,180 --> 00:03:40,013
Si vous regardez
89
00:03:40,013 --> 00:03:43,606
un transformer de 200 millions de paramètres,
90
00:03:43,606 --> 00:03:46,950
son empreinte carbone est d'environ 200 livres [87 kg] de CO2,
91
00:03:46,950 --> 00:03:47,940
ce qui est important.
92
00:03:47,940 --> 00:03:49,980
Mais c'est loin des cinq voitures.
93
00:03:49,980 --> 00:03:52,893
Ce n'est même pas un vol transatlantique.
94
00:03:52,893 --> 00:03:55,020
Ce qui compte vraiment, c'est lorsque vous faites
95
00:03:55,020 --> 00:03:56,190
vos recherches d'architectures neuronales,
96
00:03:56,190 --> 00:03:58,560
quand vous faites le réglage des hyperparamétres,
97
00:03:58,560 --> 00:04:00,930
en essayant toutes les combinaisons possibles,
98
00:04:00,930 --> 00:04:01,763
etc., etc.
99
00:04:01,763 --> 00:04:02,596
Et c'est là que
100
00:04:02,596 --> 00:04:05,400
d'où proviennent les 600 000 livres [272,16 t] de CO2.
101
00:04:05,400 --> 00:04:08,490
C'est donc là que les choses s'additionnent.
102
00:04:08,490 --> 00:04:11,880
Mais si vous faites les choses consciemment et consciencieusement,
103
00:04:11,880 --> 00:04:16,410
alors votre empreinte carbone ne sera pas aussi importante,
104
00:04:16,410 --> 00:04:20,040
comme le laissait entendre le papier. Quelques outils
105
00:04:20,040 --> 00:04:22,111
pour savoir combien de CO2 exactement vous émettez.
106
00:04:22,111 --> 00:04:24,270
Il y a un outil en ligne appelé « machine
107
00:04:24,270 --> 00:04:26,430
learning submissions calculator » qui vous permet
108
00:04:26,430 --> 00:04:29,010
de saisir manuellement, par exemple, le matériel que vous avez utilisé,
109
00:04:29,010 --> 00:04:30,488
le nombre d'heures pendant lesquelles vous l'avez utilisé,
110
00:04:30,488 --> 00:04:34,260
où il était situé : localement ou dans le cloud.
111
00:04:34,260 --> 00:04:35,640
Et puis il va vous donner une estimation
112
00:04:35,640 --> 00:04:37,560
de la quantité de CO2 que vous avez émise.
113
00:04:37,560 --> 00:04:40,200
Un autre outil qui fait cela de manière programmatique,
114
00:04:40,200 --> 00:04:41,190
s'appelle codecarbon.
115
00:04:41,190 --> 00:04:45,112
Vous pouvez l'installer avec pip, vous pouvez aller sur leur GitHub,
116
00:04:45,112 --> 00:04:48,120
et essentiellement il s'exécute en parallèle de votre code.
117
00:04:48,120 --> 00:04:49,085
Donc, vous l'appelez
118
00:04:49,085 --> 00:04:51,060
et ensuite vous faites tous vos entraînements.
119
00:04:51,060 --> 00:04:53,760
Et puis à la fin, il va vous donner une estimation :
120
00:04:53,760 --> 00:04:57,210
un fichier CSV contenant une estimation de vos émissions.
121
00:04:57,210 --> 00:04:59,250
Et ça va vous permettre de faire des comparaisons.
122
00:04:59,250 --> 00:05:01,230
Il y a une interface visuelle où vous pouvez
123
00:05:01,230 --> 00:05:04,680
comparer avec la conduite d'une voiture ou la télévision.
124
00:05:04,680 --> 00:05:06,060
Ainsi, cela peut vous donner une idée
125
00:05:06,060 --> 00:05:07,740
de la portée de vos émissions également.
126
00:05:07,740 --> 00:05:09,930
Et en fait, codecarbon est déjà intégré dans AutoNLP.
127
00:05:09,930 --> 00:05:12,270
et j'espère que les gens l'utiliseront
128
00:05:12,270 --> 00:05:15,240
pour suivre facilement leurs émissions tout au long
129
00:05:15,240 --> 00:05:17,523
de l'entraînement et le déploiement des transformers.