РОЗПАРАЛЕЛЮВАННЯ АЛГОРИТМУ ГРАДІЄНТНОГО БУCТИНГУ ТА БЕГГІНГУ ДЛЯ ДІАГНОCТИКИ ДІАБЕТУ НА ОCНОВІ CUDA
DOI:
https://doi.org/10.31891/csit-2023-2-1Ключові слова:
ансамбль моделей, прискорення, графічний процесор, технологія СUDA, машинне навчання, задача класифікаціїАнотація
Одну з найбільших складнощів в процесі роботи в медичній сфері становлять дані: їх об’єм, структура та форма представлення. Очевидно, що без інноваційних високотехнологічних інструментів аналізу даних, ймовірність помилки є дуже високою, адже легко пропустити якийсь важливий фактор, що є критичним, але загубленим серед іншої, менш важливої інформації. У роботі досліджено методи паралелізації алгоритму Градієнтного Бустингу у поєднанні з алгоритмом Беггінгу. Розглянуто задачу діагностичного прогнозування наявності у пацієнта діабету на основі певних вимірювань, включених до набору даних. Проведено детальний аналіз та попередню обробку обраного датасету. Розпаралелювання запропонованого алгоритму реалізовано за допомогою модуля Python – concurrent. Futures, а саме його класу – ThreadPoolExecutor та технології CUDA. Здійснено паралелізацію процесу навчання моделей та навчальної вибірки. Наведено теоретичну оцінку обчислювальної складності запропонованого паралельного алгоритму. Проведено порівняння часу виконання послідовного та паралельного алгоритмів при використанням ThreadPoolExecutor при варіації кількості потоків та алгоритмів в композиції. А також здійснено порівняльний аналіз часових витрат при послідовному та паралельному виконанні на основі CPU і GPU. Отримано показники прикорення: приблизно 7 при використанні ThreadPoolExecutor та восьмиядерної обчислювальної системи та 9,5 на основі технології CUDA. Обчислено показники ефективності, які прямують до одиниці. Що, в свою чергу, підтверджує ефективність запропонованого паралельного алгоритму. Ще одним важливим результатом дослідження є досягнення кращої точності алгоритму за рахунок збільшення кількості алгоритмів у композиції.