Более года назад мы опубликовали ML Enabler - инструмент интеграции машинного обучения в партнерстве с гуманитарной командой OpenStreetMap. ML Enabler - это реестр моделей машинного обучения в OpenStreetMap, цель которого - предоставить API для таких инструментов, как диспетчер задач, для прямого запроса прогнозов. Сегодня мы хотим поделиться некоторыми из новых и наиболее интересных функций ML Enabler, включая прогнозы машинного обучения по запросу и пользовательский интерфейс.

Управление моделями, прогнозами и инфраструктурой

ML Enabler позволяет невероятно легко развернуть инфраструктуру для запуска вашей модели вместе со всеми необходимыми ресурсами. Через новый пользовательский интерфейс вы можете загружать новые модели, наращивать ресурсы AWS, создавать и предварительно просматривать прогнозы. Раньше существовал минимальный инструмент командной строки для загрузки моделей и получения прогнозов.

За кулисами ML Enabler использует AWS Cloudformation и будет работать с любой учетной записью AWS. Несколько ключевых вариантов инфраструктуры, таких как количество экземпляров и параллелизм, можно сделать непосредственно из интерфейса ML Enabler. ML Enabler использует лямбда-функции для загрузки изображений base64 для вывода из указанной конечной точки Tiled Map Service (TMS) и записи результатов вывода в базу данных.

Вы можете отслеживать очереди прогнозов плитки прямо из пользовательского интерфейса. По завершении обработки прогнозы автоматически отображаются на вкладке карты. Вы можете легко переключаться между различными классами в вашей модели и фильтровать прогнозы на основе порога достоверности. Над каждой плиткой отображаются необработанные выходные данные модели и оценка достоверности. Это делает действительно удобным исследовать пространственные закономерности в рамках выводов.

Прогнозы по запросу

ML Enabler генерирует и визуализирует прогнозы на основе моделей, совместимых с TF Serving Tensorflow, по запросу. Все, что вам нужно, - это перетащить zip-архив с обученной классификацией или моделью обнаружения объектов, указать конечную точку TMS и AOI для вывода. ML Enabler раскручивает необходимые ресурсы AWS и выполняет логический вывод для генерации прогнозов. Выполнение вывода классификационной модели для города среднего размера, который разделен примерно на 4000 увеличенных 18 фрагментов, занимает примерно 2 минуты.

Плитки предсказания индексируются с помощью квадрациклов для облегчения пространственного поиска. Чтобы облегчить эти предсказания по запросу, ML Enabler интегрирован во многие компоненты проекта Chip-n-Scale Development Seed.

Поддержка моделей классификации и обнаружения объектов

В настоящее время ML Enabler поддерживает два распространенных формата моделей машинного обучения - классификацию и обнаружение объектов. ML Enabler работает как с бинарными, так и с несколькими моделями классификации. Визуализация настройки и прогнозирования инфраструктуры автоматически адаптируется в зависимости от формата модели. Для моделей обнаружения объектов ML Enabler преобразует координаты в пространстве пикселей в географическое пространство для каждого прогноза вместе с ограничивающей рамкой и оценкой достоверности.

Кроме того, для моделей классификации ML Enabler поддерживает настраиваемую лямбда-функцию для создания надстроек. Сверхтилии невероятно полезны для преодоления объектов, которые могут лежать на краях плитки. Например, масштаб 18 плиток предлагает более высокое разрешение, чем увеличение 17, но есть один недостаток: иногда здания разделяются между несколькими плитками. Supertiles позволяет агрегировать четыре плитки Zoom 18 в пределах зоны покрытия Zoom 17 для создания обучающего чипа (512, 512, 3) вместо типичного (256, 265, 3) чипа обучающего изображения.

Сбор отзывов о прогнозах и переподготовка

Еще одна интересная функция, которую мы добавили в ML Enabler, - это возможность собирать отзывы о прогнозах из интерфейса. Пользователи могут пометить плитку как действительную или недействительную. Прогнозы, помеченные как действительные, становятся зелеными, прогнозы, помеченные как недопустимые, становятся белыми, а прогнозы, которые не были проверены вручную, остаются красными.

Затем ML Enabler может преобразовать эти проверенные прогнозы обратно в помеченные данные обучения, сопоставленные с изображениями, чтобы пользователи могли легко повторно обучать новую модель с помощью проверенных прогнозов модели.

Будущее

Мы думаем, что это может упростить и упростить интеграцию между инструментами картографии и инфраструктурой модели. Растет число внутренних и партнерских проектов, которые полагаются на ML Enabler, и мы продолжим развивать и поддерживать.

Некоторые из наших ближайших планов включают возможность выполнять логический вывод по источникам изображений, другим TMS, автоматизировать рабочие процессы повторного обучения и возможность добавлять более подробные метаданные модели в реестр. Мы надеемся, что у вас будет возможность поэкспериментировать с ML Enabler на себе. Пожалуйста, обращайтесь с любыми вопросами или комментариями на Github или Twitter!