- PVSM.RU - https://www.pvsm.ru -
Nvidia представили [1] open source платформу Rapids, задача которой ускорить работу алгоритмов машинного обучения на GPU. Рассказываем об особенностях инструмента и его аналогах.
[2]
/ фото Martin Brigden [3] CC [4]
В списке технологий компании Nvidia есть архитектура параллельных вычислений CUDA. Её цель — ускорить проведение вычислений за счет передачи части задач GPU вместо CPU. В некоторых случаях это позволяет ускорить [5] работу приложений и алгоритмов в 18 раз.
По этой причине она нашла широкое применение в сфере машинного обучения. Например, исследователи из университетов Флориды и Северной Каролины разрабатывают с её помощью движок нейронной сети [6] для квантовых симуляций.
Для разработки алгоритмов МО используется большое количество различных библиотек. Многие из них написаны на языке Python [7]. Но не все они поддерживают работу с CUDA. В качестве примера таких инструментов можно привести Python-библиотеки для машинного обучения scikit-learn и pandas. Чтобы запустить Python-код в архитектуре CUDA, исследователи используют отдельные библиотеки Numba или PyCUDA. При этом код некоторых компонентов приходится переписывать [8] вручную, что бывает сложно, так как нужно знать особенности программирования для GPU.
С целью автоматизировать перенос кода, компания Nvidia представила новую открытую платформу Rapids. Разработчикам не нужно прибегать к разным библиотекам: они просто пишут код на Python, а Rapids автоматически оптимизирует его для запуска на GPU.
Для сопоставления процессов Rapids использует общую базу данных, которая лежит в памяти GPU. Данные хранятся в формате [9] Apache Arrow, едином для всех инструментов платформы. Это решение помогает ускорить процесс машинного обучения в 50 раз по сравнению с системами, в которых используются и графические, и центральные процессоры.
При этом на платформе Rapids доступны инструменты, с помощью которых на графическом чипе можно провести весь процесс работы с нейронными сетями: от подготовки данных до вывода результата.
Количество решений в репозитории GitHub Rapids [10] активно пополняется. Например, там есть библиотека cuDF [11] для подготовки данных и тренировки нейронной сети, и библиотека cuML [12] позволяет разрабатывать алгоритмы машинного обучения, не вдаваясь в подробности программирования для CUDA.
Nvidia продолжит развивать платформу. Создатели проекта планируют добавить в Rapids инструменты для визуализации данных, анализа графов и глубокого обучения. Также в программу интегрируют [13] фреймворк Apache Spark.
В технологическом сообществе поддержали релиз Rapids, но её дальнейшее развитие вызвало несколько вопросов у экспертов и пользователей.
Например, в поддержку нового решения высказались менеджеры Cisco, Dell, NetApp, Lenovo и других компаний. Генеральный директор Anaconda Скотт Коллисон (Scott Collison) сказал [13], что Rapids упростит сбор и подготовку данных для обучения сложных систем ИИ. С ним согласен создатель Apache Arrow и pandas Уэс Маккинни (Wes McKinney). По его словам, Rapids приведет к росту производительности в задачах, связанных с созданием признаков (feature engineering [14]).
/ фото Sander van der Wel [15] CC [16]
Однако в сообществе также есть мнение [17], что Rapids нельзя считать действительно open source проектом. Система работает только с картами Nvidia, и выпуск платформы может быть маркетинговым ходом, чтобы привлечь новых клиентов. Компания пока не уточняла, будет ли платформа работать с устройствами других производителей.
IBM планирует [18] внедрить платформу в сервисы для работы с системами искусственного интеллекта: PowerAI, Watson и в IBM Cloud. О поддержке Rapids объявила и Oracle — платформа доступна [19] на инфраструктуре Oracle Cloud.
Новый продукт Nvidia также протестировали Walmart и Uber. Первой Rapids помог усовершенствовать [20] алгоритмы системы, отвечающей за управление товарными запасами. По словам [21] представителей ритейлера, Rapids ускорил развертку алгоритмов машинного обучения. Что касается Uber, то компания использует [22] Rapids в разработке систем беспилотных автомобилей.
Не только Nvidia разрабатывает платформу для ускорения МО. Например, компания AMD занимается проектом ROCm [23] (Radeon Open Compute). Это открытая платформа для высокопроизводительных вычислений на GPU.
Особенность ROCm состоит в том, что она не зависит от языка программирования и способна работать практически с любой видеокартой. В том числе c картами Nvidia. Для этого используется [24] специальный диалект C++, который называется HIP. Он упрощает преобразование приложений CUDA в портируемый код на С++. Код конвертируется автоматически специальной системой Hipify.
При этом ROCm поддерживает [25] большое количество библиотек Math Acceleration Libraries. Среди них можно выделить BLAS, FFT и свертку тензора [26].
Эксперты ИТ-индустрии отмечают, что решения с открытым исходным кодом для акселерации гетерогенных и GPU-вычислений, подобные ROCm и Rapids, дают разработчикам возможность эффективнее использовать вычислительные ресурсы и получать большую производительность от имеющегося в распоряжении железа.
Автор: ИТ-ГРАДовец
Источник [34]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/vy-sokaya-proizvoditel-nost/298675
Ссылки в тексте:
[1] представили: https://siliconangle.com/2018/10/10/nvidia-rides-rapids-accelerate-gpus-ai-training/
[2] Image: https://habr.com/company/it-grad/blog/429286/
[3] Martin Brigden: https://www.flickr.com/photos/noddymini/16647003774/
[4] CC: https://creativecommons.org/licenses/by/2.0/
[5] позволяет ускорить: https://www.nvidia.ru/object/cuda-parallel-computing-ru.html
[6] разрабатывают с её помощью движок нейронной сети: http://images.nvidia.com/content/pdf/ufl-and-unc-success-story.pdf
[7] из них написаны на языке Python: https://datascienceplus.com/top-python-libraries-for-machine-learning/
[8] переписывать: https://toster.ru/q/459083
[9] формате: https://medium.com/rapids-ai/announcing-ursa-labss-partnership-with-nvidia-7fde985138d
[10] репозитории GitHub Rapids: https://github.com/RAPIDSai
[11] cuDF: https://github.com/rapidsai/cudf-alpha
[12] cuML: https://github.com/rapidsai/cuml
[13] интегрируют: https://nvidianews.nvidia.com/news/nvidia-introduces-rapids-open-source-gpu-acceleration-platform-for-large-scale-data-analytics-and-machine-learning
[14] feature engineering: https://en.wikipedia.org/wiki/Feature_engineering
[15] Sander van der Wel: https://commons.wikimedia.org/wiki/File:Fast_train_(4712207733).jpg
[16] CC: https://creativecommons.org/licenses/by-sa/2.0
[17] есть мнение: https://www.guru3d.com/news-story/nvidia-introduces-rapids-open-source-gpu-acceleration-platform.html
[18] планирует: https://techcrunch.com/2018/10/10/nvidia-launches-rapids-to-help-bring-gpu-acceleration-to-data-analytics/
[19] доступна: https://www.oracle.com/corporate/pressrelease/oracle-nvidia-bring-cloud-101018.html
[20] помог усовершенствовать: http://www.alphr.com/artificial-intelligence/1010027/nvidia-machine-learning-gpus-rapids
[21] словам: https://twitter.com/NvidiaAI/status/1050536532115947524
[22] использует: https://www.bizjournals.com/sanjose/news/2018/03/29/nvidia-uber-self-driving-software-platform-nvda.html
[23] ROCm: https://github.com/RadeonOpenCompute/ROCm
[24] используется: https://rocm.github.io/languages.html
[25] поддерживает: https://overclockers.ru/itnews/show/80510/amd-predstavlyaet-novuju-versiju-programmnogo-obespecheniya-radeon-open-compute-rocm-samoj-universalnoj-platformy-s-otkrytym-ishodnym-kodom-dlya-vychislenij-na-graficheskih-processorah
[26] свертку тензора: https://ru.wikipedia.org/wiki/%D0%A1%D0%B2%D1%91%D1%80%D1%82%D0%BA%D0%B0_%D1%82%D0%B5%D0%BD%D0%B7%D0%BE%D1%80%D0%B0
[27] Как IaaS помогает развивать бизнес: три задачи, которые решит облако: https://iaas-blog.it-grad.ru/tendencii/kak-iaas-pomogaet-razvivat-biznes-tri-zadachi-kotorye-reshit-oblako/
[28] Эффект GDPR: как новый регламент повлиял на IT-экосистему: https://iaas-blog.it-grad.ru/bezopasnost/effekt-gdpr-kak-novyj-reglament-povliyal-na-it-ekosistemu/
[29] «Как дела у VMware»: обзор новых решений: https://iaas-blog.it-grad.ru/novosti/kak-dela-u-vmware-obzor-novyx-reshenij/
[30] Telegram-канале: https://t.me/iaasblog
[31] NetApp от А до Я: обзор технологий вендора: https://t.me/iaasblog/174
[32] Почему хороший IaaS-провайдер не строит свой ЦОД: https://t.me/iaasblog/173
[33] Что еще есть у VMware: инструменты виртуализации: https://t.me/iaasblog/172
[34] Источник: https://habr.com/post/429286/?utm_source=habrahabr&utm_medium=rss&utm_campaign=429286
Нажмите здесь для печати.