Huawei Ascend - единая платформа для ИИ и ML

Область искусственного интеллекта сегодня выглядит настолько перспективной, что каждый крупный производитель чипов уже выпустил свои решения, ну или сделает это в ближайшее время. Реальных же игроков на рынке ИИ, на чьих решениях можно построить инфраструктуру, всего-то ничего: Nvidia с платформой CUDA, её вечный конкурент AMD, и… собственно Huawei. Нет, конечно ещё можно говорить об Google TPU, но в свободной продаже его нет.

Как правило, на предприятии внедрение искусственного интеллекта проходит две стадии. Первая - это процесс машинного обучения, при котором процессоры (GPU, TPU) обрабатывают огромные объёмы данных, формируя при этом какую-то модель. Как правило, для машинного обучения разработчики используют облачные услуги, или оборудование, установленное в ЦОДе компании, потому что если у вас искусственный интеллект ассоциируется с серверами, набитыми под завязку видеокартами, то вы думаете именно о процессе машинного обучения.

Вторая стадия - это применение обученной модели в конкретном устройстве, например в камере наблюдения или на сервере, обрабатывающем данные с фермы датчиков. Для этих целей нужен процессор с другой архитектурой, чем для машинного обучения, с более низким энергопотреблением и стоимостью, потому что именно на данном этапе ИИ идёт в массы.

Оборудование предоставлено компанией ELKO (https://www.elko.ru/):


ELKO Group – международный дистрибьютор ИТ-продукции и бытовой техники. Российское представительство ELKO Group ведет деятельность с 1995 года. Штаб-квартира представительства находится в Москве, региональные офисы в Санкт-Петербурге и Красноярске, логистические центры в Москве и Санкт- Петербурге. Интересы группы в России представляют компании ELKO Russia (ИТ-продукция) и Торговый Дом «Абсолют» (бытовая техника). Свыше 500 сотрудников представительства обеспечивают работу более чем с 10 000 клиентами и партнерами компании.

Конечно, возникает вопрос совместимости: будет ли одна программная модель, рассчитанная на GPU, учитывать все оптимизации процессора, на котором она в дальнейшем сможет работать? Будете ли вы динамически дообучать её новыми данными, и придётся ли при этом каждый раз конвертировать её между фреймворками, в которых ведётся разработка? В общем, пока эта индустрия ещё бурлит, и каждый вносит что-то своё, лучше перестраховаться.

Почему Huawei?

Во-первых, Huawei - это единственная компания, у которой есть монобрендовые решения во всём цикле применения ИИ: от систем для машинного обучения до периферийных серверов и конечных устройств, таких как камеры наблюдения. Сверху до низу у тебя - единый поставщик, единая аппаратная архитектура и единый программный фреймворк.

Во-вторых, Huawei - это всегда диверсификация американских IT-технологий, что критически важно для государственных компаний. Китай не вводит санкции, не имеет привычку запрещать и ограничивать или влазить в другие технологии.

В-третьих, традиционно Huawei стоит дешевле чем аналогичные решения от американских брендов (HP, Nvidia, Cisco, Dell), причём как правило, на ощутимые 30% и выше.

В-четвёртых, Huawei уже давно находится в авангарде технологий, и их платформа Ascend 910 для систем искусственного интеллекта способна потягаться с теми, кто на рынке ИИ уже более 10 лет. Давайте рассмотрим семейство процессоров Ascend 910.

Huawei Ascend 910

Конечно, с фантазией у китайских товарищей совсем беда: под именем Ascend выпускаются и смартфоны, и процессоры для смартфонов и чипы для искусственного интеллекта, причём вся линейка: от мала до велико. Нас, естественно, нас интересует сам Ascend 910 - «то, чего боится Nvidia».

Во-первых, Ascend 910 - это «чиплет», который на одной упаковке использует и вычислительные ядра и самую быструю память HBM2 Aquabolt от Samsung. Это очень важный шаг, потому что пропускная способность шины памяти - ключевой фактор в производительности систем машинного обучения. В чипе Ascend 910 она составляет 1.2 Тбайт/с. Вычислительные кристаллы содержат блоки для матричного умножения и ARM ядра, а так же блоки FP16 и INT8 для ускорения вычислений, не требующих высокой точности.


Ascend 310

Ascend 910

Кодовое название

Ascend Mini

Ascend Max

Архитектура

DaVinci

DaVinci

FP16

8 TeraFLOPS

256 TeraFLOPS

INT8

16 TeraOPS

512 TeraOPS

Число каналов видео для декодирования H.264/H.265 1080p, 30FPS

16

128

Энергопотребление, Вт

8

350

Техпроцесс, нм

12

7

Вычислительная способность Ascend 910 составляет 256 TFLOPS FP16 и 512 TOPS INT8, чего достаточно для декодирования 128 потоков Full HD видео. Поскольку чиплетная структура процессора позволяет варьировать его мощность и производительность уже на этапе производства процессора, для менее ресурсоёмких задач можно использовать ту же архитектуру в более экономичной упаковке - Ascende 310.

Например, если Ascend 910 предполагается использовать для машинного обучения, то для вывода ИИ - процессор Ascend 310 с мощностью всего 8 Вт и производительностью 16 TOPS@ INT8 и 8 TOPS @ FP16.

Поскольку ИИ-системы могут масштабироваться горизонтально, для построения ИИ-инфраструктуры у Huawei есть как «кирпичики», так и крупные блоки серии Atlas.

Семейство Huawei Atlas 800

Для крупномасштабных внедрений Huawei предлагает серверы Atlas 800 для установки в ЦОД компании. Обратите внимание: решение для машинного обучения поставляется исключительно в виде готового сервера Atlas 800 (Model 9000)использующего Нейроускорители Huawei Ascend 910 или уже высокопроизводительный кластер Atlas 900.

Huawei Atlas

Высокое энергопотребление Ascend 910, составляющее 310 Вт, ограничивает сферу применения этих процессоров - только в виде FPGA плат типа «меззонин», на которые устанавливаются массивные радиаторы. В виде плат расширения процессоры Ascend 910 пока что недоступны, так что в обычный сервер или в рабочую станцию их не установишь. Серверы для машинного обучения Huawei Atlas 800 Model 9000 конфигурируются при заказе и вмещают в себя 8 процессоров Ascend 910 в корпусе выстотой 4U. В качестве платформы используются 4 процессора Huawei Kunpeng 920 с архитектурой ARM64 (подробно рассмотренные в нашем обзоре).

Сервер Atlas 800 Model 9000 имеет производительность 2 PFLOPS FP16, 8 интерфейсов 100-гигабитной сети, он может выпускаться с воздушным или жидкостным охлаждением, а эффективность составляет 2 PFLOPS/5.5 КВт. Эту модель предполагается использовать в средах HPC для построения моделей ИИ в средах геологоразведки, нефтедобычи, здравоохранения и «умного города».

Huawei Atlas 800 Model 3000

Опять же упрекну наших китайских товарищей в отсутствии элементарной фантазии, потому что два совершенно других сервера для иных нужд они назвали… Huawei Atlas 800 Model 3000 и 3010. Эти два сервера предназначены для следующей фазы использования ИИ - расчётов существующих моделей в сферах анализа видеонаблюдения, распознавания текста, а так же в системах «умный город». Физически эти машины представляют собой 2-процессорные серверы высотой 2U в которые устанавливаются платы расширения Atlas 300 выполняющие ИИ-расчеты.

Huawei Atlas 800 Model 3010 построена на базе двух процессоров Xeon Scalable, и поддерживает до 7 плат Atlas 300, а модель 3000 - уже на базе двух Kunpeng 920, и общее число устанавливаемых ИИ-плат здесь уже хоть на одну, но больше - 8. Ещё один аргумент в пользу ARM64 архитектуры от Huawei. При целочисленных операциях INT8, производительность Atlas 800 составляет 512 TOPS и 448 TOPS, что позволяет анализировать 512 и 448 HD-потоков для Model 3000 и Model 3010 соответственно.

Huawei Atlas 500 Model 3000 - это вообще нечто уникальное для современного мира искусственного интеллекта - периферийный ИИ-сервер. Устройство, созданное для установки на конечном объекте, будь то магазин, буровая установка или цех предприятия, - оно имеет безвентиляторную конструкцию с пассивным охлаждением. При этом, сервер имеет потрясающий температурный диапазон работы: от -40 до +70 градусов Цельсия, то есть никаких специальных отапливаемых шкафов для его установки не требуется.

Huawei Atlas 500

Основное предназначение Huawei Atlas 500 - анализ потоков с камер видеонаблюдения. Сервер работает на процессоре Ascend 310, позволяющем одновременно декодировать 16 потоков видео в разрешении 1080p @ 30 FPS.

Как и полагается Edge-серверу, здесь есть высокоскоростной Wi-Fi и LTE для Upstream-потоков и два гигабитных RJ45 для Downstream подключений к сети видеонаблюдения. То есть, вы можете устанавливать Huawei Atlas 500 на полностью автономных объектах и подключать напрямую к громкоговорителю и микрофону, например чтобы воспроизводить предупреждения или обеспечивать общение персонала с виртуальным оператором.

Сервер имеет встроенный жёсткий диск объёмом 5 Тб для хранения каких-то фрагментов цифровых видеоархивов. Типичное энергопотребление Huawei Atlas 500 составляет от 25 до 40 Вт, в зависимости от наличия жёсткого диска.

По умолчанию, Huawei Atlas 500 имеет питание от постоянного тока напряжением 24В, и даже блок питания в комплекте не поставляется. Сервер как будто специально создавали для установки в шкафы на телекоммуникационных мачтах и опорах, которые сегодня используются для размещения ретрансляторов сотовой связи и компонентов «умного города».

Но если инфраструктура вашего предприятия уже создана на базе решений другого поставщика, но в качестве AI-платформы вам нужны возможности Huawei, выбирайте карту Atlas 300. Каждая такая плата имеет 4 процессора Ascend 310 с суммарной производительностью 64 TOPS INT8, что позволяет декодировать одновременно 64 потока. Да, вы не ошиблись, именно такие PCIe платы устанавливаются в серверах Atlas 800 (Model 3000), о которых мы говорили выше, и что интересно - это 1-слотовые адаптеры с пассивным охлаждением и без дополнительного питания. Что это значит на практике?

А то что Huawei Atlas 300 можно устанавливать почти в любой корпус любого компьютера, даже в NAS (если нужно) или 1U сервер: вам нужен только порт PCI Express 3.0 16x. Опять же, чип Ascend 310 - очень нетребовательный к охлаждению, и плата Atlas 300 может работать при температурах окружающего воздуха до 55 градусов Цельсия.

Суммарно на плате Atlas 300 установлено 32 Гб ОЗУ, но память распределена по четырём процессорам, так что на одну задачу можно выделить не более 8 Гб. Но в системе контроллер определяется как 4 AI-ускорителя, а значит на каждой карте можно запускать 4 независимых задачи.

Интересно, что не только существующий сервер, но и любое другое «умное» устройство можно сделать ещё умней за счёт установки модуля Atlas 200 с процессором Ascend 310. Эта небольшая коробочка может устанавливаться на камеры наблюдения для распознавания лица, на роботов или дронов. Она имеет последовательный интерфейс на выходе для подключения к контакторам и минимальное энергопотребление всего 9.5 Вт. И при этом, даёт возможность декодировать те же 16 каналов H.264 видео с разрешением 1080p.

Huawei Atlas 200

Для разработчиков программного обеспечения, Huawei выпускает модель Atlas 200 с процессором Ascend 310. Это небольшая коробочка, потребляющая всего 20 Вт, имеющая джентльменский набор портов ввода/вывода (USB, RJ45, I/O). С её помощью можно тестировать решение для валидации работы алгоритма на объекте до закупки и инсталляции оборудования, ну и в принципе, можно «пощупать» работу ИИ на том же процессоре, который будет установлен в production-условиях. Ну и раз уж мы подошли к программному обеспечению, следует поговорить о платформе для ИИ от Huawei

Mindspore

Компания Huawei не стала ограничиваться только выпуском драйверов для своих продуктов серии Ascend, нет этот шаг не для такого крупного гиганта. Вместо этого, Huawei выпустила собственную AI-платформу MindSpore, встав в один ряд с Google (Tensorflow) и Facebook (PyTorch). Это бесплатный фреймвор, который вы можете использовать для программирования на Python-е версии 3.7.5, и вы только вдумайтесь - по сути, у Huawei есть свой «Tensorflow». На момент написания статьи, пока что он был доступен в двух версиях: 0.1.0-alpha и 0.2.0-alpha.

Mindspore

И самое приятное, что Huawei понимает, что в современных условиях открытого мира, создание коммьюнити разработчиков требует поддержки всех стандартов, поэтому MindSpore поддерживает и CPU серии x86, и GPU Nvidia с библиотеками CUDA 9.2/10.1, и конечно же Ascend 910. Установить MindSpore можно через PiP или в виртуальной среде Anaconda. На сегодня пакеты доступны для Ubuntu x86, Windows-x64 (только под CPU) и EulerOS (aarch64 и x86).

Конечно, понятно что сейчас Huawei находится в начале пути по развитию Mindspore, и многое будет зависеть от принятие фреймворка сообществом программистов. Однако, с точки зрения перспектив, планы у китайцев, прямо-таки, наполеоновские:

Направления развития MindSpore:

  • Поддержка большего разнообразия моделей (классические модели, генеративно-состязательная сеть GAN, рекуррентная нейронная сеть, трансформеры, обучение с подкреплением, вероятностное программирование, AutoML и другие)
  • Расширение API и библиотек для улучшения возможностей программирования
  • Оптимизация производительности процессоров Huawei Ascend
  • Эволюция программного стека и выполнение оптимизаций вычислительного графа ( добавление дополнительных возможностей оптимизации и т.д.).
  • Поддержка большего числа языков программирования (не только Python)
  • Улучшение распределенного обучения с помощью оптимизации автоматического планирования, распределения данных и т.д.
  • Улучшение инструмента MindInsight, чтобы сделать его проще для программиста
  • Улучшение функциональности и безопасности для Edge-устройств

Обратите внимание на расширение языков программирования: сегодня это только Python, но вполне логично ожидать поддержки R, LISP, Smalltalk и Prolog.

EulerOS

Если вы не слышали, что такое EulerOS, то в этом нет ничего удивительного, потому что анонс этой операционной системы прошёл совсем недавно - в апреле 2020 года. Конечно, компании Huawei нужен был собственный дистрибутив Linux, который можно предлагать в качестве платформы для ARM64 архитектуры и приложений под ИИ, и они взяли за основу CentOS, решили основную его проблему (задержку апдейтов безопасности, организовав команду круглосуточной поддержки), получили сертификаты безопасности CC EAL4+ и CC EAL2+, и получился продукт, который имеет ту же архитектуру, что и Red Hat или Oracle Linux, а значит на него легко перейти.

EulerOS

В репозиториях Huawei собран целый букет корпоративного софта с открытым исходным кодом, в том числе для сетевой безопасности, работы с big data, построения сетей хранения данных, миграции, управления облаком, базами данных и т.д.

EulerOS доступна в качестве образа для контейнеров в официальном репозитории docker и для скачивания на официальном сайте в виде iso образа.

MindSpore: взгляд в перспективу

Сегодня у Huawei есть всё, чтобы уверенно закрепиться на рынке искусственного интеллекта: открытая платформа, способная конкурировать с набившим оскомину Tensorflow, полный цикл аппаратных решений от систем машинного обучения, до вывода данных. Плюс - собственная операционная система и собственные серверные платформы, с максимальным уровнем локализации, на которых можно собирать монобрендовые защищённые от политических передряг решения.

Ну и отдельно хочется сказать, что в 2019 году Huawei открыла собственный центр компетенции в области искусственного интеллекта на базе Московского Физико-Технического Института (МФТИ), то есть в перспективе следующих лет количество отечественных разработчиков под платформу Huawei будет расти.

Рекомендации при заказе

Huawei - это пример компании, которая в любом деле вырывается в лидеры и конкурирует с теми, кто установил свои стандарты "де-факто". Многим из нас стоило бы поучиться их упорству, с которым они расширяют своё присутствие во всех технологических областях современного IT-мира. Сегодня эта компания начинает выстраивать собственные производственные мощности чипов, чтобы не зависеть от тайваньской TSMC, что сделает её продукты ещё более независимыми от торговой политики США. В то же время, компания вкладывает в будущее поколение IT-специалистов, в собственные программные платформы, среду разработки и аппаратное обеспечение. На рынке пока что нет другой компании, которая предлагала бы подобную синергетическую платформу, поэтому я не сомневаюсь, что Huawei Mindspore станет таким же стандартом, как Tensorflow/CUDA. Да, сегодня это ещё и выгодно, делать проекты на платформе, которая даёт ценовое преимущество при заказе готового решения, но всё же перед заказом, даже если вы планируете использовать решения ИИ исключительно от Huawei, используя Mindspore или другой фреймворк, я всё же рекомендую проверить насколько хорошо конвертируется под ваши нужды код из платформ: Tensorflow и Caffe… на подходе Pytorch И другие

Михаил Дегтярёв (aka LIKE OFF)
11/06.2020


Комментарии

Похожие статьи:

Новая схема адресации памяти в IBM Power10 изменит взгляд на ИИ приложения

А что, если существует новый вид рабочей нагрузки, и я хочу собрать гораздо больше памяти, чем вы можете себе вообразить? Что, если я хочу, чтобы один компьютер адресовал петабайт памяти? Но сегодня никто не знает, как построить та

Обзор и FAQ сервера Huawei Taishan 2280 V2: ARM64 сервер на собственных процессорах Kunpeng 920

Мы подробно изучаем первый доступный в широкой продаже ARM64 сервер: как он работает, как управляется, с каким софтом совместим и ради чего вообще стоит переходить на китайские процессоры, отказываясь от 30-летней архитектуры?

Экспресс-тест видеокарты Palit GeForce RTX 2080 Super в задачах машинного обучения

Если вы выбираете GPU не только для игр, но и для научных расчётов, вам интересно видеть видеокарту с тензорными ядрами и современной памятью GDDR6 объёмом 8 Гб. Благодаря поддержке FP16, в некоторых теслах она показывает кратно

Обзор видеокарты Palit GeForce GTX 1660 Super: тестируем новинку в задачах вычислений и машинного обучения

Новая серия видеокарт GTX 1660 Super интересна, прежде всего, памятью GDDR6, имеющей высокую пропускную способность. Это именно то, что надо для задач машинного обучения и работы в Tensorflow. Как минимум, вы можете создать собс

Обзор решения для корпоративных WLAN сетей от Huawei - контроллер AC6005 и точки доступа

У крупных компаний есть готовые решения, созданные для работы с большим числом пользователей. Для оркестрации, как правило, применяется программный или аппаратный Wi-Fi контроллер, в задачи которого входит не только управление п