Россия может включиться в нейропроцессорную гонку
Александр Черников, заместитель начальника отделения разработки СБИС научно-технического центра «Модуль»
IT-отрасль взбудоражила новая золотая лихорадка: крупные компании и стартапы наперегонки разрабатывают акселераторы для работы искусственного интеллекта. Самый быстрый рост и прорывной потенциал демонстрируют сегодня в полупроводниковой индустрии решения, которые обеспечивают работу искусственного интеллекта, приложений для глубокого обучения и анализа больших данных. Мировой рынок нейропроцессоров оценивается в $200 млрд, а венчурные инвестиции в дизайн умных чипов в 2018 году составили $1,5 млрд, что в два раза превышает показатели позапрошлого года, по данным аналитиков CB Insights. The New York Times отмечает, что над созданием эталонного нейропроцессора сегодня работают как минимум 45 стартапов. Рынок увидел новую, незанятую нишу, и у России есть все шансы встроиться в гонку. Но за хайпом вокруг нейрочипов стоят вполне прозаичные технические реалии.
Главная тенденция в микроэлектронных решениях сегодня — энергоэффективность. Встроенные приложения должны как можно дольше использовать автономный ресурс батарейки, для серверных решений энергетическая эффективность тоже остается одним из ключевых факторов. Разработчики либо закладывают переход на новые технологические нормы, которые подразумевают меньшую утечку энергии, либо выстраивают новые архитектурные решения, которые более эффективно решают поставленные задачи. Еще один путь — оптимизация самих алгоритмов, уменьшающих количество вычислений для одной и той же задачи.
Другая тенденция — время от концепта и разработки микросхемы до вывода конечного, полностью готового продукта на рынок нужно сократить максимально. Разумеется, продукт поставляется с уже рабочим программным обеспечением, на которое пользователи легко ставят уже свои решения.
Таким образом, цель — в кратчайшие сроки подготовить рабочий программно-аппаратный комплекс и регулярно выпускать новинки на рынок. Именно так действует один из мировых лидеров, компания Nvidia. Их графические процессоры занимают 70% мирового рынка. Текущий успех Nvidia уже не связан напрямую с объективным техническим превосходством: последние 15 лет компания планомерно выстраивала экосистему, основанную на собственной инфраструктуре и удобных для пользователя средствах разработки. Курсы в вузах, обучающие материалы, активная просветительская работа — так, постепенно, на базе своего языка программирования CUDA Nvidia сформировала сообщество людей, принявших инструментальные средства, парадигму разработки компании. Адепты уже не хотят переучиваться и смотреть в сторону альтернативных решений: всегда удобнее использовать то, что твердо освоено. Nvidia также создала собственный программный пакет обучения и портирования нейросетей на свое «железо». Интеграция программных и аппаратных решений и оказывается сильнейшим конкурентным преимуществом: недаром внутри компании даже команды по разработке софта и «железа» примерно одинаковы по численности.
Но Nvidia ведет себя как явный монополист: не предлагает решений для компаний, которые диверсифицируют рынок разработки, не продают ключевые IP-блоки.
Почему микроэлектронная отрасль уперлась в необходимость разработки специализированных нейрочипов? Существует определенный круг задач — будь то распознавание и классификация образов, семантический разбор языков и т. д.,— которые неэффективно решаются современными процессорами. Традиционные центральные процессоры тратят на машинное обучение и обработку нейросетевых задач слишком много времени и энергии. Это объясняется особенностями их архитектуры, разработанной под иные цели. Центральный процессор поддерживает функционирование операционной системы и должен работать с широким классом алгоритмов.
Сфера применения нейронных сетей расширяется буквально с каждым днем: биометрика, диалоговые системы, компьютерное зрение, распознавание лиц и медицинских изображений, текстовый анализ, робототехника, беспилотный транспорт, создание контента (изображения, музыка, тексты) — это лишь небольшая часть отраслей, привлекающих сегодня внимание разработчиков и бизнеса. Микроэлектронных приборов, которые используются для задач такого уровня, критически много. Оправданным и выгодным становится проектирование микросхем со специализированными архитектурами исключительно для нейросетевых задач.
Можно выделить два основных подхода к построению систем нейросетевой обработки данных.
Первый — это попытка реализовать алгоритмы нейронных сетей на процессорах с возможностью параллельной обработки данных, таких как GPU (графических) и DSP (обработки сигналов). Они демонстрируют хорошие результаты при решении матричных и векторных задач по сравнению с универсальными процессорами. Для этих чипов уже наработан большой пакет программного обеспечения, который позволяет легко портировать алгоритмы. Но энергоэффективность подобных решений оставляет желать лучшего.
Ключевое понятие для второго подхода — это тензорные ядра, если пользоваться терминологией Nvidia и Google. Ключевая часть любого ядра — арифметический узел. Под тензорным ядром понимается арифметический узел, способный выполнять операции перемножения матриц за один такт. Процессоры такого типа имеют высочайшую пиковую производительность: большая часть их кристалла отведена под арифметические действия, они содержат очень много вычислительных ресурсов при крайне небольшой внутренней памяти. Однако узкая специализация резко сокращает возможности конфигурироваться под более общие задачи.
Второй вариант позволяет либо сделать ставку на пиковую производительность и серьезно потерять в гибкости, либо сохранить больше пространства для универсальности, но мириться с сокращением производительности.
Здесь и находится главная дилемма современного дизайна нейропроцессоров: найти баланс между универсальностью, то есть гибкостью и возможностями перепрограммирования, и эффективностью и низким энергопотреблением при решении реальных задач. Маркетинговые стратегии IT-гигантов строятся на громких цифрах пиковой производительности, однако корректнее исходить из показателей эффективности при решении нейросетевых задач: сколько обработанных кадров в секунду приходится на ватт и т. д.
Лидеры движутся в одной логике, идет борьба за создание все более энергоэффективного и производительного процессора в составе сложных автоматизированных систем, где нейронные сети проявляют себя особенно выигрышно.
В России только два разработчика сегодня могут предъявить полностью автономные и самостоятельные нейропроцессорные архитектуры: линейка NeuroMatrix, которую компания НТЦ «Модуль» развивает с начала девяностых годов, и новый чип NCore, разработанный МФТИ по заказу Фонда перспективных исследований. Под брендом NeuroMatrix уже выпущена серия серверных чипов четвертого поколения, на очереди процессор пятого; NCorе сейчас проходит апробацию. Все больше игроков громко заявляют о намерении спроектировать высокопроизводительный нейрочип. В конечном счете будущее разработок упирается в ресурсы — финансовые и инженерные. В ближайшие годы мы станем свидетелями информационных и маркетинговых боев за звание эталонного «умного» процессора. Российские технологии пока отстают от флагманских зарубежных чипов, однако потенциально вполне конкурентны, если не останавливаться на достигнутом и продолжать разработки. Курс на импортозамещение нейропоцессоры выдерживают образцово, перспективы выйти за пределы отечественного рынка тоже есть: многие компании ищут недорогие, эффективные решения для узких нейросетевых задач, и здесь российские чипы имеют неплохой потенциал.