Пример использования набора данных сообщений facebook

Введение

Эта статья призвана подчеркнуть важность использования графического процессора или графического процессора в качестве основы для применения методов машинного обучения. В тематическом исследовании будет использоваться алгоритм XGboost, который является хорошо известной и эффективной реализацией с открытым исходным кодом алгоритма на основе дерева с градиентным расширением. Увеличение градиента - это контролируемый алгоритм обучения, который пытается точно предсказать целевую переменную. Для этого он объединяет набор оценок из более простого и более слабого набора моделей.

Набор данных и Google Colaboratory

Для исследования мы использовали набор данных, экземпляры которого содержат информацию, извлеченную из сообщений Facebook. Задача, связанная с данными, - предсказать, сколько комментариев получит публикация. В качестве среды разработки мы использовали платформу Google, Google Collaboratory или Google Colab. Помимо предоставления услуги удаленной разработки, платформа имеет преимущество предоставления бесплатного экземпляра графического процессора, и, поскольку графический процессор находится в центре внимания данного исследования, нет ничего более справедливого, чем использование этого ресурса.

Весь эксперимент проводился с использованием языка программирования Python. Код можно найти в сохраненной записной книжке вместе с набором данных в Google Диске.

Настройка параметров, создание модели и результаты

Чтобы начать эксперимент, вам необходимо загрузить весь набор данных следующим образом:

После того, как набор для обучения, тестирования и проверки был разделен, были использованы 30% тестовых данных и 15% для данных проверки. Этот шаг можно проанализировать ниже:

Теперь вы должны преобразовать данные тестирования, обучения и проверки в формат DMatrix, каждый из новых объектов создается ниже:

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

Как видно на изображении выше, общее время использования ЦП составляло 2 мин 2 с, обратите внимание, что для этого эксперимента было установлено количество раундов 1000, чтобы получить более значимые результаты.

Затем мы добавим к существующим параметрам информацию, которая указывает на использование графического процессора, изменение, а также результаты можно увидеть ниже.

Общее время безотказной работы графического процессора составило 50 секунд, верно, наша магия сократила время потребления графического процессора более чем на 1 минуту, и, как и ожидалось, не только время процессора, но и время всех предоставленных показателей значительно улучшилось.

Вывод

Как показано выше, можно было добиться более чем 100% -ного улучшения времени ЦП, просто добавив несколько строк кода и уже имея значительное улучшение. Это проясняет важность изучения методов, оптимизирующих использование машинных ресурсов.

использованная литература

  1. www.kaggle.com;
  2. xgboost.readthedocs.io;
  3. github.com/rapidsai;
  4. blog.cambridgespark.com.