Hot Chips 31: подробности об Intel Nervana NNP-I или «мозг» в формфакторе M.2
Продолжаем знакомиться с фактическими новинками Intel в области машинного обучения и ИИ. Ранее мы рассказали об ускорителе Intel Nervana NNP-T для машинного обучения с функцией тренировки. Для функции принятия решений (Inference) на основе тренированной модели компания подготовила другой чип? ускоритель Nervana NNP-I (кодовое имя Spring Hill). Мы уже знаем, что Nervana NNP-I разрабатывается Intel совместно с Facebook, и последняя уже достаточно широко использует эти ускорители. В основе Nervana NNP-I, о чем мы тоже говорили, лежит модифицированный 10-нм процессор Intel поколения Ice Lake. О глубине модификации Ice Lake компания поведала только сейчас на конференции Hot Chips 31. Так что же такое Nervana NNP-I?
Начнем с того, что Nervana NNP-I компания Intel позиционирует как решение для центров обработки данных. Глядя на формфактор решения, в этом можно было усомниться. Чип помещен на компактную плату в формфакторе M.2. Такую плату можно установить куда угодно в слот в массе периферийных устройств. Тем не менее, пока Intel говорит лишь об использовании Nervana NNP-I в формфакторе M.2 только в составе ЦОД. Собственно, формфактор M.2 имеет ограничения по потребляемой мощности и, очевидно, по мере повышения потребления Nervana NNP-I придется использовать другой формфактор. Так, уже на начальном этапе решения Nervana NNP-I в зависимости от конфигурации могут потреблять от 10 до 50 Вт, тогда как максимально разрешенное потребление для устройства в формфакторе M.2 равно 15 Вт.
Итак, все-таки ЦОД. В версии Nervana NNP-I оригинальный четырехъядерный процессор Ice Lake лишился двух вычислительных ядер и встроенного графического ядра. Два оставшихся вычислительных ядра сохранили 10-нм архитектуру Sunny Cove. Это, по мнению Intel, делает чип Nervana NNP-I уникальным в плане программной поддержки решением. Популярная и знакомая программистам система команд x86 обеспечит простоту создания продуктов с использованием языков высокого уровня.
Оставшееся от выброшенных блоков место Intel, в частности, выделила под ИИ-блоки ICE. Но это не Ice Lake. Это ядра Inference Compute Engine, которых может быть от 10 до 12 штук в зависимости от конфигурации. Именно ядра ICE отвечают за функцию принятия решений. По словам Intel, эти ядра оптимизированы для работы с популярными фреймворками для машинного обучения. Ядра Sunny Cove тоже участвуют в процессе работы ИИ-стека, поскольку аппаратно поддерживают 512-битные векторные инструкции и приспособлены для работы с моделями машинного обучения. За счет оптимальной работы с моделями производительность Nervana NNP-I по отношению к потреблению составляет 4,8 TOPs/Вт, что является хорошим показателем.
Высокая производительность и эффективность Nervana NNP-I также достигается за счет наличия бортовой памяти как на плате M.2, так и в составе чипа. На плате расположен чип памяти LPDDR4X объемом 16 Гбайт, который подключается к ускорителю с помощью встроенного в него двухканального контроллера памяти с пропускной способностью 68 Гбайт/с. Следующей в иерархии памяти Nervana NNP-I идет интегрированная в кристалл кеш-память L3 объемом 24 Мбайт. Кроме этого каждый блок ICE содержит по 4 Мбайт SRAM и индивидуальные блоки памяти для инструкций и данных. Полный объем SRAM на кристалле достигает 75 Мбайт.
Пределы масштабирования Nervana NNP-I ограничиваются только наличием свободных портов M.2. Решение поддерживает вычисления FP16 и INT8/4/2/1, но не поддерживает BF16 (грубо? урезанные после запятой FP32). Чип можно заставить работать как в режиме двух ядер, так и 12, что позволяет менять масштабы производительности (и потребления) в 5,85 раза.