Привет, Хабр! Мы Data Science команда биотехнологической компании BIOCAD. Хотим рассказать вам о том, как мы применяем машинное обучение при производстве лекарственных средств и с какими задачами сталкиваемся для оптимизации технологического процесса культивирования белка.
О компании и роли IT
BIOCAD — биотехнологическая компания полного цикла создания лекарственных препаратов: от разработки молекулы и клинических исследований до массового производства и маркетинговой поддержки. Наш продуктовый портфель состоит из препаратов для терапии сложнейших социально значимых заболеваний, таких как онкология, аутоимунные и другие виды редких генетических заболеваний. За 20 лет нам удалось выпустить 62 лекарственных препарата, запустить 7 современных производственных комлпексов и оборудовать порядка 40 лабораторий для научно‑исследовательских работ. Конечно, всё это было бы невозможно без IT.
IT интегрированы во все бизнес‑процессы компании и этапы жизненного цикла препарата. Сейчас мы продолжаем автоматизацию и цифровизацию основных направлений: R&D, доклинических и клинических исследований, производства и контроля качества. Команда IT направления сфокусирована на реализации и развитии проектов для оптимизации и ускорения рабочих процессов, а также увеличения эффективности без потери качества. Современный бизнес, тем более такой как фармацевтика, обязан опираться на новейшие технологии не только в плоскости непосредственного создания продукта, но и в других бизнес‑процессах, поскольку они позволяют экономить не только материальные ресурсы компании, но и время, необходимое для оперативной разработки и вывода на рынок новых препаратов, в которых нуждаются пациенты.
О команде
Как говорил классик, все команды разработки счастливы одинаково, но исследовательские команды развлекаются по‑своему, поэтому пару слов о нас. В целом, разработка и исследования имеют разные цели и подходы:
Команды разработки работают над созданием конкретного продукта, который решает определенную проблему. Их цель — доставить продукт или решение в срок и в соответствии с бюджетом.
Исследовательские команды изучают новые и неизвестные области, чтобы расширить знания и создать инновационные решения. Цель таких исследований не всегда очевидна, а процесс неопределенный и подвержен изменениям, что существенно затрудняет работу. Кроме того, исследовательские команды часто страдают от ограниченных ресурсов и нехватки времени на проведение исследования, так как оно может затянуться, а результат быть неочевидным. Тем не менее, результаты работы могут быть более значимыми и иметь большее значение в долгосрочной перспективе.
Data Science команда BIOCAD занимается исследованиями, разработкой и внедрением сервисов с использованием машинного обучения во все направления бизнеса. Сейчас активны проекты в направлениях: R&D, Clinical Research, Production, HR и IT.
Команда существует около двух лет, но полноценно сформировалась в 2022 году и теперь состоит из 8 человек:
Data Scientist ????️♂️????????????????????????????????????????????????
Занимаются сбором и анализом данных, построением моделей, их обучением и тестированием. Ищут точки применения машинного обучения в бизнесе, проверяют гипотезы и оказывают аналитическую поддержку пользователям. Иногда пишут код для ML-сервисов.
ML Engineer????♀️
Занимается развертыванием, оптимизацией и последующей поддержкой моделей машинного обучения в продакшене, пишет много кода для взаимодействия моделей машинного обучения с пользователями или другими сервисами, создает пайплайны для сбора данных.
Business Analyst????????????
Разбирается в том, как работает компания и конкретная ее функция, собирает и структурирует все требования к продуктам, считает ценность для бизнеса и планирует стратегии развития, помогает в запуске новых проектов и поддержании порядка в документации и задачах.
Team Lead????????????
Развлекается по полной: участвует в разработке алгоритмической и технической части всех проектов, выстраивает общий пайплайн разработки, проектирует ML-системы и контролирует исполнение задач. Занимается экспертной, операционной поддержкой команды и ее развитием, поиском новых технологий и методов, отслеживанием трендов их внедрением в рабочий процесс, продвижением ML в компании.
Наши задачи невозможно решить без доменных экспертов, поэтому рабочая группа формируется под конкретный проект и может включать в себя коллег из смежных подразделений:
Технологи ????????⚕️
Управляют процессами культивирования, участвуют в отборе признаков для моделей, оценке результатов и генерации гипотез для улучшения метрик.
Научные сотрудники????????????
Участвуют в организации и проведении экспериментов на реальной среде, подводят итоги влияния новых алгоритмов управления на качественные параметры исследуемых процессов.
Специалисты Департамента автоматизации технологических процессов????????????
Занимаются вопросами, связанными с алгоритмами регулирования на процессах, а также настройкой оборудования для проведения экспериментов.
Данные
С течением времени у крупной компании накапливается большое количество данных, и логично извлечь из них пользу. Например, использовать их для оптимизации существующих процессов или учитывать при построении новых. В нашем случае значительный объем составляют производственные данные из SCADA‑систем.
SCADA‑система — это система для управления технологическими процессами, также она собирает и хранит данные с различных датчиков и устройств. В нашей компании был выбран путь построения SCADA‑систем на Open Source‑решениях, что является не совсем типичной ситуацией. Чаще на производствах внедряют коробочные системы от крупных вендоров, которые считаются более надежными, но накладывают множество ограничений на полноту данных и доступ к ним.
Низкоуровневые данные системы управления увеличивают количество полезных признаков, которые можно использовать при решении задач по созданию ML‑моделей. А также увеличивают количество исследований, которые потенциально принесут пользу бизнесу.
Технологический процесс
Сердцем нашего производства является биореактор. Этo oбopудoваниe для выpащивания клеточных биологических культуp в кoнтpoлиpуeмых и стабильных услoвиях. В биореакторах сoздаeтся oптимальная сpeда для pазмнoжeния клeтoк и жизнeдeятeльнoсти микpoopганизмoв, oсущeствляeтся пoдача питатeльнoй сpeды, насыщeниe ee кислopoдoм и oтвoд пpoдуктoв мeтабoлизма.
Процесс начинается с засева клеток в маленький реактор на 3 литра, клетки начинают размножаться, и по достижении необходимой концентрации биомасса перемещается в следующий по объему реактор. И так процедура итеративно повторяется до 2000-литрового реактора.
Процесс культивирования можно разбить на два этапа: первый заключается в том, чтобы нарастить количество клеток, а на втором этапе — заставить эти клетки производить белок. Например, сделать переход от первого этапа ко второму можно с помощью температурного шифта, который приводит к тому, что клетки испытывают «стресс», в результате которого замедляется скорость размножения и клетки начинают производить белок. Белок для нас является конечной целью, именно из него производятся лекарственные средства.
Сложность поддержания оптимальных параметров обусловлена сразу несколькими факторами: узкая область допустимых значений, выход за которую влияет на качество продукции, невозможность менять вышедшие из строя датчики в ходе уже запущенного процесса и сильная взаимосвязь параметров между собой на физическом и биологическом уровнях.
Меняя параметр А подачами веществ, мы сбиваем параметр Б. Возвращая параметр Б в зону целевых значений, опять влияем на параметр А. Замкнутый круг. Дополнительно к этим взаимосвязям добавляется еще различное поведение клеток.
Исходя из этого возникает множество сложностей и проблем, если их все обобщить и превратить в требования, то получается цифровой двойник. Это максимально приближенные к реальному объекту цифровые модели биореакторов, которые могут имитировать поведение реакторов в реальном времени и предсказывать, как изменения в процессе культивирования могут повлиять на производство белков или других продуктов.
Созданием цифровых двойников биореакторов занимаются различные компании в биотехнологической и фармацевтической индустрии. Цифровые двойники могут использоваться для оптимизации процессов культивирования, сокращения времени и затрат на производство и эксперименты, улучшения качества продукта, повышения устойчивости культур и снижения рисков производственных сбоев.
Два подхода
Существует два основных подхода к построению цифровых двойников. Первый основан на машинном обучении, а второй — на физико‑математических моделях. Для реализации цифрового двойника на базе машинного обучения необходимы данные, но в целом его построение проще, чем двойник на базе физико‑математических моделей. В свою очередь, двойник на физических моделях обладает более широким функционалом. Так как они показывают лучшие результаты в новых диапазонах, которых не было в исторических данных и решают задачи, когда данные отсутствуют.
Построение полнофункционального цифрового двойника является сложной и продолжительной работой, мы пытаемся сесть на два стула решать ее как с помощью машинного обучения, так и используя физико‑математические модели.
Проведя анализ имеющихся задач, мы выделили два направления, которые приблизят нас к построению полноценного цифрового двойника: виртуальные датчики и моделирование процессов регулирования.
Виртуальные датчики
Важнейшими факторами для роста и хорошего самочувствия клеток является растворенный кислород и кислотность. По этим показателям происходит управление процессом, датчики вставлены в биореактор и в режиме реального времени передают данные. Если мастер‑датчик выходит из строя и показывает не совсем корректные значения, то это может привести к снижению выхода белка или даже к потере серии, что является серьезной проблемой, так как это влечет за собой, финансовые потери и влияет на планы производства. Чтобы избежать таких последствий, устанавливаются парные датчики, но возникает следующая проблема: когда они начинают расходиться, какому же датчику доверять? И эту проблему мы попробовали решить при помощи машинного обучения.
Задачу определения корректного датчика привели к прогнозированию изменения абсолютного уровня (растворенного кислорода и кислотности) за промежуток времени с последующим анализом схожести поведения двух физических датчиков и модели. Прогнозирование дельты, а не абсолютного уровня, помогает избавиться от проблем, связанных с проведением одноточечных калибровок на процессе, когда значения параметров корректируются вручную, что приводит к их скачкообразному изменению.
Хотя мы работаем с временными рядами, достигли наилучших результатов, когда свели задачу к работе с табличными данными и создали множество признаков, описывающих предыдущие моменты процесса с помощью скользящих функций по различным окнам (от одной минуты до нескольких часов). В качестве модели используем Gradient Boosting из scikit‑learn, это оказалось наиболее простым и эффективным решением.
На основе заданных правил, учитывающих показания виртуального датчика и реальные значения датчиков, производится выбор наиболее подходящего датчика и выносится рекомендация о необходимости переключения.
Моделирование процессов
На заключительной стадии в реакторах проходит температурный шифт — резкое изменение температуры с одного значения на другое. Данный переход происходит под управлением PID‑регулятора. Этот метод был впервые предложен еще в 1910 году и получил большое распространение в 80-х в связи с развитием электроники. В настоящее время данный алгоритм находит свое применение на множестве производств, в квадрокоптерах, беспилотных автомобилях и других проектах из области интернета вещей. Тем не менее он не лишен проблем, самая распространенная из них — это перерегулирование, явление, когда выходное значение регулируемой системы превышает заданное значение (установившееся значение), после того как уставка была изменена.
В контексте использования PID‑регулятора перерегулирование происходит из‑за недостаточной настройки коэффициента дифференцирования (D) или коэффициента пропорциональности (P). Это может привести к нежелательным эффектам, таким как колебания системы или ее нестабильность. Чтобы избежать перерегулирования, коэффициенты PID‑регулятора настраиваются таким образом, чтобы достигнуть желаемого компромисса между быстрой реакцией на изменение уставки и отсутствием перерегулирования на всем протяжении процесса культивирования.
В случае регулирования параметров в биореакторе, настройка и подбор коэффициентов непосредственно на установке для культивирования белка являются очень длительными и трудоемкими операциями, поскольку процесс культивирования может длиться неделями и состоять из множества различных добавок и подпиток. Использование данных предыдущих процессов позволяет ускорить и оптимизировать этот процесс.
Допустим, хотим привести среду в биореакторе к температуре в 34 градуса, значение 34 будет нашим значением уставки, при этом текущее значение в реакторе — 37 градусов.
Мы попробовали смоделировать процесс, опираясь на исторические данные этого перехода на различных реакторах. Процесс моделирования состоит из двух частей. Первая часть — это сам PID‑регулятор. Здесь нет каких‑то трудностей, так как алгоритм давно известен и существуют реализации практически на любом языке программирования.
Вторая часть — это реакция системы на управляющее воздействие.
Этот этап мы заменили переходной характеристикой в виде дифференциального уравнения второго порядка. К данному уравнению добавляются начальные условия на значение функции и первой производной. Решение данной системы сводится к поиску коэффициентов. И на эту задачу можно посмотреть, как на задачу оптимизации: при каких коэффициентах решение будет максимально приближено к нашим историческим данным на множестве аналогичных переходных процессов.
Фактически, данная задача аналогична поиску гиперпараметров, и ее можно успешно решать с помощью уже знакомых инструментов, таких как SсiPy или Optuna.
После того как мы нашли эти коэффициенты дифференциального уравнения, нам необходимо найти коэффициенты PID‑регулятора. Эта задача решается точно так же, только мы минимизируем уже отклонения параметра от уставки. После получения этих коэффициентов мы устанавливаем их на реактор и смотрим, как ведет себя наш процесс.
Архитектура или, что пришлось сделать, чтобы запустить эти задачи в прод
Для того чтобы система рецептурного управления и операторы производственной линии могли получать данные моделирования, пришлось написать немного кода.
Мы создали промежуточный гейтвей, который служит конвертером между HTTP и промышленными протоколами, такими как Modbus TCP. Этот элемент связывает системы АСУТП и различные ML‑сервисы, позволяя взаимодействовать с оборудованием через REST API, не углубляясь в детали программной и аппаратной реализации систем управления. Это позволило облегчить внедрение наших ML‑сервисов в прод, ускорить запуск отладочных экспериментов.
Первоначальным этапом работы ML‑сервиса является проверка того, запущен ли процесс культивирования на конкретном биореакторе. Затем сервис собирает данные из системы управления, данные подвергаются предварительной обработке по заданному пайплайну предобработки и отправляются в модель для получения предсказания, ответ передается в систему управления. Полученные результаты используются системой управления для регулирования различных параметров и визуализируются для оператора производственной линии.
В процессе создания моделей мы используем MLFlow для логирования экспериментов и связанных с ними артефактов. Использование этого фреймворка упрощает управление жизненным циклом моделей машинного обучения и повышает эффективность разработки. Актуальные модели из MLFlow используются в сервисе на проде и для различных пуско‑наладочных тестов и экспериментов на небольших лабораторных реакторах.
ML‑сервис является многопоточным приложением, и в зависимости от количества активных процессов культивирования запускается соответствующее количество потоков с моделями под конкретный тип процесса. Настроено логирование с целью регулярной проверки состояния самого приложения, а также мониторинга метрик, и в случае наступления определенных событий рассылаются уведомления.
Логично было бы закончить этот рассказ информацией о той ценности и выгоде для бизнеса, которая получается от использования машинного обучения. Стоимость одного биореактора может достигать 10 000 000 рублей, обеспечение процесса культивирования также затратная история и требует вложения большого количества ресурсов и средств, поэтому даже небольшое изменение в качестве и количестве продукции существенно.
Мы постарались рассказать про наши задачи так, чтобы нас всех не уволили соблюсти все правила режима коммерческой тайны, но в то же время дать представление о том, кто мы, какими задачами занимаемся и с помощью чего их решаем. Надеемся у нас получилось.
С уважением, Data Science команда BIOCAD.
Комментарии (3)
v01tag3
00.00.0000 00:00+1На первой картинке, если не обращать внимания на странности с проводами, можно увидеть типичного работника производства, которому важны комфорт и здоровье. Не знаю, как в @BIOCAD, а в части клиник США и Канады кроксы входят в униформу персонала. Это связано с тем, что форма кроксов спроектированна для эффективного распределения нагрузки по стопе для уменьшения давления на суставы. Проще говоря такую обувь ценят те, кто часами стоит на ногах.
TheHangedKing
Очень интересная статья, спасибо! Если можете, напишите пожалуйста для полноты картины вашей работы, какое закупаете сырьё и расходные материалы, или например, как работа вашей компании интегрируется в систему здравоохранения, как клиенты размещают у вас заказы и как узнают о ваших производственных и научных возможностях.
BIOCAD Автор
Добрый день! Спасибо за обратную связь, мы планируем и дальше продолжать публиковать материалы о нашей работе, поэтому следите за обновлениями :)