alewkinr / lyra

Project for leadersofdigital.ru

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Документация

Документация к Аналитической системе мониторинга моделей машинного обучения Lyra, разработанной на хакатоне «Цифровой Прорыв», Северо-Западный хаб, заказчик решения - АО ГазПромБанк.

Логин для входа - admin

Пароль для входа - admin

Вступление и описание решения

Проект Lyra - веб-приложение для мониторинга пилотных или промышленных ML-моделей, которое позволяет тестировать, контролировать и мониторить различные ML-модели банка, отслеживать и улучшать параметры, напрямую влияющие на прибыль и бизнес-процессы банка. Решение позволяет проводить А/Б тесты на различных моделях и датасетах, поддерживать версионность и гибко оценивать результаты.

Наш продукт уникален удобным интерфейсом (дашбордом) со всеми ключевыми метриками, настраиваемостью нашей модели под различные типы алгоритмов и параметров, масштабируемостью и отказоустойчивостью, а также возможностью выбора источника моделей и данных (загрузка в систему или API) + мониторингом данных в real-time с уведомлениями при деградации метрик модели.

Стек проекта: Python (Sklearn, Tensorflow, Flask), PostgreSQL, VueJS, Docker, Prometeus.

У нас есть рабочая MVP-версия (минимально работоспособная версия продукта), которая не только обладает удобным интерфейсом, но достаточным функционалом, чтобы провести анализ несложной модели. Мы запустили ее на внешнем сервере. Данные для входа - admin/admin.

Спасибо организаторам за интересную задачу, мы будем рады продолжить сотрудничество!

Техническое описание проекта

Установка

Т.к. в проекте используется микросервисная архитектура, большая часть сервисов доступна для скачивания в виде контейнеров в реджистри от GitHub. Для локального развертывания решения необходимо авторизаваться в GitHub Package Registry по иснструкции и в корне проекта выполнить команду docker-compose up --build

Важно, что у вас должен быть установлен и запущен Docker.

После того, как установка всех необходимых зависимостей будет выполнена, вы сомжете потестировать систему локально по ссылке http://localhost/

Структура

Проект представляет собой монорепозиторий. Ниже структура директорий:

.
├── Makefile
├── README.md
├── back
│   ├── auth
│   └── model
├── docker-compose.yaml
├── env
│   ├── LICENSE.md
│   ├── bin
│   ├── include
│   ├── lib
│   └── pyvenv.cfg
├── front
│   ├── Dockerfile
│   ├── Makefile
│   ├── README.md
│   ├── babel.config.js
│   ├── nginx
│   ├── package-lock.json
│   ├── package.json
│   ├── postcss.config.js
│   ├── public
│   ├── src
│   ├── tailwind.config.js
│   └── vue.config.js
├── infra
│   ├── __init__.py
│   ├── env
│   ├── metrics
│   ├── postgres
│   ├── runner
│   └── traefik
└── ml
    ├── Makefile
    ├── README.md
    ├── __init__.py
    ├── __pycache__
    ├── bin
    ├── data
    ├── data_preparation.ipynb
    ├── lyra_tracker
    ├── models_selection.ipynb
    ├── requirements.txt
    └── scripts

Исходный код серверной части — в папке back, исходный код браузерной части приложения — в папке front. Кроме того, данные по разработке модели в директории ml, а данные по инфраструктурным вопросам в infra

Каждая директория по возможности содержит README.md файл с описанием и Makefile с базовыми командами.

Архитектура приложения

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

т.к. githib не дает залить файл с агрегатами, которые составляют размером больше 100MB - то перед запуском ml-модели необходимо скопировать первоначальные данные и поместить их в папку ml/data/ - файлы aggregates.csv и transactions.csv, расположенные по адресу https://drive.google.com/drive/folders/1f3UrqjxycMYfGS776AZrkX1xqUM933Ph

Дополнительные материалы

About

Project for leadersofdigital.ru


Languages

Language:Python 25.1%Language:Jupyter Notebook 25.0%Language:HTML 22.9%Language:Vue 17.8%Language:CSS 3.7%Language:JavaScript 3.2%Language:Makefile 0.7%Language:Dockerfile 0.7%Language:Mako 0.4%Language:Shell 0.4%