OpenCL/AMD: глубокое обучение
В то время как "googl'ing" и некоторые исследования я не смог найти любую серьезную/популярную структуру /sdk для научных GPGPU-Computing и OpenCL на оборудовании AMD. Есть ли какая-либо литература и/или программное обеспечение, которое я пропустил?
Особенно меня интересует глубокое обучение.
Для всех, кого я знаю, deeplearning.net рекомендует оборудование NVIDIA и CUDA. Кроме того, все большие глубокие рамки обучения, которые я знаю, такие как Caffe, Theano, Torch, DL4J,... сосредоточены на CUDA и не планируют поддерживать OpenCL/AMD.
Кроме того, можно найти множество научных статей, а также соответствующую литературу для задач глубокого обучения, основанных на CUDA, но почти ничего для решений на базе OpenCL/AMD.
Есть ли вероятность, что новые или существующие научные рамки появятся для решений на базе OpenCL/AMD в 2015/16?
Какое хорошее начало для глубокого обучения с OpenCL/AMD? Любая литература? Учебники? Разные источники?
Ответы
Ответ 1
Редактировать 1 См . Ответ Микаэля Руссона - теперь Amazon - это путь вперед, поскольку вы можете "арендовать" у них вычислительную мощность.
Редактировать 2 Я создал серию руководств по настройке theano
Amazon EC2 для глубокого обучения с помощью theano
. Это намного удобнее, чем работать на персональном компьютере.
Редактировать 3 Похоже, что TensorFlow сейчас гораздо более широко принят, чем theano
поэтому я соответствующим образом обновил руководство.
Я был в той же ситуации, что и вы, у меня есть MacBook Pro с графикой Intel Iris. Я провел большую часть недели, просматривая все возможные обходные пути, и я буду более чем рад предложить альтернативы тем, которые я предлагаю.
Лучшее решение, которое у меня сейчас есть, это:
- Установите
python
библиотеку tensorflow
и использовать то, что GPU поддержки есть и продолжать обновлять до последних версий развития. - Используйте
theano
- и используйте существующую поддержку GPU аналогично tensorflow
- Купите видеокарту NVIDIA и используйте ее на ПК
- Если вам абсолютно необходимо решение в OpenCL, и вы готовы кодировать все с высокого уровня понимания (без учебных пособий), посмотрите на DeepCL и, возможно, pyOpenCl.
Я обнаружил, что любое решение, использующее OpenCL, например pyOpenCl, еще не имеет дружественных интерфейсов для глубокого обучения, то есть потребуется больше времени для его кодирования альтернативным методом, чем просто для быстрого кодирования и запуска на CPU. Тем не менее, вот некоторые из лучших альтернативных библиотек OpenCL для глубокого изучения:
В развитии
Ответ 2
--- Aug 2017 Обновление новых вещей произошло на стороне AMD ---
теперь на самом деле можно запускать любую библиотеку на большинстве аппаратных средств AMD
Проверить здесь
По состоянию на 25 октября 2015 года
кажется, что AMD и другие расширили свои возможности по разработке нескольких ускорителей OpenCL для разукрашивания. Итак, поддержка OpenCL теперь существует для разукрашивания:)
Это список ускоренных рамок OpenCL или инструментов, которые были разработаны с учетом глубокого изучения в первую очередь. Я надеюсь, что они будут обновлены в предстоящие годы.
Мы знаем, что сейчас (25 октября 2015 года) существуют три глубокие рамки обучения, которые очень популярны для исследователей и видели некоторые коммерческие продукты
caffe имеет довольно хорошую поддержку OpenCL, потому что amd разработала полную версию caffe, которая поддерживает почти все функции кофе, а также активно развивается. он называется OpenCL Caffe. и вот репозиторий
OpenCL Caffe
если вы думаете о производительности, то в соответствии с этим сайтом (я сам не скачал его) он дает около 261 изображений в секунду или 22,5 миллиона изображений в день на оборудовании AMD R9 Fury (обучение). сравнить с nvidia K40, который может обрабатывать 40 миллионов изображений в день. поэтому, согласно сайту, он может дать половину производительности в одной шестой деньгах (учитывая, что k40 составляет 3000 $, а ярость r9 - около 600 $). однако использование любой потребительской карты даст вам проблему с памятью (vram), что очень важно при глубоком обучении.
Факел в последние дни также, похоже, имеет достойную поддержку OpenCL. Однако он поддерживается одним человеком. Он утверждает, что полностью поддерживает все функции факела. Однако это не дает представления о производительности. Вот репозиторий. он активно поддерживается.
cltorch
В настоящее время, похоже, не существует достойного backend для anano-структуры, но работа продолжается. и простые программы могут быть выполнены с текущей версией.
Есть и другие ракурсы opencl для деионизации. Потребуется некоторое время, чтобы разобраться, правильно ли они работают или нет.
Ответ 3
Альтернативой является использование экземпляров GPU для веб-служб Amazon.
Вы можете найти AMI с общедоступными пакетами глубокого обучения, которые уже установлены. Например:
Совет: используйте точечные экземпляры, чтобы получить более дешевую цену (около 10 центов за час для g2.2xlarge).
Ответ 4
PlaidML (https://github.com/plaidml/plaidml) является средой глубокого обучения с открытым исходным кодом, которая работает поверх OpenCL и интегрируется с Keras для обеспечения знакомого пользовательского API. README в репозитории имеет более подробный статус, в настоящее время вывод Linux с поддержкой Connet хорошо поддерживается, но мы (http://vertex.ai) работаем над тем, чтобы как можно быстрее расширить полноту и поддержку платформы. Наши машины с непрерывной интеграцией включают в себя ассортимент графических процессоров AMD и NVIDIA, пока что все Linux, но мы также работаем над добавлением Mac и Windows.
Ответ 5
Я пишу opencl 1.2 для поддержки Tensorflow. https://github.com/hughperkins/tensorflow-cl В настоящее время поддерживается:
- умножение матрицы blas
- градиенты
- собственные операции, такие как: сокращения, argmin/argmax, операции с элементами (двоичные и унарные)
Ответ 6
TensorFlow теперь поддерживает OpenCL на roadmap.
Смотрите: проблема Github.
Надеюсь, это не так далеко от рабочей версии.
Ответ 7
Пожалуйста, ознакомьтесь с https://01.org/intel-deep-learning-framework - Intel® Deep Learning Framework (IDLF) обеспечивает унифицированную инфраструктуру для платформ Intel®, ускоряющих глубокую сверкающую нейронную сети. Это Open Source, поэтому вы можете перенести его на оборудование AMD. Замечательная вещь: она может работать на MacBook Pro с графикой Intel Iris.
Ответ 8
Ознакомьтесь с платформой ROCm, которая управляется AMD. Это первая платформа HPC/Hyperscale класса с открытым исходным кодом для графических процессоров, которая также не зависит от языка программирования.
В частности:
Ответ 9
Эта книга - очень хорошее начало для изучения глубокого обучения: Deep Learning