医药领域的耕地大数据

Yandex技术发行总监,程序设计促进者,Radio-T播客的创建者和永久主持人之一Grigory Bakunov在去年的DUMP会议上发表了讲话,谈到了目前医学和药理学正在发生什么根本变化,科学面临着哪些实际问题以及医学是什么样子未来。

在剪切的视频报告及其文本版本下。



你好 简要介绍赞助商。 不久前,我受邀参加与医学和技术有关的会议。 他们说:“我们需要进行15分钟的简短演讲。” 他们说,演出开始前,他们叫了我一秒钟。 原来有个男人说:“一次很棒的医学会议,太酷了! 我的海水字面意思是在附近的一家摊位出售的,它可以治愈所有疾病,效果肯定比普通药物高150%。” 我看起来并认为,主啊,如果这样的人出现在发展会议上,他会被扔掉。 我不知道医生坐着还是正常,还是习惯了。


我是怎么做的? 老实说,当我准备这次演讲时,我想我会谈谈别的事情。 但是大约一个半星期前,我突然意识到我不想讲一个关于科学中机器学习的典型公告。 从某种意义上说,这不是胡扯,而是平均而言,如果您对此感兴趣,那么您已经知道了。

如果您不了解,那么您根本就不感兴趣。



我想告诉你什么? 我想谈一谈科学现在面临的实际问题,以便程序员,您甚至所有人都可以理解。



原谅我的插图。 我总是有这样的插图,您甚至可能都不看它们,但如果您至少有时微笑,我会很高兴的。

您可能应该从中开始的主要信息是这个。 三年前,当我开始研究与医学,健康,药物和算法方法的使用有关的主题时,我去了几家大型机构,在那里遇到了许多聪明人,每次我问他们同样的问题。 我如何才能使从事药品和药学(首先是药品)的人们进行对话? 如何让他们说话? 他们说:好吧,他们必须被挑衅。



我开始以这个口号参加会议。



它总是看起来像这样。 您走进大厅,说:“您好,亲爱的医生和亲爱的科学家,我必须告诉您这一点:医学不是科学。”

当然,这并非完全正确。 对于为什么医学不是一门科学,我有一个简单的定义。 因为现代医学是这样的:直到您从医学院毕业,您才开始练习医学,您对医学一无所知。 您不仅需要完成。 有一个实习期,一个复杂的程序,您已经学习了近9年,仅从此开始,您就开始被视为新手医生。 有一种只有医生才能说的特别深奥的语言。 有时我感到他们有自己的书面语言。

在这种情况下,首先您只是学习,获取知识,然后他们给您提供一位老师,您跟随他并重复他的工作。 然后他们才给你一件白大衣,一顶帽子,一个听诊器(众所周知,医生不再使用,这是纯粹的用具),他们说:就是这样,现在你是一名医生。

想一想,这让您想起什么吗? 多年以来,您都是首先受教的,几乎没有通过考试,然后您去追求老师,然后重复他之后需要的一切。 一段时间后,您自己成为老师。

一对一的结构重复了12-14世纪的秘密命令结构。 一对一。 那些扮演刺客信条的人可能应该记住这个故事。 一对一-秘密命令。

在这种情况下,您需要知道这一点。 秘密命令的任务是-不创造新知识,不增加旧知识,而仅仅是保存古代人的知识。 因此,多年来医学一直在放缓。 谢天谢地,一切都结束了。 在我看来,它只是到现在才结束,并且不是由于医学和医生而结束,而是因为人类开始积累数据。



我们积累的这些数据通常开始与医学相矛盾。 他们开始强烈矛盾。 具体来说,这很难矛盾。

在过去20至30年中发生的大多数医学上的重大变化均与数据完全相关。

此外,医学,尽管我认为从21世纪开始是科学的,但它仍然有一个大问题。



对于什么是科学没有明确的定义。 但是,有许多重要的科学技术。 在我看来,其中最重要的是,如果您从事科学工作,便会不断进行实验,将其他情况告诉其他人,其他人也应该能够复制您的实验。

现代世界中科学的重点是实验的可重复性。 而且,可重复性在许多方面。 您可以重复我做的实验。 另一个人可以重复您所做的实验。

而现在,更重要的是。 有人一直重复您的实验。 没有这一点,就没有科学,就没有核查。



当我们谈到这个话题(这个话题有很多狂热者)时,我们发现的第一件事是:从事科学数据工作的大多数人都不知道这在程序员的正常世界中是如何工作的。

我相信这是我们所做的最成功的实验之一,我们开始与药学和细胞生物学合作,我们开始了实验的培养。 我们以现有测试的形式设计了每个实验以及每个实验的结果。 用Python完成的笔试。 每个实验都是以此方式设计的。

每种实验动作的数据,例如,对蛋白质使用药物或对细胞使用药物,均是测试运行。 这就是重要的。 所有这些测试始终不间断地并行运行。 这是一种称为持续集成的经典模式。

当我们开始与科学家讨论这个问题时,他们开始谈论它:“好吧,这非常困难。 为此,您需要编写一些软件。” 事实证明,程序员多年来在所有这些事情上一直使用的大多数软件,例如我们已经使用多年的Travis,我们已经使用多年的Jenkins,对科学家来说也是一对一的。



如果插上头开始思考,那么实验就是代码。 同样的经典回归故事也起作用。 例如,如果您突然决定在科学实验中需要进行更改,那么让我们在一个新实验上运行所有旧测试,并验证它们是否有效。

经典回归测试还没有进行。 科学家们感到震惊,因为他们发现,如果以旧方法和新方法进行实验,实验测量值的差异将高达20%。

农场里有20%是什么? 好吧,看来药房早已习惯了错误。 好吧,他们发布了一种失败的药物,一年后,他们付了钱给某人,但这种药物并没有开始为某人工作。 实际上,在药房后期发现的错误通常会导致公司倒闭。 因为如果您在药物投放市场4-5年后发现了复杂的副作用,并且由于自己的愚蠢而将其出售,例如在美国或任何其他文明市场上出售,那么作为一家公司,针对您的诉讼数量将多达数十起,每起其中将包括数千万美元。 您只是花更多的钱在律师上。

在这种环境中引入回归测试可以使许多情况下的错误成本降低20-30%。 与之互动的相当大的制药公司的总流量的20-30%是多少? 好吧,这就像4-5十亿美元。 据他们说,钱很小。 以我的口味,引入一种小工具,钱是直接好的。



相同的故事是一对一的版本控制,也是这种实验的方法。 从您开始考虑实验和科学行为以及代码开始,您立即开始认为您需要将所有内容都放在某个地方。 事实证明,现在与我合作的大多数科学家都对Github充满热情,并说:“嗯,这有什么可能?”

与Github和Gith长期合作的人都知道,在这里您启动了一个新测试,在此Travis已连接,并接受了所有这些,进行了测试并推出了新的测试。 顺便说一下,它看起来非常漂亮! 特拉维斯抽搐,一只机械手动了动,这开始将旧药推入移液管。 令人难以置信的图片!

实际上,在“让我们将测试看成代码”的故事中,最重要的是版本控制已经出现。 他们以不同的方式开始处理假设。 不像“我们似乎误会的地方”,而是“让我们混搭,二等分,找出我们在哪段代码中出错了,在哪项测试中我们出错了,在什么时候停止了”。

我不了解你,但是这些故事使我非常激动。 当我开始考虑它时,我想,天哪,程序员创建的工具存量非常多。 他只是个大人物。



上帝保佑他,在Github框架内进行纯粹的版本控制。 首先,测试就是代码。 如果我们将实验和假设描述为代码,那么我们就有出色的静态分析工具。 我们有出色的代码分析工具。 让我们在不进行实验的情况下查找逻辑错误吗? 让我们将所有测试合并为一个大算法,然后在其中寻找逻辑错误吗? 没问题

在这里,您需要了解,在服务器场中,这种持续集成是一个相当昂贵的过程,因为每次测试都需要花费一些钱。 在当前的故事中,与一家与我合作的大型农场公司执行一个CI周期,大约需要8万美元。 让我们用另一种方式翻译。 如果我们可以在测试前在实验中犯一个逻辑错误-节省了8万美元。

程序员很清楚:可以在提交之前运行linter和静态分析。 只是不要让最初错误的假设得到检验。 或者说该错误不在您现在要添加的假设中。 这也会发生。

在这一刻,一件非常重要的事情也来了。



当一个人进行一系列实验时,没有问题。 就像一个程序员在编写代码一样-没问题,放在Samba或Dropbox中的文件夹中,没问题,一切都很好。 那时,有两个程序员,冲突已经开始。 当程序员是50个人时,他们全都用大约一段代码工作,在一组测试中进行读取,当然会出现问题。 在这里,使用了程序员在过去几十年中开发的现成工具,令人难以置信的创造力狂欢。

同时,我用双手投票支持Github。 我真诚地相信,除了存储代码外,使用Github简直令人难以置信。 尽管事实上,我在任何地方都不是Github公司的代表。

结合版本控制用于实验的集体工作的工具的出现使做非常有趣的事情成为可能。 例如,与我一起工作的家伙开始互相提出要约。 仅仅因为,好吧,他去看看另一个团队的情况,发现了一个有趣的假设,而不是像参与生物学和物理学的人习惯的那样,将其扔到吸烟室里,他做的一切都很简单,他设计了一个拉取请求,将其放下。 另一边,他们说:“哦,好主意”,他们冻结了,过了一段时间,我们在数据库中看到了一个带有新实验的新测试。

不幸的是,由于技术公司和制药公司之间的大多数关系不是很公开,所以我们无法说清一切。 我可以说,我至少知道一种药物,该药物从三年前就开始了药品申请,现在已经获得FDA认证。

FDA认证意味着该药可能会在一年内出现在药房中。 还不是我们的。

不幸的是,年轻科学家的思想变化仍然很难被高估。 这是从封闭式开发到开放程序的过渡,封闭式开发已被小型研究团队接受了许多年,这已经是小型研究团队的一部分。 我敢肯定,会过3-4年,您会看到每个人都留在Github上的小型研究实验室,他们随时准备接受外界人员的请求。 这将只是一颗炸弹。 这是一个不同的世界,每个人可以以一种或另一种方式参加正常的科学活动。

为什么这很重要? 因此,为什么开源如此重要。 不,我现在不是在说开源是世界上最酷的软件,不。 而且,在我看来,这是十五年前的流行语,带有“开源的光辉与贫穷”的签名。 但是,如果没有开源,我们每天将不会使用大量的东西。 Android的一半。 没有开源,就不会有Android。

毒品现在正在发生同样的故事,它将变得很酷,当我们在这个世界上找到自己时,它将变得非常酷。



当然,在这里,一切还不是那么快。 但是,在我们当前的方法中,可能存在最容易应用的领域。

有一种有趣的方法说,可以从一开始就进行操作,以便不更改整个结构,不强迫您重写所有内容,开始对已经进行的实验结果进行数字化。 并将它们转换为一组简单的文本文件。 然后使用现成的工具来处理日志。

为了让您理解,我有一个不可思议的故事。 我很高兴每次都告诉她。 当科学实验的结果塞满Kibana和ClickHouse时,通常包含大量日志的现成数据库将对它们进行不同的测试,测量和实验,并使用“异常检测”的标准算法。 俄语叫什么? 在俄语中,“异常检测”被称为“寻找挫败感”。 我自己对这个词感到震惊,但是我非常喜欢它。

事实证明,将挫折感应用于实验科学是非常好的。 现在使用过的最酷的地方-Yandex与CERN有互动。 在欧洲核子研究中心内,大型强子对撞机进行了几次大型实验。 其中最小的一种称为LHCb,其中发生数十亿个粒子碰撞。 每个冲突的结果都记录在数据库中。

之后,运行一套现成的算法,在那儿找到异常。 不适合美的对象和事件。 我不能说现在已经在这里发现了重大发现,但是,如果作为本实验的一部分在这里做出了一些发现,则将完全归功于这种IT方法对颗粒碰撞分析等看似经典领域的发现。

这些当然是科学的根本变化。 在科学上也是如此。 回到药学,医学和生物学的话题,我想说的是,实际上,科学越科学,在其中应用程序化方法就越困难。

因为例如,尽管如此,很久以前在物理学中,还是有不同的实验文化。 他们习惯了数学方法和数学方法。 但是在制药,医学和生物学领域,没有。 因此,当您告诉他们有集体工作的手段,并且可以在该大陆的一部分上进行另一部分实验,而在另一部分上进行另一部分实验时,则存在一种可以将其组合的系统。 不仅如此:即使您让一个人写另一个人,您也可以以某种方式团结这种冲突。 有一个系统可以让您自动不断进行添加的实验,并说其中一些未发生或某些事情发生了。 与实验医学互动的医生会睁大眼睛。

当您这样做时,您会感觉到(正在改变世界)(我希望这不是虚假的)。 在20到30年后,有可能因为您刚刚教过药剂师如何使用Travis,人们的死亡人数会减少。

整个故事还有另外一个悲伤的方面。 像我一样,很少有人尝试将IT工作方法,方法和方法论带到IT之外的其他领域。 我来这里是为了向您介绍整个故事,很大程度上是因为,也许您可​​以向科学家,专家,律师,任何人传达我们工具已经具备的无限可能性。

第二,关于药学,生物学和物理学的整个故事被推迟了。 想象一下您正在与一家律师事务所合作。 , ? , — ? , — ? , , , , , ?

IT, , , . , , , , , , . , , .



, , . « », . , , , «» , - ? « ».

— , , . .



, .



, .

我准备回答您的问题。在继续之前,我想说的是,我总是在这样的听众面前担心。你们完全不同。叶卡捷琳堡(Yekaterinburg)的人也很多,我本人是从这里来的,我知道我们在这里微笑并不十分习惯。谢谢您之一的微笑。太好了,谢谢。

一方面,我听到了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会议将于4月19日在叶卡捷琳堡举行。 传统上将有一个“科学”部分。 今年的课程:Oleg Bartunov(莫斯科国立大学,Postgres专业),Peter Fedichev(莫斯科物理与技术研究所,下吕),Pavel Skripnichenko(UrFU,KantrSkrip),Gennady Shtekh(Naumen),Igor Mamay(Kontur),Vladislav Blinov(Valery Barinov和Valery Bar。 ru),塔季扬娜(Tatyana Zobnina)(瑙门)。 完整的程序在会议网站上

Source: https://habr.com/ru/post/zh-CN445972/


All Articles