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 процесса обучения и внедрения трансформеров.