首页 > 经验 > 关键词 > 机器人最新资讯 > 正文

我们想研发一个机器学习框架,6 个月后失败了

2020-05-07 08:57 · 稿源:CSDN公众号
文章目录

声明:本文来自于微信公众号  CSDN(ID:CSDNnews),作者 | Caleb Kaiser,编译 | 苏本如,授权站长之家转载发布。

如何从先期的失败中找到一条成功之路,本文试图作了一番探讨。——Caleb Kaiser写于 2020 年 4 月 24 日。

2019 年初,我们几个人尝试构建一个端到端的机器学习(ML – Machine Learning)框架。我们从这次尝试中得到的基本体会是,构建机器学习管道是一个令人沮丧的、毫无逻辑的体验,而且我们应该可以构建更好的东西。

这次尝试并没有按照原先计划地进行。

机器人 人工智能 AI

我将在本文对这次尝试作一个详尽地介绍,下面先介绍大致情况:

  • 我们使用Kaggle数据集为机器学习管道的数据接收、训练、部署等不同阶段编写了抽象。

  • 我们将代码库开源并共享。一个月后,我们的项目登上了HN的首页。每个人都喜欢那些改进机器学习用户体验的想法。

  • 六个月后,我们只收获了几百颗GitHub星星,几乎没有人使用它。我们不得不将我们的傲气搁到一边,删除了代码库中90%的代码。

在经历了以上这些过程后,我们构建了一个更好的项目 - Cortex,我们的模型服务基础设施。对于任何对机器学习研究和/或应用感兴趣的人来说,我们想让这个过程成为一种警示:

生产型机器学习系统确实需要更好的用户体验,但是机器学习生态系统是非常复杂和不断变化的,这使得构建一个涵盖大量用例的解决方案非常困难。

为什么想构建端到端的机器学习框架?

我们大多数人(Cortex的贡献者)都有devops和web开发的背景,习惯于将应用程序的不同层抽象为单个接口的框架。

当我们进入机器学习时,每个人都被工具的支离破碎所震惊。我们想构建推荐引擎和聊天机器人(或者更确切地说,会话代理),但在这样做的过程中,我们发现自己不得不在不同的环境之间(Jupyter Notebook、终端、AWS控制台等等)跳跃。然后把包含有胶水代码和TensorFlow样板文件的整个文件夹写到一起,用一个称为“管道”的强力胶带粘合起来。

如果我们可以用一个配置文件和命令粘合在一起来代替以上所有的步骤,比如:

$ deploy recommendation_engine

那显然是个好的主意。

所以我们就这么做了。我们构建了这样的一个框架,它使用Python转换数据,使用YAML构建管道,并使用一个CLI(命令行界面)控制所有步骤:

当你使用我们支持的窄技术堆栈,同时加上对API的限制,向它提供Kaggle数据集时,成为了一个非常好的框架。

然而,如果你想尝试在现实世界中使用它,基本上很可能它不会与你的技术堆栈一起工作。毫无疑问这是一个问题。虽然这个问题的其中一部分原因归结于我们的设计,但很大一部分原因实际上是因为构建端到端机器学习框架的固有局限,我们只是在构建了这个端到端机器学习框架之后才发现这一点。

端到端机器学习框架的问题

简单的一种说法是:对于端到端的框架来说,生产型机器学习生态系统太简单,不可能既不灵活又正确无误。

机器学习工程师希望使用更好的UX工具,这一点我们没有错。我们的错误在于我们以为可以构建一个覆盖多个用例的端到端机器学习框架(特别在只有几个贡献者的情况下)。

有一件事很值得去做(而在项目的早期被我们忽略了),那就是思考一下曾经给我们启发的web框架,并记住他们第一次崭露头角的时候。

Rails、Django和Symfony,作为web应用的新MVC框架浪潮的一部分,它们都是在 2004 年到 2005 年间发布的。当时的web开发还不能称为“稳定”,尤其是考虑到自那以后它们是如何变得成熟的(在很大程度上要感谢那些框架),但是web开发人员所做的工作和现在相比仍然有高度的相似性。

事实上,Rails最早的口号之一是“你不是一片美丽而独特的雪花”,正是基于这样的一个事实:大多数web开发人员正在构建架构上类似的应用程序,这些应用程序可以在相同的配置上运行。

生产型机器学习系统还未发展到那个阶段。一切仍在变化之中。数据科学家处理的数据类型、使用的模型体系结构、喜欢的语言/框架、应用程序的推断要求,以及几乎所有你能想象到的一切东西,都在不断变化中。

而且,这个领域本身变化也很快。自 18 个月前Cortex首次发布以来:

  • PyTorch已经从一个仅仅前景看好的项目发展成为最流行的机器学习框架,在此期间许多专门的机器学习训练库(如微软的DeepSpeed)已经发布出来。

  • OpenAI发布了有史以来最大的模型,可以运行带有 15 亿个参数的GPT-2。此后,谷歌、Salesforce、微软和Nvidia都发布了更大的机型(有些是同一数量级的)。

  • 大量初创企业已经开始使用迁移学习(Transfer Learning)和预训练模型来优化和部署具有少量数据的模型(比如说,并非每个人现在都需要一个 100 节点的Spark群集)。

所有这些都在不断变化中,所以试图构建一个支持“合适”技术堆栈的端到端框架从一开始就注定了失败。

每个人都会要求他们需要的“一个特性”,而没有人有相同的要求。我们试图构建一些通用的特性,但很快就发现这是不可行的,至少不是我们想象的那样。

专注于模型服务基础设施

构建一个端到端的机器学习框架是很困难的,因为大部分的机器学习生态系统仍然是“蛮荒的西部”。然而,其中的“模型服务”已经具有了稳定性和一致性。

不管他们使用什么堆栈,大多数团队都是通过先将模型封装在API中,然后部署到云端(尽管他们不喜欢这样做)来将其投入生产,。

数据科学家不喜欢它,因为用于构建弹性web服务的工具,如 Docker、Kubernetes、EC2/GCE、负载均衡器等等,都不在他们的触手可及之处。DevOps工程师对模型推断的独特之处感到恼火。

但是对我们来说,这是一个机会。“模型作为微服务(model-as-a-microservice)”的设计模式对所有团队来说是一致的,而它提供的工具,因为它是基础设施(而不是机器学习生态系统)的一部分,所以非常稳定。更有利的是,作为软件工程师,我们在构建生产型web服务方面比在构建机器学习管道方面更有经验。

所以,我们想在模型服务上尝试一下。我们应用了相同的设计原则,抽象了声明性YAML配置和最小CLI背后的所有低层次的不同,并自动化了将一个经过训练的模型转换为一个可伸缩的生产型web服务的过程:

通过专注于模型服务,我们可以对堆栈的其余部不加理会(只要模型有Python绑定,Cortex就可以为其服务)。因为Cortex可以插入任何堆栈,所以我们对Cortex在底层使用的工具有了话语权,这又使得构建更高级别的特性变得更加容易。

例如,自从发布用于模型服务的Cortex以来,我们增加了对GPU推断、基于请求的自动缩放、滚动更新和预测监视的支持。我们不需要为十几个不同的容器运行时和集群编排器实现这些功能。Cortex在底层使用Docker和Kubernetes,用户从来不需要接触它们中的任何一下。

到目前为止,这种改变似乎正在发挥作用:

将web开发经验应用到机器学习工具中

从哲学上讲,网络框架对我们如何看待Cortex有很大的影响。

Rails和Django之类的框架使得程序员的工作效率和幸福感倍增。要构建一个web应用程序,你不必担心配置SQL数据库、实现请求路由、或编写自己的SMTP方法来发送电子邮件。所有这些都从直观,简单的界面中抽象出来。

简而言之,这就是我们对Cortex的看法。数据科学家不必学习Kubernetes,他们应该专注于数据科学。软件工程师们不必花上几天的时间来研究如何避免5 GB的模型浪费他们的AWS账单,他们应该可以自由地构建软件。

希望随着机器学习生态系统的成熟和稳定,我们能够将这一理念扩展到堆栈的其余部分。目前,模型服务是一个不错的开始。

相关链接:https://towardsdatascience.com/we-tried-to-build-an-end-to-end-ml-platform-heres-why-it-failed-190c0f503536

  • 相关推荐
  • 大家在看
  • 2020世界人工智能大会直播入口 世界人工智能大会日程安排

    2020年世界人工智能大会将在7月9日开幕,这次世界人工智能大会将包含1 场开幕式、 2 场全体会议、 10 余场主题论坛和若干场行业论坛、特色活动,以下我们来了解下本次大会具体的安排和直播入口。

  • 网易丁磊:人工智能不是技术问题,是应用场景问题

    网易公司首席执行官丁磊谈到他对人工智能的看法,他表示,“人工智能这个名字不新鲜,我读大学的时候就有相关的称呼。”丁磊说,网易用人工智能比较多的就是教育领域,以及用人工智能帮助作曲。网易还在欧洲投资了一家利用人工智能作曲的初创公司。

  • 人工智能界最高奖项颁布:百度、IBM等获奖

    线上世界人工智能大会正式开幕,参会嘉宾有600多位,其中含有6位图灵奖得主和1位诺贝尔奖得主。作为世界人工智能大会的最高奖项,卓越人工智能引领者(Super AI Leader,简称SAIL奖)7月9日在2020世界人工智能大会云端峰会的开幕式上举行了颁奖仪式。获得2020 SAIL奖的项目是:“IBM Project Debater”“联影智能uAI新冠肺炎医学影像智能化诊断全栈解决方案”“百度文心(ERNIE)知?

  • 小米自研并开源!端上机器学习框架MACE将存放1000年

    7月17日消息,MIUI宣布小米自研并开源的端上机器学习框架MACE已经随着其他几百万个开源项目以数字光感档案胶片的形式被GitHub官方储存在北极代码仓库中,将保存1000年。1000年后的人类还能看到

  • 老虎证券基金超市:人工智能风口下 普通人如何上车?

    2020 年,新冠疫情对全球资产市场带来的冲击令不少投资者愈发关注资产配置。如何合理管理财富、调整投资品类的比重,以便在市场不确定性增大的大背景下,更有效地抵御市场波动成为当下的关键。为了满足投资者全球化资产配置的需求、丰富其投资选择的多样性,知名美港股券商老虎证券于 2020 年宣布正式进军财富管理,推出全新理财功能“基金超市(Fund Mall)”。该功能旨在为投资者提供一站式的全球基金投资服务,据悉,目前已有超10

  • Verizon利用Google云开发人工智能联络中心

    【TechWeb】谷歌云周一宣布,Verizon正在试验其联络中心AI技术,以改善其客户体验。该交易显示,谷歌在其广泛计划中取得了进步,该计划旨在借助其云和AI工具赢得电信行业的青睐。Google的Contact Center AI软件已于去年11月全面上市,它使企业能够为基本的客户交互部署虚拟座席。通过自然语言识别,该服务有望提供更直观的客户支持。当客户通过语音,电话或聊天联系Verizon时,他们只需说出或键入请求即可-无需遵循菜单提示或选项

  • 马斯克:人工智能将在5年内超越人类

    【TechWeb】7月30日消息,据国外媒体报道,特斯拉、SpaceX和Neuralink的创始人埃隆·马斯克(Elon Musk)预测,人工智能(AI)将在5年内超越人类。马斯克表示,目前的趋势表明人工智能可能在2025年前超越人类。这不是马斯克第一次对人工智能表示担忧。早在2016年,他就曾表示,除非开发出可以将大脑连接到计算机的技术,否则AI可能会像对待家养宠物一样对待人类。他甚至将人工智能描述为对人类的“生存威胁”。2016年的时候,马斯

  • 榕树贷款:人工智能重塑金融服务 科技创新成为关键力量

    近日,上海市“科创板AI产业工作站”正式成立,工作站将围绕科创板为与人工智能(AI)产业关系密切的优质企业提供资本市场服务。这不仅是加快建设人工智能发展“上海高地”的重要措施,也是我国在金融创新方面大力支持人工智能产业发展的重要举措。 专家认为,科技与金融的深度融合,使金融业态发生了深刻变革。传统金融机构、金融科技公司积极面对机遇与挑战,金融业步入拥抱大数据、云计算、人工智能、区块链的新阶段。监管当局

  • 微软宣布将人工智能小冰业务分拆为独立公司运营

    今日,微软宣布将人工智能小冰业务分拆为独立公司运营,并委任沈向洋博士为新公司董事长,李笛为首席执行官,陈湛为日本分部总经理。微软将保持对新公司的投资权益,并授权新公司使用及继续研发完整的小冰技术。

  • 腾讯首次发布人工智能白皮书 阐述内部AI布局和理解

    在2020世界人工智能大会腾讯论坛上,腾讯公司副总裁、腾讯研究院院长司晓正式发布了《腾讯人工智能白皮书:泛在智能》(以下简称白皮书)。该白皮书首次揭露了腾讯内部对AI技术的理解以及智能业务布局的思考,主要分为5个纬度——宏观环境、技术研究、落地应用、创新经济、制度保障。腾讯公司副总裁、腾讯研究院院长司晓司晓谈到,“泛在智能”是腾讯对人工智能此后很长一段时间的状态描述。通俗来讲,?

  • 这届世界人工智能大会,马云、李彦宏等大佬都说了啥?

    今天上午, 2020 世界人工智能大会正式在上海开幕。大会将从从 7 月 9 日持续到 7 月 11 日,主题为“智联世界 共同家园”。在开幕式中,李彦宏、马云、马化腾等国内商业领袖均针对人工智能发表了自己的看法。一起来看看大佬们都说了啥?

  • 马化腾因身体原因缺席世界人工智能大会:AI未知仍大于已知

    今日, 2020 世界人工智能大会开幕,马化腾由于身体原因没有出席,仅通过语音分享了自己对于AI的看法。马化腾表示:“人工智能本身就是一场跨国跨学科的探索,正在将人类的认知推向更快更高更强,也势必带给我们一场前所未见的科技和产业革命。

  • 2020年世界人工智能大会

    7 月 9 日上午,2020世界人工智能大会云端峰会正式开幕​,大会开幕式在上海世博中心金厅正式举办。今年大会以“智联世界共同家园”为主题,主题论坛活动将围绕“AI技术趋势”、“AI赋能经济”、“AI温暖家园”三大议题。

  • 李彦宏首提AI发展阶段论 对人工智能长期发展保持乐观

    百度创始人、董事长兼CEO李彦宏在2020年世界人工智能大会云端峰会上发表演讲,李彦宏表示,尽管当前很多人对技术、尤其是AI技术持有悲观情绪,但AI是堪比工业革命的大浪潮,它会彻底改变今天的每一个行业。在演讲中,李彦宏创新性地提出“AI发展阶段论”,将人工智能的发展归结为三个阶段。具体而言,第一个阶段是技术的智能化:人工智能60多年前被提出,近10年经历了算法的快速迭代和创新,通过云计算、

  • 微软Carina“入职记”:人工智能助力各行业数字化转型

    近几年,越来越多的行业企业都会将“数字化转型”作为未来业务发展的重要战略方向,尤其是今年来,突如其来的新冠疫情,使得企业的传统业务模式遭遇了一次前所未有的“压力测试”,而一些数字化、智能化程度较高的企业,业务承压能力和恢复速度要远好于其他企业。经此一“疫”,人工智能技术的应用和需求出现了井喷式的爆发,尤其是在中国,5G商用和“数字新基建”的浪潮,更是让很多行业企业发现:数字化、智能化转型不再只是一?

  • 才云人工智能云平台全新上线,一键启动在线推理

    近几年,AI 技术在实体经济中寻找落地应用场景成了核心要义。根据去年 Gartner 发布的 CIO 调查报告,2019 年,中国有 34% 的企业已采用 AI 技术,其中金融、安防和交通领域市场份额最大,工业、医疗、教育等领域具有爆发潜力。今年上半年,一场突如其来的疫情倒逼了 AI 技术在上述行业的迅速落地,也显示了其在企业生产中的重要作用。在疫情监测分析、人员物资管控等应用场景中,以人脸检测、群体免疫动态监控为代表的 AI 解决方?

  • 点亮又一座“灯塔”,云天励飞正式入驻上海张江人工智能岛

    7 月 11 日,上海浦东新区人工智能高质量发展发布会在张江人工智能馆召开,上海云天励飞信息技术有限公司(简称“上海云天励飞”)作为人工智能重点项目,在发布会上签约落地浦东,正式入驻张江高科技园区(简称“张江园区”)人工智能岛。上海是云天励飞重要的“灯塔”城市,云天励飞已有多个标杆项目落地上海。在上海普陀区,云天励飞参与建设了上海普陀区雪亮工程,普陀区雪亮工程也是云天励飞城市级人员关系分析平台——“天图”的

  • 虎博科技即将亮相2020世界人工智能大会

    以“智联世界共同家园”为主题的 2020 世界人工智能大会(WAIC)将于 7 月 9 日- 11 日举办。虎博科技作为人工智能领域的领先企业受邀出席,虎博科技创始人兼CEO陈烨博士将亮相“智联万物 慧城新篇”未来城市主题论坛,并就NLP技术(自然语言处理)在智慧城市建设中的实践应用与价值发表主题演讲。据悉,本届WAIC集聚了全球智能领域最具影响力的科学家和企业家,以及相关政府的领导人,围绕智能领域的前沿技术、产业趋势和热点问题发表

  • 人工智能创新业态激活消费 虎博科技加速产业数字化升级

    近日,国家发改委、网信办、工信部等 13 个部门联合印发《关于支持新业态新模式健康发展 激活消费市场带动扩大就业的意见》,提出支持 15 种新业态新模式发展,包括传统企业数字化转型等。作为人工智能企业代表,虎博科技通过自主研发的人工智能产品和服务,正在帮助不同领域的企业和机构进行加速数字化、智能化转型,创新业务场景,激活扩大消费市场。 《意见》指出,要提升产业数字化治理水平,培育产业化发展的新生态。人工智?

  • 人工智能应用场景创新落地 榕树贷款推动金融服务智能化

    2020 年初爆发的新冠肺炎疫情,让处在抗疫一线的医疗行业得到了社会的广泛关注,日益成熟的人工智能技术在此次疫情中发挥了重要作用。 7 月 10 日, 2020 世界人工智能健康云峰会召开,聚焦公共卫生、生物医药、医疗服务及医疗标准四大主题,邀请国际组织机构高管、国内外院士学者、全球知名企业领导人等 70 余位业内专家,探讨如何解决人工智能落地过程中已出现的问题。 中国信息通信研究院联合 36 氪研究院在会上共同发布了《 2

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议
  • 热门标签

热文

  • 3 天
  • 7天