Машинное обучение (МО), и в особенности глубокое обучение (ГО), вынуждает производителей полупроводников пересматривать схему разработки микросхем и систем, что окажет сильное влияние на вектор развития ИТ-отрасли на десятилетия вперед. Обозреватель Тернер Рэй приводит на портале ZDNet мнения экспертов о том, как МО и ГО преобразят архитектуру процессоров.

Растущая популярность МО приведет к тому, что в ближайшие годы мир вычислительной техники начиная с микросхем и заканчивая ПО безвозвратно изменится. О важности полупроводниковых технологий для исследований в области ИИ заявил на февральской конференции IEEE International Solid- State Circuits Conference в Сан-Франциско глава научно-исследовательского ИИ-подразделения Facebook Ян Лакен. «Аппаратные возможности и программные средства не всегда мотивируют ИИ-исследователей, они также могут ограничивать их воображение и тормозить воплощение идей, — сказал он.— Имеющиеся в нашем распоряжении инструменты формируют наш образ мыслей в большей степени, чем мы это хотим признать».

Влияние растущих компьютерных мощностей на развитие ИИ очевидно. Массовый интерес к ГО возник в 2006 г. не столько из-за огромного количества данных и новых методов МО, таких как «отсев», сколько из-за того, что процессоры нового поколения научились их обрабатывать. В частности, набирающая обороты популярность графических процессоров (GPU) Nvidia привела к большей параллелизации вычислений и, соответственно, новым возможностям обучения значительно более крупных сетей. Появившаяся в 1980-х теория параллельной распределенной обработки, в которой излагались фундаментальные принципы одновременного обучения множества узлов искусственных сетей, стала реальностью.

Некоторые рыночные наблюдатели полагают, что на долю МО может придтись большая часть суммарной вычислительной мощности, которая требуется человечеству для проведения математических и других видов расчетов. Лакен считает, что ландшафт вычислений уже начал изменяться: «Если заглянуть на пять или десять лет в будущее и исходить из объема тогдашних вычислений, то можно будет увидеть, что большую часть времени компьютеры будут заниматься ГО». По его словам, несмотря на то, что оно не станет главным драйвером продаж компьютерной техники, которым сегодня, к примеру, являются игровые компьютеры, но «в основном милливатты или операций в секунду будет расходоваться на нейронные сети».

Глубинное обучение растет в геометрической прогрессии

Поскольку ГО становится средоточием вычислений, оно расширяет границы возможностей современных компьютеров не только в «умозаключениях» (выдача нейронными сетями прогнозов), но и в гораздо большей степени делает их пригодными для обучения нейронной сети, что требует огромных вычислительных мощностей. Для разгона современных нейронных сетей наподобие GPT-2, развитием которой занимается некоммерческая исследовательская компания OpenAI, требуется параллельное обучение миллиарда параметров (или «весов» сети). «Модели становятся все больше и больше, и их обучение становится все дороже», — отметил менеджер по продуктам Facebook Джо Списак, занимающийся поддержкой популярной библиотеки МО PyTorch. Самые крупные модели уже не помещаются в памяти видеокарт.

Одновременно с усложнением структуры нейронных сетей увеличивается разрыв между вычислительными циклами. Согласно данным OpenAI, созданная еще в 2012 г. система распознавания изображений AlexNet потребляла за один цикл обучения менее одной сотой Пфлопс-дня. Для сравнения, потребление созданной в 2016 г. командой Google DeepMind нейронной сети AlphaGo Zero, которая известна своими победами над чемпионами мира по шахматам, го и седзе, составляет более 1000 Петафлопс-дней. Анализ крупнейших ИИ-экспериментов с 2012 по 2016 гг. показывает экспоненциальный рост с удвоением потребления вычислительных мощностей (на цикл обучения) каждые 3,5 месяца, тогда как в законе Мура удвоение происходит лишь каждые 18 месяцев. Эти данные OpenAI собрала еще в 2016 г., с того времени этот показатель наверняка увеличился.

Стагнация в процессоростроении

Пока что в мире не существует процессоров, которые могли бы обрабатывать данные на петафлопсном уровне. Высококлассный чип для ГО Nvidia Tesla V100 работает со скоростью 112 трлн. операций в секунду. Таким образом, чтобы обеспечить петафлопсную производительность, нужно будет одновременно запускать восемь подобных чипов в течение 1000 дней или же объединять их в системы, которые расходуют все больше и больше энергии. Что еще хуже, скорость инноваций в современных чипах замедлилась, грозя перерасти в кризис.

В опубликованной ранее в этом году статье профессора Калифорнийского университета Дэвида Паттерсона и председателя Alphabet Джона Хеннесси утверждается, что закон Мура исчерпал себя. Intel опровергает эту точку зрения, однако, как показывают недавние сложности процессорного гиганта с переходом на новейшие техпроцессы, к мнению Паттерсона и Хеннесси стоит прислушаться. Как отмечается, производительность чипов сейчас увеличивается всего на 3% в год. И чтобы предотвратить неизбежную стагнацию, нужно кардинально изменить конструкцию и архитектуру микросхем, что позволит повысить производительность транзисторов. (Паттерсон помог Google создать чип Tensor Processing Unit, поэтому он хорошо понимает связь между аппаратным обеспечение и МО).

Полупроводниковая отрасль, которая не может угнаться за ускоренными темпами развития МО, ставит под сомнение свое существование в текущем виде. Что неожиданно, МО само может придти на помощь разработчикам чипов. Во-первых, МО практически полностью обходится без унаследованного кода, а, во-вторых, довольно неплохо «улавливает» повторяющийся характер самых базовых вычислений, поэтому его можно приспособить для оптимизации процессорных архитектур.

Создание новой машины

Сверточные нейронные сети (convolutional neural networks) и сети долгой кратковременной памяти (LSTM) — это главные опоры ГО, однако они, как и более современные сети, к примеру Google Transformer, проводят большинство расчетов при помощи линейных расчетов, которые принято называть тензорной математикой. Как правило, она преобразует часть входных данных в векторные данные, затем они умножаются на столбцы «весов» нейронной сети и после этого полученные данные суммируются. Подобного рода вычисления типа «умножение-сложение» производятся на компьютере с использованием так называемых схем с многократным накоплением (MAC).

Таким образом, доработка MAC и их клонирование при помощи МО существенно улучшит распараллеливание. И Nvidia, чьи процессоры занимают доминирующее положение на рынке чипов для тренировки ИИ, и Intel, которая опережает ближайших конкурентов в области задач прогнозирования, прикладывали усилия, чтобы привнести преимущества линейных расчетов в свои архитектуры на атомарном уровне. Чтобы оптимизировать умножение матриц, Nvidia добавила «тензорные ядра» в свои графические процессоры Tesla, тогда как Intel потратила 30 млрд. долл. на покупку компаний, которые занимаются МО, в том числе Mobileye, Movidius и Nervana Systems. Последняя, как рассчитывает Intel, поможет ей создать Nervana — «первый процессор для работы с нейронными сетями», однако пока что его разработка связана с решением множества проблем, которые даже приводили к ее приостановке.

Подобная медлительность не устраивает специалистов в области МО. «Нам нужны конкуренты для доминирующего поставщика, которым на данный момент является Nvidia. Это никак не связано с тем, что ее чипы плохи, вовсе нет, однако нам нужен другой набор аппаратного обеспечения, при помощи которого можно расширить спектр предположений, дополнив ими уже имеющиеся, с которыми так хорошо справляются сегодняшние графические процессоры», — заявил Лакен. По его словам, одно из ошибочных допущений Nvidia состоит в том, что обучение нейронной сети будет вестись на «четком» массиве, тогда как на самом деле нейронные сети будущего, вероятно, будут оперировать множеством сетевых графов.

Инженер-программист Google Клифф Янг, который участвовал в разработке чипа Tensor Processing Unit, считает, что мир вычислений стоит на пороге революции, но классические игроки не справляются с новыми задачами: «Intel и Nvidia всегда были хороши в создании высокопроизводительных систем, но мы переступили этот порог пять лет назад и пора двигаться дальше».

Становление стартапов

Рынок процессоров для обучения ИИ находится на стадии формирования, и помимо таких крупных игроков, как Google, которая не так давно выпустила третье поколение Tensor Processing Unit, на нем периодически появляются стартапы. О своих притязаниях на место серьезного игрока на этом рынке заявила и Microsoft. В ее арсенале имеется программируемый матричный процессор (FPGA) Project Brainwave, который клиенты могут арендовать через облачный сервис Azure. К концу этого года Amazon собирается выпустить собственный чип Inferentia. По некоторым данным, планы по выпуску ИИ-чипа есть и у Facebook.

«Google и Facebook определенно имеет смысл разработать собственные процессоры, потому что эти крупные компании выполняют большие объемы работ собственными движками», — сказал Лакен.

Среди стартапов на слуху британский Graphcore, Cornami, Effinix и Flex Logix, а Cerebras Systems, который ведет разработку в закрытом режиме. У многих из этих стартапов есть объединяющая нить — значительное увеличение площади компьютерной микросхемы, предназначенной для умножения матриц в единицах MAC, чтобы выжать наибольшую степень распараллеливания для каждого такта вычислений.

Graphcore оторвался от преследователей, став первым, кто фактически отгружает клиентам чип промышленного класса. Одна из его отличительных особенностей — это огромный объем памяти. Чип Colossus был назван в честь первого в мире цифрового компьютера и обладает внушительными размерами — площадь микросхемы составляет 806 кв. мм. Главный технолог Graphcore Саймон Ноулз гордится тем, что это «самый сложный процессорный чип, который когда-либо был спроектирован».

Colossus состоит из 1024 отдельных ядер, называемых «интеллектуальными процессорами», каждое из которых может вести матричные расчеты независимо; каждый IPU имеет собственную выделенную память — 256 Кб быстрой памяти типа SRAM. Общий объем памяти каждого IPU — 304 Мб. Это рекордный объем памяти, который когда-либо встраивался в чип. Пока что не ясно, как такой подход отразится на проектировании новых нейронных сетей. Не исключено, что увеличивающиеся объемы памяти в процессорах и, соответственно, повышение пропускной способности приведут к тому, что нейронные сети следующего поколения смогут повторно оперировать хранящимися в памяти значениями, что или ускорит их работу, или откроет новые способы применения сетей.

ПО — камень преткновения на пути МО

Создание специализированных чипов для задач ИИ — это лишь первый шаг для стартапов, поскольку далее им придется столкнуться с отсутствием проверенного временем ПО, созданного благодаря технологии программирования CUDA. Graphcore и другие стартапы считают, что ситуация непростая, но не критичная. Они утверждают, что такие среды программирования для МО, как TensorFlow и Pytorch, позволяют разработчикам фокусироваться на структуре ПО без привязки к аппаратной части чипа. Эти фреймворки поддерживают все поступающие на рынок чипы, что позволяет установить паритет с Nvidia, считают стартапы.

Помимо этого Graphcore и другие стартапы создают свои собственные технологии программирования. ПО Graphcore Poplar может не только преобразовывать фреймворки, но и указывать многочисленным MAC и векторным элементам на кристалле, какие задачи подлежат распараллеливанию. Poplar разбивает вычислительный граф нейронной сети на «кодлеты» и распределяет их по разным ядрам Colossus для оптимизации параллельной обработки.

За последние двадцать лет большие данные и быстрые параллельные вычисления стали нормой, что стимулировало рост МО и проектов в области ГО. Не за горами появление новой волны компьютерного оборудования и ПО, которое будет приспособлено для работы с огромными объемам памяти и динамическими нейронными сетями, способными использовать преимущества высокопараллельных архитектур.