Я. Гудфеллоу, И. Бенджио, А. Курвилль


Реализации на быстрых CPU



Download 14,23 Mb.
Pdf ko'rish
bet461/779
Sana14.06.2022
Hajmi14,23 Mb.
#671946
TuriКнига
1   ...   457   458   459   460   461   462   463   464   ...   779
Bog'liq
Гудфеллоу Я , Бенджио И , Курвилль А Глубокое обучение

12.1.1. Реализации на быстрых CPU
Традиционно обучение нейронных сетей производилось на одной машине с одним 
центральным процессором (CPU). Сегодня это считается недостаточным. Мы ис-
пользуем в основном вычисления на графических процессорах (GPU) или на CPU 
многих машин, связанных в единую сеть. Но прежде чем перейти на такие дорогостоя-
щие конфигурации, исследователям пришлось немало потрудиться, чтобы доказать, 
что CPU уже не справляются с вычислительной нагрузкой, необходимой нейронным 
сетям.


374 

 
Приложения
Описание эффективной реализации вычислений на CPU выходит за рамки этой 
книги, но отметим, что тщательно продуманная реализация на CPU нескольких се-
мейств может принести весомые плоды. Например, в 2011 году на лучших в то вре-
мя CPU код нейронных сетей выполнялся быстрее при использовании арифметики 
с фиксированной, а не с плавающей точкой. В работе Vanhoucke et al. (2011) благодаря 
тщательно оптимизированной реализации с фиксированной точкой удалось добить-
ся трехкратного ускорения по сравнению с системой на базе арифметики с плаваю-
щей точкой. Характеристики каждой новой модели CPU отличаются от предыду-
щей, поэтому иногда можно ускорить и реализации с плавающей точкой. Принцип 
остается общим – специализация численных процедур может дать значительный 
выигрыш. Есть и другие стратегии, в т. ч. оптимизация структур данных с целью из-
бежать промахов кэша и использование векторных команд. Многие исследователи, 
занимающиеся машинным обучением, пренебрегают такими деталями реализации, 
но если производительность реализации ограничивает размер модели, то страдает 
верность модели.
12.1.2. Реализации на GPU
Большинство современных реализаций нейронных сетей основано на использовании 
графических процессоров (GPU) – специализированного оборудования, которое из-
начально разрабатывалось для графических приложений. Потребительский рынок 
систем для видеоигр подстегнул создание графических карт. Как выяснилось, харак-
теристики производительности, необходимые для игровых систем, подходят и для 
нейронных сетей.
Для отрисовки экрана в видеоиграх необходимо быстро выполнять много парал-
лельных операций. Модели персонажей и окружения описываются в виде списков 
трехмерных координат вершин. Графическая карта должна параллельно выполнять 
умножение и деление матриц в большом числе вершин для преобразования трехмер-
ных координат сцены в двумерные экранные координаты. Затем карта должна парал-
лельно выполнить вычисления в каждом пикселе, чтобы определить его цвет. В обоих 
случаях вычисления довольно простые и не содержат такого большого количества 
ветвлений, как в типичной программе, выполняемой на CPU. Например, каждая вер-
шина одного твердого тела умножается на одну и ту же матрицу; не нужно выполнять 
в каждой вершине предложение if, чтобы понять, на какую матрицу умножать. К тому 
же вычисления абсолютно независимы и, следовательно, легко распараллеливаются. 
Кроме того, в процессе вычислений производятся обращения к большим буферам 
в памяти, в которых хранятся растры, описывающие текстуру (цветовой узор) каждо-
го отрисовываемого объекта. Поэтому при проектировании графических карт закла-
дываются высокая степень параллелизма и пропускная способность памяти, а рас-
плачиваться за это приходится меньшей тактовой частотой и не столь развитыми 
средствами ветвления, как в традиционных процессорах.
Алгоритмам нейронных сетей свойственны такие же характеристики производи-
тельности, как для графических алгоритмов реального времени. В нейронных сетях 
обычно имеется много больших буферов параметров, значений активации и градиен-
тов, каждый из которых необходимо полностью обновлять на каждом шаге обучения. 
Эти буферы не помещаются в кэш стандартного настольного компьютера, поэтому 
пропускная способность памяти часто оказывается лимитирующим фактором. Важное 
преимущество GPU над CPU заключается именно в высокой пропускной способно-


Крупномасштабное глубокое обучение 

375
сти памяти. В алгоритмах обучения нейронных сетей обычно не так много ветвлений 
и сложных средств управления потоком вычислений, поэтому они пригодны для ра-
боты на GPU. Поскольку нейронную сеть можно разложить на множество отдельных 
«нейронов», обрабатываемых независимо от других нейронов в том же слое, то для их 
обучения средства распараллеливания, имеющиеся в GPU, оказываются весьма кстати.
Оборудование GPU первоначально было специализировано только под графи-
ческие задачи. Со временем оно стало более гибким, позволяющим использовать 
пользовательские подпрограммы для преобразования координат вершин и назначе-
ния цветов пикселям. В принципе, не требуется, чтобы пиксели были как-то связаны 
с задачей отрисовки. Такие GPU можно использовать для научных расчетов, если 
записывать результаты вычислений в буфер значений пикселей. В работе Steinkrau 
et al. (2005) реализована двухслойная полносвязная нейронная сеть на GPU и отме-
чено трехкратное ускорение, по сравнению с эталоном, работающим на CPU. Вскоре 
после этого в работе Chellapilla et al. (2006) было продемонстрировано, что такую же 
технику можно применить для ускорения сверточных сетей с учителем.
Использование графических карт для обучения нейронных сетей испытало на-
стоящий взрыв популярности с появлением 

Download 14,23 Mb.

Do'stlaringiz bilan baham:
1   ...   457   458   459   460   461   462   463   464   ...   779




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish