说起大数据,想必很多朋友都听说过。然而,大数据到底是什么以及它对我们意味着什么,可能很多人都不太清楚。
带着这些问题,我与戴金泉博士进行了深入的交流。他是英特尔学者、大数据技术全球CTO、国际公认的大数据领域专家。这次谈话让我对大数据的开发和实施有了新的认识。
为了读者的利益,我组织并编辑了我们的对话。我希望每个人都能从中受益。
到底什么是大数据?
顾名思义,大数据的核心是大量数据。但同样重要的是,一旦产生大量数据,数据存储、分析处理、计算建模、人工智能等一系列应用都可以纳入大数据范畴。
大数据中的“大”字首先是指数据量比较大。最简单也是最困难的问题是,“如果我有这么大的数据,我该如何存储它?”除了数据量大之外,实际中的数据处理和计算需求也非常大。所有这些都体现了大数据的规模。
人工智能与大数据:先有鸡还是先有蛋?
人工智能本身并不是一个新概念。从某些方面来说,现代人工智能的复兴可以被认为是在2010年左右开始的。以深度学习为代表的算法集可以在许多应用中提供以前不可能实现的卓越结果。最大的驱动因素之一是现在有大量的数据。基于大量数据训练非常大的深度学习模型可以提高模型的准确性,这可能会使模型不再可用。当准确率达到一定水平时,将会促进人工智能的发展。
人工智能和大数据:采用更重要吗?
(Roshi:过去人工智能更注重性能,但最近更加注重其实现。我们对大数据的思考方式是否也有类似的变化?)
将实验室人工智能技术应用于现实生产生活环境有两方面的意义:
首先,它需要与整个端到端的数据流进行适当的融合,才能真正影响现实的生产和生活。
其次,虽然性能不是孤立的,但瓶颈往往位于端到端数据流的不同位置,因此必须考虑整体端到端性能。如何优化整体端到端性能。非常重要。
例如,我们与韩国SK Telecom有合作关系。他们需要分析通信网络以了解网络质量并使用人工智能模型做出决策。一个大城市可能有数十万个基站,基站设备每秒钟都会产生大量的网络数据。这些数据生成后,从遍布城市的各个基站进入数据中心的大数据平台,进行数据分类、分析、特征处理,并据此进行模型训练和推理。然后,根据结果,您可以断定特定位置的网络质量存在问题。
这里的“端到端”是指从头到尾,每秒动态生成,而不是一次生成就终止。
Intel BigDL的特点和开发难点是什么?
(老石:您在业界的典型工作就是大数据平台BigDL,您能简单介绍一下什么是BigDL吗?)
简而言之,BigDL 是英特尔开源的一个“端到端”大数据到AI 平台或管道。正如我前面提到的,人工智能真正的成功在于如何将实验室的算法和模型应用于生产环境。这需要一个“端到端”的软件和硬件平台,让用户可以轻松地做到这一点。这就是BigDL 的用途。
当然,开发这样一个“端到端”的大数据人工智能平台也面临着一些重要的挑战。
首先,人工智能需要与现有的大数据生态系统无缝连接。传统上,用户经常需要从一个大数据平台复制数据并将其移动到另一个深度学习集群,这实际上是非常低效的。因此,人工智能与大数据平台之间需要无缝连接。
第二种方法是从单机环境迁移到分布式计算环境。大规模分布式计算是支撑AI和大数据的关键,但这对于普通数据科学家来说是一个巨大的挑战。
数据科学家通常会编写代码,然后需要将其扔过无形的“墙”。墙的另一边可能是根据现实场景重写代码的产品或工程团队。
希望原本在笔记本电脑上运行的代码能够通过更改一两行代码而能够在大型分布式环境中无缝运行,而无需重写代码。
开发和部署之间的“墙”是什么?
在大多数情况下,数据科学家和人工智能研究人员使用的编程模型和硬件环境与大规模部署的现实环境不匹配。作为一名数据科学家或人工智能研究人员,我更喜欢在计算机上复制和运行数据,以最大限度地提高其性能并在单台机器上优化模型调整。
然而,在生产环境中,可能有很多数据源和不同的数据系统连接起来形成大数据管道。然而,研究人员对这些模型如何应用于大数据管道并不感兴趣。例如,我有一个大型Xeon 集群,我的所有数据和数据处理都驻留在其中。目前,研究人员通常不关心如何将人工智能连接到集群。这造成了原型开发和最终生产部署之间的脱节,这对于开发人员来说非常不友好且效率低下。
在大多数情况下,您的公司拥有专注于研究高级算法的数据科学家或人工智能研究人员。我们还有一个团队负责生产系统。这个操作系统包括软件和硬件,但大部分还是软件应用、大数据系统或者APP,整个应用非常高效、非常稳定,非常必须是高度可扩展、大规模部署的。
研发和实施最初往往关注不同的事情。有许多强大的人工智能研究人员创建了许多人工智能模型。然而,下一步,当我尝试在生产系统和生产数据上运行模型查看效果时,我突然意识到没有办法很好地连接生产系统,此时我注意到了这个问题。开始了。所以问题是双方都存在的。目前还没有特别好的软件平台能够将双方的全部需求整合成一个端到端的管道。
芯片企业,为什么要打造开源平台?
英特尔长期投入开源社区和开源研发,从Linux操作系统到虚拟化、大数据、AI。事实上,英特尔在开源方面做了很多工作。
开源的目的是打造健康活跃的开源生态系统,极大加速技术的整体发展。 BigDL的目的类似:我们希望成为大数据和AI生态系统之间的桥梁,帮助用户更好地将大数据和AI技术应用到软硬件平台上。
目前,构建这样一个基础软件生态系统的最佳方式是通过开源,每个人都可以进行创新和交流。从BigDL的角度来看,作为一个开源项目,我们希望连接大数据和深度学习生态系统。
大数据、人工智能、超异构
(Roshi:现在异构计算很受关注,您认为底层计算平台应该具备哪些特点,如何支持大数据处理?)
我觉得这个问题可以从两个方面来回答。
首先,BigDL想要实现的是将大数据生态系统与AI人工智能生态系统结合起来。我们正在构建分布式Xeon CPU服务器集群的大数据AI平台,实际上对硬件做了很多优化。 Intel的Xeon CPU是通用处理器,但低精度INT8上的VNNI和DL Boost以及下一代Xeon可扩展处理器实际上配备了许多AI优化的硬件指令。硬件。一旦成为通用CPU计算的一部分,用户就可以使用软件对其进行加速,某种意义上获得免费的加速能力。多个实际例子表明,这种软硬件组合可以让用户免费实现10倍以上的性能提升。
另一方面,芯片类型如此之多,如FPGA、GPU、ASIC加速器、IPU等,这实际上可以被认为是一种“超异构”趋势。现在,通过非常好的软件抽象(例如Intel的oneAPI实现了标准的软件抽象),我们可以将各种XPU硬件加速和计算集成在一个统一的接口下,以支持上层的软件开发,如何才能更加高效呢?我们正在这两方面开展工作。
BigDL 的演变
BigDL 于2016 年12 月30 日开源。在过去的五六年里,我们与社区中的很多用户和合作伙伴进行了大量的协作。例子包括大规模推荐系统、大规模时间序列分析应用,当然还有计算机视觉和自然语言处理等许多应用。
考虑与万事达卡合作的例子。该公司拥有约20亿用户和交易数据,其大数据平台中可能有数千亿条交易记录。当我们使用非常大的CPU Xeon集群构建大数据平台时,我们期望能够在这些数据之上构建人工智能应用程序,挖掘事务数据并生成各种模型。
使用BigDL,万事达卡工程师能够在大型企业数据仓库之上构建许多“端到端”AI 应用程序,以从数据仓库端分析、捕获、处理和建模数据,我能够执行培训。在数百台Xeon 服务器上进行大规模分布式训练。在近5小时内训练大规模AI模型并提升各种AI能力。
那么,Intel BigDL 只能在Intel 平台上运行吗?答案是否定的。从技术上讲,BigDL不仅运行在英特尔平台上,还运行在大数据生态系统上。然而,大数据生态系统主要运行在X86平台上。当然,BigDL在Intel Xeon服务器上进行了进一步的优化,以提高执行效率。
大数据发展愿景
从计算加速的角度来看,面对硬件加速器,您可能低估了软件优化的力量。许多软件优化技术,如低精度多核、多线程计算、量化技术等,可以显着提高人工智能的整体计算效率。
事实上,我们甚至很乐意将其称为软件人工智能加速器。这不仅仅是横向扩展。扩展还显着提高了每个节点的计算效率,这是目前正在进行的大部分工作。这一点非常重要,生态系统需要将不同的技术有机地结合起来,最终的目标是给用户带来最大的价值。
我们的愿景是人工智能无处不在。这意味着人工智能将无处不在。未来的许多应用程序将使用大数据和人工智能进行分析,以改善体验和生产力。
从数据角度来看,深度学习最大的局限性是需要大量的监督学习。很多人说: “人工智能意味着像人类工人一样聪明,因为大量数据需要标记和清理——。”逐渐大家都意识到了这个问题,很多人转向自监督学习、弱监督学习、语言学习等方法来研究新的学习范式,以提高数据效率。
该算法本身有明显的大模型倾向,参数非常大的模型可以取得更好的结果,但另一方面,这也带来了很大的计算挑战。较大的模型实际上会降低整体计算效率。我们认为非常重要的一点是如何在后续任务中利用迁移学习或者新的学习范式来利用这种非超大规模的模型来减少计算量并提高效率。
除了我前面提到的计算、数据、算法之外,还有一个重要的点很多人都忽略了。就是开发效率。这不仅仅是计算效率和数据效率,作为一名数据科学家、机器学习工程师、大数据工程师,效率对我来说也非常重要。因为在大多数情况下,人类最终的成本高于机器。
即使采用当今所谓的低代码或无代码开发方式,如何提高开发人员效率也值得考虑。我更感兴趣的是,作为一名编码员,如何构建一个真正良好的开发环境。我们在BigDL 所做的工作是帮助当今的数据科学家和工程师在具有大型、高度复杂的算法和高度复杂的数据的环境中高效开发的初步尝试。推动人工智能大数据的一个非常重要的方向。
大数据技能会成为未来程序员的常态吗?
从根本上讲,我认为大多数开发人员,尤其是那些在云中开发应用程序的开发人员,都会对如何处理数据有一些经验。困难的部分是如何使整体技术和软件基础设施更易于使用。
另一个困难是,虽然当今的许多数据计算、人工智能和机器学习算法已经标准化或成为每个人都必须使用的工具,但新技术的发展仍然是迫切的。虽然人工智能和大数据非常有用,但仍然存在很多弊端。如何在新技术的方向上取得突破仍然非常重要。
复活节彩蛋:英特尔研究院关于大数据学习的提议
大数据和人工智能是非常复杂的系统,实际上有很多不同的技术方向。我有三个建议。
首先,Linux 的创始人Linus 说:“故事很便宜,给我看看代码。”通常,一旦你看到你感兴趣的方向,第一步就是弄清楚如何实际构建一些东西。它。无论您是想重现算法、进行更改、改进算法还是做一些新的事情,都可以执行此操作。要做的第一件事就是能够正确地做到这一点。
然后,一旦你完成了一些项目,你就需要考虑如何向别人展示你的作品。你需要思考你的工作体系是什么,你的整体趋势是什么。你能清楚地解释一下我做什么、我做什么、为什么这样做、我解决什么问题吗? —— 这些想法非常重要。
第三,我有一句话鼓励你。我们通常高估一年内能完成的事情,却低估十年内能完成的事情。我想有很多人努力了一年几个月,却没有多大进展。事实上,如果你真的坚持这个方向,5年、10年你就会发现自己取得了很大的成绩。
来源:Roshi Tan 新文本:Roshi
原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/87236.html