Облачные решения vs on-prem в пилотных проектах по компьютерному зрению
Сергей Кравченко, Старший аналитик данных, Beltel Datanomics
Задачи компьютерного зрения требуют высокой производительности вычислительных ресурсов. Одна из самых ресурсоемких задач с точки зрения вычислительных операций – детектирование объектов на изображении. Лучшим математическим инструментарием для решения этой задачи являются нейронные сети. Однако из-за большого числа параметров в нейронных сетях и, как следствие, большого количества элементарных операций, необходимых для обработки, скорость на обычном железе становится неприемлемой, особенно, когда речь идет о фото или видеопотоке.
Вычислительные операции, проводимые в нейронных сетях, можно осуществлять параллельно и лучшим решением для этой задачи являются графические процессорные устройства (GPU). GPU изначально разрабатывались для конвейерных и многопоточных вычислений, их архитектура позволяет существенным образом ускорить расчеты на нейронных сетях.
Мы сравнили время обработки изображений на среднем по производительности ноутбуке с процессором Intel® Core™ i5-8300H и графической картой GeForce GTX 1060. Для чистоты эксперимента была взята одна и та же нейронная сеть. Скорость детектирования на GPU оказалась примерно в 30 раз выше, чем на CPU и составила около 25 кадров в секунду. При этом цены на устройства сопоставимы.
Для профессионалов, работающих в области компьютерного зрения, преимущество GPU в производительности на нейронных сетях давно не является секретом. Также известно, что данные устройства требуют особого ухода в плане соблюдения температурного режима и простая игровая карта не пригодна для промышленной эксплуатации. Производительность современных графических ускорителей, используемых в датацентрах, значительно выше, чем на той же GeForce GTX 1060, но и стоят они на порядок дороже. Поэтому проекты компьютерного зрения имеют дополнительные издержки, связанные с приобретением необходимых аппаратных ресурсов.
Согласно текущей практике, внедрение инновационных решений начинается с пилотных проектов, позволяющих подтвердить или опровергнуть предполагаемую бизнес-ценность решения. Построение собственной инфраструктуры на этапе пилотирования несет дополнительный риск потерь, особенно в проектах компьютерного зрения, требующих больших вычислительных ресурсов. Если в ходе тестирования выяснится несостоятельность решения, то вложения в инфраструктуру станут бессмысленной инвестицией. Поэтому мы предлагаем нашим клиентам воспользоваться облачными вычислительными ресурсами. Облако позволяет легко экспериментировать с железом и программным обеспечением, дает возможность строить как простые, так сложные сервисные решения. При успешности проекта производится расчет издержек переноса решения on-prem с аналогичным железом и, как выясняется, далеко не всегда такой перенос является оправданным.
Желание заказчика перенести успешное решение из облака в on-prem может быть экономически оправданным, если у него есть для этого готовая инфраструктура, но дополнительные затраты все же потребуются. Как было показано на примере выше, использование графических карт ускоряет процесс вычисления в несколько десятков раз. Поэтому, каким бы современным не было оборудование на серверах, если на них нет GPU, они будут уступать в производительности обычным игровым ноутбукам.
Подводя итог, выделим основные преимущества облачного решения над on-prem:
- Время пилотирования. Как правило, в разы меньше из-за простой настройки вычислительных ресурсов
- Отсутствие администрирования как такового
- Стоимость аренды вычислительных ресурсов на стадии пилотирования значительно ниже их покупки
- Богатая экспериментальная база из-за широкого выбора как железа, так и программного обеспечения
- Отказоустойчивость
- Быстрое масштабирование
- Неограниченные объемы хранилищ, оптимизированных для распределенных вычислений
- Четкое понимание стоимости решения
- Нет необходимости арендовать серверные помещения, нанимать специалистов для поддержки
Отметим, что пока в нашей практике нет ни одного случая, когда на пилотной стадии проекта on-prem решение оказывалось выгоднее облачного. Однако выбор возможен только тогда, когда нет законодательных ограничений, связанных с обработкой и хранением информации.