《数据科学家的Databricks Lakehouse AI全面指南》

Databricks一直是构建技术和平台的先驱,帮助实现规模化的AI解决方案,包括推动Apache Spark和MLflow等开源项目。

‘在2023年的Databrick Data + AI Summit上,Lakehouse AI被宣布为世界上第一个内置于数据层的AI平台,并宣布了许多新功能。随着ChatGPT的推出和全球生成式AI技术的巨大飞跃,Lakehouse AI是Databrick通过数据为中心的方法构建生成式AI应用的答案。在本教程中,我们将介绍Databricks Lakehouse AI平台,思考其重要性,了解新推出的功能,以及如何在我们的机器学习开发生命周期中利用它们。

什么是Databricks Lakehouse AI?

等等,Lakehouse?我们理解这些可能都是对你来说新的术语。

让我们逐步分解Databricks Lakehouse AI的演变过程。要理解Lakehouse AI,我们首先需要完全理解Lakehouse架构。

什么是Lakehouse?

“Lakehouse”是一种现代数据管理架构,它将数据湖的灵活性和成本效益与数据仓库的数据管理功能相结合。

我们有一整个教程详细介绍了数据湖和数据仓库之间的区别,但简单来说,这就是意味着什么:

  • Data Lake(数据湖):一个存储库,可以保存大量原始数据的本地格式,直到需要使用。它就像一个大容器,我们可以将所有的数据都倒入其中,无论是结构化的(比如数据库中的表格)还是非结构化的(比如文本或图片),而不用担心事先组织它。

数据湖架构

数据湖架构 (来源)

  • 数据仓库:用于报告和数据分析的系统,数据以易于检索和分析的方式进行结构化、处理和存储。它就像一个图书馆,书籍被整齐地组织和编目,以便轻松获取。

数据仓库架构

数据仓库架构 (来源)

数据湖经常在数据管理和治理方面遇到困难,这是因为它们存储了大量的原始、非结构化数据,这可能导致数据难以找到、访问或信任的“数据沼泽”。缺乏结构也可能阻碍复杂分析查询的性能,并且传统的数据湖通常不支持事务数据操作,缺乏关键的ACID事务能力,这对于确保数据完整性至关重要。数据仓库,另一方面,针对结构化数据和分析进行了优化,但随着数据量的增加,扩展成本可能变得难以承受。它们对数据需要进行结构化和处理,并且需要预定义的模式,这可能导致僵化,限制了快速摄取和分析新的数据类型的能力。

这些限制推动了Lakehouse架构的演变,旨在将两者的优点结合起来:

  • 它允许我们廉价地存储大量原始数据(如数据湖)。
  • 它提供了高效执行复杂分析和以强大的治理和可靠性管理数据的能力(如数据仓库)。

以下是lakehouse架构的外观:

数据湖架构

数据湖架构 (来源)

现在我们了解了Databricks Lakehouse的演变,我们来到了最后一个问题。

什么是Lakehouse AI?

Lakehouse AI是将人工智能和机器学习能力直接集成到Lakehouse架构中。这意味着我们可以利用存储在数据湖中的大量数据来开发、训练和部署AI模型,而无需将数据移动或复制到单独的环境中进行处理。

这个平台的重要性是:

  • 直接访问数据:AI模型可以在更全面的数据集上进行训练,从而可能得到更准确和有洞察力的结果。
  • 简化架构:通过减少对数据存储和AI处理的分离系统的需求,降低了管理数据基础设施的复杂性和成本。
  • 实时洞察:允许对数据进行实时处理,用于AI应用,使企业能够更快速、数据驱动的决策。

这些特点解释了为什么Databricks将这个平台宣布为世界上第一个内置于数据层的AI平台。

Lakehouse AI的核心组件

过渡到Lakehouse AI对推动企业朝着更加数据驱动和人工智能集成的运营方向起到了重要作用。

在这个转变的核心是几个核心组件,它们促进了人工智能和机器学习模型的开发、部署和管理。了解为什么和何时需要这些组件可以帮助组织更有效地利用其数据进行人工智能应用。

向量搜索

Databricks Lakehouse AI中的向量搜索代表了在处理和搜索大规模数据集以查找语义相似信息方面的重大进展(也在Data+AI Summit 2023中推出),而不是依赖传统的关键词匹配。

向量搜索通过将数据和查询转换为向量,这些向量位于一个称为嵌入的多维空间中,这些嵌入是从生成式人工智能模型中得出的。这种方法使得在n维空间中,语义上相似的单词或概念更加接近,从而实现更相关和上下文感知的搜索结果。

Vector search (Screenshot by author)

这段文字的中文翻译如下:

向量搜索(作者提供的截图)

向量搜索(作者提供的截图)

使用向量搜索(由Databricks提供的演示视频)的过程如下:

  • 创建一个向量搜索终端和索引。
  • 将数据块作为输入进行摄取,并将它们映射到由嵌入向量表示的N维空间。
  • 将这些向量存储在向量数据库中,以便快速和可扩展的最近邻搜索算法可以找到相似的向量。

像Lippert这样的公司已经使用向量搜索来帮助代理人快速找到客户咨询的答案,通过将来自各种来源的内容摄取到向量搜索中。

精选模型

这些模型可在Databricks Marketplace中获得,它们经过优化以实现高性能,并且设计用于轻松集成到Lakehouse环境中,适用于各种应用,包括文本分析和生成以及图像处理。

一些经过策划的生成式人工智能模型包括:

  • MPT-7B和Falcon-7B:这是分别为需要根据给定指令理解和生成类似人类文本或将长文档总结为简洁、信息丰富的摘要的任务而设计的指令跟随和摘要模型。
  • 稳定扩散:这是一种图像生成模型,因其能够根据文本描述创建高质量图像而受到欢迎,在Lakehouse AI框架内可以进行各种创造性和分析应用。请查看我们的稳定扩散教程以了解更多信息。

Databricks Marketplace中可用的模型(作者提供的截图)

在Databricks Marketplace中提供的模型(作者提供的截图)

这些模型旨在与Databricks Lakehouse AI的更广泛功能无缝配合,包括数据管理、分析和MLOps工具。稍后我们将看到这些模型如何在机器学习开发中使用。

AutoML

Databricks Lakehouse AI中的AutoML(自动化机器学习)功能旨在简化和自动化机器学习模型开发过程,使高级数据科学对更广泛的用户群体可用,包括那些对机器学习知识有限的用户。

Databrick AutoML

这段文字的中文翻译如下:

Databrick AutoML

Databrick AutoML (来源)

当我们提供数据集并指定预测目标时,AutoML会负责准备数据集以训练模型。然后,它会通过一系列试验来创建、调整和评估多个模型。一旦评估完成,AutoML会呈现结果,并提供一个包含每个试验源代码的Python笔记本。这使我们可以根据需要审查、复现和修改代码。AutoML还会计算有关我们数据集的摘要统计信息,并将此信息保存在笔记本中供将来参考。

通过最新的发布,AutoML现在为文本分类和嵌入模型提供了微调生成式AI模型的功能,用户可以使用自己的数据。这意味着非技术的商业用户现在可以通过几次点击使用AutoML来构建生成式AI应用。

湖屋监控

Databricks湖屋监控使我们能够监控数据表的统计属性和质量,跟踪机器学习模型及其预测的性能。通过检查Databricks管道中的数据流,这个监控功能有助于确保数据质量和模型效果的持续监控。

以下是数据在Lakehouse监控中的流动方式,以实现持续监控:

Lakehouse Monitoring flow

的中文翻译如下:

湖屋监控流程

湖屋监控流程 (来源)

除了停留在监控阶段,这个功能还提供了对各个方面的可操作洞察,如数据完整性、分布、漂移以及模型随时间的性能。

现在让我们看看在Lakehouse AI中,所有这些功能如何作为统一的治理方式结合在一起。

统一治理在Lakehouse AI中的作用

统一治理的理念是能够在一个地方访问、控制、协作、监控和处理数据、机器学习模型和其他人工智能资产。随着组织在人工智能转型之旅中的不断成长和发展,能够在一个地方管理所有事物至关重要。

Databricks Unity Catalog正是这样做的,统一管理AI资产的方法实质上加速了AI的采用,同时确保了合规性。

虽然有一些有用的功能,比如数据浏览器和添加外部系统的能力,但最引人注目的功能是通过一个简单的Unity目录治理门户,能够以鸟瞰的方式查看这些资产的整体治理情况,如下所示:

Unity目录治理门户(作者提供的截图)

Unity目录治理门户(作者提供的截图)

该门户显示关键指标,如受管控和监控表的百分比、活跃用户数量以及表、卷和机器学习模型的计数。这种高层次的视图有助于快速评估治理状态和与数据资产的积极互动。

仪表板还显示了用户随时间的活动水平,这有助于了解组织内数据资产的利用情况,并识别任何瓶颈或培训需求。

进一步说,该门户网站通过识别未经监控的表格或从个人可识别信息(PII)派生的列等问题,列出了潜在的治理风险,为安全管理数据提供了积极的方法,如下所示。

Governance action items view of the unity catalog dashboard (Screenshot by author)

的中文翻译如下:

统一目录仪表板的治理行动项视图(作者提供的截图)

统一目录仪表板的治理行动事项视图(作者提供的截图)

每个确定的问题都附带有推荐的操作,引导用户解决潜在的治理问题。这个功能简化并统一了平台上人工智能和数据资产治理的常常复杂的过程。

现在我们了解了平台的特点以及它们如何结合在一起,让我们深入探讨它在端到端机器学习开发中的应用。

在Databricks Lakehouse AI上进行端到端机器学习开发

如果您需要对端到端机器学习开发生命周期进行复习,我们建议您参考我们的深入教程。在本节中,我们将了解Databricks Lakehouse AI的特性如何适用于生命周期。

端到端机器学习开发

端到端机器学习开发(来源

1. 数据准备和特征工程

Databricks Lakehouse AI中机器学习的基石是高效地训练和构建模型的能力。

我们可以使用Databricks ML运行时,该运行时带有常用的包,如pandas和PySpark,用于数据准备和清洗。Databricks特征存储是Databricks Lakehouse AI平台内的一个集中式存储库,旨在存储、共享和管理机器学习特征。

这个特征存储库确保在生产环境中进行推理时,用于训练机器学习模型的特征与之一致。我们也不需要为不同的用例反复重新计算特征,从而节省计算资源。

特征存储的功能

特征存储的功能 (来源)

通过集中特征定义和存储,它消除了“训练-服务偏差”的常见问题,即用于模型训练的数据与模型在实际环境中遇到的数据不同。

2. 模型工程

在模型开发方面,我们有灵活性可以选择在Databricks环境中提供的预构建的精选模型,或者选择训练一个根据他们特定的数据和业务需求定制的自定义模型。

  • 利用现有模型:正如我们之前所看到的,我们可以从Databricks市场上的任何已经在大量数据集上进行了预训练的现有模型中进行选择。这些模型附带有示例笔记本,因此我们不需要担心如何使用这些模型。
  • 训练新模型:对于构建定制解决方案,我们可以利用与机器学习框架和语言(包括TensorFlow、PyTorch和Scikit-learn等)一起提供的ML运行时。Databricks的协作笔记本增强了训练过程,它提供了一个交互式环境,作为数据科学家,我们可以编写代码、分析数据并分享见解。

Databricks还拥有针对GPU进行优化的集群,这意味着训练(和推断)可以更快速地进行,并且可以进行规模化,这在实时洞察、预测和推荐方面通常是至关重要的。

3. 模型评估和实验

Databricks开发了一个名为MLflow的开源工具,该工具在Databricks平台上本地可用,简化了跟踪实验、将代码打包成可重现运行和共享发现的复杂过程。

作者提供的一个MLflow实验示例(截图)

一个MLflow实验的示例(作者提供的截图)

创建实验框架的步骤如下:

  • 安装MLflow并设置跟踪URI
  • 创建一个实验
  • 开始一个MLflow运行,并记录参数、指标和工件
  • 在同一个实验下创建多个运行,用于超参数调优和其他改进
  • 查看实验下的运行结果
  • 选择最佳模型并将其转移到生产环境

一旦框架建立起来,我们就能够快速迭代,尽早找到最佳模型。

4. 模型部署与MLOps模型

模型服务是Databricks Lakehouse AI中的另一个功能,它简化了将机器学习模型从开发阶段过渡到生产就绪状态的过程。

这个功能允许将模型部署为RESTful端点,可以轻松地集成到各种应用程序和服务中,用于实时预测或批量推理。

模型服务端点

模型服务端点 (来源)

一旦模型训练完成,数据科学家只需点击几下即可部署,无需进行繁琐的设置或拥有DevOps专业知识。以下是如何进行操作:

  • 将开发的模型记录到模型注册表中(MLflow中的一个功能)
  • 使用Serving UI为所选模型创建端点
  • 查询创建的端点

我们鼓励您阅读Databricks的详细教程示例,以便轻松执行这些步骤。在现代数据工作流中,快速迭代和部署模型的能力对于推动业务价值至关重要。

5. 监控和评估

一旦我们的机器学习模型部署到生产环境中,AI生命周期的最后一个关键阶段是监控和评估。这个阶段涉及持续跟踪模型的性能,以确保它随着时间的推移仍然有效和准确。

Databricks Lakehouse AI通过Lakehouse Monitoring和Inference Tables来实现这一点,这些是维护我们的AI系统的健康和效力的基本工具。由于我们之前已经看到了Lakehouse Monitoring的特性,在本节中,我们将重点关注推理表。

简单来说,推理表是一个额外的功能,您需要通过勾选框来启用它,它使我们能够捕获模型服务端点的输入数据和相应的预测结果,并将它们记录到一个增量表中,该表将成为Unity目录的一部分。

这个日志记录机制有多个好处:

  • 检测模型漂移:随着时间的推移,模型在生产中遇到的数据可能会与最初训练的数据偏离。推理表可以帮助通过允许团队持续监控传入数据的特征并将其与训练数据集进行比较来检测这种漂移。这与Lakehouse监控仪表板一起使用。
  • 调试和根本原因分析:当模型的预测结果与预期不符时,推理表提供了理解问题所在所需的细粒度数据。通过检查导致糟糕或意外结果的具体输入,数据科学家可以更有效地调试和优化模型。
  • 合规性和审计:对于需要严格合规性和审计流程的行业,如金融或医疗保健,推理表提供了模型决策过程的透明记录。这对于向利益相关者或监管机构解释决策至关重要。

机器学习开发过程是循环性质的,这意味着我们从第一个部署版本中获取反馈,并进行改进、重新训练和构建更准确、更高效的模型,从而使我们再次回到第一步。

结论

本教程介绍了Databricks Lakehouse AI的发展历程及其核心功能。我们还了解了这些功能如何通过统一的治理方式相互结合。此外,我们还分析和了解了如何使用Databricks Lakehouse AI平台在端到端的机器学习生命周期中进行导航。

要了解有关Databricks Lakehouse及其在数据工程、机器学习开发和以实践方式构建大规模应用程序中的应用,请查看我们的Databricks入门课程

抱歉,我无法翻译视频和图片标签,也无法保留代码块。以下是我对文本的翻译:

“你是一个翻译员。”