Директор по распространению технологий Яндекса, популяризатор программирования, один из создателей и постоянный ведущий подкаста Радио-Т Григорий Бакунов рассказал на прошлогодней конференции DUMP о том, какие фундаментальные изменения происходят в медицине и фармакологии прямо сейчас, какие практические проблемы стоят перед наукой и как выглядит медицина будущего.
Под катом видео доклада и его текстовая версия.
Здравствуйте! Коротко о спонсорах. Не так давно меня пригласили поучаствовать в конференции, связанной с медициной и с технологиями в ней. Говорят: «Нужна короткая лекция на 15 минут». Перед выступлением меня на секундочку останавливают, говорят, короткое объявление. Выходит человек, который говорит: «Прекрасная медицинская конференция, очень здорово! Буквально на соседнем стенде продается моя морская вода, она лечит от всех болезней, эффективность на 150% выше, чем обычное лекарство, обязательно приходите». Я смотрю и думаю, господи, если бы такой человек вышел на девелоперской конференции, его бы закидали камнями. А врачи сидят и то ли им норм, то ли им привычно, я не знаю.
Я к чему все это. Когда я готовился к этой презентации, честно сказать, я думал, что я буду рассказывать про другое. Но примерно полторы недели назад до меня дошло, что я не хочу рассказывать типичный булшит про machine learning в науке. Не в том смысле, что это булшит, а в том смысле, что, в среднем, если вас это интересует, вы про это уже знаете.
Если вы про это не знаете, значит вам просто неинтересно.
О чем я хочу вам рассказать? Я хочу рассказать о том, какие практические проблемы сейчас стоят перед наукой, чтобы это было вам, программистам, понятно, и больше того, даже приятно.
Простите меня за иллюстрации. У меня всегда такие иллюстрации, что вы на них можете даже не смотреть, но мне будет приятно, если вы хотя бы иногда будете улыбаться.
Главный месседж, с которого стоит, наверно, начать, вот какой. Когда три года назад я начал заниматься темой, связанной с медициной, здоровьем, фармацевтикой, применением алгоритмических методов, я зашел в несколько крупных институтов, и там встречал много умных людей, и каждый раз я им задавал один и тот же вопрос. Как мне вытащить людей, которые занимаются медициной и фармой, медициной в первую очередь, на диалог? Как их заставить разговаривать? Они говорят: ну как, их надо провоцировать.
И я начал приходить на конференции вот с таким слоганом.
Это выглядело всегда вот так. Заходишь в зал, говоришь: «Здравствуйте, дорогие врачи и дорогие ученые, я вам должен сказать вот что: медицина — не наука».
Конечно, это не совсем правда. У меня есть простое определение, почему медицина не является наукой. Потому что современная медицина выглядит вот как: до тех пор, пока ты не закончил медицинский институт, ты не занимаешься медициной, ты ничего не знаешь в медицине. Нужно не просто закончить. Есть интернатура, сложная процедура, ты учишься почти 9 лет, и только начиная с этого, тебя начинают считать начинающим врачом. Есть специальный эзотерический язык, на котором разговаривают только врачи. И иногда у меня такое ощущение, что у них своя собственная письменность.
При этом сначала ты просто учишься, обретаешь знания, потом тебе дают учителя, за которым ты ходишь и повторяешь то, что делает он. И только потом тебе выдают белый халат, шапочку, стетоскоп (которым, как вы знаете, врачи уже не пользуются, это чистая атрибутика) и говорят: все, теперь ты врач.
Задумайтесь на секунду, вам это ничего не напоминает? Много лет тебя сначала учат, с трудом принимают через экзамен, потом ты ходишь за преподавателем и повторяешь за ним все, что нужно. И через какое-то время ты сам становишься преподавателем.
Структура один в один повторяет структуру тайных орденов 12-14 века. Один в один. Кто играл в «Assassin's creed», наверно, должны вспоминать эту историю. Один в один — тайный орден.
При этом нужно знать вот что. У тайного ордена задача — не создать новое знание, не приумножить старое, а просто сохранить знания древних. Из-за этого медицина многие годы тормозила. Слава богу, что это закончилось. На мой взгляд, оно закончилось только-только, и закончилось не благодаря медицине и медикам, а благодаря тому, что человечество начало копить данные.
Эти данные, которые мы накопили, зачастую начали противоречить медицине. И противоречить начали сильно. Прямо конкретно, жестко противоречить.
Большая часть крупных и важных изменений в медицине, произошедших за последние 20-30 лет, связаны исключительно с данными.
При этом медицина, несмотря на то, что, на мой взгляд, с 21 века начала быть научной, у нее есть одна большая проблема.
Нет жесткого определения, что такое наука. Но есть некоторое количество важных научных методик. Мне кажется, важнейшая из них заключается в том, что если ты занимаешься наукой, ты постоянно проводишь эксперименты, ты рассказываешь о них другим людям, и другие люди должны суметь воспроизвести твой эксперимент.
Ключевой точкой науки в современном мире является воспроизводимость эксперимента. Причем воспроизводимость во многих смыслах. Ты можешь повторить эксперимент, который я сделал. Другой человек может повторить эксперимент, который сделал ты.
И вот, что еще важно. Кто-то все время повторяет твои эксперименты. Без этого нет науки, нет верификации.
Когда мы пришли в эту тему (есть несколько энтузиастов, занимающихся этой темой), первое, что мы обнаружили: большая часть людей, которая занимается вокруг науки работой с данными, ничего не знают о том, как это устроено в нормальном мире программистов.
Я считаю, что это один из самых успешных экспериментов, который мы сделали, мы начали заниматься работой с фармой и с биологией клетки, мы завели культуру эксперимента. Каждый эксперимент и результаты каждого эксперимента мы оформили реально в виде существующего теста. Готового написанного теста на Python-е. Каждый эксперимент был оформлен таким образом.
Данные каждого экспериментального действия, то есть, например, применение препарата на белок или применение препарата на клетку, было выполнением теста. И вот, что важно. Все эти тесты гонялись параллельно, все время, безостановочно. Это классический паттерн, который называется Continuous Integration.
Когда мы начали про это говорить с учеными, они начали про это говорить: «Ну это же невероятно сложно. Для этого нужно какой-то софт писать». Оказалось, что большая часть софта, который программисты уже годы используют для всех этих штук, типа какой-нибудь Travis, который мы долгие годы использовали, какой-нибудь Jenkins, который мы многие годы использовали, он один в один подходит и ученым тоже.
Если подключить голову и начать думать, то эксперимент — это код. Работают те же самые классические истории с регрессиями. Например, если вы вдруг в какой-то момент решили, что в ваш научный эксперимент требуется внести изменения, давайте по новому эксперименту прогоним все старые тесты и проверим, что они работают.
Классическое регрессионное тестирование никуда не делось. Ученые были в шоке, потому что обнаружили, что если проводить эксперименты старым образом и новым образом, то разница в экспериментальных замерах составляла до 20%.
Что такое 20% в фарме? Ну, казалось бы, фарма уже давно привыкла к ошибкам. Ну, выпустили неудачный препарат, через год кому-то заплатили, у кого-то не так начал работать этот препарат. В реальности ошибки, выявляемые в фарме на поздних этапах, приводят зачастую к закрытиям компаний. Потому что если ты выявил сложный побочный эффект через 4-5 лет после запуска препарата и по собственной глупости продавал его, например, на территории США или любого другого цивилизованного рынка, количество исков к тебе, как к компании, будет исчисляться десятками и сотнями, каждый из которых будет состоять из десятков миллионов долларов. Ты просто на адвокатов потратишь больше.
Внедрение регрессионных тестов в этой среде позволило во многих ситуациях сократить издержки на ошибки на 20-30%. Что такое 20-30% в общем потоке довольно крупной фармацевтической компании, с которой я по этому поводу взаимодействовал? Ну, это типа 4-5 млрд долларов. По их представлениям, деньги небольшие. На мой вкус, за внедрение одного небольшого инструмента, деньги прям хорошие.
Такая же история один в один про версионирование и подход к эксперименту как таковому. Начиная с того момента, когда ты начинаешь думать про эксперимент и про научное действие, как про код, ты сразу начинаешь думать, что это все куда-то класть нужно. Оказалось, что большая часть ученых, с которыми я сейчас работаю, с восторгом смотрят на Гитхаб и говорят: «А что, так можно было?»
Люди, которые работают с Гитхабом и гитом давно, понимают, что вот здесь ты запушил новый тест, вот там подключился Travis, который это все забрал, прокачал, прогнал новые тесты. Кстати, выглядит это очень красиво! Дергается Travis, двигается механизированная рука, которая в пипетки начинает рассовывать старые препараты. Невероятная картинка!
По факту, самое важное в истории «давайте посмотрим на тесты, как на код» — это то, что появилось версионирование. По-другому начали работать с гипотезами. Не вида «где-то мы, кажется, ошиблись», а «давайте возьмем гитом, сделаем bisect, найдем, в каком куске кода у нас ошибка, в каком тесте мы совершили ошибку, в какой точке мы остановились».
Я не знаю, как вас, а меня эти истории сильно возбуждают. Когда я начинаю про это думать, я думаю, господи, ну ведь запас инструментов, которые насоздавали программисты, он невероятно велик. Он просто гигантский.
И бог с ним, с чистым версионированием в рамках Гитхаба. Во-первых, тесты — это код. Если мы описываем эксперименты и гипотезы в виде кода, у нас есть прекрасные инструменты для статического анализа. У нас есть прекрасные инструменты для анализа кода. Давайте искать логические ошибки, даже еще не запуская эксперимент? Давайте сольем все тесты в один большой алгоритм и поищем логические ошибки в них? Никакой проблемы.
Тут нужно понимать, что в фарме такой Continuous Integration — это довольно дорогой процесс, потому что каждый тест стоит каких-то денег. Проведение одного цикла CI в текущей истории с крупной фарм-компанией, с которой я работаю, занимает около 80 тысяч долларов. Давайте переведу по-другому. Если мы логическую ошибку в эксперименте можем провести до тестирования — экономия instant 80 тысяч долларов.
Программисты хорошо знают: линтер и статический анализ можно запускать еще до коммита. Просто не пускать в тест изначально ошибочные гипотезы. Или говорить, что ошибка находится не в той гипотезе, которую ты сейчас хочешь добавить. А такое тоже бывает.
И в этот момент тоже очень важная штука наступает.
Когда над цепочкой экспериментов работает один человек, никаких проблем. Это как если один программист пишет код — никаких проблем, положил в папку на Самбе или в Дропбоксе, и никаких проблем, все хорошо. В тот момент, когда программистов двое, уже начинаются конфликты. Когда программистов 50 человек, и все они работают примерно над одним участком кода, читай — над одним набором тестов, конечно, возникают проблемы. Здесь невероятный разгул творчества для применения готовых инструментов, которые программисты вырабатывали последние десятилетия.
Я при этом двумя руками голосую за Гитхаб. Искренне считаю, что использование Гитхаба за пределами просто хранения кода просто невероятное. При том, что я, конечно, не являюсь представителем компании Гитхаб ни в каком месте.
Появление средств для коллективной работы над экспериментами в сочетании с версионированием позволило делать очень интересные вещи. Например, ребята, с которыми работаю я, начали друг другу делать пулл-реквесты с предложениями. Просто потому что, ну, он пошел посмотреть, как обстоят дела у другой команды, обнаружил интересную гипотезу, и вместо того, чтобы просто накидывать ее в курилке, как это бывает принято у ребят, занимающихся биологией и физикой, он сделал все просто, он оформил пулл-реквест, положил его. С той стороны ребята сказали: «Ой, классная идея», замерджили ее, и через какое-то время мы увидели новый тест с новым экспериментом в базе.
К сожалению, в силу того, что большая часть взаимоотношений между техническими и фармацевтическими компаниями не очень публичная, мы не можем рассказывать все. Я могу сказать, что я знаю как минимум один препарат, который три года назад начался с пулл-реквеста и который сейчас получает сертификацию FDA.
Сертификация FDA означает, что через год этот препарат может появиться в аптеках. Не в наших пока.
Это изменение в головах, к сожалению, пока у молодых ученых, очень сложно переоценить. Это переход от закрытой разработки, как это было принято многие годы в рамках небольших научных коллективов, к открытым процедурам. Я уверен, что пройдет года 3-4, и вы увидите маленькие исследовательские лаборатории, которые все держат на Гитхабе и которые готовы принимать пулл-реквесты от людей снаружи. И вот это будет просто бомба. Просто другой мир, где каждый человек так или иначе может поучаствовать в нормальной научной деятельности.
Почему это важно? Потому же, почему важен open source как таковой. Нет, я не говорю сейчас, что open source — это самый крутой софт на свете, нет. Больше того, кажется, это мне принадлежит крылатая фраза пятнадцатилетней давности с подписью «Блеск и нищета open source». Но без open source не было бы огромного количества вещей, которыми мы пользуемся каждый день. У половины Android. Без open source не было бы Android.
Такая же история сейчас происходит с препаратами и будет классно, будет невероятно круто, когда мы окажемся в этом мире.
Тут пока, конечно, все не так быстро. Но есть область, в которой вот этот наш текущий подход он, наверно, легче всего применим.
Есть интересный подход, который говорит, что можно для начала, для того, чтобы не изменять всю твою структуру, не заставлять тебя переписывать все, для начала заняться оцифровкой результатов тех экспериментов, которые ты уже проводишь. И превратить их, например, в набор просто текстовых файлов. И дальше воспользоваться готовыми инструментами для работы с логами.
Чтобы вы понимали, у меня есть невероятная история. Я с восторгом ее каждый раз рассказываю. Когда результаты научных экспериментов запихиваются в Kibana и в ClickHouse — готовые базы, содержащие обычно большое количество логов, по ним проводятся разные тесты, замеры, эксперименты, и кроме всего прочего используются стандартные алгоритмы для «anomaly detection». Как по-русски называется? По-русски «anomaly detection» называется «поиск разладок». Я сам в шоке от этого слова, но оно мне так нравится.
Поиск разладок, как выяснилось, невероятно хорош в применении к экспериментальной науке. Самое классное место, где его сейчас применяют — у Яндекса есть взаимодействие с ЦЕРН-ом. В рамках ЦЕРН-а есть несколько крупных экспериментов на Большом адронном коллайдере. Самый маленький из них называется LHCb, в котором происходят миллиарды столкновений частиц. Результаты каждого из этих столкновений, записываются в базу.
После этого прогоняется готовый набор алгоритмов, находящий там аномалии. Объекты и события, которые не вписываются в представления о прекрасном. Я не могу сказать, что там сейчас сделаны большие открытия, но если какой-то открытие там будет сделано в рамках этого эксперимента, оно будет сделано исключительно благодаря вот этому айтишному подходу к, казалось бы, такой классической области как анализ столкновения частиц.
Это, конечно, фундаментальные изменения в науке. Причем в науке любой. Возвращаясь обратно к теме фармы, медицины и биологии, хочу сказать, что на самом деле, чем научнее наука, тем сложнее применять в ней программистские подходы.
Потому что все-таки, например, в физике уже давным-давно другая культура эксперимента. Там привыкли к математическим методам и математическим подходам. А в фармацевтике, медицине и биологии, нет. Поэтому, когда ты им говоришь, что есть средства коллективной работы, и одна часть эксперимента может производиться на одной части континента, а другая на другой, и есть система, которая позволяет это всё объединить. И больше того: даже если у вас один человек напишет одно, а другой другое, вы сможете каким-то образом объединить этот конфликт. Есть система, которая позволяет в автоматическом режиме постоянно проводить те эксперименты, которые ты добавляешь и говорить, что какой-то их них не случился или что-то случилось. У врачей, которые взаимодействуют с экспериментальной медициной, загораются глаза.
Когда ты этим занимаешься, у тебя возникает ощущение (я надеюсь, что оно не ложное), что ты меняешь мир. Вполне возможно, через 20-30 лет из-за того, что ты просто научил фармацевтов пользоваться Travis-ом, людей меньше умирать будет.
У всей этой истории есть другая грустная сторона. Людей, которые так же, как я, пытаются принести айтишные способы работы, методы и методологии работы в другие области за пределами IT, очень немного. Я сюда приехал, для того, чтобы вам всю эту историю рассказать, во многом потому, что, возможно, вы сможете донести до ученых, специалистов, юристов, кого угодно, те бесконечные возможности, которые в наших инструментах уже есть.
На секунду отодвинули всю эту историю про фарму, биологию и физику. Представьте себе на секунду, что вы работаете с юридической компанией. Вы понимаете, что большую часть современных договоров можно записать алгоритмическим языком? Вы понимаете, что современные своды законов — это библиотеки для этих договоров? Вы понимаете, что конституция — это операционная система для этих договоров? Вы понимаете, что методы статического анализа, если это все сконвертировать в алгоритмический язык, найдут дефекты, ошибки и проблемы в этом законодательстве намного эффективнее, чем любой профессиональный юрист?
Я много лет работаю в IT, я неплохо, как мне кажется, умею попадать в сроки исполнения любой задачи. Так вот, чтобы оцифровать всю эту историю, оцифровать все законодательство, привести его в цифровой вид, нужен хороший программист, хороший юрист и года полтора, наверно. Вот концепция стартапа, если хотите, берите.
На самом деле, мы близки к тому, чтобы закончить. По большому счету этот подход под названием «возьмем айтишные инструменты и донесем их до остального мира», он немножко мессианский. Типа, у нас есть религия, она называется, вот слово «аджайл» уже испачкано, давайте какое-нибудь другое слово возьмем? Давайте просто «Средства для коллективной работы».
Донести средства автоматизированной работы до любой другой специальности — это такая миссия, которая позволяет людям экономить часы жизни, а иногда просто человеческие жизни. Именно поэтому я сейчас этим так активно и занимаюсь.
Это все, о чем я хотел рассказать.
Меня можно вот так найти, это я.
Я готов поотвечать на ваши вопросы. Прежде чем мы перейдем, я хочу сказать, что я всегда волнуюсь перед такой аудиторией, как здесь. Вы все очень разные. А еще здесь много людей из Екатеринбурга, я сам отсюда, и я знаю, что у нас здесь не очень принято улыбаться. Спасибо, что кто-то из вас улыбался. Было здорово, спасибо.
С одной стороны, я услышал слово Python, с другой стороны услышал «статический анализ», «велика цена ошибки». А почему тогда Python, а не какой-нибудь Haskell?
Я был бы очень за Haskell, проблема только в том, что нам было легче заходить через Python, тупо потому что у них уже было какое-то количество кода на Python написано, в силу того, что там местами применялся написанный нами же machine learning, который, понятное дело, был забанен в Python. С Haskell легче было математикам, с Python было легче биологам и фармацевтам.
Я — разработчик, а моя жена — врач-инфекционист. А ее подруга работает в лаборатории. Чисто случайно, не вру :) А еще я из Сибири, из Новосибирска. Иногда я рассказываю жене что-нибудь техническое, и она говорит: «Что ты несешь? У нас совсем другой мир». Серьезно, у них бывают проблемы просто с наличием компьютера. Вопрос у меня такой. Когда вся вот эта магия, вся эта крутизна, про которую ты говоришь, вся эта медицина в open source, докатится до реальных примеров в повседневной эксплуатации в глубинке, в Сибири, вообще по всей стране? Когда это станет крутым трендом?
Медицина до конца 20 века развивалась очень медленными темпами. Какой бы пример вам привести? Все знают, что человечество научилось лечить язву желудка. Внезапно выяснилось, что большая часть случаев язвы желудка вызывается конкретной бактерией, бактерия называется Helicobacter pylori, нашли способ, как с ней бороться, все элементарно, все здорово. Кто-то даже Нобелевскую премию получил. Но если вчитываться в детали, то выясняешь, что до этого в животноводстве ее открыли и научились лечить за 60 лет до. 60 лет люди умирали.
Сейчас цикл принятия решения трансфера данных из одной науки в другую уменьшился лет до 10. Вот если сейчас между Новосибирском и Хабаровском местами есть точки, в которых люди занимаются наукой, но при этом у них даже компьютера нет, то лет через 10 все поменяется. Помяните мое слово. Больше, чем 10 лет, не пройдет.
При этом есть области, в которых просто применения науки нет. Большая часть врачей, с которыми я сейчас взаимодействую и которые хотят заниматься активно наукой и принимают участие в экспериментах, но живут не в центральных городах, в качестве компьютера используют собственные личные мобильные телефоны. Более, чем достаточно. Один даже программирует прямо на телефоне.
«Медицина — не наука», хорошо. В других выступлениях где-то год назад можно было услышать от тебя фразу, что точно ставится только 24% диагнозов. А с этим что делать? Какие тут наметились пути решения?
Короткий анонс для тех, кто не слышал эту историю. Есть официальная цифра ВОЗ-а — Всемирной организации здравоохранения — о том, что в среднем в мире, если вы приходите к врачу, и врач вам ставит гипотезу диагноза, то вероятность того, что она верная — 24%. То есть даже не 50, даже не монетку подкинуть. 24%.
Что с этим делать? Делать с этим вот что. Копить как можно больше данных. На самом деле, проблема ведь не во враче. А в том, что за те, по российскому нормативу, то ли 6, то ли 9 минут, которые врач с тобой общается, вместе с заполнением карты, тот набор данных, который про тебя может узнать врач, чтобы его проанализировать, ничтожно мал. А вот если это научиться делать автоматически, то объем данных будет невероятно велик.
Я люблю рассказывать эту невероятную историю, она произошла со мной в позапрошлом году. Я сижу в кинотеатре, у меня Apple Watch. Мой кардиолог, с которым я работаю, получает данные с моих Apple Watch. В какой-то момент он мне звонит. Я аккуратно спрашиваю: «Да, что такое?» Он говорит: «Слушай, а с тобой все в порядке? Я просто вижу, что у тебя пульс 160, а ты не в спортзале».
Я это к чему. Вот так выглядит медицина будущего. И вот этот подход не вида «я пришел к врачу, пожаловался, и он стал ставить мне диагноз», а «врач, глядя на мои органические показатели, сказал, что что-то не так, возможно, надо предпринять какие-то действия», он позволяет радикально изменить вот эту цифру. Я думаю, мы в пределах 20-30 лет поднимем, грубо говоря, коэффициент диагностики до 50%. Я, может, не доживу, а вы доживете.
Первый вопрос. Какие есть примеры областей, не связанных с IT, где есть реальная необходимость распределенной совместной работы? И второй вопрос. Как отделаться от мысли, что та картина прекрасной будущей России, которую вы рисуете, это не Россия?
Половина примеров, про которые я рассказывал, из России. У нас прогресс во многих технических областях, в том числе и в научных, произошел недавно. И в силу этого, нам менять нужно меньше. Есть много мест, в которых не нужно исправлять 50 лет назад заведенный порядок, в просто прийти и предложить хоть какой-то порядок.
Что касается мест, где есть необходимость в коллективном труде. Не забывайте, пожалуйста, что если бы у извозчиков в начале 20 века спросили, как вы себе представляете автомобиль и что вы от него хотите, они бы сказали, что хотим большую тележку позади лошади, чтобы везти фекалии. Это главная инновация была бы.
В том смысле, что не ждите, что ученые с восторгом откликнутся на ваши предложения. Сначала будет какой-то давление. Вы приходите и говорите: мне кажется, что в вашем конкретном методе, в этом конкретном месте неплохо сделать это. «Вот это» — это, например, коллективная работа над одной статьей или над одним тестом. Не ждите восторга. К счастью, через две-три итерации взаимодействия они поймут, какое это счастье, а до этого будет отторжение.
Очень интересно, какие именно тесты проводятся. Я правильно понимаю, что в компании есть определенный набор фармацевтических тестов для определенной продукции? Как туда привнести новые тесты?
Прямо сейчас никак.
Например, мы тестируем на аллергичность, такого характера тесты?
Есть партнерские тесты. Давайте для простоты скажем, что, например, есть набор биологических материалов, про которые известно, что на них взаимодействует такой-то аллерген, и есть автоматическая ферма, которая вводит набор препаратов и проверяет, что реакция на эти препараты после введения другого препарата, не изменилась. Или изменилась в лучшую сторону. Или в худшую сторону. То есть делаются просто регулярные замеры.
Получается, вся система элементарного управления, она производит автоматизацию и сбор данных?
Автоматизацию сбора данных и непрерывность процесса.
То есть она не связана с самой биологией?
Она не связана с изменением в самой науке, но видите, появление такой неочевидной технологии, как письмо, написание букв, радикально изменило науку в дальнейшем. Такая же история происходит и здесь. Появление новых инструментов довольно сильно изменяет саму науку. Просто это через шаг происходит.
Это частная фармацевтическая компания или это как-то государством поддерживается?
У нас в мире нет, кажется, государственных фармацевтических компаний. Мой опыт основан на взаимодействии с двумя крупными фармацевтическими компаниями. Одна из них мирового уровня, с немецкими корнями.
У меня простой вопрос. Где взять данные, если ты не Яндекс?
Мне кажется, данные нужно брать у компаний-партнеров, так же, как это делает Яндекс, потому что в реальности ни у кого на свете нет достаточного количества данных в одном источнике, чтобы двигать науку.
Наука — это всегда что-то, что образуется на пересечении большого количества данных с разными владельцами.
С медицинскими данными, насколько я понимаю, все сильно сложнее…
Все наоборот. С медицинскими данными в последние годы все сильно проще, потому что эти данные есть анонимизированные либо в большом количестве, но, к сожалению, не на русском языке. Ну, тут с ними что-то делать надо: переводить, как-то взаимодействовать. Либо эти данные получаются непосредственно от пациентов. С каждым из которых нужно подписать бумажку о том, что он согласен на передачу данных. И все.
Наука в современном виде — удел богатых. Вся моя история про open source еще про то, что, возможно, это позволит большому количеству молодых и безденежных ученых, не принадлежащих ни к какой большой секте и не работающих ни с одной большой фармацевтической компанией, создавать что-нибудь новое коллективно.
А как вам вообще пришло в голову соединить две не очень соединяемые, на первый взгляд, вещи — IT и медицину? Это технологии, которые не пересекаются в умах большинства людей. Какие первые шаги вы сделали, чтобы пойти по тому пути, который вы выбрали?
Как вы, наверно, по моему внешнему виду видите, я не только мало сплю, я еще и человек не очень здоровый. И когда я начал заниматься темой медицины, фармы и всего такого, я просто пытался решить проблемы, которые есть у ребят, которые занимаются конкретным исследованием. И единственный способ для решения, который есть у меня в руках, это было вот оно.
Знаете, был такой великий философ и психолог по фамилии Маслоу, который довольно точно сформулировал. Если переводить аккуратно на русский, он сказал вот как: «Когда у вас в руках молоток, сложно удержаться от соблазна все вокруг считать гвоздями». У меня в руках был Гитхаб, сложно было не считать все вокруг кодом. Так и получилось.
Почему раньше не додумались скрещивать различного рода сферы деятельности с IT? И немного демагогию разведу. Если резко произойдет скрещивание различных сфер деятельности с IT, и мы юристов будем скрещивать и так далее, то по сути много людей, которые сейчас занимают свои рабочие места, уйдут.
Классно же.
Вопрос в другом: а что с ними делать?
Есть много разных гипотез. Я вот читал прекрасную книжку, где бы сойлент, который производили из людей, как вы помните. В 90-е у нас в стране много обсуждали биореактор. Если серьезно отвечать, то у меня нет ответа на этот вопрос. Самое интересное, я не считаю, что айтишники должны решать, что делать с этими людьми.
У меня есть человек-идол, он, к сожалению, умер, но у него была гениальная фраза. Он как-то на одной встрече, где я был, на которой программисты сильно ругались, вышел, написал две строчки. Строчка первая: ничего работать не будет. Пункт номер два: прогресс не остановить. И вот с этой мыслью о том, что все будет обязательно плохо, но прогресс не остановить, я и живу.
Да, большое количество людей в результате технического прогресса потеряют работу. Но прогресс из-за этого останавливать не надо. Человечество найдет какой-то выход. Безусловный доход, принудительное лечение программированием людей, которые потеряли работу.
Я не совсем понял. Что именно в медицине описывается тестами на Python-е?
В данном конкретном случае мы, например, тестами описывали входящие и результирующие данные теста на аллергена. То есть какая дозировка препарата введена в клетку, и какой результат на просвет мы в результате получили.
То есть через Continuous Integration у вас запускается какая-то физическая машина?
Физическая лаборатория, да. Тут нужно понимать, что физические лаборатории, в среднем, у них уже есть. Просто тесты в них описаны не в таком виде, а в виде большой программы, в которой написано: давайте руками выставим такой-то набор характеристик и на выходе проверим, что результат вот такой-то.
Под катом видео доклада и его текстовая версия.
Здравствуйте! Коротко о спонсорах. Не так давно меня пригласили поучаствовать в конференции, связанной с медициной и с технологиями в ней. Говорят: «Нужна короткая лекция на 15 минут». Перед выступлением меня на секундочку останавливают, говорят, короткое объявление. Выходит человек, который говорит: «Прекрасная медицинская конференция, очень здорово! Буквально на соседнем стенде продается моя морская вода, она лечит от всех болезней, эффективность на 150% выше, чем обычное лекарство, обязательно приходите». Я смотрю и думаю, господи, если бы такой человек вышел на девелоперской конференции, его бы закидали камнями. А врачи сидят и то ли им норм, то ли им привычно, я не знаю.
Я к чему все это. Когда я готовился к этой презентации, честно сказать, я думал, что я буду рассказывать про другое. Но примерно полторы недели назад до меня дошло, что я не хочу рассказывать типичный булшит про machine learning в науке. Не в том смысле, что это булшит, а в том смысле, что, в среднем, если вас это интересует, вы про это уже знаете.
Если вы про это не знаете, значит вам просто неинтересно.
О чем я хочу вам рассказать? Я хочу рассказать о том, какие практические проблемы сейчас стоят перед наукой, чтобы это было вам, программистам, понятно, и больше того, даже приятно.
Простите меня за иллюстрации. У меня всегда такие иллюстрации, что вы на них можете даже не смотреть, но мне будет приятно, если вы хотя бы иногда будете улыбаться.
Главный месседж, с которого стоит, наверно, начать, вот какой. Когда три года назад я начал заниматься темой, связанной с медициной, здоровьем, фармацевтикой, применением алгоритмических методов, я зашел в несколько крупных институтов, и там встречал много умных людей, и каждый раз я им задавал один и тот же вопрос. Как мне вытащить людей, которые занимаются медициной и фармой, медициной в первую очередь, на диалог? Как их заставить разговаривать? Они говорят: ну как, их надо провоцировать.
И я начал приходить на конференции вот с таким слоганом.
Это выглядело всегда вот так. Заходишь в зал, говоришь: «Здравствуйте, дорогие врачи и дорогие ученые, я вам должен сказать вот что: медицина — не наука».
Конечно, это не совсем правда. У меня есть простое определение, почему медицина не является наукой. Потому что современная медицина выглядит вот как: до тех пор, пока ты не закончил медицинский институт, ты не занимаешься медициной, ты ничего не знаешь в медицине. Нужно не просто закончить. Есть интернатура, сложная процедура, ты учишься почти 9 лет, и только начиная с этого, тебя начинают считать начинающим врачом. Есть специальный эзотерический язык, на котором разговаривают только врачи. И иногда у меня такое ощущение, что у них своя собственная письменность.
При этом сначала ты просто учишься, обретаешь знания, потом тебе дают учителя, за которым ты ходишь и повторяешь то, что делает он. И только потом тебе выдают белый халат, шапочку, стетоскоп (которым, как вы знаете, врачи уже не пользуются, это чистая атрибутика) и говорят: все, теперь ты врач.
Задумайтесь на секунду, вам это ничего не напоминает? Много лет тебя сначала учат, с трудом принимают через экзамен, потом ты ходишь за преподавателем и повторяешь за ним все, что нужно. И через какое-то время ты сам становишься преподавателем.
Структура один в один повторяет структуру тайных орденов 12-14 века. Один в один. Кто играл в «Assassin's creed», наверно, должны вспоминать эту историю. Один в один — тайный орден.
При этом нужно знать вот что. У тайного ордена задача — не создать новое знание, не приумножить старое, а просто сохранить знания древних. Из-за этого медицина многие годы тормозила. Слава богу, что это закончилось. На мой взгляд, оно закончилось только-только, и закончилось не благодаря медицине и медикам, а благодаря тому, что человечество начало копить данные.
Эти данные, которые мы накопили, зачастую начали противоречить медицине. И противоречить начали сильно. Прямо конкретно, жестко противоречить.
Большая часть крупных и важных изменений в медицине, произошедших за последние 20-30 лет, связаны исключительно с данными.
При этом медицина, несмотря на то, что, на мой взгляд, с 21 века начала быть научной, у нее есть одна большая проблема.
Нет жесткого определения, что такое наука. Но есть некоторое количество важных научных методик. Мне кажется, важнейшая из них заключается в том, что если ты занимаешься наукой, ты постоянно проводишь эксперименты, ты рассказываешь о них другим людям, и другие люди должны суметь воспроизвести твой эксперимент.
Ключевой точкой науки в современном мире является воспроизводимость эксперимента. Причем воспроизводимость во многих смыслах. Ты можешь повторить эксперимент, который я сделал. Другой человек может повторить эксперимент, который сделал ты.
И вот, что еще важно. Кто-то все время повторяет твои эксперименты. Без этого нет науки, нет верификации.
Когда мы пришли в эту тему (есть несколько энтузиастов, занимающихся этой темой), первое, что мы обнаружили: большая часть людей, которая занимается вокруг науки работой с данными, ничего не знают о том, как это устроено в нормальном мире программистов.
Я считаю, что это один из самых успешных экспериментов, который мы сделали, мы начали заниматься работой с фармой и с биологией клетки, мы завели культуру эксперимента. Каждый эксперимент и результаты каждого эксперимента мы оформили реально в виде существующего теста. Готового написанного теста на Python-е. Каждый эксперимент был оформлен таким образом.
Данные каждого экспериментального действия, то есть, например, применение препарата на белок или применение препарата на клетку, было выполнением теста. И вот, что важно. Все эти тесты гонялись параллельно, все время, безостановочно. Это классический паттерн, который называется Continuous Integration.
Когда мы начали про это говорить с учеными, они начали про это говорить: «Ну это же невероятно сложно. Для этого нужно какой-то софт писать». Оказалось, что большая часть софта, который программисты уже годы используют для всех этих штук, типа какой-нибудь Travis, который мы долгие годы использовали, какой-нибудь Jenkins, который мы многие годы использовали, он один в один подходит и ученым тоже.
Если подключить голову и начать думать, то эксперимент — это код. Работают те же самые классические истории с регрессиями. Например, если вы вдруг в какой-то момент решили, что в ваш научный эксперимент требуется внести изменения, давайте по новому эксперименту прогоним все старые тесты и проверим, что они работают.
Классическое регрессионное тестирование никуда не делось. Ученые были в шоке, потому что обнаружили, что если проводить эксперименты старым образом и новым образом, то разница в экспериментальных замерах составляла до 20%.
Что такое 20% в фарме? Ну, казалось бы, фарма уже давно привыкла к ошибкам. Ну, выпустили неудачный препарат, через год кому-то заплатили, у кого-то не так начал работать этот препарат. В реальности ошибки, выявляемые в фарме на поздних этапах, приводят зачастую к закрытиям компаний. Потому что если ты выявил сложный побочный эффект через 4-5 лет после запуска препарата и по собственной глупости продавал его, например, на территории США или любого другого цивилизованного рынка, количество исков к тебе, как к компании, будет исчисляться десятками и сотнями, каждый из которых будет состоять из десятков миллионов долларов. Ты просто на адвокатов потратишь больше.
Внедрение регрессионных тестов в этой среде позволило во многих ситуациях сократить издержки на ошибки на 20-30%. Что такое 20-30% в общем потоке довольно крупной фармацевтической компании, с которой я по этому поводу взаимодействовал? Ну, это типа 4-5 млрд долларов. По их представлениям, деньги небольшие. На мой вкус, за внедрение одного небольшого инструмента, деньги прям хорошие.
Такая же история один в один про версионирование и подход к эксперименту как таковому. Начиная с того момента, когда ты начинаешь думать про эксперимент и про научное действие, как про код, ты сразу начинаешь думать, что это все куда-то класть нужно. Оказалось, что большая часть ученых, с которыми я сейчас работаю, с восторгом смотрят на Гитхаб и говорят: «А что, так можно было?»
Люди, которые работают с Гитхабом и гитом давно, понимают, что вот здесь ты запушил новый тест, вот там подключился Travis, который это все забрал, прокачал, прогнал новые тесты. Кстати, выглядит это очень красиво! Дергается Travis, двигается механизированная рука, которая в пипетки начинает рассовывать старые препараты. Невероятная картинка!
По факту, самое важное в истории «давайте посмотрим на тесты, как на код» — это то, что появилось версионирование. По-другому начали работать с гипотезами. Не вида «где-то мы, кажется, ошиблись», а «давайте возьмем гитом, сделаем bisect, найдем, в каком куске кода у нас ошибка, в каком тесте мы совершили ошибку, в какой точке мы остановились».
Я не знаю, как вас, а меня эти истории сильно возбуждают. Когда я начинаю про это думать, я думаю, господи, ну ведь запас инструментов, которые насоздавали программисты, он невероятно велик. Он просто гигантский.
И бог с ним, с чистым версионированием в рамках Гитхаба. Во-первых, тесты — это код. Если мы описываем эксперименты и гипотезы в виде кода, у нас есть прекрасные инструменты для статического анализа. У нас есть прекрасные инструменты для анализа кода. Давайте искать логические ошибки, даже еще не запуская эксперимент? Давайте сольем все тесты в один большой алгоритм и поищем логические ошибки в них? Никакой проблемы.
Тут нужно понимать, что в фарме такой Continuous Integration — это довольно дорогой процесс, потому что каждый тест стоит каких-то денег. Проведение одного цикла CI в текущей истории с крупной фарм-компанией, с которой я работаю, занимает около 80 тысяч долларов. Давайте переведу по-другому. Если мы логическую ошибку в эксперименте можем провести до тестирования — экономия instant 80 тысяч долларов.
Программисты хорошо знают: линтер и статический анализ можно запускать еще до коммита. Просто не пускать в тест изначально ошибочные гипотезы. Или говорить, что ошибка находится не в той гипотезе, которую ты сейчас хочешь добавить. А такое тоже бывает.
И в этот момент тоже очень важная штука наступает.
Когда над цепочкой экспериментов работает один человек, никаких проблем. Это как если один программист пишет код — никаких проблем, положил в папку на Самбе или в Дропбоксе, и никаких проблем, все хорошо. В тот момент, когда программистов двое, уже начинаются конфликты. Когда программистов 50 человек, и все они работают примерно над одним участком кода, читай — над одним набором тестов, конечно, возникают проблемы. Здесь невероятный разгул творчества для применения готовых инструментов, которые программисты вырабатывали последние десятилетия.
Я при этом двумя руками голосую за Гитхаб. Искренне считаю, что использование Гитхаба за пределами просто хранения кода просто невероятное. При том, что я, конечно, не являюсь представителем компании Гитхаб ни в каком месте.
Появление средств для коллективной работы над экспериментами в сочетании с версионированием позволило делать очень интересные вещи. Например, ребята, с которыми работаю я, начали друг другу делать пулл-реквесты с предложениями. Просто потому что, ну, он пошел посмотреть, как обстоят дела у другой команды, обнаружил интересную гипотезу, и вместо того, чтобы просто накидывать ее в курилке, как это бывает принято у ребят, занимающихся биологией и физикой, он сделал все просто, он оформил пулл-реквест, положил его. С той стороны ребята сказали: «Ой, классная идея», замерджили ее, и через какое-то время мы увидели новый тест с новым экспериментом в базе.
К сожалению, в силу того, что большая часть взаимоотношений между техническими и фармацевтическими компаниями не очень публичная, мы не можем рассказывать все. Я могу сказать, что я знаю как минимум один препарат, который три года назад начался с пулл-реквеста и который сейчас получает сертификацию FDA.
Сертификация FDA означает, что через год этот препарат может появиться в аптеках. Не в наших пока.
Это изменение в головах, к сожалению, пока у молодых ученых, очень сложно переоценить. Это переход от закрытой разработки, как это было принято многие годы в рамках небольших научных коллективов, к открытым процедурам. Я уверен, что пройдет года 3-4, и вы увидите маленькие исследовательские лаборатории, которые все держат на Гитхабе и которые готовы принимать пулл-реквесты от людей снаружи. И вот это будет просто бомба. Просто другой мир, где каждый человек так или иначе может поучаствовать в нормальной научной деятельности.
Почему это важно? Потому же, почему важен open source как таковой. Нет, я не говорю сейчас, что open source — это самый крутой софт на свете, нет. Больше того, кажется, это мне принадлежит крылатая фраза пятнадцатилетней давности с подписью «Блеск и нищета open source». Но без open source не было бы огромного количества вещей, которыми мы пользуемся каждый день. У половины Android. Без open source не было бы Android.
Такая же история сейчас происходит с препаратами и будет классно, будет невероятно круто, когда мы окажемся в этом мире.
Тут пока, конечно, все не так быстро. Но есть область, в которой вот этот наш текущий подход он, наверно, легче всего применим.
Есть интересный подход, который говорит, что можно для начала, для того, чтобы не изменять всю твою структуру, не заставлять тебя переписывать все, для начала заняться оцифровкой результатов тех экспериментов, которые ты уже проводишь. И превратить их, например, в набор просто текстовых файлов. И дальше воспользоваться готовыми инструментами для работы с логами.
Чтобы вы понимали, у меня есть невероятная история. Я с восторгом ее каждый раз рассказываю. Когда результаты научных экспериментов запихиваются в Kibana и в ClickHouse — готовые базы, содержащие обычно большое количество логов, по ним проводятся разные тесты, замеры, эксперименты, и кроме всего прочего используются стандартные алгоритмы для «anomaly detection». Как по-русски называется? По-русски «anomaly detection» называется «поиск разладок». Я сам в шоке от этого слова, но оно мне так нравится.
Поиск разладок, как выяснилось, невероятно хорош в применении к экспериментальной науке. Самое классное место, где его сейчас применяют — у Яндекса есть взаимодействие с ЦЕРН-ом. В рамках ЦЕРН-а есть несколько крупных экспериментов на Большом адронном коллайдере. Самый маленький из них называется LHCb, в котором происходят миллиарды столкновений частиц. Результаты каждого из этих столкновений, записываются в базу.
После этого прогоняется готовый набор алгоритмов, находящий там аномалии. Объекты и события, которые не вписываются в представления о прекрасном. Я не могу сказать, что там сейчас сделаны большие открытия, но если какой-то открытие там будет сделано в рамках этого эксперимента, оно будет сделано исключительно благодаря вот этому айтишному подходу к, казалось бы, такой классической области как анализ столкновения частиц.
Это, конечно, фундаментальные изменения в науке. Причем в науке любой. Возвращаясь обратно к теме фармы, медицины и биологии, хочу сказать, что на самом деле, чем научнее наука, тем сложнее применять в ней программистские подходы.
Потому что все-таки, например, в физике уже давным-давно другая культура эксперимента. Там привыкли к математическим методам и математическим подходам. А в фармацевтике, медицине и биологии, нет. Поэтому, когда ты им говоришь, что есть средства коллективной работы, и одна часть эксперимента может производиться на одной части континента, а другая на другой, и есть система, которая позволяет это всё объединить. И больше того: даже если у вас один человек напишет одно, а другой другое, вы сможете каким-то образом объединить этот конфликт. Есть система, которая позволяет в автоматическом режиме постоянно проводить те эксперименты, которые ты добавляешь и говорить, что какой-то их них не случился или что-то случилось. У врачей, которые взаимодействуют с экспериментальной медициной, загораются глаза.
Когда ты этим занимаешься, у тебя возникает ощущение (я надеюсь, что оно не ложное), что ты меняешь мир. Вполне возможно, через 20-30 лет из-за того, что ты просто научил фармацевтов пользоваться Travis-ом, людей меньше умирать будет.
У всей этой истории есть другая грустная сторона. Людей, которые так же, как я, пытаются принести айтишные способы работы, методы и методологии работы в другие области за пределами IT, очень немного. Я сюда приехал, для того, чтобы вам всю эту историю рассказать, во многом потому, что, возможно, вы сможете донести до ученых, специалистов, юристов, кого угодно, те бесконечные возможности, которые в наших инструментах уже есть.
На секунду отодвинули всю эту историю про фарму, биологию и физику. Представьте себе на секунду, что вы работаете с юридической компанией. Вы понимаете, что большую часть современных договоров можно записать алгоритмическим языком? Вы понимаете, что современные своды законов — это библиотеки для этих договоров? Вы понимаете, что конституция — это операционная система для этих договоров? Вы понимаете, что методы статического анализа, если это все сконвертировать в алгоритмический язык, найдут дефекты, ошибки и проблемы в этом законодательстве намного эффективнее, чем любой профессиональный юрист?
Я много лет работаю в IT, я неплохо, как мне кажется, умею попадать в сроки исполнения любой задачи. Так вот, чтобы оцифровать всю эту историю, оцифровать все законодательство, привести его в цифровой вид, нужен хороший программист, хороший юрист и года полтора, наверно. Вот концепция стартапа, если хотите, берите.
На самом деле, мы близки к тому, чтобы закончить. По большому счету этот подход под названием «возьмем айтишные инструменты и донесем их до остального мира», он немножко мессианский. Типа, у нас есть религия, она называется, вот слово «аджайл» уже испачкано, давайте какое-нибудь другое слово возьмем? Давайте просто «Средства для коллективной работы».
Донести средства автоматизированной работы до любой другой специальности — это такая миссия, которая позволяет людям экономить часы жизни, а иногда просто человеческие жизни. Именно поэтому я сейчас этим так активно и занимаюсь.
Это все, о чем я хотел рассказать.
Меня можно вот так найти, это я.
Я готов поотвечать на ваши вопросы. Прежде чем мы перейдем, я хочу сказать, что я всегда волнуюсь перед такой аудиторией, как здесь. Вы все очень разные. А еще здесь много людей из Екатеринбурга, я сам отсюда, и я знаю, что у нас здесь не очень принято улыбаться. Спасибо, что кто-то из вас улыбался. Было здорово, спасибо.
С одной стороны, я услышал слово Python, с другой стороны услышал «статический анализ», «велика цена ошибки». А почему тогда Python, а не какой-нибудь Haskell?
Я был бы очень за Haskell, проблема только в том, что нам было легче заходить через Python, тупо потому что у них уже было какое-то количество кода на Python написано, в силу того, что там местами применялся написанный нами же machine learning, который, понятное дело, был забанен в Python. С Haskell легче было математикам, с Python было легче биологам и фармацевтам.
Я — разработчик, а моя жена — врач-инфекционист. А ее подруга работает в лаборатории. Чисто случайно, не вру :) А еще я из Сибири, из Новосибирска. Иногда я рассказываю жене что-нибудь техническое, и она говорит: «Что ты несешь? У нас совсем другой мир». Серьезно, у них бывают проблемы просто с наличием компьютера. Вопрос у меня такой. Когда вся вот эта магия, вся эта крутизна, про которую ты говоришь, вся эта медицина в open source, докатится до реальных примеров в повседневной эксплуатации в глубинке, в Сибири, вообще по всей стране? Когда это станет крутым трендом?
Медицина до конца 20 века развивалась очень медленными темпами. Какой бы пример вам привести? Все знают, что человечество научилось лечить язву желудка. Внезапно выяснилось, что большая часть случаев язвы желудка вызывается конкретной бактерией, бактерия называется Helicobacter pylori, нашли способ, как с ней бороться, все элементарно, все здорово. Кто-то даже Нобелевскую премию получил. Но если вчитываться в детали, то выясняешь, что до этого в животноводстве ее открыли и научились лечить за 60 лет до. 60 лет люди умирали.
Сейчас цикл принятия решения трансфера данных из одной науки в другую уменьшился лет до 10. Вот если сейчас между Новосибирском и Хабаровском местами есть точки, в которых люди занимаются наукой, но при этом у них даже компьютера нет, то лет через 10 все поменяется. Помяните мое слово. Больше, чем 10 лет, не пройдет.
При этом есть области, в которых просто применения науки нет. Большая часть врачей, с которыми я сейчас взаимодействую и которые хотят заниматься активно наукой и принимают участие в экспериментах, но живут не в центральных городах, в качестве компьютера используют собственные личные мобильные телефоны. Более, чем достаточно. Один даже программирует прямо на телефоне.
«Медицина — не наука», хорошо. В других выступлениях где-то год назад можно было услышать от тебя фразу, что точно ставится только 24% диагнозов. А с этим что делать? Какие тут наметились пути решения?
Короткий анонс для тех, кто не слышал эту историю. Есть официальная цифра ВОЗ-а — Всемирной организации здравоохранения — о том, что в среднем в мире, если вы приходите к врачу, и врач вам ставит гипотезу диагноза, то вероятность того, что она верная — 24%. То есть даже не 50, даже не монетку подкинуть. 24%.
Что с этим делать? Делать с этим вот что. Копить как можно больше данных. На самом деле, проблема ведь не во враче. А в том, что за те, по российскому нормативу, то ли 6, то ли 9 минут, которые врач с тобой общается, вместе с заполнением карты, тот набор данных, который про тебя может узнать врач, чтобы его проанализировать, ничтожно мал. А вот если это научиться делать автоматически, то объем данных будет невероятно велик.
Я люблю рассказывать эту невероятную историю, она произошла со мной в позапрошлом году. Я сижу в кинотеатре, у меня Apple Watch. Мой кардиолог, с которым я работаю, получает данные с моих Apple Watch. В какой-то момент он мне звонит. Я аккуратно спрашиваю: «Да, что такое?» Он говорит: «Слушай, а с тобой все в порядке? Я просто вижу, что у тебя пульс 160, а ты не в спортзале».
Я это к чему. Вот так выглядит медицина будущего. И вот этот подход не вида «я пришел к врачу, пожаловался, и он стал ставить мне диагноз», а «врач, глядя на мои органические показатели, сказал, что что-то не так, возможно, надо предпринять какие-то действия», он позволяет радикально изменить вот эту цифру. Я думаю, мы в пределах 20-30 лет поднимем, грубо говоря, коэффициент диагностики до 50%. Я, может, не доживу, а вы доживете.
Первый вопрос. Какие есть примеры областей, не связанных с IT, где есть реальная необходимость распределенной совместной работы? И второй вопрос. Как отделаться от мысли, что та картина прекрасной будущей России, которую вы рисуете, это не Россия?
Половина примеров, про которые я рассказывал, из России. У нас прогресс во многих технических областях, в том числе и в научных, произошел недавно. И в силу этого, нам менять нужно меньше. Есть много мест, в которых не нужно исправлять 50 лет назад заведенный порядок, в просто прийти и предложить хоть какой-то порядок.
Что касается мест, где есть необходимость в коллективном труде. Не забывайте, пожалуйста, что если бы у извозчиков в начале 20 века спросили, как вы себе представляете автомобиль и что вы от него хотите, они бы сказали, что хотим большую тележку позади лошади, чтобы везти фекалии. Это главная инновация была бы.
В том смысле, что не ждите, что ученые с восторгом откликнутся на ваши предложения. Сначала будет какой-то давление. Вы приходите и говорите: мне кажется, что в вашем конкретном методе, в этом конкретном месте неплохо сделать это. «Вот это» — это, например, коллективная работа над одной статьей или над одним тестом. Не ждите восторга. К счастью, через две-три итерации взаимодействия они поймут, какое это счастье, а до этого будет отторжение.
Очень интересно, какие именно тесты проводятся. Я правильно понимаю, что в компании есть определенный набор фармацевтических тестов для определенной продукции? Как туда привнести новые тесты?
Прямо сейчас никак.
Например, мы тестируем на аллергичность, такого характера тесты?
Есть партнерские тесты. Давайте для простоты скажем, что, например, есть набор биологических материалов, про которые известно, что на них взаимодействует такой-то аллерген, и есть автоматическая ферма, которая вводит набор препаратов и проверяет, что реакция на эти препараты после введения другого препарата, не изменилась. Или изменилась в лучшую сторону. Или в худшую сторону. То есть делаются просто регулярные замеры.
Получается, вся система элементарного управления, она производит автоматизацию и сбор данных?
Автоматизацию сбора данных и непрерывность процесса.
То есть она не связана с самой биологией?
Она не связана с изменением в самой науке, но видите, появление такой неочевидной технологии, как письмо, написание букв, радикально изменило науку в дальнейшем. Такая же история происходит и здесь. Появление новых инструментов довольно сильно изменяет саму науку. Просто это через шаг происходит.
Это частная фармацевтическая компания или это как-то государством поддерживается?
У нас в мире нет, кажется, государственных фармацевтических компаний. Мой опыт основан на взаимодействии с двумя крупными фармацевтическими компаниями. Одна из них мирового уровня, с немецкими корнями.
У меня простой вопрос. Где взять данные, если ты не Яндекс?
Мне кажется, данные нужно брать у компаний-партнеров, так же, как это делает Яндекс, потому что в реальности ни у кого на свете нет достаточного количества данных в одном источнике, чтобы двигать науку.
Наука — это всегда что-то, что образуется на пересечении большого количества данных с разными владельцами.
С медицинскими данными, насколько я понимаю, все сильно сложнее…
Все наоборот. С медицинскими данными в последние годы все сильно проще, потому что эти данные есть анонимизированные либо в большом количестве, но, к сожалению, не на русском языке. Ну, тут с ними что-то делать надо: переводить, как-то взаимодействовать. Либо эти данные получаются непосредственно от пациентов. С каждым из которых нужно подписать бумажку о том, что он согласен на передачу данных. И все.
Наука в современном виде — удел богатых. Вся моя история про open source еще про то, что, возможно, это позволит большому количеству молодых и безденежных ученых, не принадлежащих ни к какой большой секте и не работающих ни с одной большой фармацевтической компанией, создавать что-нибудь новое коллективно.
А как вам вообще пришло в голову соединить две не очень соединяемые, на первый взгляд, вещи — IT и медицину? Это технологии, которые не пересекаются в умах большинства людей. Какие первые шаги вы сделали, чтобы пойти по тому пути, который вы выбрали?
Как вы, наверно, по моему внешнему виду видите, я не только мало сплю, я еще и человек не очень здоровый. И когда я начал заниматься темой медицины, фармы и всего такого, я просто пытался решить проблемы, которые есть у ребят, которые занимаются конкретным исследованием. И единственный способ для решения, который есть у меня в руках, это было вот оно.
Знаете, был такой великий философ и психолог по фамилии Маслоу, который довольно точно сформулировал. Если переводить аккуратно на русский, он сказал вот как: «Когда у вас в руках молоток, сложно удержаться от соблазна все вокруг считать гвоздями». У меня в руках был Гитхаб, сложно было не считать все вокруг кодом. Так и получилось.
Почему раньше не додумались скрещивать различного рода сферы деятельности с IT? И немного демагогию разведу. Если резко произойдет скрещивание различных сфер деятельности с IT, и мы юристов будем скрещивать и так далее, то по сути много людей, которые сейчас занимают свои рабочие места, уйдут.
Классно же.
Вопрос в другом: а что с ними делать?
Есть много разных гипотез. Я вот читал прекрасную книжку, где бы сойлент, который производили из людей, как вы помните. В 90-е у нас в стране много обсуждали биореактор. Если серьезно отвечать, то у меня нет ответа на этот вопрос. Самое интересное, я не считаю, что айтишники должны решать, что делать с этими людьми.
У меня есть человек-идол, он, к сожалению, умер, но у него была гениальная фраза. Он как-то на одной встрече, где я был, на которой программисты сильно ругались, вышел, написал две строчки. Строчка первая: ничего работать не будет. Пункт номер два: прогресс не остановить. И вот с этой мыслью о том, что все будет обязательно плохо, но прогресс не остановить, я и живу.
Да, большое количество людей в результате технического прогресса потеряют работу. Но прогресс из-за этого останавливать не надо. Человечество найдет какой-то выход. Безусловный доход, принудительное лечение программированием людей, которые потеряли работу.
Я не совсем понял. Что именно в медицине описывается тестами на Python-е?
В данном конкретном случае мы, например, тестами описывали входящие и результирующие данные теста на аллергена. То есть какая дозировка препарата введена в клетку, и какой результат на просвет мы в результате получили.
То есть через Continuous Integration у вас запускается какая-то физическая машина?
Физическая лаборатория, да. Тут нужно понимать, что физические лаборатории, в среднем, у них уже есть. Просто тесты в них описаны не в таком виде, а в виде большой программы, в которой написано: давайте руками выставим такой-то набор характеристик и на выходе проверим, что результат вот такой-то.
В этом году конференция DUMP пройдет 19 апреля в Екатеринбурге. Традиционно будет секция Science. В программе этого года: Олег Бартунов (МГУ, Postgres Professional), Пётр Федичев (МФТИ, Gero), Павел Скрипниченко (УрФУ, KantrSkrip), Геннадий Штех (Naumen), Игорь Мамай (Контур), Владислав Блинов и Валерия Баранова (Tinkoff.ru), Татьяна Зобнина (Naumen). Полная программа — на сайте конференции.