Материалы по тегу: tpu

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
17.05.2017 [22:37], Константин Ходаковский

Система обучения ИИ следующего поколения от Google невероятно быстра

Google представила второе поколение TPU (Tensor Processor Unit) — аппаратного обеспечения и программной экосистемы, которая лежит в основе самых амбициозных и далеко идущих технологий компании. Исполнительный директор Сандар Пичай (Sundar Pichai) рассказал о продукте во время ключевой презентации на ежегодной конференции разработчиков Google I/O.

Первое поколение TPU являлось специализированным чипом, созданным с прицелом на машинное обучение. Оно использовалось системой искусственного интеллекта AlphaGo в качестве основы для предсказания и принятия решений. Google также использует вычислительные возможности своих TPU каждый раз, когда кто-либо вбивает запрос в поисковую строку. Не так давно технология была использована для улучшения возможностей Google Translate, Google Photos и других служб при помощи машинного обучения.

Обычно подобные расчёты производятся при помощи графических ускорителей, отличающихся впечатляющими возможностями в области высокопараллельных вычислений. Например, Facebook использует карты NVIDIA в своих серверах Big Basin AI. Но Google приняла решение создать собственное аппаратное решение и оптимизировать под него своё ПО.

Поэтому оригинальный TPU создавался для оптимальной работы с Google TensorFlow, одной из многих открытых библиотек машинного обучения. Благодаря успехам Google из подразделений Brain и DeepMind, а также интеграции ПО с оборудованием TensorFlow стала одной из лидирующих платформ для создания ПО на базе ИИ.

Теперь Google сообщила, что второе поколение системы TPU уже полностью работоспособно и начало развёртываться в рамках платформы Google Compute Engine, которую другие компании и исследователи могут использовать по аналогии с Amazon AWS и Microsoft Azure. Google, разумеется, будет использовать систему и сама, но также продвигает TPU в качестве непревзойдённого ресурса, который могут использовать и другие заинтересованные компании.

Google разработала способ объединения множества TPU в серверные стойки TPU Pod, каждая из которых обеспечивает 11,5 Пфлопс вычислительных мощностей. Отдельные же TPU обладают впечатляющей мощью в 180 Тфлопс — разумеется, в том типе вычислений, которые сегодня наиболее часто применяются в технологиях машинного обучения.

Серверные стойки с ускорителями Tensor Processing Unit, которые используются для тренировки ИИ-систем и осуществления ими расчётов в реальном времени

Серверные стойки с ускорителями Tensor Processing Unit, которые используются для тренировки ИИ-систем и осуществления ими расчётов в реальном времени

Такая производительность даёт Google и её клиентам существенное преимущество и свободу экспериментирования в передовой области ИИ. Компания отмечает, что её новая крупномасштабная модель перевода на основе ИИ требует полной загруженности 32 самых мощных GPU в мире в течение суток, а одна восьмая стойки TPU Pod справляется с задачей всего за шесть часов.

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

Машинное обучение — процесс анализа искусственным интеллектом огромного массива данных, чтобы нейронная сеть могла решать задачи с использованием нечёткой логики так, как не может обычный алгоритм. Результатом, например, становится более качественные возможности перевода между языками или более человекоподобное поведение машины при игре в шахматы и так далее. В общем, системы обучения улучшают алгоритм ИИ на основе огромных массивов данных, так что если каждый эксперимент занимает не недели, а дни или даже часы, то возможности разработчиков ИИ принципиально улучшаются (при условии использования библиотеки TensorFlow, конечно).

Google также поддерживает тех разработчиков, которые готовы публиковать результаты своих исследований, в том числе исходные коды — в рамках программы TensorFlow Research Cloud, таким разработчикам будет бесплатно предоставляться доступ к кластеру из 1000 TPU.

Постоянный URL: http://servernews.ru/952393
21.11.2016 [13:15], Константин Ходаковский

Google приняла участие в SC16 и привлекла Intel к стратегическому альянсу

В этом году Google решила принять участие в мероприятии SC16, посвящённом серверам и суперкомпьютерам. Это вполне естественно для одного из лидеров в области облачных служб. Компания проводила различные конкурсы среди публики, презентации по глубинному машинному обучению и стендовые доклады.

Заодно интернет-исполин на своём стенде показал специализированный модуль TPU (Tensor Processing Unit), созданный в недрах Google для ускорения задач машинного обучения и представленный в мае этого года. Рядом с самим модулем, скрытым за стеклом, расположился плакат, рассказывающий посетителям о том, что чип TPU был признан журналом Wire одним из пяти продуктов или технологий, способных существенно изменить будущее сектора HPC.

Кстати, поисковый гигант косвенно присутствовал также в анонсах других компаний, сделанных во время SC16. Например, AMD сообщила, что её ускорители FirePro S9300 x2 будут применяться в облачной платформе Google в 2017 году для ускорения вычислительного движка Google Compute Engine и служб машинного обучения Google Cloud Machine Learning.

Не остался в стороне и лидер рынка x86-серверов: Intel заявила о стратегическом альянсе с Google для продвижения новаций в области многооблачных окружений, Интернета вещей (IoT) и различных новых направлений, связанных с искусственным интеллектом и машинным обучением. Прежде всего, речь идёт о сотрудничестве по развитию серверных платформ и технологий с открытым исходным кодом.

Например, в задачи входит оптимизация открытых библиотек TensorFlow (созданных с прицелом на высокопараллельные расчёты с помощью GPU) под архитектуры Intel. Результатом совместной работы Google и Intel станет предоставление разработчикам оптимизированной библиотеки для разработки новых направлений машинного обучения на основе нейронных сетей. Начальные оптимизации, как сообщает Intel, будут доступны уже в первом квартале 2017 года. Такие правления, как распознавание лиц, создание чат-ботов и управление роботами — это лишь несколько примеров использования библиотеки TensorFlow.

Второе направление сотрудничества Google и Intel — улучшение многооблачных окружений и оптимизация открытой системы автоматизированного развёртывания, масштабирования и управления контейнерами в Linux — Kubernetes. Проект Kubernetes начала Google, затем к нему присоединились другие компании вроде Microsoft, RedHat, IBM и Docker. Вдобавок, Intel будет сотрудничать с Google в области интеграции возможностей облачной платформы поискового гиганта в свои IoT-устройства.

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