Материалы по тегу: тензорный процессор

25.08.2017 [12:44], Алексей Степин

Intel проливает свет на архитектуру процессоров Knights Mill

Во времена, когда машинное обучение и технологии на базе нейросетей активно развиваются, прогрессирует и аппаратное обеспечение для этих сфер. Но каждый разработчик подходит к вопросу по-своему: производители графических процессоров полагаются на изначально массивный параллелизм своих разработок, такие компании как Google разрабатывают сравнительно простые чипы, всё в которых подчинено единственной задаче, выполняемой максимально быстро, ну а такие компании как Intel адаптируют существующие процессорные архитектуры. Так, недавно «синие» раскрыли некоторые секреты, касающиеся наследников серии Knights Landing — процессоров Knights Mill.

Конечно, компания исследует и другие направления, например, решения на базе FPGA Altera, а также разрабатывает сопроцессоры Lake Crest и Knights Crest, которые, скорее всего, будут напоминать Google TPU. Однако и наследник серии Knights Landing — чип Knights Mill — получит изменённую с учётом популярности технологий машинного обучения архитектуру. Основа останется прежней, но каждый модуль (VPU) получит вместо двух «больших» блоков FPU (32/64 бита) меньший блок вычислений с плавающей запятой и четыре блока Vector Neural Network Instruction (VNNI). Последние будут поддерживать операции с плавающей запятой одинарной точности, а также получат способность работать со смешанными целочисленными форматами (16 бит на входе, 32 на выходе). Похожие ядра есть в составе NVIDIA V100, но они поддерживают более традиционные форматы FP32/64.

Конечный результат можно предсказать довольно точно: Knights Mill будет вдвое уступать Knights Landing на операциях двойной точности, но вдвое же превосходить на операциях точности одинарной. А появление блоков VNNI с поддержкой целочисленных форматов может поднять производительность Knights Mill в четыре раза в задачах, связанных с глубинным машинным обучением. Таким образом, процессор получится более специализированным, но в своих областях специализации он превзойдёт предшественника весьма существенно. Чипы Knights Mill не будут страдать от нехватки ПСП, поскольку получат 16 Гбайт MCDRAM, дополняющий 6-канальный контроллер DDR4. Общее количество ядер останется прежним — 72, с учётом 256 операций на такт в блоках VPU, Knights Mill сможет продемонстрировать более 27 триллионов операций в секунду при частотах порядка 1,5 ГГц. Это меньше, нежели 92 триллиона операций у Google TPU, но решение Intel выглядит более универсальным и сбалансированным. Появится оно на рынке уже в четвёртом квартале этого года.

Постоянный URL: http://servernews.ru/957549
25.08.2017 [12:18], Алексей Степин

Подробности о тензорном сопроцессоре Google TPU

Не столь давно мы рассказывали о том, что в гонке решений, призванных ускорить работу нейросетей и оптимизировать процесс машинного обучения, компания Google принимает самое непосредственное участие с чипом собственной разработки с незамысловатым названием TPU (Tensor Processor Unit). Генеральный директор компании Сундар Пичаи (Sundar Pichai) тогда заявил, что эти процессоры на порядок эффективнее менее специализированных решений, таких, как FPGA или GPU.

Архитектура и особенности Google TPU хранились в строжайшем секрете, но теперь мы, наконец, можем узнать об этих ускорителях много нового. Сама плата ускорителя выполнена в нестандартном форм-факторе, она имеет разъём, похожий на M.2, но на самом деле диаграммы указывают на использование интерфейса PCI Express 3.0 x16. В каждом сервере Google, рассчитанном на установку TPU, может устанавливаться четыре таких ускорителя, выполняющих операции с плавающей запятой.

Сам процессор имеет двухканальный контроллер памяти DDR3-2133 МГц и на его плате установлено 18 чипов DDR3 общим объёмом 8 Гбайт. Судя по количеству чипов, используется коррекция ошибок. Главной частью процессора является матрица, выполняющая операции умножения-сложения (multiply-accumulate). Размер этой матрицы составляет 256 × 256, работает она с 8-битными данными на частоте 700 МГц. Пиковая производительность при этом достигает почти 92 триллионов операций в секунду. Ничего удивительного, блоков MAC у TPU в 25 раз больше, нежели у современных GPU.

Имеется 4 Мбайт выделенной регистровой (accumulator) памяти и 24 Мбайт унифицированного буфера, это больше, чем у большинства графических процессоров; Google говорит о превосходстве в 3,5 раза. С внутренней пропускной способностью проблем нет. Пул результатов имеет доступ к буферу на скорости 167 Гбайт/с, тот связан с общим интерфейсом шиной 10 Гбайт/с. Производительность подсистемы памяти достигает 30 Гбайт/с, а с внешним миром сопроцессор общается на скорости, доступной интерфейсу PCIe 3.0 (8 гигатрансфер/с в каждом направлении).

C точки зрения программиста TPU очень прост и имеет всего 11 инструкций из которых 5 основных: read_host_memory, write_host_memory, read_weights, matrix_multiple/convolve и activate. Каждая инструкция выполняется не более, чем за 10 тактов, имеется четырёхстадийный параллельный конвейер, каждая стадия которого может выполнять независимо одну из инструкций. Пока блок матричного перемножения занят, процессор умеет выполнять другие инструкции. Ветвления отсутствуют, внеочередного исполнения нет, управление буферами и синхронизацией конвейера полностью прозрачно для программиста. Проблема с промежуточными обращениями в SRAM была решена методом «систолического исполнения».

Лучше всего этот процесс представлен на диаграмме, где потоки двигаются слева вниз, сначала происходят операции сложения, а потом аккумуляции. Архитектура такова, что задержки конвейера процессор может игнорировать. Впервые TPU появились в центрах обработки данных Google ещё в 2015 году, до Haswell и NVIDIA Tesla K80. В обоих случаях размер кристалла и уровень энергопотребления оказались меньше, нежели у конкурирующих решений. Компания признаёт, что основным лимитирующим производительность TPU фактором является пропускная способность памяти, а также считает, что обычные процессоры и GPU более универсальны и сбалансированы, но серьёзно уступают TPU в производительности. В новых версиях TPU память DDR3 уступит место более перспективной HBM, хотя исследования с GDDR5 показали хороший прирост производительности. Ситуация чем-то похожа на добычу биткоинов: сначала использовались универсальные ЦП, потом скорость удалось поднять за счёт параллелизма GPU, но узкоспециализированные ASIC, заточенные под одну задачу, превзошли все иные решения именно из-за своей простоты и экономичности.

Как именно Google использует TPU в машинном обучении, компания пока предпочитает хранить в тайне, что неудивительно — с 92 триллионами операций в секунду её решения просто не имеют достойных в плане производительности конкурентов. По крайней мере, пока. Да, точность вычислений невелика (int8), но для задач машинного обучения и натаскивания нейросетей этого в большинстве случаев вполне достаточно.

Постоянный URL: http://servernews.ru/957543
Система Orphus