加入Tho188bet宝金博app下载ughtworks的技术全球主管迈克·梅森和他的客人Christoph Windheuser Thoughtworks的全球领先的人工智能,Sheroy标记,Thoughtworks产品技术主管,在探索如何选择正确的数据和人工智能模型,创建复杂的模型,能够不断学习。
播客成绩单
迈克·梅森:
我是Thoughtworks的迈克·梅森。188bet宝金博app下载我和我的两位同事,Christoph Windheuser和Sheroy Marker今天我们要谈谈持续智能。Christoph,为什么不给我们简单介绍一下你自己以及你在Thoughtworks做什么呢?188bet宝金博app下载
Christoph Windheuser:
大家好。我的名字是Christoph Windheuser。我在德国,实际上在旧金山的思想家办公室。188bet宝金博app下载在思考188bet宝金博app下载,我是为提供智能赋权的全球中小企业,所以我正在寻找这个产品并将其推到不同的思想家国家。然后我支持我们的销售团队,我们的CPS。我正在与他们一起在不同的追求中与他们一起使用,也可以推动这个主题,以便我们建立这些产品,并为客户提供了我们非常重要的产品之一。
迈克·梅森:
和洛伊。
Sheroy标记:
嗨。我Sheroy标记。我目前担任Thoughtworks产品的技术主管,我们开发的产品之一是GoCD,这是我们的持续188bet宝金博app下载交付服务器。我今天要讲的是一些与光盘相关的机器学习算法。
迈克·梅森:
是的。今天的话题是广义的连续智力。我想每个人都意识到了当今世界数据的重要性。越来越强调组织可以用数据做的事情,数据驱动的重要性,而不仅仅是河马模型。薪酬最高的人的意见是决策的河马模型。但我们看到越来越多的人将数据作为决策工具。
迈克·梅森:
但不仅如此,我们还看到机器学习和一些先进的技术正在成为一个更强大的工具,用于构建有趣的软件。机器学习可以让你构建的东西更好地支持用户体验,更好地预测消费者需求,并以更流畅的方式向他们提供东西。随着数据和机器学习的兴起,我们遇到了什么问题?克里斯托弗。
Christoph Windheuser:
这个观点很好。今天的数据就在那里,我们在客户那里看到,他们有大量的数据。它们通常在竖井或ERP或传统数据库中,因此数据科学家和机器学习不容易访问它们,这是问题之一。在做了一些简单的概念证明之后,他们找到我们说,“我们想要扩大规模。我们想以更广泛的方式来做这件事。我们希望在整个公司使用它,而不仅仅是在概念上的小小验证。”然后他们突然需要一个数据基础设施。所以像数据湖这样的东西可能在云环境中或者在前提下,我们有数据科学家和机器学习程序真的可以工作,所以这是第一个问题。
Christoph Windheuser:
另一个问题是,这是我们今天要讨论的在这个播客,这是一种简单和教程培训TensorFlow问题,在一个给定的数据集,甚至客户端也许有自己的数据和他训练一个决定。例如,这是欺诈。这不是欺诈。这似乎很有效,在学习曲线上有一些好的结果。然后呢,因为当你用一些数据训练时,这些数据已经过时了。所以数据在我们的环境中不断变化。也许你想给零售商推荐一个人,这样你就可以训练他了解客户在平台上买什么。所以你可以向其他有类似购买行为的客户推荐产品,这很好,但这种情况一直在变化。所以你有不同的天气,不同的季节,不同的[听不清00:03:53]等等。所以我们必须不断地重新培训这个培训师。
迈克·梅森:
甚至销售的产品也是动态的,对吧?
Christoph Windheuser:
绝对的。
迈克·梅森:
新产品会出现,如果你没有接受过相关培训,你就不会有任何推荐行为。
Christoph Windheuser:
完全正确。所以零售商要做的,就是接受再培训。数据在变化,行为也在变化,他必须重新训练。得到新的周长,新的重量,但是要用手来做。因此,在一个高效的平台上更改权重并进行测试是非常麻烦的,很容易出错。Thou188bet宝金博app下载ghtworks实际上有一个很好的持续的经验,我们称之为持续交付,持续集成。例如,我们有GoCD,这是一个很好的工具。这就是我们正在做的事情,并向客户展示如何不断地进行再培训,或多或少是自动的,通过管道,用GoCD和这些东西,以卓越的质量。
Sheroy标记:
所以我们谈论的是在数据工程管道的背景下的持续智能。所以通常你会开发机器学习模型用于推理,然后用训练数据集训练它们,然后将其投入生产。但是你用来训练这些模型的数据变化很快。那么你如何持续不断地改进这些机器学习算法呢?那么,我们是否可以借用一些CD的概念,即我们在艺术方面经常使用的理念,进行改进或频繁地对软件进行更改?同样的概念在这种情况下仍然适用吗?所以Christoph,传统的持续交付是关于确保你对软件所做的任何更改都经过了测试,然后以一种可持续的方式推出。这些原则仍然适用于这些机器学习模型吗?或者你现在也包括一些事情,比如在你实际对模型进行任何连续的更改之前向训练集添加新的数据?
Christoph Windheuser:
原则是一样的。即使你添加了新的数据到训练集或者你改变了训练集,那也是持续变化的更新。你有了我们推荐的新产品。所以你的训练集在变化,但你知道持续交付的原则是什么吗?持续集成是指您能够随时高质量地交付到生产系统中。这和我们想为机器学习做的是一样的。所以不仅仅是“好吧,哦,该死的,我已经训练过了,现在我必须在其他地方复制重量。”我手工从Python变成了Java,有人重新编程,花了我几周时间。我得再考一次。然后我按下按钮,让它变得富有成效。” No, it should be, again, an automatic process. I should be able at any time, put the stuff I have retrained in the test, the development system, into the production system.
Sheroy标记:
对于这些推荐系统或机器学习,算法,主要用于推理或数据工程的产品,哪些方面是至关重要的。所以你认为所有这些都是生产的关键部分吗?培训模型本身和改变模型之间有什么区别吗?这两个变化的两个方面是否被认为是同义的或相似的?
Christoph Windheuser:
改变训练集当然更容易,因为你没有改变模型。如果你改变模型,会产生更大的影响。
迈克·梅森:
只是为了清晰。你所说的改变模型是指从,我不知道,我不是这方面的专家,而是从线性回归到随机森林,再到神经网络之类的。这是一种模式改变吗?
Christoph Windheuser:
是的。
迈克·梅森:
而培训数据更改则是为了让模型准备好投入生产而输入的数据。
Christoph Windheuser:
是的。我们有很多不同层次的改变。如您所说,您可以完全更改学习模型,您还可以更改模型的体系结构。因此,如果您有一个神经网络,一个BackProjagation网络,您可以添加其他图层,然后您有不同的架构。您可以输入卷积网络或经常性网络,您可以更改架构。你有高参考所,学习率,你改变了。使用超参数,您还可以以某种方式更改模型,或者您只需更改培训中出来的培训参数。如此不同的水平可能变化可能。
Sheroy标记:
这是有趣的。关于模型可能发生的变化,有很多东西需要考虑。所以当你谈到改变时,比如说学习率,这似乎是一个小的增量变化你可能想要应用到模型上,然后用迭代的方式多次测试它,看看模型是否真的在改善或变得更糟。那么,您认为我们现在需要一套专门的工具来使您能够对模型进行这些类型的变化,以观察它在特定压力下的行为吗?当前的工具集是否足以满足这些目的,或者您认为我们需要更专门的工具?
Christoph Windheuser:
这是一个很好的问题,它真的会追溯到你,因为你正在像GOCD那样开发这些工具,这是我们正在做的东西现在在学习环境中使用GOCD,我们在这个过程中。因此,尝试并设置架构,看看我们真正可以用的是多远,GOCD做到这一点,以及我们需要的其他功能。例如,一个点非常重要,我确定GOCD能够这样做。这是安全地保护参数和所有参数。因此,使培训的实验可重复。所以我们与一个不那样的客户合作。他们的机器学习专家在他们的笔记本电脑上工作,优化模型,优化参数,一切。然后他们说一切都准备好了,他们将这些东西移动到生产。但是,当这家伙生病或发生意外时,公司无法重复这些实验,因为他的笔记本电脑或他的大脑上的一切都是不应该发生的事情。
Sheroy标记:
这是一个有趣的观点,因为这也是CD本身的核心租户。所以当我们观察CD管道并在管道上游再生人工制品时,我们可能以可重复的方式通过管道得到相同的人工制品是非常重要的。所以如果你多次触发这个管道,我们会使用完全相同的工件来触发,而工件从创建到生产的最后阶段都没有变化。所以,类似的概念肯定可以应用到训练机器学习模型的参数上。我确实认为在机器学习模型被认证为优秀之前进行测试和重新测试时,有一些专门工具的机会,因为这是机器学习的一个非常特定的模式。
迈克·梅森:
但我认为一些也归结为您在房屋中可能拥有的数据平台的性质,以便有一种管理这些东西。我读到了,我认为这是优步米开朗基罗平台和关于这一点的有趣的事情,即它是一个用于优步数据的工具,这显然是大量的位和字节,但该平台正在管理某种数据集自我服务方式为您的数据科学家实际上能够获得正确的数据集,运行模型和所有这些东西。但是,还有能够从那些东西中取出产出并将它们移动到生产中。
迈克·梅森:
所以我想问题是,米开朗基罗的平台对我们这些不在优步的人来说是什么在数据科学家的神奇笔记本电脑和在你的CD管道中做每一个模型调整之间有什么东西。我认为这也不是一个推荐的解决方案,因为这不是你真正要做的。你仍然会做一些实验工作,但目的是在一个环境中跟踪实验,或者你是否在做这样你就可以复制它。
Christoph Windheuser:
是的,这就是问题所在。你有不同的环境。你需要一个数据科学家的环境。例如,他们在笔记本电脑上使用Python笔记本电脑时感觉就像在家里一样。他们喜欢R或Python,但这些语言并不真正适合完全性能、高度可伸缩的生产环境。所以我们使用的不是Uber的专属米开朗基罗。但我们在几个项目中使用的环境是H2O,你们可能知道。他们有很好的学习模型,比如随机森林,还有神经网络,非常棒的是,他们可以自动从Python迁移到Java。这就是我们在AutoScout使用的东西,AutoScout是欧洲的一个客户。这是一个汽车经销商,二手车互联网平台,我们处理了客户的定价引擎和机器学习算法来估计汽车的价格。
Christoph Windheuser:
数据科学家在H2O环境下做了这个实验。然后我们将其自动转换成Java或J-A-R, JAR文件。然后我们使用管道和GoCD来测试它,来测试我们版本的结果。所以把测试数据集的算法,看到结果,使过渡到Java和做同样的测试,然后比较结果,只要结果是完全一样的,我们知道翻译是正确的,这些参数被正确地移动到生产系统。然后我们可以把它免费的,自动地放进生产系统。
迈克·梅森:
你提到了测试实际上你是在说测试模型的两种语言之间的翻译。但我其实对测试机器学习很好奇。通常ML模型被指责为黑盒。人们可能会问,为什么我的抵押贷款没有被批准不幸的是,这个模型只能告诉你“因为我把这两个数字加起来,结果小于0.4,所以你没有得到批准。”作为一个寻求抵押贷款的人,这对我来说并不是特别令人欣慰。但一般的问题是,我们试图提供高质量的产品,但我们在做的事情中有一些黑盒子元素。我们如何测试机器学习模型?
Christoph Windheuser:
通常,您可以通过特定的测试集测试机器学习算法的性能。因此,您通常有培训集,当然您没有在训练集上测试,因为您没有测试机器学习算法的泛化能力,因此您有一个额外的算法在训练期间没有看到的集合,它是新的,然后你测试这个表现,这让你了解你的训练有多好以及算法的性能有多好。
迈克·梅森:
所以你可能会使用,比如,GoCD管道阶段来运行测试,针对之前未测试的数据,并说它至少需要有这么好的质量。
Christoph Windheuser:
完全正确。
Sheroy标记:
通过某种临界值。
Christoph Windheuser:
是的。这是你可以用GoCD建立的东西,你可以自动化这个测试,然后你得到结果,你将结果与阈值进行比较,然后这就给了你一个绿灯把这些东西运到生产中心。
迈克·梅森:
但这不就遇到了我们一开始遇到的问题吗,那就是,生产数据在不断变化,新事物总是会发生。这是否意味着我们必须改进测试数据,或者这是它的一部分?
Christoph Windheuser:
是的,这是其中的一部分。您必须实际演变,培训数据以及测试数据。所以你所做的是,你有一个大量的数据,你采取一些部分,也许20%,10%,取决于。你带走了,在训练期间,您不会向机器显示这些零件,但只是您自己的测试。
迈克·梅森:
你展示给机器的数据集,也必须是动态的。
Christoph Windheuser:
完全正确。
迈克·梅森:
这是从昨天的生产现场来的吗?
Christoph Windheuser:
是的。我们也必须更新这个。否则,您将对所有数据进行测试,这不是您想要的。
Sheroy标记:
那么这些概念是如何映射到无监督学习的呢?似乎我们谈论的很多概念都是关于监督学习,固定训练集和测试集之类的。它是如何在非引导性学习中发挥作用的?
Christoph Windheuser:
说实话,我们并没有那么多针对客户的无监督学习的应用。无监督学习是指你可以从数据中获得一些统计知识。例如,你用无监督学习来降维,当你有大向量和大数据集的数据你想把它降为更小的维数以便更容易处理,你可以用无监督学习来做到这一点。无监督学习可以在欺诈检测的金融领域发挥作用,因为你不知道什么是欺诈。也许你从历史上知道一些骗局,从你的训练集中你可能见过,“好吧,这是一个骗局。”但通常舞弊在某种程度上是很奇怪的,这是不同的,这是你可以在无监督学习中发现的东西,因为它与其他学习不同。
迈克·梅森:
你之前举了汽车零售公司AutoScout的例子。我可以举一个我们在金融服务公司工作的例子。他们有一个系统,需要六个月得到一个新的机器学习模型部署到生产是因为人们,欺诈检测实际上是主题区域,但会发生什么是他们的数据科学家将与他们的数据,但在过去的几个月,验证新模型是一个非常缓慢的过程,需要大量的签字等等,然后再将其投入生产。但你可以想象,一个6个月大的模型实际上不是很好,跟上骗子。
迈克·梅森:
所以这个团队建立了一个有趣的平台,实际上我们已经把它作为开源软件发布了,它可以让你轻松地通过部署管道推广机器学习模型并投入生产,实际上让你在生产中运行多个模型。所以我认为他们对当前的主模型有一个概念,这个模型实际上是关于欺诈或不欺诈的实时决策,然后你可以有其他模型运行在相同的生产数据集上如果它们开始表现得更好,您甚至可以让平台切换这些模型并开始运行这些模型。所以我认为这是连续智能概念的一个很好的例子。
Christoph Windheuser:
我有个问题要问雪莉。你和GoCD的开发团队,有没有从Thoughtworkers那里得到很多关于如何在机器学习环境中使用GoCD的请求,你们是否计划在这个方向上开发更多的新功能?
Sheroy标记:
所以我想我们已经看到了GoCD在数据工程管道中的应用。我们也看到其他CD工具与数据工程管道工具一起使用,但到目前为止,它们主要被用作流协调器,构建和部署机器学习模型到数据工程管道。在工作流编制能力之上还没有一个抽象层来帮助您进行培训或再培训模型。这是我们积压的一些东西我们会在某个时候深入研究看看这是否是我们应该开始构建的工具。
Christoph Windheuser:
是的,我认为这将成为非常非常重要的特征。也许有人会感兴趣。188bet宝金博app下载Thoughtworks将出席10月10日和11日在阿姆斯特丹举行的人工智能世界峰会。我们将在那里举办一个研讨会,一个关于智能授权的实践研讨会。所以目前我们建立基础设施与GoCD服务器,一台机器学习环境和任务,我们将显示住在笔记本电脑的参与者,如何改变训练集,如何通过管道运输,使测试开了绿灯,然后把它放到生产环境中。
迈克·梅森:
所以我要感谢Christoph和Sheroy加入我今天的播客。如果你对持续智能感兴趣,请查阅它,看看Thoughtworks, thoughtworks.com,你可以在那里找到更多。188bet宝金博app下载
迈克·梅森:
非常感谢大家。
Christoph Windheuser:
谢谢大家的聆听。再见。