ПаВТ 2016: Ускорители NVIDIA для суперкомпьютеров и нейронных сетей

 

Наличие различного рода ускорителей, в том числе на базе GPU, сегодня вряд ли кого-то удивит – в свежем рейтинге TOP500 более сотни машин имели такие ускорители, хотя лет пять назад их было совсем немного. Впервые же GPU для высокопроизводительных вычислений стали применяться в 2007 году. В TOP500 66 из 104 систем используют карты NVIDIA Tesla. Столь большой интерес к применению GPU не случаен. Согласно данным NIVIDA, дооснащение всего лишь одной трети узлов суперкомпьютера ускорителями позволяет увеличить эффективную производительность системы в два раза.

В отдельных задачах преимущество GPU перед обычными x86-процессорами может быть десятикратным. Естественно, речь идёт лишь о тех приложениях (и алгоритмах), которые способны задействовать массивно-параллельную архитектуру и самих GPU, и их групп. Впрочем, на данный момент число таких приложений достаточно велико и постоянно растёт. Совсем недавно NVIDIA обновила свой каталог такого ПО, который включает не одну сотню пунктов.

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

На данный момент наиболее мощным ускорителем NVIDIA для таких задач является карта Tesla K80, и именно её компания предлагает использовать в своих проектах. Ещё один продукт – недавно представленный ускоритель NVIDIA Tesla M40 – предназначен для несколько иных задач, а именно для работы с нейронными сетями и так называемым глубинным обучением (deep learning).

Глубинное обучение – это подобласть машинного обучения, которая в последние пару лет стала невероятно популярной. Прелесть его в том, что на данный момент имеются огромные массивы данных, на которых можно обучать нейросети, и уже есть достаточно вычислительных мощностей, чтобы делать это быстро. А это позволяет создавать такие системы, которые способны к самообучению без лишнего вмешательства человека. В качестве примера нередко используют описание работы систем распознавания объектов на изображениях. В данном случае используется многослойная нейросеть.

На вход первичной сети подаётся массив изображений, то есть сеть работает с пикселями, цветами и так далее. Следующий слой сети обрабатывает уже не пиксели, а те группы нейронов первичного слоя, которые возбуждаются чаще других. Следом за ним очередной слой реагирует на возбуждения в предыдущей сети и так далее. В конце концов, продвигаясь от мелких деталей к картине целиком, сеть работает уже не с отдельными пикселями, а с гораздо более абстрактными объектами, будь то, к примеру, отдельные части лица, или лицо целиком, или вообще любой объект, который можно классифицировать. При достаточно большом объёме качественных исходных данных (тех же картинок, например) нейросеть со временем сама «научится» распознавать нужные объекты в любых других данных, не входящих в исходный набор для обучения. В этом и заключается отличие от «классического» подхода, когда люди пытались вручную описать критерии распознавания, и была необходимость регулярно корректировать их.

Хорошим примером использования глубинного обучения и GPU для его работы является ежегодный международный конкурс ImageNet. Суть конкурса сводится к тому, что участникам перед началом соревнований даётся примерно полтора миллиона «размеченных» изображений, то есть картинок с кратким описанием того, что на них изображено. Эти данные участники используют для тренировки своих нейросетей, а во время соревнования им даются случайные изображения из другого набора, на которых нейросеть должна распознать имеющиеся объекты. Чем точнее нейросеть их определит, тем больше баллов она заработает. Три года назад для обучения сетей впервые стали использоваться GPU. С тех пор первые места стабильно достаются системам с GPU и, как бы фантастично это ни звучало, точность распознавания стала выше, чем у человека! На текущий момент этот показатель составляет 98,8 %.

Другой, более свежий пример – программа AlphaGo, выигравшая в го у одного из сильнейших игроков мира. В го невозможно перебрать все ходы, и нейросеть выработала «интуицию» (если так можно вообще говорить о машинах), предварительно «изучив» партии известных игроков и играя сама с собой. Впрочем, в реальной жизни подобные технологии применяются в самых разнообразных сферах – компании занимаются переводом и распознаванием текста, предлагают поиск по картинкам, классифицируют изображения, анализируют видео, обрабатывают статистические данные и занимаются прогнозированием, создают автономных роботов и беспилотные автомобили, выявляют предрасположенность человека к заболеваниям и так далее. Чем больше реальных и качественных данных получает сеть, тем лучше она работает. (А чем больше некачественных, тем хуже – так вышло у Microsoft с чат-ботом Tay.)

И это всё то, что нельзя заранее запрограммировать, чему можно обучиться только на примерах и ситуациях из реальной жизни. Очевидная область применения – беспилотные транспортные средства. Для неё у NVIDIA также есть решение – мобильная платформа Jetson на базе Tegra, которая уже используется в ряде прототипов БПЛА и робомобилей, как раз с применением нейросетей. По словам представителя компании, в недалёком будущем ужесточатся правила для транспорта на дорогах общего пользования (в первую очередь для грузовиков), и без подобных «умных» систем обойтись будет нельзя. Буквально на днях в ходе выставки GPU Technology Conference 2016 NVIDIA анонсировала новую графическую архитектуру Pascal и первый процессор на её основе — GP100, а также представила новые ускорители Tesla P100 и суперкомпьютер DGX-1 на их основе, который был создан специально для задач глубинного обучения.

У вашей машины есть идея, почему моя машина её остановила? Источник: New Yorker

У вашей машины есть идея, почему моя машина её остановила? Источник: New Yorker

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

Источник:

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