Разработчики: | ARM |
Дата премьеры системы: | 2018/02 |
Отрасли: | Информационные технологии, Электротехника и микроэлектроника |
Технологии: | Процессоры, Средства разработки приложений, Центры обработки данных - технологии для ЦОД |
Содержание |
В сообщении, сделанном компанией ARM 13 февраля 2018 года говорится, что анонсируемый проект Project Trillium открывает новую эру в области технологий вывода (inference), являющихся второй составной частью машинного обучения (machine learning, ML). Напомним, что первая – собственно обучение нейронных сетей.
Новизна заключается в размещении процедур вывода не на мощных серверах, расположенных где-то в ЦОДах, а на конечных устройствах (Edge Machine Learning), на обычных гаджетах. В итоге Project Trillium позволит создавать самые разнообразные умные устройства – автомобили, мобильные гаджеты и т.д, создавать качественно новые подходы к IoT и многое другое, что можно назвать умными предметами (smart objects). Без каких-либо преувеличений можно сказать, что Project Trillium не уступает по своей значимости таким новациям как смартфон и виртуальная реальность. Это так, потому что как говорил один из персонажей "Вина из одуванчиков" Рэя Брэдбери: «Ясно как апельсин».
Для того, чтобы убедиться в радикальности новинки достаточно сравнить программирование как средство управление компьютером, к которому мы все давно привыкли, с ML. И то, и другое есть ни что иное, как способ передачи компьютеру сведений о том, что ему нужно делать. При программировании, что собственно говоря следует из названия этого метода, задается абсолютно вся последовательность действий, от первой команды до последней. Достаточность программирования сохранялась более шестидесяти лет компьютерной истории, но рано или поздно, по мере столкновения компьютеров с внешним миром оказывается сложным или вообще невозможным предусмотреть всю вариативность внешнего мира, и вот тогда обнаруживается предел для программного управления компьютером и на помощь приходят подходы, которые называют искусственным интеллектом или ИИ. Точнее стоило бы говорить о computational intelligence, то есть о разумных компьютерах, но ИИ уже закрепилось в массовом сознании.
Для получения практических результатов ИИ нужно пройти четыре этапа:
- Создать необученную нейронную сеть, математическую модель машинного примитивного мозга.
- Используя, например, фреймворки глубинного обучения и огромные массивы данных натренировать ее на определенные типы действия (фильтрация изображений, работа с естественными языками и прочее).
- Отделить натренированную нейронную сеть и перенести ее в компьютер, где эта сеть будет работать, выдавая полезную информацию.
- На конечном устройстве осуществлять требуемые выводы.
Мы видим, что все просто – разработка программы замещается обучением сети, а в исполнительный компьютер загружается не программа, а натренированная сеть. По своей логике этот процесс напоминает разработку ПО для встроенных систем, где сначала на мощном универсальном компьютере с использованием кросс-системы разрабатывается ПО для маломощного контролера, а потом готовая программа загружается в него.
В связке «обучение-выводы» предъявляются совершенно разные требования к тем системам, где происходит обучение нейронных сетей, и к конечным системам, где натренированные сети могут работать. До сих пор основное внимание уделялась первой части, поскольку реальная возможность для тренировки сетей открылась с появлением GPU. Мир не стоит на месте, создаются различные альтернативные варианты, на этом фоне специализированные процессорные технологии для реализации выводов на конечных устройствах оставались вне поля зрения. Эту, как не сложно догадаться гигантскую по своим объемам нишу, заполняет Project Trillium. ARM - крупная фаблесс компания, она предлагает своим партнерам Project Trillium в форме интеллектуальной собственности (intelltctual property, IP). Таких партнеров много, они обладают огромным промышленным потенциалом, поэтому есть надежда на появление практических результатов Project Trillium в скором времени и в самых разнообразных видах.
Проект не случайно назван по имени семейства цветов с тремя лепестками, он состоит из трех взаимосвязанных компонентов – двух процессоров ARM ML и ARM OD и инструментального набора ARM NN SDK. Эта троица в сочетании с традиционными процессорами ARM (Cortex, Neon, DynamIQ), GPU ARM Mali, а также FPGA и DSP образует платформу, на которой могут работать нейронные сети, созданные с помощью фреймворков TensorFlow, Caffe, Caffe2, Mxnet, AndroidNNAPI и других.
Скорость выполнения зависит от того, на каких процессорах работает нейронная сеть. Она ниже, если процессор универсальный, повыше, если процессор графический, и максимальна на специальном процессоре ML в сочетании с OD.
Процессор ARM Machine Learning
Процессор ARM ML спроектирован с нуля исключительно для ускорения этапа выполнения ML. Этот специализированный (скорее всего не фон-неймановский) процессор состоит из двух частей: одна служит для выполнения фиксированного набора стандартных сверточных операций, а вторая программируемая поддерживает остальные операции (non-convolution layer) в том числе те, которые могут потребоваться в процессе эксплуатации, что обеспечивает защиту от будущих изменений (futureproofing). Наличие локальной памяти позволяет ускорить работу. Производительность ARM ML составляет 4,6 TOPs (10 в 12 степени операций в секунду), в пересчете на ватты 3 TOPs/ватт. Контролер поддерживает взаимодействие с наиболее популярными фреймворками.
Процессор OD (Object Detection)
Процессор ARM Object Detection является узкоспециализированным и служит исключительно для выделения тех или иных объектов. Его работа поддерживается заранее подготовленным набором метаданных Используя эти данные можно выделять объекты по отдельным фрагментам, например человека по руке или по голове, а автомобиль по колесу или фаре.
Neural Network SDK
ARM разработала инструментальный набор (SDK), который позволяет эффективно транслировать обученные нейронные сети, созданные с использованием библиотек-фрейворков TensorFlow, Caffe (1 и 2), MXNet, и может быть интегрирован с Android NNAPI. По состоянию на февраль 2018 года, NN SDK поддерживает Cortex A и M, а также Mali GPU. Процессор ML получит поддержку позднее в этом году. Neural Network SDK распространяется свободно по лицензии MIT (MIT License). Есть руководство CMSIS-NN: Efficient Neural Network Kernels for Arm Cortex-M CPUs[1].
Партнеры-производители получат проектную документацию на процессор ARM ML в середине 2018 года, обычно на наладку производства и выпуск первых продуктов уходит около 9-ти месяцев. Следовательно, первые умные гаджеты можно ожидать к весне 2019 года.
Подрядчики-лидеры по количеству проектов
Крок (48)
Softline (Софтлайн) (38)
Инфосистемы Джет (33)
Stack Group (Стек Групп, Стек Телеком) (21)
Т1 Интеграция (ранее Техносерв) (19)
Другие (911)
Крикунов и Партнеры Бизнес Системы (КПБС, KPBS, Krikunov & Partners Business Systems) (8)
Commvault (5)
Тегрус (Tegrus) ранее - Merlion Projects (3)
Lenovo Россия (3)
Nutanix (бизнес в России) (3)
Другие (53)
Stack Group (Стек Групп, Стек Телеком) (5)
GreenMDC (Грин ЭмДиСи) (3)
Крок Облачные сервисы (3)
Softline (Софтлайн) (2)
Селектел (Selectel) (2)
Другие (26)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
VMware (23, 86)
Cisco Systems (35, 44)
Крок (2, 38)
Крок Облачные сервисы (1, 37)
Dell EMC (35, 28)
Другие (662, 540)
Nutanix (1, 9)
Lenovo (3, 8)
Lenovo Data Center Group (3, 8)
Commvault (2, 5)
Softline (Софтлайн) (2, 2)
Другие (28, 29)
Stack Group (Стек Групп, Стек Телеком) (1, 5)
Equinix (1, 5)
GreenMDC (Грин ЭмДиСи) (1, 3)
Крок (1, 3)
Крок Облачные сервисы (1, 3)
Другие (11, 12)
Крок Облачные сервисы (1, 3)
Крок (1, 3)
Next Generation Networks (NGN) (1, 2)
Dell EMC (1, 1)
GreenMDC (Грин ЭмДиСи) (1, 1)
Другие (9, 9)
RuBackup (Рубэкап) (1, 2)
GreenMDC (Грин ЭмДиСи) (1, 2)
Equinix (1, 1)
Облакотека (Виртуальные инфраструктуры) (1, 1)
Селектел (Selectel) (1, 1)
Другие (4, 4)
Распределение систем по количеству проектов, не включая партнерские решения
VMware vSphere - 77
Крок: Виртуальный дата-центр (IaaS) - 37
M1Cloud (виртуальный ЦОД) - 22
Oracle Exadata Database Machine - 21
Cisco UCS Unified Computing System (Cisco UCCX) - 18
Другие 457
Nutanix HCI - 9
Lenovo ThinkSystem - 6
Commvault Complete Data Protection - 4
Dell EMC PowerEdge - 2
Huawei OptiXtrans DC-серия - 1
Другие 26
M1Cloud (виртуальный ЦОД) - 5
GreenMDC Модульный ЦОД - 3
Крок: Виртуальный дата-центр (IaaS) - 3
Selectel Выделенные серверы - 2
RSC Cooling Система жидкостного охлаждения - 1
Другие 8
Подрядчики-лидеры по количеству проектов
Солар (ранее Ростелеком-Солар) (46)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (15)
Форсайт (11)
Axiom JDK (БеллСофт) ранее Bellsoft (10)
Бипиум (Bpium) (10)
Другие (389)
Солар (ранее Ростелеком-Солар) (8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (4)
Консом групп, Konsom Group (КонсОМ СКС) (2)
ЛАНИТ - Би Пи Эм (Lanit BPM) (2)
IFellow (АйФэлл) (2)
Другие (30)
Солар (ранее Ростелеком-Солар) (10)
Форсайт (3)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (3)
Cloud.ru (Облачные технологии) ранее SberCloud (2)
КРИТ (KRIT) (2)
Другие (13)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Солар (ранее Ростелеком-Солар) (2, 48)
Microsoft (41, 47)
Oracle (49, 26)
Hyperledger (Open Ledger Project) (1, 23)
IBM (33, 18)
Другие (595, 304)
Солар (ранее Ростелеком-Солар) (1, 8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (1, 4)
Microsoft (4, 3)
Oracle (2, 3)
SAP SE (2, 2)
Другие (16, 19)
Солар (ранее Ростелеком-Солар) (1, 11)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (1, 3)
Форсайт (1, 3)
Cloud.ru (Облачные технологии) ранее SberCloud (1, 2)
Сбербанк (1, 2)
Другие (9, 9)
Солар (ранее Ростелеком-Солар) (1, 6)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 6)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 4)
Мобильные ТелеСистемы (МТС) (1, 4)
РЖД-Технологии (1, 3)
Другие (14, 24)
Мобильные ТелеСистемы (МТС) (2, 3)
Солар (ранее Ростелеком-Солар) (1, 3)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 3)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 2)
Сбербанк (1, 1)
Другие (12, 12)
Распределение систем по количеству проектов, не включая партнерские решения
Solar appScreener (ранее Solar inCode) - 48
Hyperledger Fabric - 23
Windows Azure - 20
FIS Platform - 15
Форсайт. Мобильная платформа (ранее HyperHive) - 12
Другие 324
Solar appScreener (ранее Solar inCode) - 8
FIS Platform - 4
Турбо X - 2
Siemens Xcelerator - 2
Java - 2
Другие 22
Solar appScreener (ранее Solar inCode) - 11
Форсайт. Мобильная платформа (ранее HyperHive) - 3
BSS Digital2Go - 3
Cloud ML Space - 2
Axiom JDK (ранее Liberica JDK до 2022) - 1
Другие 8