МАШИННОЕ ОБУЧЕНИЕ

Стоит ли использовать графический процессор для проекта машинного обучения?

Узнайте об основных различиях между использованием ЦП и ГП в вашем проекте машинного обучения и поймите, что выбрать.

Многие проекты машинного обучения включают обучение алгоритму на огромных объемах данных и, следовательно, требуют больших вычислительных мощностей. Эта вычислительная мощность обычно связана с количеством и качеством обрабатывающих устройств, таких как центральный процессор (ЦП) или графический процессор (ГП). На производительность также может сильно влиять количество ядер в блоках обработки. Ядро - это блок, который может выполнять вычислительные операции, и чем больше ядер у ЦП или ГП, тем больше операций он может выполнять параллельно. Хотя и ЦП, и ГП обеспечивают вычислительную мощность, между ними есть определенные различия, которые делают их подходящими в разных ситуациях.

Большинство компьютеров поставляются с одним или несколькими процессорами, которые выполняют арифметические, логические, управляющие операции и операции ввода / вывода. Эти операции необходимы для многих повседневных задач, которые обычные люди выполняют на своих компьютерах. Типичный ЦП имеет от четырех до восьми ядер и, следовательно, может выполнять некоторые операции параллельно.

С другой стороны, графический процессор хорошо подходит для управления компьютерной графикой и обработки изображений. Каждый графический процессор обычно состоит из сотен ядер, что позволяет ему выполнять множество операций параллельно, что делает графический процессор интересным для алгоритмов, обрабатывающих данные параллельно. Это также причина того, почему графические процессоры стали настолько популярными в машинном обучении. Многие проекты машинного обучения можно ускорить, обрабатывая данные в параллельных операциях, и из-за большого количества ядер графический процессор будет полезен в таких проектах.

Помимо количества ядер, есть и другие различия между процессорами и графическими процессорами. Графические процессоры обычно выделяют пропорционально больше транзисторов для арифметико-логических устройств (ALU) и меньше - на кэширование и управление потоком по сравнению с процессорами. Это также помогает графическим процессорам быстрее обучать алгоритм машинного обучения.

Как правило, преимущество графического процессора над процессором более существенно для проектов с большим объемом вычислений.

  1. Если ваш алгоритм машинного обучения достаточно маломасштабен, использования ЦП должно быть достаточно.
  2. Если ваш алгоритм машинного обучения включает в себя огромное количество вычислений и сотни тысяч параметров, вам следует использовать графические процессоры.

[1] Джейсон Дсуза. Что такое графический процессор и нужен ли он вам при глубоком обучении? (апрель 2020 г.). Https://towardsdatascience.com/what-is-a-gpu-and-do-you-need-one-in-deep-learning-718b9597aa0d

[2] Бостонские лаборатории. Что такое вычисления на GPU? https://www.boston.co.uk/info/nvidia-kepler/what-is-gpu-computing.aspx