- Итак, давайте поговорим об углеродном следе трансформеров.
Возможно, вы видели заголовки, подобные этому
что обучение одной модели ИИ может выбросить столько углерода,
сколько пять автомобилей за весь срок службы.
Так когда же это правда и всегда ли это так?
На самом деле, это зависит от нескольких вещей.
Самое главное, это зависит
от типа энергии, которую вы используете.
Если вы используете возобновляемые источники энергии, такие как
солнце, ветер, гидроэлектроэнергия, вы действительно
не выбрасываете углерод вообще, очень, очень мало.
Если вы используете невозобновляемые источники энергии, такие как уголь
то их углеродный след намного выше
потому что, по сути, вы выделяете большое количество парниковых газов.
Другой аспект - время обучения.
Поэтому чем дольше вы обучаете, тем больше энергии вы используете,
тем больше углерода вы выбрасываете, верно?
Таким образом, это действительно увеличивает
особенно если вы тренируете большие модели
в течение часов, дней и недель.
Используемое вами оборудование также имеет значение
потому что некоторые GPU, например, более эффективны
чем другие и правильно используют эффективность.
Поэтому их постоянное использование на сто процентов
может реально снизить потребление энергии.
И опять же, уменьшить углеродный след.
Есть и другие аспекты, такие как ввод/вывод,
такие как данные, и так далее, и тому подобное.
Но это основные три, на которых вам следует сосредоточиться.
Поэтому, когда я говорю об источниках энергии и углеродоемкости,
что это означает на самом деле?
Итак, если вы посмотрите на верхнюю часть экрана, вы
вы увидите углеродный след
облачного вычислительного центра в Мумбаи, Индия,
который выбрасывает 920 граммов CO2 на киловатт-час.
Это почти один килограмм
CO2 на киловатт-час используемой электроэнергии.
Если сравнить с Канадой, Монреалем,
где я сейчас нахожусь, то 20 граммов CO2 на килограмм-час.
Так что это очень, очень большая разница.
Почти в 40 раз больше углерода выбрасывается
в Мумбаи по сравнению с Монреалем.
И это может очень, очень сильно увеличиться.
Например, если вы обучаете модель в течение нескольких недель
вы умножаете в 40 раз
углерод, который вы выбрасываете.
Поэтому выбор правильного экземпляра
выбор низкоуглеродного компьютерного экземпляра
это действительно самая важная вещь, которую вы можете сделать.
И вот тут-то и может возникнуть реальная проблема
если вы обучаете в очень интенсивном
регионе с высоким выбросом углерода
другие элементы, которые следует рассмотреть, например
использование предварительно обученных моделей
это эквивалент повторного использования в машинном обучении.
Когда у вас есть предварительно обученные модели, используя их,
вы вообще не выбрасываете углерод, верно?
Вы ничего не переобучаете.
Так что это еще и выполнение домашней работы
и изучие того, что уже существует.
Дообучение вместо обучения с нуля.
Поэтому еще раз,
если вы нашли модель, которая почти то, что вам нужно,
но не совсем, то добучение последней пары слоев,
чтобы она действительно соответствовала вашей цели, вместо того,
чтобы обучать большой трансформер
с нуля, может действительно помочь,
начинайте с небольших экспериментов
и отлаживайте по ходу дела.
Это означает, что, например,
вы убедитесь в правильности кодировки данных, убедитесь в
том, что нет мелких ошибок, которые
могут появиться после 16 часов обучения,
начинайте с малого и убедитесь
в том, что то что вы делаете, что делает ваш код, является стабильным.
И, наконец, сделайте обзор литературы,
чтобы выбрать диапазоны гиперпараметров, а затем
выполнить случайный поиск вместо поиска по сетке.
Так, случайный поиск комбинаций гиперпараметров
на самом деле оказался столь же эффективным
в поиске оптимальной конфигурации, как и поиск по сетке.
Но очевидно, что вы не проверяете все возможные комбинации,
а только их подмножество.
Так что это тоже может помочь.
Итак, если мы вернемся
к оригинальной статье Струбелла и других в 2019 году
печально известной статье о пяти автомобилях за время их эксплуатации.
Если вы просто посмотрите
на трансформер с 200 миллионами параметров,
то его углеродный след составит около 200 фунтов CO2,
что значительно
но это не больше, чем у пяти автомобилей, верно?
Это даже не трансатлантический перелет.
Как это действительно увеличивается, когда вы делаете
поиск архитектуры нейронной сети,
когда вы делаете настройку гиперпараметров, и
это перебор всех возможных комбинаций
и так далее, и тому подобное.
И вот откуда
например, 600 000 фунтов CO2.
Так что здесь все действительно складывается.
Итак, если вы поступаете разумно и осознанно,
то ваш углеродный след не будет таким большим, как
предполагалось в статье, а некоторые инструменты помогут вам
определить, сколько CO2 выбрасываете именно вы.
Существует веб-инструмент под названием machine
learning submissions calculator, который позволяет вам
вручную ввести, например, какое оборудование вы использовали,
сколько часов вы его использовали,
где оно было расположено - локально или в облаке.
И затем он даст вам оценку того,
сколько CO2 вы выбросили.
Другой инструмент, который делает это программно,
называется Code Carbon.
Поэтому вы можете установить его с помощью PIP, вы можете зайти на GitHub
и, по сути, он работает параллельно с вашим кодом.
Так что, по сути, вы вызываете его
и затем проводите все свое обучение.
И в конце он предоставит вам оценку
CSV-файл с оценкой ваших выбросов.
И он даст вам несколько сравнений.
У него есть визуальный пользовательский интерфейс, где вы можете реально посмотреть
как это сравнимо с вождением автомобиля или просмотром телевизора.
Так что это может дать вам представление
о масштабах ваших выбросов.
И на самом деле, code carbon уже интегрирован в AutoML,
и, надеюсь, люди будут использовать его
из коробки и легко отслеживать свои выбросы на протяжении всего
процесса обучения и внедрения трансформеров.