Когда графические процессоры (GPU) только появились, никто и не думал, что со временем их станут так широко применять.

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

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

В подготовке статьи нам помогли эксперты Академии больших данных MADE от VK. Кстати, у них открыт набор на бесплатное обучение, где в том числе учат работать с GPU.

Что такое графические процессоры (GPU)

Графический процессор (GPU) — разновидность микропроцессора. В отличие от центрального процессора (CPU), в нем не десятки, а тысячи ядер. Из-за такой архитектуры у графических процессоров есть несколько особенностей:

  • Они могут параллельно выполнять одни и те же операции над целым массивом данных, например одновременно вычитать или складывать сразу много чисел.
  • В отличие от центральных процессоров, у GPU меньше точность вычислений, но ее достаточно для таких задач, как машинное обучение, где важнее высокая скорость.
  • Графические процессоры энергоэффективны. Например, один сервер, оснащенный GPU Nvidia Tesla V100, потребляет 13 кВт и обеспечивает такую же производительность, что и 30 серверов с центральными процессорами. То есть, используя графические процессоры, можно меньше платить за электроэнергию.
В центральном процессоре несколько ядер, в графическом — тысячи. Источник

Посмотрим на основные сферы применения технологии.

GPU и машинное обучение

Графические процессоры применяют на всех этапах машинного обучения — при подготовке данных, тренировке моделей машинного обучения и их промышленной эксплуатации.

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

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

«Цельс» — ИИ-платформа для анализа медицинских изображений, она обрабатывает поступающие из больниц снимки. Например, на КТ-снимках легких система способна распознать злокачественные новообразования и COVID-19. Обработка одного исследования занимает 60 секунд, точность выявления патологии — 95%.
«Цельс» обнаружил новообразования в молочной железе. Источник

Машинное обучение лежит в основе и компьютерного зрения — нейросети, которая умеет распознавать людей и объекты на фотографиях и видео.

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

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

Функцию распознавания эмоций, например, использовали в шоу финской телекомпании Yle. По правилам, его участники слушали шутки, стараясь сохранить нейтральное выражение лица. ИИ оценивал, насколько им это удалось.

ИИ определил, что на стоянке 35 грузовиков. Источник

GPU и обработка изображений

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

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

«Банк базовых продуктов» Роскосмоса предоставляет другим ведомствам и ученым снимки с космических аппаратов. Используя их, оценивают качество поверхностных вод, состояние лесов, следят за пожарной обстановкой и паводками. Чтобы на снимках можно было легко найти нужную информацию, система предварительно их обрабатывает.
На обработанном снимке черным цветом отмечено русло реки, синим — зоны подтоплений. Источник

GPU и рендеринг графики

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

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

Для мультфильма «Город героев» в Walt Disney использовали Hyperion — симулятор глобального освещения, который создавали около двух лет. Он производит сложные вычисления, чтобы рассчитать, как будет выглядеть непрямой свет, многократно отраженный от всех поверхностей. Для отрисовки «Города героев» расчеты проводились с помощью кластера, состоящего из 55 000 вычислительных ядер.
В мультфильме «Город героев» 83 000 зданий, 260 000 деревьев, 215 000 уличных фонарей и 100 000 автомобилей. Источник

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

GPU и тяжелые вычисления

Тяжелыми называют вычисления, в которых задействованы сложные алгоритмы, из-за чего они потребляют большое количество ресурсов. Пример таких вычислений — докинг. Это метод молекулярного моделирования, он позволяет подобрать молекулу, которая лучше всего взаимодействует с нужным белком.

Это трудоемкая и дорогая работа, например, в США на разработку одного нового лекарства уходит в среднем 985 млн долларов. Используя графические процессоры, фармкомпании экономят на вычислительных мощностях, ускоряют разработку и за счет этого тратят меньше денег.

В начале пандемии ученые из Московского государственного университета стали искать вещества, которые могут оказаться полезными для лечения коронавируса. Чтобы найти лекарство, они подобрали перспективный белок, проанализировали его структуру и создали модели для докинга. Молекулярное моделирование запустили на суперкомпьютере «Ломоносов».

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

В регионах, где давно добывают нефть, стандартные методы сейсморазведки уже не справляются с поиском залежей в нужных объемах. Так, например, случилось в Башкортостане, где первая скважина появилась еще в 1930-х годах.

Поэтому для разведки нефтяных запасов в ООО НПЦ «Геостра» использовали облачные решения. Расчеты велись на платформе VK Cloud (бывш. MCS). Для сложных расчетов использовали графические процессоры NVIDIA Tesla V100. Пилотный проект оказался успешным: удалось спрогнозировать эффективность будущих скважин и определить места для бурения.

GPU и промышленный интернет вещей

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

Например, WaveAccess на базе VK IoT Platform разработала решения для Единой платформы сбора и анализа данных, с помощью которой государство контролирует природопользование. Всего решений четыре: система мониторинга воздуха, дистанционного надзора за объектами культурного наследия, незаконной вырубкой лесов и зарастания сельхозземель. Платформа собирает данные с помощью датчиков IoT и выявляет инциденты в режиме реального времени. На основании этих данных государственные органы проводят проверки.

Еще решения в области интернета вещей используют для создания цифровых двойников — виртуальных копий станков или целых заводов. В таком случае система не просто анализирует данные с умных датчиков, а строит на их основе трехмерную модель оборудования. Фактически инженеры на компьютере видят, как работает тот или иной станок.

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

Например, благодаря цифровому двойнику Московской ТЭЦ-20 удалось повысить эффективность работы предприятия на 4%. Другой пример — виртуальный прототип завода КАМАЗ, где оцифровали почти 50 станков, а также манипуляторы, производственные роботы и другое оборудования. Благодаря этому на предприятии могут контролировать все этапы сборки автомобилей.

На заводе Siemens в Амберге выпускают 12 млн программируемых логических контроллеров в год, то есть одно изделие в секунду. На предприятии объединили виртуальное и реальное производство: на изделия нанесены коды, которые передают оборудованию его маршрут и требования к каждой операции — за процессом следят специальные программы. В итоге новые заказы на заводе выполняются за сутки, 99,99885% выпускаемой продукции полностью соответствует стандартам качества, а себестоимость снизилась на 25%.

Сверхмощные вычисления в облаке

Чтобы повысить скорость вычислений, необязательно закупать графические процессоры — мощности можно арендовать у облачного провайдера. У GPU в облаке есть несколько особенностей:

  • Быстрое подключение мощностей. Не нужно ждать поставок оборудования, провайдер подключает графические процессоры по запросу.
  • Возможность аренды на короткий срок. Если вам требуется разово произвести сложные вычисления, то вы можете подключить GPU только на это время, а затем сразу отключить.

На платформе VK Cloud (бывш. MCS) к виртуальным машинам можно подключить графические процессоры NVIDIA Tesla V100. Это одно из последних поколений GPU, в каждом процессоре 640 тензорных ядер. К нужной виртуальной машине графические процессоры подключают по запросу, для этого нужно обратиться в техподдержку.

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

Что нужно знать о графических процессорах

  1. Графические процессоры — разновидность микропроцессоров, которые содержат тысячи вычислительных ядер.
  2. Они быстро производят сложные расчеты, но потребляют меньше энергии, чем центральные процессоры.
  3. Сегодня GPU применяют в машинном обучении, обработке изображений, молекулярном моделировании и других сферах.
  4. Необязательно покупать графические процессоры, мощности с GPU можно арендовать у облачного провайдера.

Оригинал статьи на VC.ru.