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.