Зачем нам нужны нейронные процессоры?

Нейросети и нейропроцессоры — это наше настоящее и, безусловно, наше будущее! Именно искусственный интеллект помогает смартфонам стать ещё круче!
aka_opex 25 июня 2020 в 09:53

Нейросети сейчас называют новым электричеством. Мы их не замечаем, но пользуемся каждый день. Face ID в iPhone, умные ассистенты, сервисы перевода, и даже рекомендации в YouTube — всё это нейросети. Они развиваются настолько стремительно, что даже самые потрясающие открытия выглядят как обыденность.

Например, недавно в одном из самых престижных научных журналов Nature опубликовали исследование группы американских ученых. Они создали нейросеть, которая может считывать активность коры головного мозга и преобразовывать полученные сигналы в речь. С точностью 97 процентов. В будущем, это позволит глухонемым людям «заговорить».

И это только начало. Сейчас мы стоим на пороге новой технической революции сравнимой с открытием электричества. И сегодня мы объясним вам почему.

Как работают нейросети?

Центральный процессор — это очень сложный микрочип. Он умеет выполнять выполнять кучу разных инструкций и поэтому справляется с любыми задачами. Но для работы с нейросетями он не подходит. Почему так?

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

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

Вот например так выглядят веса для рукописных цифр. Похоже как будто очень много фоток цифр наложили друг на друга.

А вот так для нейросети выглядит кошка или собака. У искусственного интеллекта явно свои представления о мире.

Но вернёмся к арифметике. Перемножив эти веса на исходное изображение, мы получим какое-то значение. Если значение большое, нейросеть понимает:

— Ага! Совпало. Узнаю, это кошка.

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

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


Всё вроде бы просто, да не совсем. В нейросетях очень много нейронов и весов. Даже в простой однослойной нейросети, которая распознает цифры на картинках 28 x 28 пикселей для каждого из 10 нейронов используется 784 коэффициента, т.е. веса, итого 7840 значений. А в глубоких нейросетях таких коэффициентов миллионы.

CPU

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

Ну сколько ядер в современных процессорах? Если у вас восьмиядерный процессор дома, считайте вы счастливчик. На мощных серверных камнях бывает по 64 ядра, ну может немного больше. Но это вообще не меняет дела. Нам нужны хотя бы тысячи ядер.

Где же взять такой процессор? В офисе IBM? В секретных лабораториях Пентагона?

GPU

На самом деле такой процессор есть у многих из вас дома. Это ваша видеокарта.

Видеокарты как раз заточены на простые параллельные вычисления — отрисовку пикселей! Чтобы вывести на 4K-монитор изображение, нужно отрисовать 8 294 400 пикселей (3840×2160) и так 60 раз в секунду (или 120/144, в зависимости от возможностей монитора и пожеланий игрока, прим.ред.). Итого почти 500 миллионов пикселей в секунду!

Видеокарты отличаются по своей структуре от CPU. Почти всё место в видеочипе занимают вычислительные блоки, то есть маленькие простенькие ядра. В современных видюхах их тысячи. Например в GeForce RTX2080 Ti, ядер больше пяти тысяч.

Всё это позволяет нейросетям существенно быстрее крутиться GPU.

Производительность RTX2080 Ti где-то 13 TFLOPS (FLOPS — FLoating-point Operations Per Second), что значит 13 триллионов операций с плавающей запятой в секунду. Для сравнения, мощнейший 64-ядерный Ryzen Threadripper 3990X, выдаёт только 3 TFLOPS, а это заточенный под многозадачность процессор.

Триллионы операций в секунду звучит внушительно, но для действительно продвинутых нейронных вычислений — это как запустить FarCry на калькуляторе.

Недавно мы игрались с алгоритмом интерполяции кадров DAIN, основанном на машинном обучении. Алгоритм очень крутой, но с видеокартой Geforce 1080 уходило 2-3 минуты на обработку одного кадра. А нам нужно чтобы подобные алгоритмы работали в риалтайме, да и желательно на телефонах.

TPU

Именно поэтому существуют специализированные нейронные процессоры. Например, тензорный процессор от Google. Первый такой чип в Google сделали еще в 2015 году, а в 2018 вышла уже третья версия.


Производительность второй версии 180 TFLOPS, а третьей — целых 420 TFLOPS! 420 Триллионов операций в секунду. Как они этого добились?

Каждый такой процессор содержит 10-ки тысяч крохотных вычислительных ядер, заточенных под единственную задачу складывать и перемножать веса. Пока, что он выглядит огромным, но через 15 лет он существенно уменьшится в размерах. Но это еще фигня. Такие процессоры объединяться в кластеры по 1024 штуки, без каких либо просадок в производительности. GPU так не могут.

Такой кластер из тензорных процессоров третьей версии могут выдать 430 PFLOPS (пета флопс) производительности. Если что, это 430 миллионов миллиардов операций в секунду.

Где мы и что нас ждёт?

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

В 2000 году первый суперкомпьютер с производительностью 1 терафлопс занимал 150 квадратных метров и стоил 46 миллионов долларов.

Спустя 15 лет NVIDIA мощностью 2?3 терафлопса, которая помещается в руке стоит 59$.

Так что в следующие 15-20 лет суперкомпьютер Google тоже поместится в руке. Ну или где мы там будем носить процессоры?

Кадр из режиссерской версии фильма «Терминатор-2»

А мы пока ждём момента, довольствуемся нейромодулями в наших смартфонах — в тех же Qualcomm Snapdragon’ах, Kirin’ах от Huawei и в Apple Bionic — они уже тихо делают свою работу.

И уже через несколько презентаций они начнут меряться не гигагерцами, ядрами и терафлопсами, а чем-то понятным для всех — например, распознанных котиках в секунду. Всё лучше, чем попугаи!

 

Топ-10 мобильных процессоров по версии AnTuTu

Илья Рябов 7 марта 2016 в 01:38

В свободное время от оценки смартфонов виртуальными «попугаями», разработчики AnTuTu подсчитывают и преобразуют интересную статистику.

Antutu

В официальном блоге появились данные о 10 самых производительных мобильных процессоров начала 2016 года.
(далее…)

Helio X20 от MediaTek поражает производительностью

Илья Рябов 23 декабря 2015 в 07:28

Helio X20 — топовый процессор, над которым трудятся инженеры MediaTek, ещё до выхода смартфонов разогревая публику. Это и отличало чипсет китайцев от Snapdragon 810, который подогревал, как правило, смартфоны.

Helio X20

Результаты GeekBench доказывают другие преимуществе процессора, а именно производительность: Helio X20 показал впечатляющие результаты в тесте.
(далее…)

Huawei работает над собственными GPU и чипом памяти

Егор Беляков 21 декабря 2015 в 06:32

Компания Huawei подумывает о разработке собственных графических ускорителей и чипов памяти. Об этом свидетельствует отчет китайских источников.

Собственные комплектующие позволили бы корпорации существенно увеличить производительность смартфонов. Сейчас вендор из Поднебесной использует графику Mali от ARM.
(далее…)

Первые подробности о Helio X30 от MediaTek

Илья Рябов 12 ноября 2015 в 04:12

Похоже, MediaTek не оставляет шансов на реабилитацию процессора Snapdragon 820, который лишён проблем с перегревом.

MediaTek Helio X30
Уже на следующий день после презентации Qualcomm, от тайваньской компании произошла «утечка», касающаяся спецификаций флагманского чипсета Helio X30.
(далее…)

Планшет MiPad 2 от Xiaomi может получить процессор от Intel

Илья Рябов 6 августа 2015 в 05:28

Intel на протяжении многих лет является безусловным лидером на рынке процессоров для компьютеров и ноутбуков. Но добиться аналогичного титула в сфере мобильных решений у компании не получилось — балом правит Qualcomm. По сути, решения от Intel в смартфонах и планшетах использует лишь тайваньский производитель ASUS. Однако его одиночество вскоре может быть нарушено.

MiPad

По слухам, компания Xiaomi рассматривает возможность установить чипсет от Intel в новом планшете.
(далее…)

Project Ganesh повысит производительность Chrome на Android

Егор Беляков 20 ноября 2014 в 04:42

Google совсем скоро улучшит производительность браузера Chrome для Android с помощью нового проекта, который получил название Project Ganesh.

Дудл от Google с богом Ганешем

Компания планирует перенести все вычисления с процессора, который в данный момент обсчитывает весь код, на ускоритель, отвечающий только за вывод информации на экран устройства.
(далее…)