О чём эта история

Компания «Цельс» специализируется на разработке систем искусственного интеллекта (ИИ) в рентгенологии. В 19 российских регионах уже внедрили систему «Цельс» в качестве ИИ-системы на местном уровне. Результаты обработки исследований доступны для всех медицинских организаций.

Компания своими силами с помощью техподдержки провайдера за несколько дней перенесла платформу в Yandex Cloud. В результате ускорился процесс разработки — развернуть любую систему или внутренний сервис теперь можно в течение одного дня.

Новая платформа обладает полным набором сервисов и технологий, который необходим для работы «Цельса», и обеспечивает нужную для компании скорость обработки исследований.

Кроме того, удалось значительно повысить качество услуг за счёт гибкого управления ресурсами и быстрой масштабируемости в зависимости от нагрузки. При этом новое решение полностью соответствует высоким требованиям информационной безопасности и российского законодательства, в том числе и в части безопасного хранения персональных данных.

Задача компании

Компания «Цельс» основана в 2018 году и специализируется на разработке систем ИИ в рентгенологии.

Решение «Цельс» — первая в России система, зарегистрированная Росздравнадзором как медицинское изделие по третьему классу риска в 2020 году. Производство сертифицировано по ISO 13485.

Разработки компании также сертифицированы в Европейском Союзе (CE Mark), что подтверждает соответствие европейским стандартам безопасности.

С «Цельс» работают 19 российских регионов. Пилотные проекты были также запущены в Индии, Пакистане и Беларуси.

В арсенале компании более 4 млн обработанных медицинских изображений.

В промышленной эксплуатации находятся следующие системы автоматического анализа и интерпретации медицинских изображений на основе ИИ:

  • Маммография — обнаружение злокачественных образований и других значительных изменений;
  • Флюорография и рентген органов грудной клетки — 13 признаков патологий;
  • КТ органов грудной клетки — комплексный сервис, 10 патологий;
  • КТ мозга — обнаружение кровоизлияний и ишемических инсультов.

Компания изначально планировала облачное развёртывание. На ранних этапах работы платформы компания обращалась к различным облачным провайдерам, как к российским, так и иностранным. В то время облако использовали, чтобы выполнять отдельные задачи — создавать инстансы для обучения, тестировать первые версии моделей и проверять инференс рабочей нейронной сети.

От использования зарубежных облачных сервисов отказались из-за изменившихся требований к хранению данных и лицензионных рисков, а также из-за невозможности предсказать будущие изменения. Поэтому нужно было перейти на российскую облачную инфраструктуру. Компания расширяет деятельность, в том числе в российских регионах, поэтому нужно обеспечить быстрое развёртывание решения для новых клиентов. Также требуется оперативное масштабирование: растёт количество продуктов и объёмы исследований. Кроме того, нужно автоматически масштабировать инфраструктуру под нагрузки во время обучения и в часы более активного использования сервиса.

При выборе облачного провайдера компания ориентировалась на следующие критерии:

  • Хранение и обработка данных должны быть организованы на территории РФ.
  • Облачная платформа должна обеспечивать полный набор технологий и сервисов, нужный для работы «Цельса».
  • Облачная платформа должна использовать собственные сервисы, которые позволят избежать лицензионных рисков.
  • Облако должно обеспечивать нужную скорость обработки исследований и возможность масштабироваться во время повышенной нагрузки.
  • Платформа должна быть сертифицирована в области информационной безопасности — ресурсы должны быть аттестованы в соответствии с ФЗ-152 и с требованиями ФСТЭК.
  • В решении должны соблюдаться правила обработки информации в соответствии с международным генеральным регламентом о защите данных (General Data Protection Regulation, GDPR).

Рассмотрев нескольких конкурентных решений, компания «Цельс» выбрала Yandex Cloud, так как этот облачный провайдер удовлетворяет всем вышеперечисленным требованиям.

Решение

«Цельс» — это система поддержки принятия врачебных решений (СППВР) на базе технологий нейронных сетей (Deep Learning). Она предназначена для анализа цифровых медицинских изображений — рентгенографии, компьютерной томографии, магнитно-резонансной томографии и других.

Все сервисы основаны на собственных нейронных сетях компании. При этом использовались архитектуры, которые часто применяются для 2D- и 3D-детекции и сегментации (Faster-RCNN, DETR, U-Net, Anisotropic Hybrid Networks и так далее), но со значительными модификациями.

В стек машинного обучения решения входят следующие технологии:

  • PyTorch — фреймворк машинного обучения для языка Python с открытым исходным кодом, созданный на базе Torch;
  • ClearML — фреймворк для трекинга ML-экспериментов;
  • Redis — нереляционная резидентная СУБД;
  • Apache AirFlow — система, чтобы создавать, выполнять, мониторить и оркестрировать потоки операций по обработке данных;
  • Docker и Kubernetes — для создания и управления кластером контейнеров.

Бэкенд разработан с помощью .NET и развёрнут в контейнерах под управлением Kubernetes. Данные хранятся в базе PostgreSQL. В качестве брокера сообщений выбрали Apache Kafka. Система поддерживает стандарт обработки, хранения, передачи, печати и визуализации медицинских изображений DICOM.

Решение «Цельс» работает следующим образом. Бэкенд системы интегрируется с медицинским учреждением или целым регионом по протоколу DICOM. При поступлении задания на обработку изображений в бэкенд загружаются данные исследования, которые потом проходят проверку на адекватность. После чего через API делается запрос к ML-ядру. Нейронная сеть обрабатывает исследование и возвращает в бэкенд ответ в формате JSON — находки, их координаты или маски, размеры, текст заключения и так далее. Система формирует финальный ответ в форматах DICOM SC (изображение) и DICOM SR (текст) и возвращает ответ клиенту по DICOM-протоколу.

При миграции в Yandex Cloud «Цельс» развернули с использованием сервисов платформы данных, а также Yandex Managed Service for Kubernetes и виртуальных машин Yandex Compute Cloud.

Вычислительные мощности, подключаемые с помощью Yandex Compute Cloud, используются для инференса и обучения моделей, хостинга бэкенда. Кроме того, Yandex Compute Cloud обеспечивает организацию работы внутренних сервисов: приложения для обмена мгновенными сообщениями и данными Mattermost, инструмента для разметки данных Supervisely, платформы для трекинга экспериментов ClearML, а также сервисов мониторинга.

В качестве масштабируемого облачного хранилища применяется Yandex Object Storage, в котором хранятся данные для обучения и тестирования. Всего используется порядка 20 бакетов данных, которые занимают 210 терабайт.

Для хранения операционных данных использовали управляемые сервисы:

Для деплоя бэкенда — Yandex Managed Service for Kubernetes.

Весь переезд в облако, который команда проекта осуществила самостоятельно с привлечением техподдержки Yandex Cloud, занял всего несколько дней.

При этом компания оставила на собственном сервере локальное офисное хранилище данных, которое также дублируется в облаке. Кроме того, четыре локальных сервера с GPU (4 + 1 + 1 + 1) используются для обучения. Часть региональных решений также развернута локально в соответствии с требованиями заказчиков.

Результаты

Сейчас «Цельс» работает в промышленном режиме. В результате миграции в Yandex Cloud повысилась скорость развёртывания систем и внутренних сервисов — теперь это можно делать за один день. Кроме того, удалось повысить качество оказываемых услуг за счёт возможности использовать сервисы экосистемы Yandex Cloud и автоматического масштабирования инфраструктуры при необходимости.

Специалисты компании освоили новые инструменты и технологии, например Yandex Managed Service for Kubernetes, чтобы развёртывать и запускать систему в рабочей среде, а также выгрузку метрик в Grafana с помощью Yandex Managed Service for Prometheus для мониторинга и визуализации данных.

Облачными услугами пользуются все основные подразделения компании — ML-команда, разработчики бэкенда и DevOps-инженеры.

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

При быстрой экспансии в регионы компания смогла получить надежные вычислительные ресурсы с приемлемым временем ответа. При этом платформа Yandex Cloud использует защищенные каналы связи, а все облачные сервисы аттестованы в соответствии с требованиями ФСТЭК. Использование Yandex Cloud позволило также выполнить требования российского законодательства в части хранения персональных и медицинских данных.

В новых условиях компания стала лучше контролировать бюджеты, поскольку теперь проще оценить себестоимость, юнит-экономику и потребление ресурсов.

Мнение

Евгений Никитин,
технический директор
Евгений Никитин,
технический директор

Yandex Cloud позволяет нам практически мгновенно реагировать на любые бизнес-изменения: подключение нового региона, разработка и тестирование нового продукта или значительный рост исследований от крупного заказчика. При старте каждого проекта прилагаем максимум усилий, чтоб уговорить заказчика на развёртывание в облаке — это намного удобнее и позволяет поддерживать высочайшее качество работы наших продуктов и быстрые обновления.