Создание платформы для конкурса по разработке искусственного интеллекта Up Great ПРО//ЧТЕНИЕ
ПРО//ЧТЕНИЕ. Технологии понимания
Командам надо разработать алгоритм, который будет в режиме реального времени
Задача
Разработать и запустить высокотехнологичную платформу для квалификационных, технических и финальных испытаний программных комплексов участников.
Общие требования к платформе — высокая отказоустойчивость и принцип open source ключевых сервисов (для обеспечения прозрачности испытаний).
Если сам конкурс ПРО//ЧТЕНИЕ — вызов для профессионалов в BigData и Machine Learning, то реализация его технической части — вызов для Вебпрактик.
Сложности
01. Нет подробного техзадания
02. Жёсткий дедлайн
Процесс
- 1.Провести бизнес-анализ
- 2.Прототипировать интерфейсы и собрать обратную связь по ним от целевых групп (Преподаватель и Участники конкурса)
- 3.Разработать архитектуру платформы
- 4.Запустить в кратчайшие сроки MVP платформы
- 5.Отладить процессы в ходе обучения алгоритмов участников
Архитектура платформы
Тексты
Учителя
Инструменты для анализа текстов
Браузерный сервис «Разметчик»
Разметчик был запущен в июле. Разметки специалистов мы назвали Экспертными. Самих проверяющих объединили в группу пользователей Редакторы. Запустить сервисы для Участников было необходимо не позднее 29 сентября.
Сначала мы загрузили в систему разработанные совместно с партнерами конкурса тестовые и обучающие датасеты. Чтобы программные комплексы конкурсантов смогли в реальном времени передавать размеченные файлы на платформу для испытаний, был разработан модуль Программный Комплекс Участника (ПКУ).
Программный Комплекс Участника (ПКУ)
Данные сессии и результаты проверки размеченных файлов отображаются в ЛК Участника.
Программа сравнения решений (ПСР)
Он представляет собой worker, который считывает задачи из сервера очередей и сохраняет результаты в базу датасетов. Она хранится на отказоустойчивом облаке Yandex Object Storage. Логи сессий отправляются в ELK стек.
Сохраненные файлы с алгоритмической разметкой проверяют 20 лучших специалистов из числа тех, кто делал Экспертную разметку. За результатами проверки Участники могли следить на Лидерборде в личном кабинете.
Лидерборд динамически обновляется через сервис финала и квалификаций с websocket-интерфейсом для платформы и http-интерфейсом для скачивания и загрузки файлов датасетов с выданным токеном. В этом сервисе хранится информация по финалу и квалификациям, он отвечает за выдачу файлов датасетов с необходимыми таймаутами и сохранение данных (для статистики).
В день состязаний команды, успешно прошедшие квалификацию, одновременно установили сессии с платформой, используя ПКУ. В режиме реального времени их алгоритмы получали файлы от платформы, размечали в них тексты и возвращали обратно. Испытания длились более 8 часов, а точнее, 500 минут, из расчета по минуте на файл. Для финала были использованы датасеты с новыми текстами, которые не использовались для обучения на этапе квалификаций.
Итого, в ходе разработки платформы мы создали:
- 1.Сервис «Разметчик»,
- 2.Сервис «Валидатор»,
- 3.Систему проверки решений,
- 4.Модуль «Персональный Комплекс Участника»,
- 5.Программу Сравнения Решений.
А также пакеты данных, вспомогательные микросервисы, мануалы и техническую документацию. Как и хотел заказчик, наши решения имеют открытый код, ознакомиться с которым и дать фидбэк можно на GitHub.
Системы личных кабинетов на платформе получилось две, с разной архитектурой и функционалом. С визуальным интерфейсом, но без программного для Редакторов и с обоими для Участников.