Project Trillium

Продукт
Разработчики: 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 назван по имени семейства цветов с тремя лепестками 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 года.



СМ. ТАКЖЕ (1)


Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров

За всю историю
2015 год
2016 год
2017 год
Текущий год

  Oracle (3, 2)
  Hyperledger (Open Ledger Project) (7, 2)
  NetCracker Technology (1, 2)
  Microsoft (17, 1)
  Spirit DSP (Спирит Корп) (1, 1)
  Другие (17, 3)

Данные не найдены

  Spirit DSP (Спирит Корп) (1, 1)
  Другие (0, 0)

  Hyperledger (Open Ledger Project) (1, 1)
  Другие (0, 0)

  Hyperledger (Open Ledger Project) (1, 1)
  Другие (0, 0)

Распределение базовых систем по количеству проектов, включая партнерские решения

За всю историю
2015 год
2016 год
2017 год
Текущий год

  Hyperledger Fabric - 2 (2, 0)
  NetCracker - 2 (2, 0)
  HPE Application Lifecycle Management (ALM) - 1 (1, 0)
  Windows Azure - 1 (1, 0)
  Oracle Commerce Cloud - 1 (1, 0)
  Другие 4
Данные не найдены

  TeamSpirit Mobile Video Call SDK - 1 (1, 0)
  Другие 0

  Hyperledger Fabric - 1 (1, 0)
  Другие 0

  Hyperledger Fabric - 1 (1, 0)
  Другие 0

Подрядчики-лидеры по количеству проектов

За всю историю
2015 год
2016 год
2017 год
Текущий год

Данные не найдены

Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров

За всю историю
2015 год
2016 год
2017 год
Текущий год

  Oracle (8, 6)
  МЦСТ (11, 5)
  ИНЭУМ им. И.С. Брука (1, 3)
  Nvidia (Нвидиа) (11, 2)
  AMD (6, 2)
  Другие (100, 4)

Данные не найдены

  ИНЭУМ им. И.С. Брука (1, 2)
  Другие (0, 0)

  Байкал Электроникс (Baikal Electronics) (1, 1)
  Intel (1, 1)
  Другие (0, 0)

  Nvidia (Нвидиа) (2, 2)
  AMD (1, 2)
  МЦСТ (1, 1)
  Байкал Электроникс (Baikal Electronics) (1, 1)
  Oracle (1, 1)
  Другие (0, 0)

Распределение базовых систем по количеству проектов, включая партнерские решения

За всю историю
2015 год
2016 год
2017 год
Текущий год

  Oracle SPARC - 6 (6, 0)
  Эльбрус - 4 (1, 3)
  AMD EPYC (ранее Opteron) - 2 (2, 0)
  Baikal-Т1 - 2 (2, 0)
  Intel Xeon Scalable - 1 (1, 0)
  Другие 1
Данные не найдены

  Эльбрус 4.4 - 2 (2, 0)
  Другие 0

  Intel Xeon Scalable - 1 (1, 0)
  Baikal-Т1 - 1 (1, 0)
  Другие 0

  AMD EPYC (ранее Opteron) - 2 (2, 0)
  Nvidia Jetson - 1 (1, 0)
  Nvidia Quadro - 1 (1, 0)
  Oracle SPARC - 1 (1, 0)
  Baikal-Т1 - 1 (1, 0)
  Другие 1