subtitles/ru/02_the-carbon-footprint-of-transformers.srt (387 lines of code) (raw):
1
00:00:05,580 --> 00:00:08,820
- Итак, давайте поговорим об углеродном следе трансформеров.
2
00:00:08,820 --> 00:00:10,530
Возможно, вы видели заголовки, подобные этому
3
00:00:10,530 --> 00:00:13,530
что обучение одной модели ИИ может выбросить столько углерода,
4
00:00:13,530 --> 00:00:16,020
сколько пять автомобилей за весь срок службы.
5
00:00:16,020 --> 00:00:19,440
Так когда же это правда и всегда ли это так?
6
00:00:19,440 --> 00:00:21,803
На самом деле, это зависит от нескольких вещей.
7
00:00:21,803 --> 00:00:23,430
Самое главное, это зависит
8
00:00:23,430 --> 00:00:24,960
от типа энергии, которую вы используете.
9
00:00:24,960 --> 00:00:26,267
Если вы используете возобновляемые источники энергии, такие как
10
00:00:26,267 --> 00:00:30,670
солнце, ветер, гидроэлектроэнергия, вы действительно
11
00:00:30,670 --> 00:00:33,810
не выбрасываете углерод вообще, очень, очень мало.
12
00:00:33,810 --> 00:00:36,769
Если вы используете невозобновляемые источники энергии, такие как уголь
13
00:00:36,769 --> 00:00:39,570
то их углеродный след намного выше
14
00:00:39,570 --> 00:00:43,260
потому что, по сути, вы выделяете большое количество парниковых газов.
15
00:00:43,260 --> 00:00:44,670
Другой аспект - время обучения.
16
00:00:44,670 --> 00:00:47,232
Поэтому чем дольше вы обучаете, тем больше энергии вы используете,
17
00:00:47,232 --> 00:00:50,250
тем больше углерода вы выбрасываете, верно?
18
00:00:50,250 --> 00:00:51,270
Таким образом, это действительно увеличивает
19
00:00:51,270 --> 00:00:53,520
особенно если вы тренируете большие модели
20
00:00:53,520 --> 00:00:56,460
в течение часов, дней и недель.
21
00:00:56,460 --> 00:00:58,380
Используемое вами оборудование также имеет значение
22
00:00:58,380 --> 00:01:00,930
потому что некоторые GPU, например, более эффективны
23
00:01:00,930 --> 00:01:05,460
чем другие и правильно используют эффективность.
24
00:01:05,460 --> 00:01:07,500
Поэтому их постоянное использование на сто процентов
25
00:01:07,500 --> 00:01:10,650
может реально снизить потребление энергии.
26
00:01:10,650 --> 00:01:13,290
И опять же, уменьшить углеродный след.
27
00:01:13,290 --> 00:01:15,870
Есть и другие аспекты, такие как ввод/вывод,
28
00:01:15,870 --> 00:01:17,730
такие как данные, и так далее, и тому подобное.
29
00:01:17,730 --> 00:01:20,940
Но это основные три, на которых вам следует сосредоточиться.
30
00:01:20,940 --> 00:01:23,340
Поэтому, когда я говорю об источниках энергии и углеродоемкости,
31
00:01:23,340 --> 00:01:24,420
что это означает на самом деле?
32
00:01:24,420 --> 00:01:27,480
Итак, если вы посмотрите на верхнюю часть экрана, вы
33
00:01:27,480 --> 00:01:30,480
вы увидите углеродный след
34
00:01:30,480 --> 00:01:33,860
облачного вычислительного центра в Мумбаи, Индия,
35
00:01:33,860 --> 00:01:38,700
который выбрасывает 920 граммов CO2 на киловатт-час.
36
00:01:38,700 --> 00:01:40,110
Это почти один килограмм
37
00:01:40,110 --> 00:01:43,680
CO2 на киловатт-час используемой электроэнергии.
38
00:01:43,680 --> 00:01:45,150
Если сравнить с Канадой, Монреалем,
39
00:01:45,150 --> 00:01:48,720
где я сейчас нахожусь, то 20 граммов CO2 на килограмм-час.
40
00:01:48,720 --> 00:01:50,040
Так что это очень, очень большая разница.
41
00:01:50,040 --> 00:01:54,240
Почти в 40 раз больше углерода выбрасывается
42
00:01:54,240 --> 00:01:55,950
в Мумбаи по сравнению с Монреалем.
43
00:01:55,950 --> 00:01:57,720
И это может очень, очень сильно увеличиться.
44
00:01:57,720 --> 00:01:59,820
Например, если вы обучаете модель в течение нескольких недель
45
00:01:59,820 --> 00:02:01,920
вы умножаете в 40 раз
46
00:02:01,920 --> 00:02:03,450
углерод, который вы выбрасываете.
47
00:02:03,450 --> 00:02:05,070
Поэтому выбор правильного экземпляра
48
00:02:05,070 --> 00:02:07,080
выбор низкоуглеродного компьютерного экземпляра
49
00:02:07,080 --> 00:02:09,690
это действительно самая важная вещь, которую вы можете сделать.
50
00:02:09,690 --> 00:02:13,020
И вот тут-то и может возникнуть реальная проблема
51
00:02:13,020 --> 00:02:15,930
если вы обучаете в очень интенсивном
52
00:02:15,930 --> 00:02:17,580
регионе с высоким выбросом углерода
53
00:02:19,170 --> 00:02:21,750
другие элементы, которые следует рассмотреть, например
54
00:02:21,750 --> 00:02:22,770
использование предварительно обученных моделей
55
00:02:22,770 --> 00:02:25,590
это эквивалент повторного использования в машинном обучении.
56
00:02:25,590 --> 00:02:28,292
Когда у вас есть предварительно обученные модели, используя их,
57
00:02:28,292 --> 00:02:30,120
вы вообще не выбрасываете углерод, верно?
58
00:02:30,120 --> 00:02:31,230
Вы ничего не переобучаете.
59
00:02:31,230 --> 00:02:33,450
Так что это еще и выполнение домашней работы
60
00:02:33,450 --> 00:02:35,574
и изучие того, что уже существует.
61
00:02:35,574 --> 00:02:37,890
Дообучение вместо обучения с нуля.
62
00:02:37,890 --> 00:02:38,723
Поэтому еще раз,
63
00:02:38,723 --> 00:02:40,590
если вы нашли модель, которая почти то, что вам нужно,
64
00:02:40,590 --> 00:02:43,530
но не совсем, то добучение последней пары слоев,
65
00:02:43,530 --> 00:02:45,210
чтобы она действительно соответствовала вашей цели, вместо того,
66
00:02:45,210 --> 00:02:46,500
чтобы обучать большой трансформер
67
00:02:46,500 --> 00:02:48,810
с нуля, может действительно помочь,
68
00:02:48,810 --> 00:02:51,270
начинайте с небольших экспериментов
69
00:02:51,270 --> 00:02:52,800
и отлаживайте по ходу дела.
70
00:02:52,800 --> 00:02:54,630
Это означает, что, например,
71
00:02:54,630 --> 00:02:58,770
вы убедитесь в правильности кодировки данных, убедитесь в
72
00:02:58,770 --> 00:03:01,170
том, что нет мелких ошибок, которые
73
00:03:01,170 --> 00:03:03,840
могут появиться после 16 часов обучения,
74
00:03:03,840 --> 00:03:05,820
начинайте с малого и убедитесь
75
00:03:05,820 --> 00:03:08,760
в том, что то что вы делаете, что делает ваш код, является стабильным.
76
00:03:08,760 --> 00:03:11,430
И, наконец, сделайте обзор литературы,
77
00:03:11,430 --> 00:03:13,740
чтобы выбрать диапазоны гиперпараметров, а затем
78
00:03:13,740 --> 00:03:15,900
выполнить случайный поиск вместо поиска по сетке.
79
00:03:15,900 --> 00:03:18,420
Так, случайный поиск комбинаций гиперпараметров
80
00:03:18,420 --> 00:03:21,300
на самом деле оказался столь же эффективным
81
00:03:21,300 --> 00:03:24,000
в поиске оптимальной конфигурации, как и поиск по сетке.
82
00:03:24,000 --> 00:03:27,510
Но очевидно, что вы не проверяете все возможные комбинации,
83
00:03:27,510 --> 00:03:29,520
а только их подмножество.
84
00:03:29,520 --> 00:03:31,800
Так что это тоже может помочь.
85
00:03:31,800 --> 00:03:32,760
Итак, если мы вернемся
86
00:03:32,760 --> 00:03:36,300
к оригинальной статье Струбелла и других в 2019 году
87
00:03:36,300 --> 00:03:39,180
печально известной статье о пяти автомобилях за время их эксплуатации.
88
00:03:39,180 --> 00:03:40,013
Если вы просто посмотрите
89
00:03:40,013 --> 00:03:43,606
на трансформер с 200 миллионами параметров,
90
00:03:43,606 --> 00:03:46,950
то его углеродный след составит около 200 фунтов CO2,
91
00:03:46,950 --> 00:03:47,940
что значительно
92
00:03:47,940 --> 00:03:49,980
но это не больше, чем у пяти автомобилей, верно?
93
00:03:49,980 --> 00:03:52,893
Это даже не трансатлантический перелет.
94
00:03:52,893 --> 00:03:55,020
Как это действительно увеличивается, когда вы делаете
95
00:03:55,020 --> 00:03:56,190
поиск архитектуры нейронной сети,
96
00:03:56,190 --> 00:03:58,560
когда вы делаете настройку гиперпараметров, и
97
00:03:58,560 --> 00:04:00,930
это перебор всех возможных комбинаций
98
00:04:00,930 --> 00:04:01,763
и так далее, и тому подобное.
99
00:04:01,763 --> 00:04:02,596
И вот откуда
100
00:04:02,596 --> 00:04:05,400
например, 600 000 фунтов CO2.
101
00:04:05,400 --> 00:04:08,490
Так что здесь все действительно складывается.
102
00:04:08,490 --> 00:04:11,880
Итак, если вы поступаете разумно и осознанно,
103
00:04:11,880 --> 00:04:16,410
то ваш углеродный след не будет таким большим, как
104
00:04:16,410 --> 00:04:20,040
предполагалось в статье, а некоторые инструменты помогут вам
105
00:04:20,040 --> 00:04:22,111
определить, сколько CO2 выбрасываете именно вы.
106
00:04:22,111 --> 00:04:24,270
Существует веб-инструмент под названием machine
107
00:04:24,270 --> 00:04:26,430
learning submissions calculator, который позволяет вам
108
00:04:26,430 --> 00:04:29,010
вручную ввести, например, какое оборудование вы использовали,
109
00:04:29,010 --> 00:04:30,488
сколько часов вы его использовали,
110
00:04:30,488 --> 00:04:34,260
где оно было расположено - локально или в облаке.
111
00:04:34,260 --> 00:04:35,640
И затем он даст вам оценку того,
112
00:04:35,640 --> 00:04:37,560
сколько CO2 вы выбросили.
113
00:04:37,560 --> 00:04:40,200
Другой инструмент, который делает это программно,
114
00:04:40,200 --> 00:04:41,190
называется Code Carbon.
115
00:04:41,190 --> 00:04:45,112
Поэтому вы можете установить его с помощью PIP, вы можете зайти на GitHub
116
00:04:45,112 --> 00:04:48,120
и, по сути, он работает параллельно с вашим кодом.
117
00:04:48,120 --> 00:04:49,085
Так что, по сути, вы вызываете его
118
00:04:49,085 --> 00:04:51,060
и затем проводите все свое обучение.
119
00:04:51,060 --> 00:04:53,760
И в конце он предоставит вам оценку
120
00:04:53,760 --> 00:04:57,210
CSV-файл с оценкой ваших выбросов.
121
00:04:57,210 --> 00:04:59,250
И он даст вам несколько сравнений.
122
00:04:59,250 --> 00:05:01,230
У него есть визуальный пользовательский интерфейс, где вы можете реально посмотреть
123
00:05:01,230 --> 00:05:04,680
как это сравнимо с вождением автомобиля или просмотром телевизора.
124
00:05:04,680 --> 00:05:06,060
Так что это может дать вам представление
125
00:05:06,060 --> 00:05:07,740
о масштабах ваших выбросов.
126
00:05:07,740 --> 00:05:09,930
И на самом деле, code carbon уже интегрирован в AutoML,
127
00:05:09,930 --> 00:05:12,270
и, надеюсь, люди будут использовать его
128
00:05:12,270 --> 00:05:15,240
из коробки и легко отслеживать свои выбросы на протяжении всего
129
00:05:15,240 --> 00:05:17,523
процесса обучения и внедрения трансформеров.