Глубокое обучение уже сильно повлияло на рынок дата-центров. Ныне оно перемещается на периферию сетей, так как производители чипов дополняют мобильные процессоры нейронными движками. Однако Qualcomm, Intel и другие вендоры избирают очень разные подходы.
В ходе презентации iPhone X в середине сентября компания Apple уделила много времени новому нейронному движку процессора A11, на котором работает технология распознавания лица человека и ряд других функций. Неделей раньше, на выставке IFA в Берлине Huawei представила свой новейший флагманский процессор Kirin 970, оснащенный модулем Neural Processing Unit, который способен обрабатывать изображения в 20 раз быстрее, чем собственно CPU.
Внезапно возникший интерес к нейронным движкам стимулирован прогрессом в области глубокого обучения. Эти специализированные процессоры конкретно предназначены для выполнения вычислений по сложным алгоритмам, используемым в искусственных нейронных сетях, быстрее и эффективнее, чем процессоры общего назначения.
Этот тренд уже оказывает глубокое воздействие на дата-центры. Графические процессоры Nvidia для игр нашли вторую жизнь как ускорители для тренировки этих сложных моделей. Microsoft сегодня использует сотни тысяч FPGA (программируемых вентильных матриц) для приведения в действие многих своих сервисов, и скоро эти возможности смогут стать доступными для других пользователей через Azure. Google пошла еще дальше и создала свои собственные тензорные процессоры (Tensor Processing Unit), причем имеется множество стартапов, развивающих ту же идею.
А в настоящее время новые нейронные движки мигрируют на периферию. Большие вычислительные нагрузки сегодня, как правило, обрабатываются в облаке, но существует ряд приложений, которые требуют низких задержек. К наиболее очевидным примерам относятся встроенные приложения, управляющие автономными средствами передвижения или умными системами наблюдения, где необходимо принимать решения почти в реальном времени. Но со временем число приложений искусственного интеллекта (ИИ), для которых желательна локальная обработка информации, вроде Apple Face ID, вероятно будет расти.
Это является особой задачей для мобильных устройств из-за ограничений по энергопитанию. Для решения этой задачи производители чипов выбирают разные стратегии.
Стратегия Qualcomm — по крайней мере, в краткосрочном плане — рассчитана на полное использование всех ресурсов, уже встроенных в ее мобильные SoC (системы на кристалле) Snapdragon. С новыми аппаратурными решениями компания экспериментирует уже с десяток лет, но, по словам Гари Бротмана, директора Qualcomm Technologies по управлению продуктами и главы подразделения ИИ и машинного обучения, она убедилась, что быстрый прогресс в разработке центральных процессоров, графических процессоров (GPU) и цифровых сигнальных процессоров Hexagon DSP во многом снял краткосрочные потребности в специальной аппаратуре для таких задач, как компьютерное зрение и обработка естественного языка.
Qualcomm Snapdragon Neural Processing Engine (NPE) представляет собой комплект программных инструментов, использующий модели, которые прошли машинное обучение в системах Caffe, Caffe2 или TensorFlow (32 разряда, плавающая запятая), и конвертирующий их в формат Qualcomm для работы на центральных процессорах Kryo (32 разряда, плавающая запятая), графических процессорах Adreno (16 разрядов) или DSP-процессорах Hexagon (8 разрядов, целые числа), являющихся компонентами однокристальных платформ Snapdragon 800 и 600. У компании также имеются математические библиотеки для нейронных сетей, в том числе QSML (Qualcomm Snapdragon Math Library) и nnlib для разработчиков Hexagon DSP.
Нынешней разработкой Qualcomm, которая наиболее близка по характеру к специализированной аппаратуре, являются модули HvX, добавленные к Hexagon DSP, чтобы ускорить
Конкуренты Qualcomm уже выделяют часть кристалла под нейронную обработку. Наиболее яркими последними примерами являются продукты Apple и Huawei, однако сюда относится и процессор Samsung Exynos 8895 (с ним во многих странах мира поставляются Galaxy S8 и Note 8), который имеет модуль Vision Processing Unit, ускоряющий обнаружение движения и распознавание объектов. Ceva, Cadence Tensilica, Synopsys и другие фирмы предлагают процессорные IP-блоки (ядра или модули, лицензируемые как интеллектуальная собственность), предназначенные для ускорения работы свёрточных нейронных сетей при периферийном распознавании образов.
Стратегия Intel заключается в том, чтобы поставлять полную экосистему ИИ, простирающуюся от дата-центра к периферии. Компания справедливо отмечает, что серверы на базе Xeon применяются почти для всех рабочих нагрузок машинного обучения и логического вывода (хотя Nvidia Tesla GPU обеспечивают основные вычислительные затраты при тренировке крупных моделей). В конце этого года компания выпустит Knights Mill, дериватив ныне существующего процессора Knights Landing, который, по официальной информации, четырехкратно превысит производительность Xeon Phi 7290 благодаря двум новым функциям, поддержке инструкций FMA4 (fused-multiply add — умножение-сложение с однократным округлением) и переменной точности.
Вскоре за этим у Intel появится Lake Crest, сопроцессор на основе совершенно иной архитектуры, связанной с прошлогодней покупкой компании Nervana. Амир Хорошвахи, директор по технологии Intel AI Products Group (ранее сооснователь и директор по технологии Nervana Systems), описывает Crest как «процессор для распределенных вычислений линейной алгебры с плотными матрицами», специально предназначенный для работы с графами потоков данных. Хотя Intel пока еще не раскрыла многие детали, известно, что он состоит из мозаики маленьких тензорных ядер с большим количеством SRAM-памяти на кристалле в мультичиповой MCP-упаковке с четырьмя
Купив за 6,7 млрд. долл. компанию Altera, Intel теперь занимает лидирующую позицию в применении FPGA для формирования логических умозаключений. Пионером в этой области является Microsoft, которая на августовской конференции Hot Chips рассказывала о том, как ее «soft DPU» (программно-определяемое устройство обработки данных) платформы Project Brainwave (иными словами, блок обработки данных DNN, глубокой нейронной сети) с
Все эти разные подходы имеют одну очевидную проблему — отсутствие стандарта. Имеется много фреймворков глубокого обучения (Caffe, TensorFlow, Torch и PyTorch, Microsoft Cognitive Toolkit) для тренировки и эксплуатации моделей, и они быстро эволюционируют. Но нижележащая аппаратура разнородна и становится все более специализированной.
Для Google или Microsoft это не проблема — они могут конструировать свою собственную аппаратуру и ПО для работы конкретных сервисов. Но это трудный вызов для разработчиков, желающих создавать более быстрые приложения, чтобы использовать нейронные сети на всевозможных мобильных устройствах. Этой проблемой, похоже, особенно озабочена Facebook. Ранее эта компания раскрыла исходный код фреймворка Caffe2Go для мобильных устройств, а на своей последней конференции @Scale продемонстрировала, как можно использовать OpenGL для ускорения распознавания изображений и спецэффектов в телефоне, но, как отмечает EE Times, этот API стар и труден для программирования.
Существует очевидная потребность в определенных мобильных стандартах формирования умозаключений, и ARM сделала ряд шагов в этом направлении со своей Compute Library, поддерживающей OpenCL и Neon. Однако в ближней перспективе вероятно продолжится «земельная лихорадка», так как производители чипов конкурируют за лучшие решения для глубокого обучения. «Пока слишком рано прогнозировать, когда все сбалансируется для появления стандартов, — констатирует Бротман. — Понадобится время, чтобы все утряслось к стабильному состоянию».