< Участник:Mikethehuman(Различия между версиями)
|
|
(25 промежуточных версий не показаны.) |
Строка 1: |
Строка 1: |
- | [[Изображение:Caffe_theano_screenshot.png|thumb]]
| |
- | [[Изображение:Theano_console_screenshot.png|thumb]]
| |
| | | |
- | Глубокое обучение – быстро развивающийся сегмент области знания, связанной с искусственным интеллектом, - является катализатором развития самых разных отраслей, начиная от медицины и фармакологии и заканчивая автопилотируемыми автомобилями. Глубокое обучение (глубокое структурное обучение, или иерархическое обучение) -- это область машинного обучения, заключающаяся в построении нелинейной модели распознавания, каждый элемент которой описывает соответствующий уровень признакового агрегирования данных.
| |
- |
| |
- | На конференции "GPU Technology Conference" [http://www.gputechconf.com/] в 2015 г. генеральным директором NVIDIA Дженсоном Хуангом было представлено три новые технологии, которые используются для развития области глубокого обучения: TITAN X, DIGITS и DIGITS DevBox.
| |
- |
| |
- | === NVIDIA GeForce GTX TITAN X ===
| |
- | TITAN X [http://www.nvidia.ru/object/geforce-gtx-titan-x-ru.html] – графический процессор для быстрого обучения глубоких нейронных сетей. Построенный на графической архитектуре NVIDIA Maxwell, TITAN X обладает вдвое большей производительностью и энергоэффективностью по сравнению с предшественником. TITAN X – это 12ГБ памяти и 3072 ядра, которые обеспечивают 7 терафлопс в вычислениях одинарной точности. Благодаря производительности и полосе пропускания памяти 336.5 ГБ/с, ускоритель рекомендуется использовать для построения сетей глубокого обучения с числом параметров до сотен миллионов. В частности, для обучения сети AlexNet [http://www.cs.toronto.edu/~fritz/absps/imagenet.pdf] с помощью набора из 1.2 миллиона изображений ImageNet TITAN X понадобилось менее трех дней, тогда как 16-ядерный CPU справляется с этой задачей за 40 дней.
| |
- |
| |
- | === DIGITS Deep Learning GPU Training System ===
| |
- | DIGITS [https://developer.nvidia.com/digits] – программное обеспечение, предназначенное для выполнения исследовательских работ по построению и конфигурации глубоких нейронных сетей. Интуитивно понятный пользовательский интерфейс и возможности управления DIGITS обеспечивают подготовку обучающих наборов данных локально и из сети.
| |
- |
| |
- | === DIGITS DevBox ===
| |
- | [[Изображение:Nvidia_box.png|thumb]]
| |
- |
| |
- | DIGITS DevBox [https://developer.nvidia.com/devbox] – специализированная рабочая станция для работы с задачами глубокого обучения, построенная на базе четырех TITAN X GPU, поставляемое с предустановленной системой обучения DIGITS. Система DIGITS DevBox является ядром комплексной платформы для ускорения исследований глубокого обучения. DevBox состоит из четырех карт GPU TITAN X, памяти и интерфейсов. Система поставляется с предустановленным программным обеспечением, которое необходимо ученым и исследователей для создания собственных глубоких нейронных сетей. В список приложений входят пакет программ DIGITS, самые популярные платформы глубокого обучения Caffe, Theano и Torch, а также cuDNN 2.0 – GPU-ускоренная библиотека для задач глубокого обучения от NVIDIA [https://developer.nvidia.com/cuDNN]. Первые результаты многопроцессорного обучения показывают, что DIGITS DevBox обеспечивает производительность почти в четыре раза выше по сравнению с одним TITAN X в тестах глубокого обучения. С помощью DIGITS DevBox обучить сеть AlexNet можно всего за 13 часов, тогда как обычному ПК на базе самого быстрого GPU потребовалось бы более двух суток, а системе на базе CPU - больше месяца.
| |
- |
| |
- | Система DIGITS DevBox состоит из следующих компонентов.
| |
- | * Четыре TITAN X GPU, обеспечивающие 7 тетрафлопс в ординарной точности, 12 Гб памяти и 336.5 Гб/с полосы пропускания памяти. В комплект DIGITS DevBox входят до четырех GPUs, до 64 GB DDR4, материнская плата ASUS X99 (8 PCIe slots) + Core i7, 2 x 48 port gen3 PCIe (PEX8748) + CPU for PCIe, накопитель, до 3x3 TB RAID 5 + M2 SATA + SSD, блок питания 1500W, операционная система Ubuntu 14.04, драйвера, NVIDIA® CUDA® Toolkit 7.0.
| |
- | * Программное обеспечение NVIDIA DIGITS, предоставляющее интерфейсы для обучения и визуализации нейронных сетей для классификации изображений.
| |
- | * Система Ubuntu 14.04 с предустановленными Caffe, Torch, Theano, BIDMach, cuDNN v2, and CUDA 7.0.
| |
- |
| |
- | == С чего начать ==
| |
- | # Посмотреть вебинар по сверточным нейронным сетям [http://on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-convolutional-networks-webinar.mp4] и Caffe для глубокого обучения [http://on-demand.gputechconf.com/gtc/2014/webinar/gtc-express-deep-learning-caffee-evan-shelhamer.mp4].
| |
- | # Установить фреймворк по выбору: Caffe, Torch или Theano.
| |
- | # Загрузить и установить cuDNN [https://developer.nvidia.com/cuDNN], ускоренную на GPU библиотеку NVIDIA, содержащую примитивы для глубоких нейронных сетей.
| |
- |
| |
- | == Первая программа на CUDA ==
| |
- | Чтобы написать первую программу на CUDA, надо установить:
| |
- | # Microsoft Visual Studio (на MVR стоит версия Professional 2012),
| |
- | # CUDA SDK (на MVR стоит версия 7.0) [https://developer.nvidia.com/cuda-downloads].
| |
- | После установки SDK стоит посмотреть полезные примеры от NVIDIA, которые по умолчанию распаковываются в C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.0.
| |
- | Кроме того, появится возможность компилировать .cu файлы командой nvcc из командной строки, например,
| |
- | <source lang="bash">
| |
- | nvcc -ptx myfun.cu
| |
- | </source>
| |
- | Это нужно, например, для того, чтобы использовать CudaKernel в Matlab для запуска своих CUDA-функций, см. [http://www.mathworks.com/help/distcomp/run-cuda-or-ptx-code-on-gpu.html].
| |
- |
| |
- | Руководство по установке Caffe на Windows: [https://initialneil.wordpress.com/2015/01/11/build-caffe-in-windows-with-visual-studio-2013-cuda-6-5-opencv-2-4-9/].
| |
- | Highlights: нужно поставить и прописать зависимости для OpenCV, Boost, OpenBLAS, GFlags, GLog, ProtoBuf, LevelDB, HDF5, LMDB. Кроме того, для облегчения процесса сборки понадобится установить [http://www.cmake.org/ CMake].
| |
- |
| |
- | Руководство по установке Theano на Windows: [http://deeplearning.net/software/theano/install.html#windows].
| |