Закон подлости в стоматологии работает безотказно: рентгеновский снимок сделан идеально, кариес виден невооруженным глазом, но страховая компания возвращает требование с пометкой «некачественное изображение». Henry Schein One (HS1) — один из крупнейших поставщиков ПО для стоматологических клиник — решил разрубить этот гордиев узел. Их рецепт: Amazon SageMaker и модель, которая за секунду решает, примет ли страховщик снимок.
Боль, которая длилась десятилетиями
Стоматологические клиники ежегодно теряют до 15% выручки из-за отклоненных страховых требований. Причина банальна — снимки не соответствуют формальным критериям страховщиков: неправильный угол, слишком темный или светлый, артефакты движения, отсутствие необходимых анатомических ориентиров. Раньше проверка лежала на администраторе клиники, который смотрел снимок «на глаз» и отправлял его дальше в страховую. Результат — 30% отказов, пересъемка и потеря времени.
HS1 подошли к задаче системно: нужно было научить машину предсказывать решение страховщика прямо на этапе съемки. Никаких больше «может, прокатит?». Только cold, hard ML.
Архитектура: от кабинета стоматолога до эндпоинта за 200 мс
Система HS1 работает поверх AWS с использованием SageMaker Real-Time Inference. Снимок (обычно DICOM или JPEG) загружается с дентального томографа в S3 bucket, триггером срабатывает Lambda, которая препроцессит изображение — нормализует гистограмму, обрезает лишние области — и отправляет запрос к SageMaker endpoint.
В качестве модели взяли fine-tuned ResNet-50 (выбор неслучайный — в медицинских задачах CNN до сих пор хороши, если данных мало). Дообучали на датасете из 150 000 размеченных снимков с решениями страховых компаний. Метка: «принят» или «отклонен». Точность модели на тесте — 93.4%.
Но самое интересное — инференс. HS1 используют SageMaker с инстансами g5.xlarge, которые ускоряют инференс с помощью GPU. Пробовали CPU — latency прыгала до 1.2 секунды, что для стоматолога, ожидающего перед экраном, вечность. С GPU уложились в 210 мс. Здесь помогли свежие фичи SageMaker: продвинутые метрики GPU и Rolling Updates, о которых мы писали в отдельном обзоре. Именно они позволили мониторить загрузку GPU в реальном времени и бесшовно обновлять модель без даунтайма.
JumpStart и HIPAA: два кита, на которых всё держится
Чтобы не писать весь pipeline с нуля, HS1 активно использовали SageMaker JumpStart. Пресеты для деплоя ResNet, автоматический выбор инстансов, готовые контейнеры — это сэкономило примерно три месяца разработки. «JumpStart избавляет от боли», — заметил технический лид команды. Полностью согласны: мы уже разбирали как JumpStart упрощает деплой под конкретные задачи.
Второй важный момент — соответствие HIPAA. Стоматологические снимки — это медицинская информация, поэтому весь пайплайн работает в VPC с шифрованием на всех уровнях. SageMaker поддерживает HIPAA-элайгмент, и HS1 использовали AWS KMS для ключей. Если интересно, как AWS вообще строит HIPAA-совместимые AI-агенты, посмотрите наш кейс про AWS Connect Health — там те же принципы, но для голосовых ассистентов.
Метрики, которые удивили даже инженеров
После пилота в 50 клиниках HS1 собрали данные: система обрабатывает до 120 снимков в минуту на один эндпоинт. Средняя задержка — 210 мс. Процент отклоненных требований снизился на 18% в первые три месяца, а повторная съемка сократилась вдвое.
Интересный нюанс: модель ошибалась в 6.6% случаев. Анализ показал, что большинство ошибок приходится на детские снимки (дети часто шевелятся, снимки размытые). HS1 дообучили модель на дополнительных 20 000 детских снимков и подняли точность на 1.4%. Мораль: датасет должен быть репрезентативен.
| Метрика | До ML | После ML |
|---|---|---|
| Отказы страховых | 30% | ~12% |
| Время проверки снимка | 10-30 сек (ручная) | 210 мс |
| Повторная съемка | 15% случаев | 7% случаев |
Что дальше? (спойлер: не только снимки)
Сейчас HS1 экспериментируют с мультимодальной моделью, которая будет анализировать не только качество снимка, но и клиническую интерпретацию — то есть сразу подсказывать врачу вероятный диагноз. Если это выстрелит, SageMaker снова в деле, но уже с LLM на борту. Только вот HIPAA для языковых моделей — отдельный квест. Но это уже совсем другая история.
А пока совет тем, кто захочет повторить: не верьте в out-of-the-box модели. Даже ResNet пришлось адаптировать под специфику стоматологических снимков. И обязательно настраивайте Rolling Updates — без них обновление модели превращается в ночной кошмар с простоем в 40 минут. Мы знаем, о чем говорим.