Как только доступ к графическим процессорам обеспечен, обучение LLM сводится к выполнению невероятного количества математических операций, которые называются операциями с плавающей точкой (floating-point operations, FLOP). Стандартным показателем производительности компьютера является количество операций с плавающей точкой в секунду (FLOPS, флоп/с). Для обучения GPT‐3 потребовалось порядка 100 000 000 000 000 000 000 000 операций с плавающей точкой (1023), что соответствует количеству звезд в видимой Вселенной29. Даже при уровне производительности суперкомпьютера это занимает много часов работы большого количества графических процессоров, аккуратно размещенных на серверах в центрах обработки данных и потребляющих электроэнергию во время своей работы.
Поскольку во время обучения происходит самое интенсивное использование компьютеров, измерения в основном проводятся на этой стадии. Существуют инструменты, разработанные для измерения потребления электроэнергии во время обучения, и некоторые из них работают параллельно с процессом обучения модели, обеспечивая тщательный учет энергопотребления, а другие оценивают его по факту, то есть после получения окончательной модели. Инструмент CodeCarbon измеряет энергопотребление для центрального процессора, оперативной памяти и любого графического процессора, при этом он работает параллельно и может быть запущен на любом персональном компьютере (см. https://github.com/mlco2/codecarbon). Подобные инструменты отличаются великолепной ненавязчивостью и простотой. В документации CodeCarbon разработчики приводят слова Нильса Бора «ничего не существует, пока это не измерено» в качестве объяснения, почему они решили найти способ оценить уровень углекислого газа (CO2), образующегося во время работы программ (к парниковым газам относится не только углекислый газ, но и метан, и закись азота, однако для удобства измерения все остальные пересчитываются в эквивалент углекислого газа). Хотя отчетность о потреблении электроэнергии для выполнения различных задач еще не стала распространенной нормой – на самом деле ни в области ИИ, ни в других отраслях, – такие инструменты положительно влияют на весь сектор по мере их внедрения и повышения ожиданий о предоставлении экологических данных.
После обучения, в процессе генерации ответов на запросы пользователей, LLM по-прежнему требуются графические процессоры и энергия для вычислений с использованием весовых коэффициентов, полученных в ходе обучения. Вычисления на этом этапе не являются такими объемными и дорогими, как при обучении, но модели нужно обрабатывать сотни или тысячи запросов одновременно, чтобы обслуживать сразу множество пользователей, из-за чего общие затраты возрастают. Согласно отраслевому анализу на апрель 2023 года, поддержка работы модели ChatGPT, которая отвечает на миллионы входящих запросов, обходится OpenAI в 700 000 долларов в день из расчета затрат на компьютерную инфраструктуру30. Инструменты для измерения потребления электроэнергии во время обучения можно использовать также и на стадии обработки запросов.
Рис. 9.2. Схема жизненного цикла LLMs31
Соотношение размера модели и количества ее вычислений с потреблением процессорного времени и углеродным следом также зависит от множества других факторов, определяемых инфраструктурой: старые чипы менее эффективны (другими словами, могут выполнять меньше операций в секунду) и потребляют больше энергии, не все источники питания одинаковы. На рис. 9.2 перечислены различные этапы жизненного цикла LLM, которые вносят вклад в общее энергопотребление. Каждый из этих этапов может создать сложности для получения полной картины воздействия LLM на окружающую среду, особенно когда некоторые детали не раскрываются по соображениям конкуренции.
Наиболее систематическая работа по документации воздействия LLM на окружающую среду была проведена на базе свободной для использования [124] языковой модели BLOOM с 176B параметрами, выпущенной группой BigScience в 2022 году. Создатели этой модели, среди которых была руководитель климатических инициатив в Hugging Face доктор Саша Луччиони, проанализировали углеродный след BLOOM с точки зрения энергопотребления во время обучения, а также учли дополнительные факторы, такие как энергопотребление в режиме ожидания, предполагаемые выбросы от серверов и графических процессоров и потребляемое электричество при эксплуатации модели31. «Поскольку методологии учета выбросов углерода не стандартизированы, было трудно проводить точное сравнение углеродного следа BLOOM и других моделей аналогичных масштабов», – отметили они, но, основываясь на общедоступной информации, подсчитали, что в ходе обучения BLOOM было выброшено около 25 тонн эквивалента CO2, а GPT‐3 – около 502 тонн. Эти 502 тонны эквивалента CO2 равны выбросам парниковых газов от 112 легковых автомобилей за год32. Хотя количество параметров и эффективность энергопотребления центра обработки данных для BLOOM и GPT‐3 были сопоставимы, интенсивность выбросов углерода в сети, используемой для BLOOM, была намного ниже, поскольку сети, поддерживающие аппаратное обеспечение BLOOM, питались от более чистых источников энергии (таких как гидроэлектростанция и солнечная энергия, но не уголь и не природный газ). Авторы также отметили, что многие поставщики вычислительных услуг уменьшают свои выбросы углерода за счет покупки углеродных кредитов – разрешений, которые позволяют организациям не учитывать определенное количество углеродных выбросов в своем балансе. Авторы не учитывали такие кредиты, принимая во внимание полные выбросы.
Вопрос о том, засчитывать ли эти выбросы углерода, – лишь один из десятков вопросов, которые должны решаться, когда речь заходит об экологических издержках или отчетности: какие стадии включить в анализ, как производить оценку неизвестных деталей цепочки поставок или инфраструктуры. Поскольку у разработчиков LLM есть очевидный стимул занижать по возможности углеродный след своих моделей, крайне важно перейти к более систематической отчетности в отрасли.
Беря пример с документации для BLOOM, другие команды тоже внедрили подобную методологию, пусть даже частично, и начали сообщать о воздействии на окружающую среду в рамках технического отчета. В техническом отчете Llama 2, например, указано время предварительного обучения в часах работы графического процессора, энергопотребление и выброс углерода в тоннах эквивалента углекислого газа (CO2‐эквивалент). Впервые на проблему энергопотребления LLM обратила внимание Эмма Струбелл, доцент кафедры компьютерных наук в Унверситете Карнеги – Меллона. В 2019 году она опубликовала статью, в которой сообщалось, что при обучении BERT было выброшено примерно столько же углекислого газа, сколько производят пять автомобилей за все время своей эксплуатации33. В течение последующих лет LLM стали еще больше, хотя теперь они, как правило, обучаются эффективнее и используют более чистую энергию. Струбелл назвала статью о BLOOM самым тщательным анализом воздействия LLM на окружающую среду на сегодняшний день и выразила надежду, что, следуя примеру Hugging Face, которая провела анализ для BLOOM (и в меньшей степени Meta [125] с ее отчетом для Llama 2), другие технологические компании тоже начнут изучать углеродный след от разработки своих продуктов34.
Безусловно, ИИ и технологический сектор в целом вносят не самый большой вклад в увеличение глобальных выбросов углекислого газа и энергопотребления. По оценкам, на долю общемирового технологического сектора приходится около 2 % глобальных выбросов углекислого газа34. Тем не менее было бы ошибкой не учитывать воздействие LLM на окружающую среду при рассмотрении их более широкого применения, особенно в связи с тем, что конкурирующие компании продолжают накапливать все больше графических процессоров и создавать модели все большего размера. Помимо того, что экологические оценки должны стать нормой в технических отчетах, Луччиони, Струбелл и другие представители сообщества машинного обучения настаивают на том, что нужно уделять больше внимание созданию небольших и более эффективных моделей вместо однонаправленного стремления к получению огромных и дорогостоящих LLM. В конкретных областях применения модели меньшего размера во многих случаях могут работать не хуже или так же эффективно, как и большие, при этом они обладают дополнительным преимуществом – их гораздо легче повторно использовать и тонко настраивать. Как мы обсудим в следующем разделе, этот подход дал впечатляющие результаты при меньших затратах как для разработчиков, так и для всей планеты.
9.4. Архитекторы будущего: сообщество свободного программного обеспечения
В мае 2023 года в интернет просочился внутренний документ исследователей Google «У нас нет уникального конкурентного преимущества, и у OpenAI его тоже нет», в котором говорилось, что ни у Google, ни у OpenAI нет решающих преимуществ в гонке за искусственный интеллект. «Пока мы препирались, третий участник игры перехватил инициативу. Я говорю, конечно, о свободном программном обеспечении. Проще говоря, они нас обгоняют»35. В документе авторы делают вывод, что «модели с открытым исходным кодом работают быстрее, обеспечивают лучшую приватность, они более настраиваемые и эффективные по сравнению с другими».
В главе 4 мы кратко обсудили движение за свободное ПО и на протяжении всей книги уделили особое внимание LLM с открытым исходным кодом. Учитывая их значительный вклад в экосистему LLM, мы более подробно остановимся на этом движении и его влиянии в гонке за ИИ, а также на положительных результатах и негативных последствиях. В определенном смысле 2023 год можно считать золотой эпохой для LLM с открытым исходным кодом. Заинтересованное в решении проблем, связанных с проприетарными (с закрытым исходным кодом) моделями, сообщество разработчиков свободного ПО укрепило свое положение благодаря совместному созданию функций, интеграций и даже целой экосистемы, вращающейся вокруг LLM. В документе Google авторы пытались разобраться с тем, какие последствия деятельности этого сообщества проявятся для проприетарных LLM.
Во-первых, давайте обсудим мотивацию движения за свободное ПО для LLM. Кроме того, что в проприетарных LLM данные и методы хранятся в тайне – и это вызывает опасения о предвзятости и прозрачности модели, – они также контролируются небольшой группой крупных технологических игроков. И наоборот, в LLM с открытым исходным кодом приоритет отдается прозрачности и сотрудничеству. Это дает разнообразие точек зрения, сводит к минимуму предвзятость, стимулирует инновации и в конечном итоге делает технологию более демократичной. Как подчеркнули исследователи Google, значительный прогресс, достигнутый сообществом разработчиков свободного ПО, не нужно недооценивать.
Весовые коэффициенты модели LLaMa, представленной исследовательскому сообществу 24 февраля 2023 года, неделей позже были слиты на 4chan (см. раздел 1.6.4). Хотя лицензия LLaMa на тот момент запрещала коммерческое использование, сообщество разработчиков LLM получило полную свободу делать с весовыми коэффициентами модели все что угодно. Внезапно любой желающий получил возможность проводить эксперименты с мощной и производительной на уровне GPT‐3+ большой языковой моделью. Чуть больше чем через неделю после утечки весовых коэфициентов, в Стэнфорде выпустили модель Alpaca – разновидность LLaMa, для которой была проведена тонкая настройка всего за пару сотен долларов. Исследователи из Стэнфорда сделали исходный код Alpaca открытым, показав разработчикам по всему миру, как проводить необходимую им тонкую настройку модели с минимальными затратами, что стало важной вехой в демократизации LLM. Это дало начало быстрым инновациям в сообществе разработчиков свободных LLM и вскоре привело к появлению нескольких моделей, непосредственно основанных на Alpaca или созданных по ее подобию. Всего через несколько дней были выпущены Vicuna, GPT4All и Koala. В каталоге моделей Hugging Face можно найти варианты моделей LLaMa (и Llama 2), которые прошли тонкую настройку. В июле 2023 года было принято решение сделать Llama 2 свободной как для исследовательского, так и для коммерческого использования, заявив: «На данный момент мы наблюдаем невероятный отклик – более 150 000 запросов на скачивание за неделю с момента выпуска, и нам не терпится узнать, что нас ждет в будущем»36. На рис. 9.3 мы показали хронологию появления важных LLM с открытым исходным кодом, которые были выпущены в период между появлением LLaMa и Llama 2.
Рис. 9.3. Хронология появления некоторых свободных LLM в период между выпуском LLaMa и Llama 2
Такая активность разработчиков LLM с открытым исходным кодом не должна нас удивлять. Разработчики и другие технические обозреватели заявили, что LLM переживают такой же этап развития, который был у Stable Diffusion. Как обсуждалось в предыдущих главах, Stable Diffusion – модель для преобразования текста в изображение (см. https://stability.ai/stablediffusion), которая стала общедоступной 22 августа 2022 года с лицензией, допускающей свободное коммерческое и некоммерческое использование. Всего через несколько дней благодаря этому событию произошел взрыв инноваций, дополнительно подогреваемый все более доступными и недорогими методами тонкой настройки, что привело к демократизации моделей преобразования текста в изображения. В отличие от DALL-E от OpenAI, Stable Diffusion имеет выстроенную вокруг нее богатую экосистему. Эта тенденция также напоминает рост числа альтернативных офисных пакетов с открытым исходным кодом, таких как LibreOffice или OpenOffice, в ответ на выпуск Office 365 от Microsoft.
Теперь, когда мы установили, что LLM с открытым исходным кодом получили толчок в развитии в 2023 году, стоит обсудить преимущества и недостатки свободных и проприетарных LLM (показаны в таблице 9.2). Мы уже подчеркивали важность прозрачности и открытости LLM, поскольку это способствует разнообразию взглядов, быстрым инновациям и минимизирует предвзятость. А также помогает снизить барьер входа и демократизирует влияние, которое сосредоточено в руках нескольких крупных технологических компаний. При развертывании LLM с открытым исходным кодом в безопасной среде появляется возможность обеспечить конфиденциальность данных, поскольку данные не отправляются для целей мониторинга или обучения моделей тем корпорациям, которые занимаются разработкой (обсуждается в главе 3). С другой стороны, у проектов с открытым исходным кодом может быть ряд недостатков и проблем, например: отсутствие централизованного управления, контроля качества, перспектив долгосрочного устойчивого развития, проблемы интеллектуальной собственности и другие. В отличие от проприетарных систем, которые имеют удобный API или веб-интерфейс, как ChatGPT, работа со многими LLM с открытым исходным кодом может требовать от пользователей определенного уровня технических знаний и опыта. Мы также должны подчеркнуть, что хотя прозрачность проектов с открытым исходным кодом помогает выявлять уязвимости, в то же время она позволяет злоумышленникам использовать слабые места в коде. Проприетарные LLM, как правило, проходят многомесячные испытания на безопасность и имеют меры защиты против генерации небезопасных ответов. К сожалению, LLM с открытым исходным кодом не обладают таким преимуществом, что может привести к катастрофическим последствиям в недобрых или даже благонамеренных руках.
Таблица 9.2. Характеристики LLM с открытым и закрытым исходным кодом
В главе 5 мы описали несколько способов, с помощью которых злоумышленники могут извлекать выгоду от использования LLM. Мы подробно рассмотрели роль, которую в связи с этим играют проприетарные LLM, однако важно отметить, что LLM с открытым исходным кодом также могут быть легко использованы для проведения злонамеренных атак: от извлечения выгоды через уязвимости, присущие LLM, до кибератак и операций влияния. Обладая некоторыми техническими знаниями и имея пару сотен долларов, злоумышленники могут легко провести тонкую настройку LLM с открытым исходным кодом, адаптировав ее для выполнения необходимой им задачи, а также обойти защитные механизмы, которые часто имеются в проприетарных LLM. Однако мы считаем, что у сообщества разработчиков открытого ПО тоже есть возможность совместно противостоять ненадлежащему использованию LLM или извлечению выгоды из них. Как мы уже подчеркивали в этом разделе, при разработке по принципам открытого исходного кода возникает шквал идей и инноваций, поэтому есть надежда, что сообщество, помими быстрой разработки новых LLM, также сосредоточит свои усилия на предотвращении использования моделей не по назначению или для проведения злонамеренных атак.
Наконец, мы хотим уделить внимание тем многочисленным способам, с помощью которых вы можете внести свой вклад в сообщество свободного ПО, независимо от вашего образования, навыков или опыта. Отличный способ подключиться к этой экосистеме – присоединиться к сообществу, например к Hugging Face (см. https://huggingface.co/) или scikit-learn (см. https://scikit-learn.org/). К таким сообществам несложно присоединиться, например участвуя в спринтах по разработке. Часто сообщества поддерживают определенные серверы или рабочие пространства в Slack, что облегчает выход на контакт с ключевыми разработчиками.
Если вы уже не новичок в LLM, то можете сразу приступить к изучению проектов с открытым исходным кодом и внести свой вклад в разработку. Для начала неплохо было бы найти LLM или инструмент с открытым исходным кодом, который вас заинтересовал, затем перейти на его репозиторий на GitHub и изучить в разделе README, как можно внести свой вклад. И даже если в репозитории нет раздела для участников, вы можете просто протестировать код и оставить отзыв. Вы можете улучшить функциональность LLM, исправить ошибки или даже внедрить новые функции. Вы также можете провести тестирование и сообщить о проблемах или ошибках, и это поможет улучшить качество и надежность проекта в целом.
Еще одним важным, но иногда недооцениваемым вкладом является создание документации и модерация сообщества. Вы можете создавать и поддерживать документацию, координировать действия участников и помогать пользователям эффективно использовать модель. Вы также можете написать публикацию в блоге или создать пошаговое видеоруководство, которое может быть чрезвычайно полезным для сообщества. Помимо технической помощи, вы можете активно участвовать в дискуссиях и форумах, чтобы создать открытую среду для инноваций и решения проблем. Вовлечение в жизнь сообщества также является отличным способом дать возможность широкому кругу пользователей взаимодействовать с моделью, обеспечить доступность и поддержать демократизацию технологии. Мы надеемся, что эти разнообразные способы вовлечения помогут вам почувствовать свой потенциал, внести вклад в сообщество разработчиков свободного ПО и создать более открытую и инновационную экосистему LLM.
9.5. Итоги
Хотя было много попыток дать определение общему искусственному интеллекту (AGI), общепризнанного, а главное, проверяемого определения пока не существует. Мы называем общим искусственным интеллектом систему, которая способна выполнять любые когнитивные задачи на уровне человека или выше.
Широко распространены две точки зрения в отношении AGI: утопия, когда решения, принимаемые ИИ, устраняют все наши проблемы; и антиутопия, когда ИИ приводит к повсеместной безработице, социальному неравенству или возникновению потенциальных угроз самому человечеству.
Идея AGI уходит корнями в евгенику и трансгуманизм, которые по своей сути являются дискриминационными; современная идеология лонгтермизма фокусируется на гипотетических перспективах или рисках, связанных с ИИ, вместо вполне реальных рисков, актуальных сегодня.
[124] Свободная для использования – модель, которую может свободно использовать любой желающий. Модель с открытым исходным кодом – модель, исходный код которой является общедоступным, – по определению является свободной для использования. Однако свободные для использования модели могут и не публиковать свой исходный код. – Прим. авт.
[125] Организация признана экстремистской и запрещена на территории РФ.