Отечественная компания IVA Technologies сообщила о создании и прохождении процедуры патентования первого российского тензорного микропроцессора IVA TPU. Тензорный процессор — это разновидность нейронной микросхемы, оперирующей особыми объектами (тензорами), и рассчитанной на выполнение узкого круга математических операций. Он может быть использован при детектировании и классификации изображений, поиске объектов, повышении качества изображений и в других сферах. Сами разработчики сообщают, что IVA TPU создан “для сверточных нейронных сетей” и способен превзойти первую версию американского Google TPU. Сейчас в России уже готов макет тензорного процессора на базе ПЛИС — программируемой логической интегральной схемы. Это полнофункциональный блок на программируемой логике.
Отечественная разработка изначально рассчитана под свободное программное обеспечение, имеет производительность более 20 TOPS, малое энергопотребление и значительно превосходит в скорости обработки информации графические процессоры (GPU).
Отмечены следующие ключевые преимущества российского тензорного процессора:— гибконастраиваемое IP-ядро ускорителя тензорных вычислений;- поддержка Convolutional, FC, LSTM сетей, 3D-Convolution;- фреймворк для оптимизации сетей.
Создатели IVA TPU говорят, что их разработка будет выпускаться в виде 2 готовых изделий — Soft-TPU (на основе ПЛИС) и Hard-TPU (на интегральной схеме специального назначения). Причем, второй вариант можно начинать выпускать в России уже сейчас — это позволяют технологии нашей микроэлектронной промышленности. Также в разработке находится возможность интеграции IP-ядра в качестве сопроцессора на SoC для мобильных устройств. Тестовый образец микросхемы IVA будет представлен в 2019 году.
Добавим, что создатели первого российского тензорного процессора работают с концерном “Автоматика” в составе госкорпорации “Ростех”. В рамках партнерства в компании IVA Technologies создаются телекоммуникационные системы, системы машинного зрения и ведутся разработки в сфере искусственного интеллекта.
Справка:
Несколько лет назад в Google подсчитали, что, если все пользователи начнут по две-три минуты в день нагружать сервисы компании для распознавания речи, то ей может понадобиться вдвое больше ЦОДов. Однако, вместо того чтобы расширять площадь помещений и устанавливать новые серверы, в Google решили спроектировать специализированное оборудование для задач машинного обучения. Так появился т.н. “тензорный процессор” (Tensor Processing Unit, TPU), чип, ускоряющий работу нейронных сетей, на котором происходит вывод умозаключений. Не так давно Google опубликовала доклад о преимуществах TPU по сравнению с центральными и графическими процессорами.
Тензорный процессор имеет вид специализированной интегральной схемы – чипа, созданного для конкретной задачи и со своим набором инструкций. При этом тензорные процессоры обладают достаточной гибкостью, и поэтому используемые модели машинного обучения можно менять.
В среднем тензорный процессор в 15-30 раз быстрее выполняет задачи вывода умозаключений, чем традиционные серверные CPU и GPU. Производительность в расчете на ватт у TPU в 25-80 раз выше, чем у центрального и графического чипов.
Еще одна ключевая характеристика TPU – время отклика, которое у данного процессора гораздо меньше, чем у процессоров других типов. В Google особо подчеркивают, что системы машинного обучения должны выдавать ответы быстро, чтобы обеспечивать высокое качество обслуживания пользователей.
Особенно хорошие результаты TPU демонстрируют с точки зрения энергоэффективности. Этот показатель намного увеличивает затраты, когда приходится использовать огромные массивы оборудования для обработки данных.
Достигнутые результаты имеют большое значение для Google, поскольку компания в последнее время активно развивает средства машинного обучения. В Google уже провели испытания своих процессоров на нескольких сервисах, в которых используется вывод умозаключений нейронными сетями, т.е. почти на всех приложениях такого типа, работающих в дата-центрах интернет-гиганта.
Но и характеристики самого TPU можно улучшить. В частности, если использовать с ним память GDDR5, то можно было бы повысить быстродействие. Как следует из доклада Google, недостаточная пропускная способность памяти негативно сказалась на скорости ряда приложений во время тестирования.
Кроме того, в Google выражают уверенность, что производительность можно было бы увеличить путем оптимизации программного обеспечения, в частности одной из сверточных нейронных сетей, носящей название CNN1. Данные в искусственных нейронных сетях передаются по той же схеме, что и в головном мозге человека, а сверточные нейросети моделируют процесс обработки мозгом визуальной информации.
Учитывая, что CNN1 сейчас работает на TPU в 70 с лишним раз быстрее, чем на центральном процессоре, разработчики вполне удовлетворены результатом. А потому неясно, будут ли проведены описанные оптимизации.
Google тестировала тензорные процессоры в сравнении с обычными CPU выпущенными приблизительно в то же время. Не исключено, что более новые чипы традиционной архитектуры могут, как минимум сократить отставание от TPU по производительности.
Искусственный интеллект уже давно прочно вошел в нашу жизнь. Чаще всего мы даже не задумываемся над этим вопросом, когда привычно пользуемся голосовым помощником в смартфоне или автоматическим распознаванием изображений в программе. Даже поиск Google не обходится без машинного обучения, области искусственного интеллекта.
Уже около двух лет работает технология под названием RankBrain, которая служит для умной сортировки результатов поиска. Около 15% ежедневных запросов являются новыми для Google, то есть до этого они не формулировались ни одним пользователем. «Наш искусственный интеллект обходится без команд со стороны человека»
Профессор Дэвид Сильвер, Главный программист искусственного интеллекта. Google AlphaGo Zero Алгоритмы RankBrain ищут имеющиеся формы в неизвестных поисковых запросах и увязывают их с семантически схожими понятиями. В итоге поисковая система должна самостоятельно обучаться и иметь возможность давать соответствующие ответы на вопросы, которые ранее не задавались. Google использует в своих центрах обработки данных специально разработанные для этого тензорные процессоры — TPU.
Тензорные процессоры (TPU)
Успехи искусственного интеллекта Google выглядят впечатляюще. Одна из причин состоит в том, что компания Google разработала специальные аппаратные средства, а это ускоряет нейронные сети намного эффективнее, чем стандартные центральные и графические процессоры. Поразительно, но тензорные процессоры отчасти используют обычные компоненты ПК. Они находятся на одной сменной плате SATA и связываются через PCI Express с другими тензорными процессорами.
Структура тензорного процессора
Быстрое сложение и умножение — сильная сторона тензорного процессора. В ответственном за это модуле с матрицей в качестве центрального компонента производятся вычисления нейронных сетей. Она занимает около четверти площади процессора. Остальное место используется для быстрой подачи вводных данных. Они поступают через PCI Express и оперативную память DDR3. Результаты вычислений возвращаются на сервер через PCI Express и интерфейс хоста.
Сверхчеловеческий интеллект
Свое название процессоры получили от библиотеки программного обеспечения TensorFlow. Основное предназначение TPU состоит в ускорении алгоритмов искусственного интеллекта, которые делают ставку на библиотеки свободного программного обеспечения.
Изначально TPU обрели популярность в качестве аппаратной платформы для AlphaGo —искусственного интеллекта, который победил лучших в мире игроков в азиатскую игру го. В отличие от шахмат, разработка программного обеспечения для го на профессиональном уровне на протяжении многих лет считалась невозможной.
Последующая разработка AlphaGo Zero смогла самостоятельно обучиться игре на основе заданных ей правил. Через три дня она достигла профессионального уровня, через три недели — догнала предшествующую версию AlphaGo, обучение которой стоило громадных усилий и потребовало проведения миллионов профессиональных партий. Выяснилось, что искусственный интеллект ранее ограничивал изучение ходов со стороны человека. Еще через шесть недель AlphaGo Zero уже невозможно было обыграть.
Реклама 30
Ускоритель для нейронных сетей
По сравнению с обычными процессорами тензорные специализируются на использовании искусственных нейронных сетей. Они состоят из множества связанных в сеть математических функций, которые имитируют человеческий мозг с его нервными клетками и их связями. Подобно нашему мозгу, нейронная сеть требует соответствующего ввода. Происходит обучение, к примеру, распознаванию речи, изображений — или правилам игры «Го».
Искусственная нейронная сеть включает несколько уровней нейронов. Каждый нейрон использует взвешенную сумму выходных значений связанных нейронов в предыдущем уровне. Правильная сравнительная оценка — ключ к успеху в Machine Learning, но ее сначала надо сделать, что на практике часто означает множественные операции с плавающей точкой.
В этой дисциплине лучшим выбором на самом деле являются графические процессоры. Чтобы потом отсортировать результаты поиска или предугадать ходы, нейронной сети больше не нужна высокая точность вычислений с плавающей запятой. Этот процесс требует выполнения очень большого количества операций умножения и сложения целых чисел. Тензорные процессоры в вычислительном центре Google Об этом сообщает Рамблер.
Google с 2016 года использует TPU в своих вычислительных центрах. На плате обычно располагают несколько процессоров одним кластером. В основном они используются блоками по четыре штуки. Тензорный процессор Google состоит в основном из вычислительного блока, матрицы 256×256 единиц. Он работает с восьмибитными целыми числами, достигает вычислительной мощности, составляющей 92 триллиона операций в секунду, и хранит результаты в памяти. На диаграмме показано, что матрица занимает лишь около четверти площади процессора. Остальные компоненты отвечают за постоянное обеспечение ядер новыми данными. Команды тензорные процессоры сами себе не подают — они поступают с подключенного сервера через PCI Express. Этим же путем передаются в ответ и конечные результаты.
Сравнительные оценки, необходимые для вычислений нейронной сети, поставляет модуль памяти First-In/First-Out. Так как там мало что меняется для конкретного приложения, достаточно подключения через оперативную память DDR3. Промежуточные результаты помещаются в буферный накопитель объемом 24 Мбайт и снова поступают в вычислительный блок.
Энергопотребление в сравнении
Сравнение производительности процессоров на потребленный ватт электроэнергии демонстрирует большую эффективность тензорных процессоров. Гонки с центральным и графическим процессорами. Тензорные процессоры вычисляют со скоростью 225 000 прогнозов для нейронной сети в секунду. CPU и GPU не выдерживают конкуренции. В 45 раз быстрее обычного процессора.
Хотя набор команд CISC (англ. Complex Instruction Set Computer — «компьютер с полным набором команд») тензорного процессора и может отработать сложные команды, их существует всего около десятка. И для большинства необходимых операций требуется только пять команд, в том числе команды чтения, выполнения умножения матрицы или вычисления функции активации. За счет оптимизации вычислений искусственного интеллекта тензорные процессоры оказываются значительно быстрее обычных процессоров (в 45 раз) или графических процессоров (в 17 раз). В то же время они работают с большей энергоэффективностью.
И Google при этом находится лишь в начале пути: с помощью простых мер производительность тензорных процессоров можно увеличивать и дальше. Одна только установка оперативной памяти GDDR5 может утроить нынешнюю вычислительную мощность.
[/su_spoiler]