Часть IV • Резюме и заключительное слово
После загрузки HTML и JavaScriptресурсов браузером пользователя интерпре
татор JavaScript выполняет вызов для загрузки модели. Процесс загрузки маленькой
модели в современном браузере при хорошем интернетсоединении занимает не
сколько сот миллисекунд, но после первоначальной загрузки она будет загружаться
намного быстрее из кэша браузера. Формат сериализации гарантирует сегментиро
вание модели на фрагменты, достаточно малые для того, чтобы поместиться в кэш
стандартного браузера.
Одно из преимуществ развертывания на вебплатформе — предсказание про
изводится непосредственно в браузере. Никакие передаваемые модели данные
не пересылаются через Интернет, что сокращает задержку и обеспечивает защиту
персональной информации. Представьте себе сценарий предсказания текстового
ввода, при котором модель предсказывает следующее слово для упрощения на
бора текста, нечто регулярно встречающееся, например, в Gmail. Если отправлять
набранный текст на сервер в облаке и ждать ответа этих удаленных серверов, то
предсказание будет выдаваться с задержкой и пользы от таких предсказаний будет
намного меньше. Более того, некоторые пользователи считают, что отправка напо
ловину набранного ими текста на удаленный компьютер — посягательство на их
персональную информацию. Выполнение предсказаний в локальном браузере — на
много более безопасный способ.
Недостаток выполнения предсказаний в браузере — безопасность модели. Если
модель отправляется пользователю, он может с легкостью сохранить ее и восполь
зоваться ею для других целей. В TensorFlow.js на момент написания данной книги
(2019 год) нет решения проблемы безопасности модели в браузере. Некоторые
другие варианты развертывания затрудняют использование модели не по назначе
нию. Чтобы добиться максимальной безопасности модели, держите модель на под
контрольных вам серверах и обслуживайте запросы на предсказание там. Конечно,
за счет дополнительной задержки и ухудшения защиты персональной информации.
12.3.2. Развертывание в облачных сервисах
Многие из существующих промышленных систем предоставляют предсказания на
основе машинного обучения в качестве сервиса, например, Google Cloud Vision AI
(
https://cloud.google.com/vision
) и Microsoft Cognitive Services (
https://azure.microsoft.com/
en-us/services/cognitive-services
). Конечный пользователь подобного сервиса выполняет
HTTPзапросы к нему, включающие входные данные для предсказания, например
изображение для задачи обнаружения объектов, а в получаемом ответе кодируется
предсказание, например метки и расположение объектов в изображении.
По состоянию на 2019 год есть два способа выдачи результатов модели Ten sorFlow.js
с сервера. Первый — использовать сервер с Node.js и выполнять предсказание с по
мощью нативной среды выполнения JavaScript. В силу новизны TensorFlow.js нам
неизвестны промышленные сценарии использования на основе этого подхода, од
нако создать работоспособный прототип для него несложно.
Do'stlaringiz bilan baham: |