Этот сайт использует файлы cookies. Продолжая просмотр страниц сайта, вы соглашаетесь с использованием файлов cookies. Если вам нужна дополнительная информация, пожалуйста, посетите страницу Политика файлов Cookie
Subscribe
Прямой эфир
Cryptocurrencies: 9881 / Markets: 82739
Market Cap: $ 2 350 977 043 309 / 24h Vol: $ 54 890 053 590 / BTC Dominance: 53.519712094029%

Н Новости

Мониторинг ИИ-систем. Часть 2

В жизни ИИ-системы, медицинской или любой другой, случаются неудачные моменты.

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

К примеру, неправильно заполненный тег части тела в DICOM-файле и некорректная работа модели по фильтрации снимков может привести к возникновению пневмоторакса в стопе:

Лёгкая поступь
Лёгкая поступь

Если вы хотите узнать ещё больше об организации процессов ML-разработки, подписывайтесь на наш Телеграм-канал Варим ML

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

Ложная тревога
Ложная тревога

А иногда проблемы возникают не из-за самой ИИ-системы, а из-за изменения свойств входных данных. Распространённый случай - подключение нового оборудования к той же модели.

Слева - типичный вход модели ФЛГ, справа - новичок
Слева - типичный вход модели ФЛГ, справа - новичок

Помочь в таких ситуациях может мониторинг работы ML-системы на стороне производителя. Грамотно организованный мониторинг позволяет быстрее реагировать на инциденты, получать информацию о неожиданных бизнес-событиях (например, нам забыли сообщить о подключении новой больницы), генерировать новые гипотезы по улучшению и выбирать данные для доразметки.

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

Технический мониторинг

В первую очередь любая ML-система - это программное обеспечение. Соответственно ей свойственны все проблемы, которые могут возникать в работе ПО:

  • Ошибки при выполнении кода - они же баги.

  • Проблемы с железом - сгорела видюха, уборщица вырвала провод.

  • Увеличилась нагрузка на систему, выросло среднее или пиковое количество запросов - соответственно, просела скорость работы системы (latency и/или throughput).

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

Инструменты в вакууме могут сделать только хуже - нужен понятный процесс, кто и как их использует. Например:

  • Автоматические алерты - должны появляться только в том случае, если с какой-то вероятностью нужна реакция.

  • Регулярный мониторинг - с какой-то периодичностью определённый человек или команды осуществляют мониторинг.

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

Примеры инструментов для технического мониторинга
Примеры инструментов для технического мониторинга

Sentry - мой любимый инструмент ещё с 2014 года, особенно в паре с интеграцией в мессенджер. У каждой команды есть свой канал для алертов в Маттермосте, и прям там можно обсудить ошибку и какие действия нужно предпринять. Отдельно отмечу раздел Performance, который позволяет анализировать время работы разных компонентов системы.

Sentry
Sentry

Ещё одна классика - Grafana, которая может кушать информацию из самых разных источников - например, из Prometheus и ElasticSearch. Подходит как для железного мониторинга, так и для сбора статистики о предсказаниях.

Grafana
Grafana

Мониторинг выбросов и качества данных

Следующее тонкое место и время - это оборудование и его работа в момент проведения исследования. Термины тут можно использовать разные - выбросы, OoD-сэмплы, но суть не меняется - иногда в нашу систему попадают данные, которые мы не ожидаем увидеть, и на которых система не обучалась или почти не обучалась. Такие данные могут появиться по самым разным причинам:

  • Работа оборудования - дефекты, артефакты, неправильные настройки.

  • Работа лаборанта - некорректная укладка пациента, неверно заполненные теги.

  • Сам пациент - невыполнение указаний лаборанта, особенности анатомии, наличие инородных тел.

Есть два основных способа обнаружения таких сэмплов данных:

  • Uncertainty estimation - оценка уверенности модели в своём предсказании. Тут есть куча способов - от простейших (расчёт дисперсии по предсказанным вероятностям классов) до сложных, требующих изменения архитектуры модели или нескольких прогонов исследования через сетку.

  • Логирование и детекция аномалий - логируем различные значения, которые появляются в ходе работы нашей системы, например, DICOM-теги, промежуточные значения (объёмы сегментированных целевых органов, яркость изображения) и предсказания системы. И сверху навешиваем какую-нибудь детекцию аномалий - да хоть алерты по порогам значений.

Здесь помимо команд разработки очень велика роль медицинского консультанта, прикреплённого к команде. Во многих случаях только врач может помочь понять, что такое вообще изображено на картинке.

С точки зрения инструментов тут отлично справляется всё тот же Sentry - если при обработке исследования сработало одно из правил, посылаем алерт. В зависимости от ситуации при этом обработка либо продолжается, либо клиенту сразу отдаётся ошибка.

Кликнув на такой алерт, можно провалиться в Сентри и узнать айдишник исследования, который в свою очередь можно ввести на нашей платформе, сделанной на Streamlit. Он найдёт это исследование среди всех БД и даст ссылку на веб-вьюер.

Примеры выбросов, связанные с пациентом и с дефектами оборудования
Примеры выбросов, связанные с пациентом и с дефектами оборудования

Иногда исследование не является дефективным или редким, но модель при обучении не сталкивалась с такими картинками.

КТ на боку приводило к ошибкам в некоторых патологиях
КТ на боку приводило к ошибкам в некоторых патологиях

Наша платформа, которую упоминал выше, также позволяет фильтровать и сортировать исследования по разным условиям - например, анализировать исследования с определённой патологией или с наибольшей неуверенностью модели.

Мониторинг дрифтов

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

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

Слева - на исследовании видны рамки, которые в некоторых случаях ещё и залезают на область молочной железы. Справа - рентген ребёнка, на которых наша система работать не предназначена
Слева - на исследовании видны рамки, которые в некоторых случаях ещё и залезают на область молочной железы. Справа - рентген ребёнка, на которых наша система работать не предназначена

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

Более глубокий мониторинг включает в себя, например, отслеживание появления нового оборудования или изменение доли того или иного оборудования в потоке исследований.

В октябре появляется новый производитель рентгеновских аппаратов + сильно вырастает доля другого
В октябре появляется новый производитель рентгеновских аппаратов + сильно вырастает доля другого

Мониторинг качества работы ML-модели

Так сказать, last but not least - сама модель (модели) или какие-то компоненты системы (препроцессинг, постпроцессинг) могут работать неправильно и это приводит к ошибкам - ложноположительным и ложноотрицательным срабатываниям. Конечно, мы получаем обратную связь от клиентов - от кого-то чаще, от кого-то очень редко, но очень желательно и самим иметь представление об онлайн-качестве работы системы. Особенно критично это в периоды после новых релизов.

Естественно, на этом этапе центральное место занимает врач-консультант, который может отсматривать результаты работы на случайной выборке или по определённому фильтру.

Инструменты здесь используются плюс-минус те же самые, разве что дополнительно это всё ещё оборачивается в какой-нибудь красивый отчёт.

Работа с инцидентами

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

Текущие проблемы

Основные проблемы с мониторингом сейчас связаны с деплоем в регионах.

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

Во-вторых, в регионах сильно выше процент сложных исследований - с неправильной укладкой, дефектами оборудования, неправильно заполненными тегами. Это здорово увеличивает нагрузку на разработчиков и ведёт к некорректной работе ИИ-систем.

При этом выражу респект - в некоторых регионах очень активно идут на встречу, слышат фидбек, исправляют ошибки. Ну и в любом случае у нас всё сильно лучше, чем в Индии =)

Если вы хотите узнать ещё больше об организации процессов ML-разработки, подписывайтесь на наш Телеграм-канал Варим ML

Источник

  • 07.09.23 16:24 CherryTeam

    Cherry Team atlyginimų skaičiavimo programa yra labai naudingas įrankis įmonėms, kai reikia efektyviai valdyti ir skaičiuoti darbuotojų atlyginimus. Ši programinė įranga, turinti išsamias funkcijas ir patogią naudotojo sąsają, suteikia daug privalumų, kurie padeda supaprastinti darbo užmokesčio skaičiavimo procesus ir pagerinti finansų valdymą. Štai keletas pagrindinių priežasčių, kodėl Cherry Team atlyginimų skaičiavimo programa yra naudinga įmonėms: Automatizuoti ir tikslūs skaičiavimai: Atlyginimų skaičiavimai rankiniu būdu gali būti klaidingi ir reikalauti daug laiko. Programinė įranga Cherry Team automatizuoja visą atlyginimų skaičiavimo procesą, todėl nebereikia atlikti skaičiavimų rankiniu būdu ir sumažėja klaidų rizika. Tiksliai apskaičiuodama atlyginimus, įskaitant tokius veiksnius, kaip pagrindinis atlyginimas, viršvalandžiai, premijos, išskaitos ir mokesčiai, programa užtikrina tikslius ir be klaidų darbo užmokesčio skaičiavimo rezultatus. Sutaupoma laiko ir išlaidų: Darbo užmokesčio valdymas gali būti daug darbo jėgos reikalaujanti užduotis, reikalaujanti daug laiko ir išteklių. Programa Cherry Team supaprastina ir pagreitina darbo užmokesčio skaičiavimo procesą, nes automatizuoja skaičiavimus, generuoja darbo užmokesčio žiniaraščius ir tvarko išskaičiuojamus mokesčius. Šis automatizavimas padeda įmonėms sutaupyti daug laiko ir pastangų, todėl žmogiškųjų išteklių ir finansų komandos gali sutelkti dėmesį į strategiškai svarbesnę veiklą. Be to, racionalizuodamos darbo užmokesčio operacijas, įmonės gali sumažinti administracines išlaidas, susijusias su rankiniu darbo užmokesčio tvarkymu. Mokesčių ir darbo teisės aktų laikymasis: Įmonėms labai svarbu laikytis mokesčių ir darbo teisės aktų, kad išvengtų baudų ir teisinių problemų. Programinė įranga Cherry Team seka besikeičiančius mokesčių įstatymus ir darbo reglamentus, užtikrindama tikslius skaičiavimus ir teisinių reikalavimų laikymąsi. Programa gali dirbti su sudėtingais mokesčių scenarijais, pavyzdžiui, keliomis mokesčių grupėmis ir įvairių rūšių atskaitymais, todėl užtikrina atitiktį reikalavimams ir kartu sumažina klaidų riziką. Ataskaitų rengimas ir analizė: Programa Cherry Team siūlo patikimas ataskaitų teikimo ir analizės galimybes, suteikiančias įmonėms vertingų įžvalgų apie darbo užmokesčio duomenis. Ji gali generuoti ataskaitas apie įvairius aspektus, pavyzdžiui, darbo užmokesčio paskirstymą, išskaičiuojamus mokesčius ir darbo sąnaudas. Šios ataskaitos leidžia įmonėms analizuoti darbo užmokesčio tendencijas, nustatyti tobulintinas sritis ir priimti pagrįstus finansinius sprendimus. Pasinaudodamos duomenimis pagrįstomis įžvalgomis, įmonės gali optimizuoti savo darbo užmokesčio strategijas ir veiksmingai kontroliuoti išlaidas. Integracija su kitomis sistemomis: Cherry Team programinė įranga dažnai sklandžiai integruojama su kitomis personalo ir apskaitos sistemomis. Tokia integracija leidžia automatiškai perkelti atitinkamus duomenis, pavyzdžiui, informaciją apie darbuotojus ir finansinius įrašus, todėl nebereikia dubliuoti duomenų. Supaprastintas duomenų srautas tarp sistemų padidina bendrą efektyvumą ir sumažina duomenų klaidų ar neatitikimų riziką. Cherry Team atlyginimų apskaičiavimo programa įmonėms teikia didelę naudą - automatiniai ir tikslūs skaičiavimai, laiko ir sąnaudų taupymas, atitiktis mokesčių ir darbo teisės aktų reikalavimams, ataskaitų teikimo ir analizės galimybės bei integracija su kitomis sistemomis. Naudodamos šią programinę įrangą įmonės gali supaprastinti darbo užmokesčio skaičiavimo procesus, užtikrinti tikslumą ir atitiktį reikalavimams, padidinti darbuotojų pasitenkinimą ir gauti vertingų įžvalgų apie savo finansinius duomenis. Programa Cherry Team pasirodo esanti nepakeičiamas įrankis įmonėms, siekiančioms efektyviai ir veiksmingai valdyti darbo užmokestį. https://cherryteam.lt/lt/

  • 08.10.23 01:30 davec8080

    The "Shibarium for this confirmed rug pull is a BEP-20 project not related at all to Shibarium, SHIB, BONE or LEASH. The Plot Thickens. Someone posted the actual transactions!!!! https://bscscan.com/tx/0xa846ea0367c89c3f0bbfcc221cceea4c90d8f56ead2eb479d4cee41c75e02c97 It seems the article is true!!!! And it's also FUD. Let me explain. Check this link: https://bscscan.com/token/0x5a752c9fe3520522ea88f37a41c3ddd97c022c2f So there really is a "Shibarium" token. And somebody did a rug pull with it. CONFIRMED. But the "Shibarium" token for this confirmed rug pull is a BEP-20 project not related at all to Shibarium, SHIB, BONE or LEASH.

Для участия в Чате вам необходим бесплатный аккаунт pro-blockchain.com Войти Регистрация
Есть вопросы?
С вами на связи 24/7
Help Icon