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

Нейронные сети теперь называют новым электричеством.

Мы их не замечаем, но пользуемся ими каждый день.

Face ID в iPhone, умные помощники, сервисы перевода и даже рекомендации на YouTube — всё это нейронные сети.

Они развиваются настолько стремительно, что даже самые удивительные открытия кажутся банальностью.

Например, недавно исследование группы американских ученых было опубликовано в одном из самых престижных научных журналов Nature. Они создали нейронную сеть, способную считывать активность коры головного мозга и преобразовывать полученные сигналы в речь.

С точностью 97 процентов.

В будущем это позволит глухонемым людям «говорить».

И это только начало.

Сейчас мы стоим на пороге новой технической революции, сравнимой с открытием электричества.

И сегодня мы объясним вам почему.



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

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

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

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

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

Эти коэффициенты называются весами.



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

Например, так выглядят веса рукописных цифр.

Похоже на то, что много фотографий номеров наложились друг на друга.



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

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

Искусственный интеллект явно имеет свои представления о мире.

Но вернемся к арифметике.

Умножив эти веса на исходное изображение, мы получим некоторое значение.

Если значение велико, нейронная сеть понимает: - Ага! Совпадение.

Я узнаю в нем кошку.

А если число окажется небольшим, то это означает, что в областях с большим весом не было необходимых данных.

Вот как это работает. Вы можете видеть, как количество нейронов уменьшается от слоя к слою.

В начале их столько, сколько пикселей на изображении, а в конце всего десять — количество ответов.

С каждым слоем изображение упрощается до правильного ответа.

Кстати, если запустить алгоритм в обратном порядке, то можно что-то сгенерировать.



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

Вроде все просто, но не совсем.

Нейронные сети имеют много нейронов и весов.

Даже в простой однослойной нейронной сети, распознающей числа на картинках размером 28 х 28 пикселей, для каждого из 10 нейронов используется 784 коэффициента, т.е.

весов, всего 7840 значений.

А в глубоких нейронных сетях таких коэффициентов миллионы.



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



Процессор

И вот в чем проблема: классические процессоры не рассчитаны на такие массовые операции.

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

Это связано с тем, что процессоры не предназначены для выполнения массово-параллельных операций.

Ну а сколько ядер в современных процессорах? Если у вас дома есть восьмиядерный процессор, считайте, что вам повезло.

На мощных серверных камнях 64 ядра, ну может чуть больше.

Но это совершенно не меняет дела.

Нам нужны как минимум тысячи ядер.



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

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

графический процессор

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

Это ваша видеокарта.

Видеокарты предназначены для простых параллельных вычислений – рисования пикселей! Для вывода изображения на 4К-монитор необходимо отрисовывать 8 294 400 пикселей (3840x2160) 60 раз в секунду (или 120/144, в зависимости от возможностей монитора и желания игрока, прим.

редактора).

Итого почти 500 миллионов пикселей в секунду! Видеокарты по своей структуре отличаются от процессоров.

Практически все пространство видеочипа занимают вычислительные блоки, то есть небольшие простые ядра.

В современных видеокамерах их тысячи.

Например, GeForce RTX2080 Ti имеет более пяти тысяч ядер.



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



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

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



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

Производительность RTX2080 Ti составляет около 13 терафлопс ( ФЛОПС -Операций с плавающей запятой в секунду ), что означает 13 триллионов операций с плавающей запятой в секунду.

Для сравнения, самый мощный 64-ядерный Ryzen Threadripper 3990X выдает всего 3 терафлопс, и это процессор, рассчитанный на многозадачность.

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

Недавно мы экспериментировали с алгоритмом интерполяции кадров DAIN, основанным на машинном обучении.

Алгоритм очень крутой, но с видеокартой Geforce 1080 обработка одного кадра занимала 2-3 минуты.

Но нам нужно, чтобы такие алгоритмы работали в реальном времени и желательно на телефонах.



ТПУ

Вот почему существуют специализированные нейронные процессоры.

Например, Tensor Processor от Google. Google сделал первый такой чип еще в 2015 году, а в 2018 году вышла третья версия.



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



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

Производительность второй версии составляет 180 терафлопс, а третьей — целых 420 терафлопс! 420 триллионов операций в секунду.

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

Пока он выглядит огромным, но через 15 лет значительно уменьшится в размерах.

Но это всё равно ерунда.

Такие процессоры объединяются в кластеры по 1024 штуки, без каких-либо просадок производительности.

Графические процессоры не могут этого сделать.



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



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



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

Такой кластер тензорных процессоров третьей версии может выдавать 430 ПФЛОПС (петафлопс) производительности.

Во всяком случае, это 430 миллионов миллиардов операций в секунду.



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

Но, как мы уже говорили, это только начало.

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



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

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



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

15 лет спустя мощность NVIDIA в 2,3 терафлопс, которая умещается в вашей руке, стоит 59 долларов.



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

Так что в ближайшие 15-20 лет суперкомпьютер Google тоже поместится в вашей руке.

Ну или куда будем возить процессоры?

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

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

Пока мы ждем момента, довольствуемся нейромодулями в наших смартфонах — в тех же Qualcomm Snapdragons, Kirins от Huawei и Apple Bionic — они уже спокойно делают свое дело.



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

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

Всё лучше, чем попугаи!

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

Теги: #gpu #nvidia #Процессоры #Intel #Google #qualcomm #AMD #Apple #искусственный интеллект #AI #CPU #компьютерное зрение #TPU #TPU #snapdragon #NPU

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.