App Development
Разработка приложений в области анализа видео и данных
Решаемые задачи
Разработка решений в области анализа данных или работы с видеопотоком в режиме реального времени.
Наш опыт позволяет создавать решения, работающие под высокими нагрузками с большим количеством источников.
Наш опыт позволяет нам реализовывать решения, одновременно обрабатывающих несколько тысяч камер или несколько миллионов запросов.
Используемые технологии
Для обеспечения хранения больших объемов данных используем S3-совместимое хранилище. Основными технологическими преимуществами является хранение объектов в плоском адресном пространстве, использование расширенных метаданных объектов и практически бесконечная масштабируемость.
Объектное хранилище может использоваться как самостоятельное хранилище, а также как дополнение к уже работающим дисковым и блочным хранилищам. S3 обеспечивает надежное и продолжительное хранение неограниченного числа данных и файлов.
В качестве сервера видеоаналитики используем NVidia Triton Server, который является частью платформы искусственного интеллекта NVIDIA. NVidia Triton Server упрощает и стандартизирует процесс запуска моделей искусственного интеллекта, позволяя специалистам развертывать, запускать и масштабировать обученные модели искусственного интеллекта из любой среды в любой инфраструктуре на базе GPU или CPU.
Triton поддерживает все основные платформы обучения и вывода, такие как TensorFlow, NVIDIA TensorRT, PyTorch, MXNet, Python, ONNX, XGBoost, scikit-learn, randomForest, OpenVINO, пользовательский C++ и другие.
Triton предоставляет вычислительные мощности, инструменты и алгоритмы, необходимые для достижения успеха в области искусственного интеллекта, ускоряя рабочие нагрузки.
Triton предлагает высокопроизводительный вывод и поддерживает все вычисления на базе NVIDIA GPU: динамическое пакетирование, параллельное выполнение, оптимальную конфигурацию модели, ансамбль моделей и потоковые аудио-, видеоданные для максимальной пропускной способности и использования.
Triton интегрируется с Kubernetes для оркестровки и масштабирования, экспортирует метрики Prometheus для мониторинга, поддерживает оперативные обновления моделей и может использоваться во всех основных общедоступных облачных платформах искусственного интеллекта и Kubernetes. Он также интегрирован во многие программные решения MLOps.
Таким образом, для разработки решений на базе машинного обучения и компьютерного зрения используем следующие технологии, средства разработки, языки программирования, СУБД и хранилища:
- языки программирования: Python, Rust;
- инструмент для сборки приложений: Cargo;
- ПО, реализующее исполняемую среду для запуска контейнеров: ContainerD;
- ПО, реализующее оркестрацию контейнеров: Kubernetes;
- система управления реляционными базами данных: PostgreSQL;
- хранилище метрик оборудования и ПО: VictoriaMetrics, Prometheus;
- брокеры сообщений: Kafka, MQ и MQTT;
- система управления версиями исходного кода: Git;
- система непрерывной интеграции программного обеспечения: GitLabCI;
- ПО визуализации данных: Grafana;
- система управления журналами: Graylog.