Научная статья на тему 'АНАЛИЗ ТЕНЗОРНЫХ ПРОЦЕССОРОВ НА ПРЕДМЕТ ЭФФЕКТИВНОСТИ ПРИМЕНИЯ ДЛЯ РАСЧЁТА СИСТОЛИЧЕСКИХ МАССИВОВ НЕЙРОННЫХ СЕТЕЙ'

АНАЛИЗ ТЕНЗОРНЫХ ПРОЦЕССОРОВ НА ПРЕДМЕТ ЭФФЕКТИВНОСТИ ПРИМЕНИЯ ДЛЯ РАСЧЁТА СИСТОЛИЧЕСКИХ МАССИВОВ НЕЙРОННЫХ СЕТЕЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
59
17
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕЙРОННАЯ СЕТЬ / МАШИННОЕ ОБУЧЕНИЕ / ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / ПРОЦЕССОРЫ / NEURAL NETWORK / MACHINE LEARNING / PARALLEL CALCULATIONS / PROCESSORS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Стрелец А.И., Протопопова Ю.Д., Тоичкин Д.В., Ключникова Б.В.

Сегодня искусственные нейронные сети встраиваются во многие сервисы: перевод и распознание речи, поиск изображений, реклама, ранжирование поисковой выдачи. Однако, задачи, связанные с машинным обучением, часто требуют большого числа вычислений. Благодаря структуре нейронной сети, эти вычисления хорошо поддаются распараллеливанию на специализированных процессорах. В работе анализируется использование тензорных процессоров для параллельных вычислений нейросвязей в сети.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Стрелец А.И., Протопопова Ю.Д., Тоичкин Д.В., Ключникова Б.В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ANALYSIS OF THE TENSOR OF PROCESSORS FOR EFFECTIVENESS APPLY TO CALCULATE SYSTOLIC ARRAYS FOR NEURAL NETWORKS

Nowadays we often use neural networks at many fields of life: translation, speech recognition, image search, advertising, ranging of search result. However, task of machine learning often uses a lot of calculations. The structure of neural networks looks good for execute calculations at parallel processors. At this report we analyze some of the modern tensor processors for parallel neural network calculations.

Текст научной работы на тему «АНАЛИЗ ТЕНЗОРНЫХ ПРОЦЕССОРОВ НА ПРЕДМЕТ ЭФФЕКТИВНОСТИ ПРИМЕНИЯ ДЛЯ РАСЧЁТА СИСТОЛИЧЕСКИХ МАССИВОВ НЕЙРОННЫХ СЕТЕЙ»

УДК 004.35

Стрелец А.И. студент магистратуры 1 курса кафедра «Компьютерные системы и технологии»

Протопопова Ю.Д. студент специалитета 5 курса кафедра «Компьютерные системы и технологии» Национальный исследовательский ядерный университет «МИФИ»

Россия, г. Москва Тоичкин Д.В. студент бакалавриата 4 курса кафедра Компьютерной инженерии Донецкий Национальный Технический Университет

Украина, г. Донецк Ключникова Б.В. студент бакалавриата 4 курса кафедра «Биохимия и биотехнология» Казанский (Приволжский) федеральный университет

Россия, г. Казань АНАЛИЗ ТЕНЗОРНЫХ ПРОЦЕССОРОВ НА ПРЕДМЕТ

ЭФФЕКТИВНОСТИ ПРИМЕНИЛ ДЛЯ РАСЧЁТА СИСТОЛИЧЕСКИХ МАССИВОВ НЕЙРОННЫХ СЕТЕЙ Аннотация: сегодня искусственные нейронные сети встраиваются во многие сервисы: перевод и распознание речи, поиск изображений, реклама, ранжирование поисковой выдачи. Однако, задачи, связанные с машинным обучением, часто требуют большого числа вычислений. Благодаря структуре нейронной сети, эти вычисления хорошо поддаются распараллеливанию на специализированных процессорах. В работе анализируется использование тензорных процессоров для параллельных вычислений нейросвязей в сети.

Ключевые слова: нейронная сеть, машинное обучение, параллельные вычисления, процессоры.

Strelets A.I., graduate student, first course Department of Computer Systems and Technologies National Research Nuclear University MEPhI

Moscow, Russia

Protopopova Ju.D., undergraduate student, fifth course Department of Computer Systems and Technologies National Research Nuclear University MEPhI

Moscow, Russia

Toichkin D. V., undergraduate student fourth course Department of Computer Engineering Donetsk National Technical University

Donetsk, Ukraine

Klyuchnikova B. V., undergraduate student, fourth course Deparment of

Biochemistry and Biotechnology Kazan (Volga region) Federal University

Kazan, Russia

ANALYSIS OF THE TENSOR OF PROCESSORS FOR EFFECTIVENESS APPLY TO CALCULATE SYSTOLIC ARRAYS FOR

NEURAL NETWORKS

Annotation: nowadays we often use neural networks at many fields of life: translation, speech recognition, image search, advertising, ranging of search result. However, task of machine learning often uses a lot of calculations. The structure of neural networks looks good for execute calculations at parallel processors. At this report we analyze some of the modern tensor processors for parallel neural network calculations.

Key words: neural network, machine learning, parallel calculations, processors.

Введение

Сегодня искусственные нейронные сети встраиваются во многие сервисы: перевод и распознание речи, поиск изображений, реклама, ранжирование поисковой выдачи. Технологии искусственного интеллекта увеличили точность решаемых задач в среднем на 30%, что является наибольшим скачком за последние 20 лет.

Нейронные сети повторяют устройство нервных клеток мозга и строятся на основе простого искусственного нейрона — нелинейной функции от взвешенной суммы входных сигналов. Глубокие нейронные сети представляют собой слои нейронов, которые получают сигналы от предыдущих слоев и передают следующим. Для математического описания этих операций используются объекты линейной алгебры — векторы, матрицы, тензоры их матричное произведение.

При построении сетевых моделей выполняются 2 этапа работ: обучение и использование. На первом этапе представления данных в формате числа с плавающей запятой (ПЗ) крайне важна, т. к. используются итерационные методы оптимизации. При использовании численных методов постоянное накапливание погрешностей в вычислениях приводит к совершенно неправильным результатам. Кроме того, методы оптимизации могут быть распараллелены, что с успехом делается на графических ядрах nVidia.

С другой стороны, в процессе использования, позволительно представить данные в целом формате при помощи квантования ПЗ (floating point quantization). Было подсчитано, что матричное умножение на данными в 8-битном формате требует в 6 раз меньше энергии и площади, чем аналогичные операции с 16-битными ПЗ.

1. Обзор тензорных процессоров

На сегодняшний день Google является одним из лидеров в развитии технологий машинного обучения и предоставляет большое количество разных сервисов на основе искусственного интеллекта. В 2015 году Google разработал новый тензорный процессор для вычисления состояний нейронной сети. Результатом работы стал тензорный процессор, представленный в 2015 году. Его печатная плата представлена на рисунке 1.

Рисунок 1 - Печатная плата тензорного процессора

Тензорный процессор проектировался с учетом существующей технологии CUDA и совместим с ней. Данный процессор отлично подходит для разработки параллельных нейронных сетей. Все программы написанные на фреймворке TensorFlow для GPU, могут быть быстро перенесены на TPU.

2. Структура тензорного процессора

Тензорный процессор представляет собой систолический массив для выполнения умножения матриц, буфер данных, логику для управления этими элементами. Тензорный процессор скорее напоминает математический сопроцессор, т. к. он не выполняет выборку инструкций и не управляет их исполнением, а только исполняет предоставленные инструкции.

Основой данного устройства являются универсальный буфер и систолический массив 256x256 16 разрядных аккумуляторов, выполняющих умножение 8-разрядных целых чисел. Кроме этого, имеются модули дополнительной обработки данных: Activation, Normalize/Pool, которые являются неотъемлемой частью алгоритмов глубокого обучения и также выполняются над массивами чисел. Оставшиеся части — блоки управления и интерфейсы хоста, PCI, DDR3. Структурная схема представлена на рисунке 2.

CHI Chip Ю

|~| Lull K-uIIm-Q СапринНо-

14 GiBfs

DDR 1 DRAM Chips |_

O 3D Gift's ..---, 3D G

DDR3-21-33 lnt«rtfl«i?

Weight FIFO (Weiwli< Fctaicrli

| Control 1|i

_;>[ Cöiriwi j

tiniii«i

Butler (Local АСПУД11ПП

Storage)

Systolic Setup

öiB^

$

№uLrix. Mulliply

Unit {MK pcriydcl

I ^ccmtiulplor?

'J'JI UltliiH ,' Г'Л.:

Cantral

Local Unified Buffer for

Activations (96Kx256x8b = 24 MiB)

29% of chit:

Matrix Multiply Unit (256x256x8b=64К MAC)

24%

D R A M

port ddr3

3%

Host Interf. 2%

Control 2%

Accum uäators (4Kx25öx32b =4 Miß) I

Activation Pipeline s%

PCle Interface 3%

[ Misc. LO

1%

D

R

к

M port ШгЗ

3%

Рисунок 2 - Структурная схема тензорного процессора

3. Набор команд тензорного процессора

Процессор обладает полным набором из 5 основных команд. Read_Host_Memory — чтение данных, переданных от хоста и запись в унифицированный буфер. Read_Weights — загрузить матрицу весов из памяти весов (Weight FIFO) в модуль матричного умножения. Веса — это синоним второго операнда в матричном умножении, который появляется в алгоритмах машинного обучения. MatrixMultiply/Convolve — выполнить матричное умножение или свертку над данными в унифицированном буфере и уже загруженными весами. Activate — вычислить нелинейную функцию над результатом матричного умножения. Write_Host_Memory — выполнить запись из буфера в память хоста.

Также TPU содержит небольшое количество служебных команд для пред установки операционных модулей, прерывания, метку отладки, nop. Отсутствие сложных методов управления исполнением, по словам разработчиков, обусловлено тем, что простое выполнение инструкций обеспечивает высокую предсказуемость и низкий разброс времени выполнения расчетов, что очень важно при взаимодействии с пользователем.

4. Анализ производительности CPU, GPU, и TPU на Roofline-модели

Для анализа производительности нового устройства можно выделить 3

наиболее часто используемых модели нейронных сетей: полносвязную нейросеть (MLP), сверточную (CNN) и рекурентную (LSTM). Также были отобраны 2 наиболее производительных представителя среди CPU и GPU по состоянию на 2015 год: процессор Intel Haswell и флагман nVidia в области высокопроизводительных вычислений nVidia K80.

Для анализа была применена «модель линии крыши» (Rooflines model). Эта модель может быть использована для оценки предельно возможной производительности вычислительной системы. Согласно этой модели, выделяется 2 ограничения производительности: ограничение по скорости поступления данных и ограничение по скорости обработки данных. Поэтому график предельной производительности можно разделить на 2 части по вышеизложенному принципу. График представлен на рисунке 3.

л а О

Я

а

i

4-

-Г-

ъг

—г—

J\{* vi 1 2 4 a is ы 1ге

Opera вола. I ri he nsi ty {f L OPS/byte]

Рисунок 3 - Roofline model Горизонтальная линия соответствует предельно возможной скорости выполнения операций в п ФЛОП/с. Скорость поступления данных выражается через интенсивность команд — количество операций с ПЗ на один байт всех входных данных ФЛОСП/Бт. Тогда скорость выполнения команд на первом этапе будет ограничена сверху произведением пропускной способности входных данных и интенсивностью: Бт/с * ФЛОПС/Бт = ФЛОПС/с. Результаты эксперимента представлены на рисунке 4.

— TPURooFUtte

— К80 Roofline HSW Roofline

* LSTMO LSTMI

* MLP!

* MLP О A CNNQ

* CNN1 A LSTMO

LSTMI A MLP1

* MLPO

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

* CNNO

* CNN1

* LSTMO LSTMI

I

*

X

jt —A- * • •

/1 / /. // // t A

Operational intensity: Ops/weight byte (log scale)

4 moro

Рисунок 4 - Результаты расчетов моделей глубокого обучения Заключение

Tensor Processing Unit является проявлением важной тенденции в вычислительной технике: когда рост производительности центральных процессоров за счет увеличения числа транзисторов сильно замедляется, приходится изыскивать пути ускорения вычислений путем разработки специализированных устройств под конкретные задачи. Одной из таких задач является вычисления для нейронных сетей. Выигрыш здесь состоит в том, что в этих алгоритмах используется очень ограниченный набор операций, а технология применима к огромному числу сфер человеческой

деятельности, которые даже невозможно формализовать.

Использованные источники:

1. Kung H. T., Leiserson C. E. Systolic arrays (for VLSI) //Sparse Matrix Proceedings 1978. - SIAM, 1979. - Т. 1. - С. 256-282. Jouppi N. P. et al. In-datacenter performance analysis of a tensor processing unit //Proceedings of the 44th Annual International Symposium on Computer Architecture. - ACM, 2017. -С. 1-12.

2. Williams S., Waterman A., Patterson D. Roofline: an insightful visual performance model for multicore architectures //Communications of the ACM. -2009. - Т. 52. - No. 4. - С. 65-76.

3. Чернодуб А. Н., Дзюба Д. А. Обзор методов нейроуправления // Проблемы программирования. — 2011. — No 2. — С. 79—94.

i Надоели баннеры? Вы всегда можете отключить рекламу.