Часть I • Актуальность и основные понятия
используя TensorFlow.js. Существуют подобные приложения и для текстовых дан
ных, например анализирующие тональность высказываний в пользовательских
текстах наподобие отзывов о фильмах (см. главу 9). Помимо этого, современные
браузеры могут обращаться ко множеству датчиков мобильных устройств. Напри
мер, HTML5 предоставляет API для доступа к данным о географическом место
положении (широта и долгота), движении (ориентация и ускорение устройства)
и внешней освещенности (см.
https://mobilehtml5.org/
). В сочетании с глубоким об
учением и различными типами данных сведения от подобных датчиков открывают
дорогу ко множеству новых приложений захвата.
У применения глубокого обучения в браузере есть пять дополнительных преиму
ществ: уменьшение затрат на серверы, снижение времени ожидания вывода, лучшая
защита персональной информации, мгновенное ускорение вычислений с помощью
GPU и моментальный доступ.
z
z
Затраты на серверы.
Это важный фактор при проектировании и масштабирова
нии вебсервисов. Для работы моделей глубокого обучения в отведенные сроки
зачастую необходим значительный объем вычислений, и без ускорения вычисле
ний с помощью GPU не обойтись. А если не развертывать модели в клиентской
части, придется развертывать их на снабженных GPU машинах, например вирту
альных машинах с поддерживающими CUDA GPU из Google Cloud или Amazon
Web Services. Подобные облачные машины с GPU нередко обходятся недешево.
Даже простейшая облачная машина с GPU сейчас стоит порядка 0,5–1 долла
ра в час (см.
https://www.ec2instances.info/
и
https://cloud.google.com/gpu
). При росте
трафика стоимость эксплуатации парка облачных машин с GPU тоже растет,
не говоря уже о непростых задачах масштабирования и повышении сложности
серверного стека. Всех этих проблем можно избежать при развертывании модели
на клиенте. Накладные расходы на скачивание модели (составляющей обычно
несколько мегабайт) на клиент можно снизить за счет кэширования в браузере
и локального хранилища (см. главу 2).
z
z
Снижение времени ожидания вывода.
Для определенных типов приложений
требования по времени ожидания настолько жестки, что модели глубокого об
учения приходится запускать на стороне клиента. К этой категории относятся все
приложения с обработкой аудио, визуальных и видеоданных. Представьте себе,
например, что будет, если для вывода потребуется передавать кадры изображе
ний на сервер. Допустим, изображения захватываются с вебкамеры в довольно
скромном разрешении 400
×
400 пикселов с тремя цветовыми каналами (RGB)
8битной глубины со скоростью 10 кадров в секунду. Даже при использовании
JPEGсжатия размер каждого изображения будет около 150 Кбайт. В обычной
мобильной сети с примерно 300килобитной исходящей пропускной способно
стью загрузка одного такого изображения займет более 500 миллисекунд, что
приведет к заметной и, возможно, неприемлемой для определенных приложений
(например, игр) задержке. Расчеты не учитывают колебания (и, возможно, раз
рывы) связи в сети, дополнительное время для скачивания результатов вывода
и немалый объем расхода мобильного трафика, а ведь каждый из этих факторов
может оказаться фатальным.
Do'stlaringiz bilan baham: |