Мы тестируем различные оценщики, такие как LinearEstimator, DNNClassifier и т. Д. Сейчас мы ограничены в использовании только CPU для обучения, и мы тестируем параметры и рычаги, такие как
- Процессор: 8 ~ 32 процессора
- Память: 16 ~ 48 ГБ
- Размер партии / буфера (набор данных (партия) (n)): n = 128 ~ 512
- Размер хеша: 10000 ~ 500000
- Количество потоков: значение по умолчанию для Tensorflow, которое должно быть числом логических ядер
- Оптимизатор: GradientDescent, FtrlOptimizer
Результат: глобальные шаги в секунду * Размер пакета составляет около 20 ~ 50
Таким образом, мы получаем глобальные шаги Tensorboard в секунду * bucket_size, равный примерно 20 ~ 50, и увеличение ЦП и памяти имеет свои пределы.
Мы видим аналогичные результаты в отношении оптимизатора и его конфигураций.
Мы делаем что-то не так, и есть ли другие рычаги, которые мы можем использовать? Есть ли предел в отношении того, насколько вы можете оптимизировать свои методы обучения модели, и должны ли мы перейти к графическим процессорам и воспользоваться преимуществами эффективности их умножения матриц?