Инструменты
Тюнинг нейросети на Java: многопоточные матрицы, EJML и ND4J с GPU
Антон, Java-разработчик продукта GigaIDE в Сбере, поделился опытом оптимизации простой нейросети. Первый шаг — перевод перемножения матриц в многопоточный режим, чтобы быстрее выполнять прямой и обратный проходы. Второй — распараллеливание самого обучения сети.
Для экспериментов он использует две библиотеки: EJML для классических матричных операций и ND4J, которая, помимо многопоточности, позволяет обучать модель на GPU. Такой подход даёт заметный прирост скорости без переписывания кода на низкоуровневые языки.
Материал будет полезен тем, кто работает с Java и хочет выжать больше из простых архитектур, не уходя в тяжёлые фреймворки. Автор обещает показать реальные результаты замеров и сравнение производительности разных вариантов.
Источник: habr.com