网站标志
导航菜单
当前日期时间
当前时间:
购物车
购物车中有 0 件商品 去结算 我的订单
商品搜索
商品搜索:
文章正文
Genai技术栈架构指南工具,你知道哪个?
作者:    发布于:2024-06-07 20:11:24    文字:【】【】【
我之前写过关于现代数据湖参考架构,解决了每个企业面临的挑战 — 更多数据、老化的 Hadoop 工具(特别是 HDFS)以及对 RESTful API(S3)和性能的更大需求 — 但我想填补一些空白。

现代数据湖,有时称为数据湖仓,一半是数据湖,一半是基于开放表格式规范 (OTF) 的数据仓库。两者都建立在现代对象存储之上。

同时,我们深入思考了组织如何构建 AI 数据基础设施,以支持所有 AI/ML 需求 — 不仅仅是训练集、验证集和测试集的原始存储。换句话说,它应该包含训练大型语言模型、MLOps 工具、分布式训练等所需的计算能力。

基于这一思路,我们撰写了另一篇关于如何使用现代数据湖参考架构来支持 AI/ML需求的论文。下图展示了现代数据湖参考架构,其中突出了生成式 AI 所需的功能。

来源:现代数据湖中的 AI/ML

来源:现代数据湖中的 AI/ML

这两篇论文都没有提到特定的供应商或工具。我现在想讨论构建现代数据湖所需的供应商和工具。每个条目都是支持生成式 AI 所需的功能。

1. 数据湖

企业数据湖建立在对象存储之上。不是你老式的基于设备的对象存储,它服务于廉价且深入的归档用例,而是现代的、高性能的、软件定义的和 Kubernetes 原生的对象存储,这是现代 GenAI 堆栈的基石。它们可用作服务(AWS,MicrosoftAzure)或本地或混合/两者,例如 MinIO。

这些数据湖必须支持流式工作负载,必须具有高效的加密和纠删码,需要以原子方式将元数据与对象一起存储,并支持 Lambda 计算等技术。鉴于这些现代替代方案是云原生的,它们将与其他云原生技术的整个堆栈集成 — 从防火墙到可观察性再到用户和访问管理 — 开箱即用。

2. 基于 OTF 的数据仓库

对象存储也是基于 OTF 的数据仓库的基础存储解决方案。将对象存储用于数据仓库听起来可能很奇怪,但以这种方式构建的数据仓库代表了下一代数据仓库。这得益于 Netflix、Uber 和 Databricks 编写的 OTF 规范,它使在数据仓库中无缝使用对象存储成为可能。

OTF — Apache Iceberg、Apache Hudi 和 Delta Lake — 的编写是因为市场上没有能够满足创建者数据需求的产品。从本质上讲,它们(以不同的方式)所做的就是定义一个可以构建在对象存储之上的数据仓库。对象存储提供了其他存储解决方案无法提供的可扩展容量和高性能的组合。

由于这些是现代规范,因此它们具有旧式数据仓库所没有的高级功能,例如分区演进、模式演进和零拷贝分支。

可以在 MinIO 上运行其基于 OTF 的数据仓库的两个 MinIO 合作伙伴是 Dremio 和 Starburst。

Dremio Sonar(数据仓库处理引擎)

Dremio Arctic(数据仓库目录)

开放数据湖仓 | Starburst(目录和处理引擎)

3. 机器学习运维 (MLOps)

MLOps 对机器学习来说就像 DevOps 对传统软件开发一样。两者都是旨在改善工程团队(开发或机器学习)和 IT 运维(运维)团队之间协作的一组实践和原则。目标是使用自动化简化开发生命周期,从规划和开发到部署和运维。这些方法的主要好处之一是持续改进。

MLOps 技术和功能不断发展。您需要一个由主要参与者支持的工具,以确保该工具不断开发和改进,并提供长期支持。这些工具中的每一个都在底层使用 MinIO 来存储模型生命周期中使用的工件。

MLRun (Iguazio, acquired by McKinsey & Company)

MLflow (Databricks)

Kubeflow (Google)

4. 机器学习框架

您的机器学习框架是您用来创建模型并编写训练它们代码的库(通常用于 Python)。这些库功能丰富,因为它们提供了一系列不同的损失函数、优化器、数据转换工具和神经网络的预构建层。这两个库提供的最重要的功能是张量。张量是可以移动到 GPU 上的多维数组。它们还具有自动微分,用于模型训练。

当今最流行的两个机器学习框架是 PyTorch(来自 Facebook)和 Tensorflow(来自 Google)。

PyTorch

TensorFlow

5. 分布式训练

分布式模型训练是在多个计算设备或节点上同时训练机器学习模型的过程。这种方法可以加快训练过程,尤其是在需要大型数据集来训练复杂模型时。

在分布式模型训练中,数据集被分成较小的子集,每个子集由不同的节点并行处理。这些节点可以是集群中的各个机器、各个进程或 Kubernetes 集群中的各个 Pod。它们可能可以访问 GPU。每个节点独立处理其数据子集并相应地更新模型参数。以下五个库使开发人员免受分布式训练的大部分复杂性影响。如果您没有集群,可以在本地运行它们,但您需要一个集群才能看到训练时间显着减少。

DeepSpeed(来自 Microsoft)

Horovod(来自 Uber)

Ray(来自 Anyscale)

Spark PyTorch Distributor(来自 Databricks)

Spark TensorFlow Distributor(来自 Databricks)

6. 模型中心

模型中心实际上并不是现代数据湖参考架构的一部分,但我还是将其包括在内,因为它对于快速入门生成式 AI 非常重要。Hugging Face 已成为获取大型语言模型的去处。Hugging Face 托管着一个模型中心,工程师可以在其中下载预训练模型并分享他们自己创建的模型。Hugging Face 也是 Transformers 和 Datasets 库的作者,这些库与大型语言模型 (LLM) 及用于训练和微调它们的数据配合使用。

还有其他模型中心。所有主要的云供应商都有一些上传和共享模型的方法,但 Hugging Face 凭借其模型和库集合已成为该领域的领导者。

Hugging Face
浏览 (21) | 评论 (0) | 评分(0) | 支持(0) | 反对(0) | 发布人:
将本文加入收藏夹
新闻详情
脚注栏目
|
脚注信息
机电工程网(C) 2015-2020 All Rights Reserved.    联系我们