2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 ИИ на шейдерах
Сообщение28.11.2017, 12:39 


26/10/17
31
Впервые "руками" потрогал шейдеры, производительностью полностью впечатлён. Мой скрипт что на цпушном C++ выдаёт 4-5 FPS здесь легко > 60. Попробовать можно прямо на shadertoy.com, работает прямо в браузере через WebGL.

Может кто посоветует - хотелось бы прочитать обзор всех этих языков и фреймворков, как OpenCL, Metal Performance Shaders, GLSL чтобы максимально быстро погрузиться в тему.
Цель - написать нестандартную модель нейросетки, поэтому поддержка классических ML алгоритмов не сильно нужна. Критично то как организовываются потоки данных между процессами, чтобы получить максимальный профит от параллелизма, вот про это хотелось бы почитать.

 Профиль  
                  
 
 Re: ИИ на шейдерах
Сообщение28.11.2017, 18:06 
Заслуженный участник


26/05/14
618
Есть решения на один уровень выше. Например TensorFlow. Это библиотека матричных операций. Работает на GPU. Можно строить разнообразные нейронные сети и не только их.

 Профиль  
                  
 
 Re: ИИ на шейдерах
Сообщение28.11.2017, 19:22 


01/05/17
38
Где я?
А если ну очень хочется прямого доступа к GPU для обучения сетей, то рекомендую CUDA. Шейдеры сделаны не для этого, а вот CUDA будет в самый раз.

 Профиль  
                  
 
 Re: ИИ на шейдерах
Сообщение10.03.2018, 02:09 


10/03/18
2
На швейдерах - быстро, но тяжко.
если вы шарите в С++ и у вас карточка nVidia, то CUDA вам в помощь.
потраченное на ботанье матчасти время с лихвой окупится сильным упрощением в написании кода.
потеряете в производительности не сильно.

а вот TensorFlow в этом плане - барахло.
не более 40% карты нагружает. К тому же без плясок с бубном TensorFlow GPU с CUDA подружить не получится,
а без CUDA не будет GPU

Если вам больше нравится Python, то там есть великолепно работающая Numba CUDA

 Профиль  
                  
 
 Re: ИИ на шейдерах
Сообщение22.03.2018, 11:18 


20/09/09
962
Уфа
А что вы думаете по поводу следующей технологии: Встречаем Windows Machine Learning — WinML?

 Профиль  
                  
 
 Re: ИИ на шейдерах
Сообщение21.04.2018, 17:35 


20/09/09
962
Уфа
Если купить одну видеокарту CUDA для домашнего компьютера, то ее достаточно будет, чтобы можно было работать в Deep Learning, решать свои задачи? Или же придется обратиться к аренде CUDA в облаке?

 Профиль  
                  
 
 Re: ИИ на шейдерах
Сообщение21.04.2018, 17:40 
Аватара пользователя


11/06/12
8328
Минск
Для toy models, для учёбы этого более чем достаточно. Когда возникнет реальная необходимость в охренительных вычислительных мощностях, вы это почувствуете. Но сейчас это наверняка не ваш уровень ;-)

 Профиль  
                  
 
 Re: ИИ на шейдерах
Сообщение21.04.2018, 18:36 


20/09/09
962
Уфа
Aritaborian в сообщении #1306178 писал(а):
Для toy models, для учёбы этого более чем достаточно. Когда возникнет реальная необходимость в охренительных вычислительных мощностях, вы это почувствуете. Но сейчас это наверняка не ваш уровень ;-)

Разумеется. Большое спасибо. А 25 тысяч рублей за видеокарту я как-нибудь осилю (правда, не в ближайшее время).

 Профиль  
                  
 
 Re: ИИ на шейдерах
Сообщение09.05.2018, 10:23 


26/10/17
31
leofh в сообщении #1296300 писал(а):
На швейдерах - быстро, но тяжко.
если вы шарите в С++ и у вас карточка nVidia, то CUDA вам в помощь.
потраченное на ботанье матчасти время с лихвой окупится сильным упрощением в написании кода.
потеряете в производительности не сильно.

а вот TensorFlow в этом плане - барахло.
не более 40% карты нагружает. К тому же без плясок с бубном TensorFlow GPU с CUDA подружить не получится,
а без CUDA не будет GPU

Если вам больше нравится Python, то там есть великолепно работающая Numba CUDA
В сторону CUDA смотрю, спасибо.

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

-- 09.05.2018, 09:24 --

Rasool в сообщении #1306199 писал(а):
Aritaborian в сообщении #1306178 писал(а):
Для toy models, для учёбы этого более чем достаточно. Когда возникнет реальная необходимость в охренительных вычислительных мощностях, вы это почувствуете. Но сейчас это наверняка не ваш уровень ;-)

Разумеется. Большое спасибо. А 25 тысяч рублей за видеокарту я как-нибудь осилю (правда, не в ближайшее время).

Я думаю карта достаточная для "поиграться" уже есть в вашем компе :)

 Профиль  
                  
 
 Re: ИИ на шейдерах
Сообщение21.05.2018, 14:18 


10/03/18
2
jabra в сообщении #1311163 писал(а):
leofh в сообщении #1296300 писал(а):
На швейдерах - быстро, но тяжко.
если вы шарите в С++ и у вас карточка nVidia, то CUDA вам в помощь.
потраченное на ботанье матчасти время с лихвой окупится сильным упрощением в написании кода.
потеряете в производительности не сильно.

а вот TensorFlow в этом плане - барахло.
не более 40% карты нагружает. К тому же без плясок с бубном TensorFlow GPU с CUDA подружить не получится,
а без CUDA не будет GPU

Если вам больше нравится Python, то там есть великолепно работающая Numba CUDA
В сторону CUDA смотрю, спасибо.

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

-- 09.05.2018, 09:24 --

Новые версии TensorFlow вроде как позволяют распределять память на карте правильным образом (мною не проверено)
Граф вычислений в Python - дело крайне полезное, ибо там построчный интерпретатор, да и сам язык крайне медленный.
А граф вычислений в TF компилируется целиком, что сильно ускоряет производительность.

А вообще, в Python есть библиотека Keras, которая использует TF как бэкэнд и там реализована вся фундаменталка для нейросетей.
Можно прямо блочно сетки собирать. Очень простой функционал.
Работает это все конечно не сильно быстро, но для того чтобы освоиться с нейросетями и GPU этого для начала достаточно.

Вот здесь есть подробнее: https://www.asozykin.ru/

 Профиль  
                  
 
 Re: ИИ на шейдерах
Сообщение29.05.2018, 19:08 


20/09/09
962
Уфа
jabra в сообщении #1311163 писал(а):
Я думаю карта достаточная для "поиграться" уже есть в вашем компе :)

У меня сейчас такая конфигурация: процессор 2013-го года Intel Core i7, ОЗУ 32 Гб, видеокарта встроена в процессор. Думаете, этого достаточно?

 Профиль  
                  
 
 Re: ИИ на шейдерах
Сообщение29.05.2018, 22:17 


26/10/17
31
Rasool в сообщении #1316013 писал(а):
jabra в сообщении #1311163 писал(а):
Я думаю карта достаточная для "поиграться" уже есть в вашем компе :)

У меня сейчас такая конфигурация: процессор 2013-го года Intel Core i7, ОЗУ 32 Гб, видеокарта встроена в процессор. Думаете, этого достаточно?

Чтобы попробовать и что-нибудь написать – конечно достаточно.
У меня на ноуте похожий конфиг, это i7 и встроенная в него карта. Как видите - 8 ядер на процессоре и 40 в GPU.

Код:
Name: Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
      Name:            Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
      Vendor:            Intel
      Available:         Yes
      Image Support:         Yes
      Max Samplers:         16
      CL_DEVICE_MAX_WORK_GROUP_SIZE   8
      CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS   4
      CL_DEVICE_MAX_WORK_ITEM_SIZES   2048
      CL_DEVICE_MAX_WRITE_IMAGE_ARGS   4
      Compute Units:         8
      Clock Frequency:      2500 mHz
      Global Memory:         16384 mb
      Max Allocateable Memory:   4096 mb
      Local Memory:         32768 kb

Name: Iris Pro
      Name:            Iris Pro
      Vendor:            Intel
      Available:         Yes
      Image Support:         Yes
      Max Samplers:         16
      CL_DEVICE_MAX_WORK_GROUP_SIZE   8
      CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS   4
      CL_DEVICE_MAX_WORK_ITEM_SIZES   2048
      CL_DEVICE_MAX_WRITE_IMAGE_ARGS   4
      Compute Units:         40
      Clock Frequency:      1200 mHz
      Global Memory:         1536 mb
      Max Allocateable Memory:   384 mb
      Local Memory:         65536 kb

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Модераторы: Karan, PAV, Toucan, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group