Как мы подружили ML и биореакторы

от автора

Привет, Хабр! Мы 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-регулятора настраиваются таким образом, чтобы достигнуть желаемого компромисса между быстрой реакцией на изменение уставки и отсутствием перерегулирования на всем протяжении процесса культивирования. 

Устройство PID-регулятора

Устройство PID-регулятора

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

 Допустим, хотим привести среду в биореакторе к температуре в 34 градуса, значение 34 будет нашим значением уставки, при этом текущее значение в реакторе — 37 градусов. 

Мы попробовали смоделировать процесс, опираясь на исторические данные этого перехода на различных реакторах. Процесс моделирования состоит из двух частей. Первая часть – это сам PID-регулятор. Здесь нет каких-то трудностей, так как алгоритм давно известен и существуют реализации практически на любом языке программирования.

Вторая часть — это реакция системы на управляющее воздействие. 

Красным выделен блок, который заменяется дифференциальным уравнением

Красным выделен блок, который заменяется дифференциальным уравнением

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

Дифференциальное уравнение расчета реакции системы на управляющее воздействие 

Дифференциальное уравнение расчета реакции системы на управляющее воздействие 

Фактически, данная задача аналогична поиску гиперпараметров, и ее можно успешно решать с помощью уже знакомых инструментов, таких как SсiPy или Optuna. 

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

График температурного шифта 

График температурного шифта 

Архитектура или, что пришлось сделать, чтобы запустить эти задачи в прод

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

Мы создали промежуточный гейтвей, который служит конвертером между HTTP и промышленными протоколами, такими как Modbus TCP. Этот элемент связывает системы АСУТП и различные ML-сервисы, позволяя взаимодействовать с оборудованием через REST API, не углубляясь в детали программной и аппаратной реализации систем управления. Это позволило облегчить внедрение наших ML-сервисов в прод, ускорить запуск отладочных экспериментов. 

Команда аналитиков пытается разобраться с тем, как передать данные в SCADA- систему

Команда аналитиков пытается разобраться с тем, как передать данные в SCADA- систему

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

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

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

Не стыдно показать маме

Не стыдно показать маме

Логично было бы закончить этот рассказ информацией о той ценности и выгоде для бизнеса, которая получается от использования машинного обучения. Стоимость одного биореактора может достигать 10 000 000 рублей, обеспечение процесса культивирования также затратная история и требует вложения большого количества ресурсов и средств, поэтому даже небольшое изменение в качестве и количестве продукции существенно.

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

С уважением, Data Science команда BIOCAD 

 


ссылка на оригинал статьи https://habr.com/ru/company/biocad/blog/698330/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *