- PVSM.RU - https://www.pvsm.ru -
Нужно построить больше GPU ↓
Deep Learning – одно из наиболее интенсивно развивающихся направлений в области машинного обучения.
Успехи исследований в области глубокого (глубинного) обучения вызывают за собой рост количества ML/DL-фреймворков (в т.ч. и от Google, Microsoft, Facebook), имплементирующих данные алгоритмы. За все возрастающей вычислительной сложностью DL-алгоритмов, и, как следствие, за увеличивающейся сложностью DL-фреймворков уже давно не угоняются аппаратные мощности ни настольных, ни даже серверных CPUs.
Выход нашли, и он простой (кажется таким) – использовать для такого типа compute-intensive-задач расчеты на GPU/FPGA. Но и тут проблема: можно, конечно, для этих целей использовать видеокарту любимого ноутбука, но какой русский data scientist не любит быстрой езды NVidia Tesla?
Подходов к владению высокопроизводительными GPU минимум два: купить (on-premises) и арендовать (on-demand). Как накопить и купить – тема не этой статьи. В этой — мы рассмотрим, какие предложения есть по аренде инстансов VM c высокопроизводительными GPU у облачных провайдеров Amazon Web Service и Windows Azure.
В начале августа 2016 года было объявлено о начале закрытого тестирования (private preview) инстансов виртуальных машин, оборудованных картами NVidia Tesla [1]. Эта возможность предоставляется в рамках сервиса Azure VM – IaaS-сервис предоставляющий виртуальные машины по требованию (аналог Amazon EC2).
C точки зрения доступа приложения к графическому процессора архитектура сервиса выглядит так:
Расчеты на GPU доступны на виртуальных машинах серии N, которые, в свою очередь, делятся на 2 категории:
Графические процессоры, предназначенные для compute-intensive нагрузки с использование CUDA/OpenCL. Графическими платами для них служат NVidia Tesla K80: 4992 CUDA ядра, >2.91/8.93 Tflops c двойной/одинарной точностью). Доступ к картам осуществляется с использованием технологии DDA (discrete device assignment), которая приближает производительность GPU при использовании через VM к bare-metal-производительности карты.
Как несложно догадаться, VM серии NC предназначены для ML/DL-задач.
В Azure доступны следующие конфигурации VM, оборудованных Tesla K80.
NC6 | NC12 | NC24 | |
Cores | 6 (E5-2690v3) | 12 (E5-2690v3) | 24 (E5-2690v3) |
GPU | 1 x K80 GPU (1/2 Physical Card) | 2 x K80 GPU (1 Physical Card) | 4 x K80 GPU (2 Physical Cards) |
Memory | 56 GB | 112 GB | 224 GB |
Disk | 380 GB SSD | 680 GB SSD | 1.44 TB SSD |
Виртуальные машины серии NV предназначены для визуализации. На данных VM стоят GPU Tesla M60 (4086 CUDA ядер, 36 потоков по 1080p H.264). Эти карты подойдут для задач (де)кодирования, рендеринга, 3D-моделирования.
Заявлено о доступности экземпляров VM со следующими конфигурациями:
NV6 | NV12 | NV24 | |
Cores | 6 (E5-2690v3) | 12 (E5-2690v3) | 24 (E5-2690v3) |
GPU | 1 x M60 GPU (1/2 Physical Card) | 2 x M60 GPU (1 Physical Card) | 4 x M60 GPU (2 Physical Cards) |
Memory | 56 GB | 112 GB | 224 GB |
Disk | 380 GB SSD | 680 GB SSD | 1.44 TB SSD |
Цены на N-Series Azure VM выглядят следующим образом (октябрь 2016) [5]:
Но пусть Ваше любопытство эти 4-ехзначные числа не уменьшают: как всегда, в облаке мы платим за использование ресурсов. Для IaaS-сервисов, каковым сервис Azure VM является, это стоит понимать, как почасовая тарификация. Кроме того, в Microsoft Azure есть много способов получить золото вычислительные ресурсы совершенно бесплатно [1].
Это распространяется на новые учетные записи в Azure, на студентов, на стартапы, если вы ищете лекарство от рака исследователь, или если Вы/компания, в которой Вы работаете, обладатель MSDN-подписки.
Облачный провайдер Amazon Web Services (AWS) начал предоставлять инстансы VM с графическими процессорами еще в 2010 году.
Еще в начале сентября (2016) GPU-инстансы AWS были представлены только семейством G2.
Конфигурации виртуальных машин семейства G2:
Model | GPUs | vCPU | Mem (GiB) | SSD Storage (GB) | Price, per hour/month |
g2.2xlarge | 1 | 8 | 15 | 1 x 60 | 0.65/468 |
g2.8xlarge | 4 | 32 | 60 | 2 x 120 | 2.6/1872 |
Инстансы G2 комплектуются графическими процессорами NVidia GRID K520 с 1556 CUDA-ядрами, поддержкой 4-ех видеопотоков 1080p H.264. Заявлено о поддержке CUDA/OpenCL. Также имеется поддержка технологии HVM (hardware virtual machine), которая по аналогии с DDA в Azure VM, минимизирует издержки, связанные с виртуализацией, позволяя на гостевой VM получать производительность GPU, близкую к bare-metal-производительности.
Пока я писал статью буквально месяц назад (конец сентября 2016) AWS анонсировали P2-инстансы, содержащие более современные графические карты.
Инстансы семейство P2 могут включать в себя до 8-ми карт NVIDIA Tesla K80. Заявлено о поддержке CUDA 7.5, OpenCL 1.2. Инстансы p2.8xlarge и p2.16xlarge поддерживают высокоскоростное GPU-to-GPU соединение, а для локальной сети доступно соединение до 20 Gbps по технологии ENA (Elastic Network Adapter – высокоскоростной сетевой интерфейс для Amazon EC2).
Instance Name | GPU Cores | vCPU Cores | Memory, Gb | CUDA Cores | GPU Memory | Network, Gbps |
p2.xlarge | 1 | 4 | 61 | 2496 | 12 | High |
p2.8xlarge | 8 | 32 | 488 | 19968 | 96 | 10 |
p2.16xlarge | 16 | 64 | 732 | 39936 | 192 | 20 |
Для сравнения возьмем самый производительный (NC24) и самый бюджетный (NC6) инстансы в Azure VM и, ближайшие по производительности к ажуровским, инстансы в Amazon EC2.
Instance Family | GPU Model | GPU Cores | vCPU Core | RAM, Gb | Network, Gbps | CUDA/OpenCL | Status | Price, $/mo | Price, $ per GPU/mo |
Amazon p2.xlarge | K80 | 1 | 4 | 61 | High | 7.5/1.2 | GA | 306 | 306 |
Azure NC6 | K80 | 1 | 6 | 56 | 10 (?) | +/+ | Private preview | 461 | 461 |
Amazon p2.8xlarge | K80 | 8 | 32 | 488 | 10 | 7.5/1.2 | GA | 2448 | 306 |
Azure NC24 | K80 | 8 | 24 | 224 | 10 (?) | +/+ | Private preview | 1882 | 235 |
AWS долго «мучали» data-science-сообщество довольно слабенькими и вместе с тем дорогими GPU-инстансами семейства G2. Но конкуренция на рынке облачных провайдеров сделала свое дело – месяц назад появились GPU-инстансы семейства P2, и выглядят они очень достойно.
Microsoft Azure также долго мучали коммьюнити вообще отсутствием GPU-инстансов (эта была одна из самых ожидаемых возможностей платформы Azure). На текущий момент GPU-инстансы в Azure выглядят крайне неплохо, хотя и не достает технических подробностей. Рreview-статус этой возможности – большой минус обычный этап в жизненном цикле большинства облачных сервисов.
Вообще Microsoft буквально за год-два серьезно обросла различными AI-технологиями / фреймворками/ инструментами, и в том числе (может — в первую очередь) для разработчиков и data scientist’ов. Насколько это все серьезно и удобно можно оценить самостоятельно, посмотрев записи с прошедшего в конце сентября Microsoft ML & DS Summit [6].
Кроме того, ровно через неделю – 1 ноября – пройдет конференция Microsoft DevCon School [2], один из треков которой полностью посвящен машинному обучению. И рассказывать там будут не исключительно про проприетарные технологии MS, а про привычные и «свободные» Python, R, Apache Spark.
Автор: codezombie
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/amazon-web-services/202612
Ссылки в тексте:
[1] получить золото вычислительные ресурсы совершенно бесплатно: http://www.codeinstinct.pro/2016/10/cloud-for-free.html
[2] Microsoft DevCon School: http://www.msdevcon.ru/
[3] NVIDIA GPUs in Azure: http://gpu.azure.com/
[4] Leveraging NVIDIA GPUs in Azure: https://channel9.msdn.com/Shows/Azure-Friday/Leveraging-NVIDIA-GPUs-in-Azure
[5] Linux GPU Instances: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html
[6] Анонс P2-инстансов в AWS: https://aws.amazon.com/blogs/aws/new-p2-instance-type-for-amazon-ec2-up-to-16-gpus/
[7] Цены на Azure Virtual Machines: https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/
[8] Microsoft Machine Learning & Data Science Summit: https://ignite.microsoft.com/microsoftdatascience
[9] Источник: https://habrahabr.ru/post/313478/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.