GenAI 技术堆栈架构师指南 - 十种工具

news2024/9/27 5:43:50

这篇文章于 2024 年 6 月 3 日首次出现在 The New Stack 上。

我之前写过关于现代数据湖参考架构的文章,解决了每个企业面临的挑战——更多的数据、老化的Hadoop工具(特别是HDFS)以及对RESTful API(S3)和性能的更大需求——但我想填补一些空白。

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

同时,我们深入思考了组织如何构建能够支持您所有 AI/ML 需求的 AI 数据基础设施,而不仅仅是训练集、验证集和测试集的原始存储。换句话说,它应该包含训练大型语言模型、MLOps 工具、分布式训练等所需的计算。基于这一思路,我们整理了另一篇关于如何使用现代数据湖参考架构来支持您的 AI/ML 需求的论文。下图展示了现代数据湖参考架构,并突出显示了生成式 AI 所需的功能。

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

1. 数据湖

企业数据湖建立在对象存储之上。不是老式的、基于设备的对象存储,它服务于廉价和深入的存档用例,而是现代的、高性能的、软件定义的和 Kubernetes 原生对象存储,它们是现代 GenAI 堆栈的基石,它们可以作为服务(AWS、GCP、Azure)或本地或混合/两者提供,例如 MinIO。这些数据湖必须支持流式工作负载,必须具有高效的加密和纠删码,需要以原子方式存储对象的元数据,并支持 Lambda 计算等技术。鉴于这些现代替代方案是云原生的,它们将与其他云原生技术的整个堆栈集成 - 从防火墙到可观测性再到用户和访问管理 - 开箱即用。

2. 基于OTF的数据仓库

对象存储也是基于 OTP 的数据仓库的底层存储解决方案。将对象存储用于数据仓库可能听起来很奇怪,但以这种方式构建的数据仓库代表了下一代数据仓库。这是由 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 之于传统软件开发一样。两者都是一组旨在改善工程团队(开发或 ML)和 IT 运营 (Ops) 团队之间协作的实践和原则。目标是使用自动化来简化开发生命周期,从规划和开发到部署和运营。这些方法的主要好处之一是持续改进。

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

MLRun(Iguazio,被麦肯锡公司收购)

MLflow (Databricks)

Kubeflow (谷歌)

4. 机器学习框架

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

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

5. 分布式训练

分布式模型训练是跨多个计算设备或节点同时训练机器学习模型的过程。这种方法加快了训练过程,特别是当需要大型数据集来训练复杂模型时。

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

6. 模型中心

模型中心并不是现代数据湖参考架构的真正组成部分,但我还是将其包括在内,因为它对于快速开始使用生成式 AI 非常重要。Hugging Face 已成为大型语言模型的去处。Hugging Face 拥有一个模型中心,工程师可以在其中下载预先训练的模型并共享他们自己创建的模型。Hugging Face 还是 Transformers 和 Datasets 库的作者,这些库使用大型语言模型 (LLMs) 以及用于训练和微调它们的数据。

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

7. 应用框架

应用程序框架有助于将 合并LLM到应用程序中。使用 an LLM 与使用标准 API 不同。必须做很多工作才能将用户请求转化为LLM可以理解和处理的内容。例如,如果您构建了一个聊天应用程序,并且想要使用 Retrieval Augmented Generation (RAG),则需要对请求进行标记化,将标记转换为向量,与向量数据库集成(如下所述),创建提示,然后调用 LLM.生成式 AI 的应用程序框架将允许您将这些操作链接在一起。当今使用最广泛的应用程序框架是LangChain。它与其他技术集成,例如,Hugging Face Transformer 库和用于文档处理的 Unstructured 库。它功能丰富,使用起来可能有点复杂,所以下面列出了一些替代方案,适合那些没有复杂要求并想要比LangChain更简单的东西的人。

8. 文件处理

大多数组织没有一个包含干净和准确文档的存储库。相反,文档以多种格式分布在组织中的各种团队门户中。为生成式 AI 做好准备的第一步是构建一个管道,该管道仅获取已批准用于生成式 AI 的文档,并将它们放置在矢量数据库中。对于大型全球组织来说,这可能是生成式人工智能解决方案中最艰巨的任务。

文档管道应将文档转换为文本,对文档进行分块,并通过嵌入模型运行分块文本,以便将其向量表示形式保存到向量数据库中。幸运的是,一些开源库可以对许多常见的文档格式做到这一点。下面列出了一些库。这些库可以与LangChain一起使用,以构建完整的文档处理管道。

9. 向量数据库

向量数据库有助于语义搜索。了解这是如何完成的需要大量的数学背景,而且很复杂。但是,语义搜索在概念上很容易理解。假设您想找到所有讨论与“人工智能”相关的任何内容的文档。要在传统数据库上执行此操作,您需要搜索“人工智能”的所有可能的缩写、同义词和相关术语。

看起来像这样:

SELECT snippet
FROM MyCorpusTable
WHERE (text like '%artificial intelligence%' OR
 text like '%ai%' OR
 text like '%machine learning%' OR
 text like '%ml%' OR
  ... and on and on ...
    

这种手动相似性搜索不仅费力且容易出错,而且搜索本身也非常缓慢。向量数据库可以接受如下所示的请求,并更快、更准确地运行查询。如果您希望使用 Retrieval Augmented Generation,那么快速准确地运行语义查询的能力非常重要。

{
Get {
 MyCorpusTable(nearText: {concepts: ["artificial intelligence"]}) 

      {snippet}
    }

下面列出了四种流行的向量数据库。Milvus

Pgvector

Pinecone

Weaviate

10. 数据探索和可视化

拥有允许您整理数据并以不同的方式可视化数据的工具始终是一个好主意。下面列出的 Python 库提供数据操作和可视化功能。这些似乎是传统 AI 才需要的工具,但它们在生成式 AI 中也派上用场。例如,如果你正在做情绪分析或情绪检测,那么你应该检查你的训练、验证和测试集,以确保你在所有类中都有适当的分布。

结论

这就是:可以在现代数据湖参考架构中找到的 10 项功能,以及每种功能的具体供应商产品和库。下表总结了这些工具。

1 . Data Lake - MinIO, AWS, GCP, Azure

2 . OTF-based data warehouse - Dremio, Dremio Sonar, Dremio Arctic, Starburst, Open Data Lakehouse | Starburst

3 . Machine learning framework - PyTorch, TensorFlow

4 . Machine learning operations - MLRun (McKinsey & Company), MLflow (Databricks), Kubeflow (Google)

5 . Distributed training - DeepSpeed (from Microsoft), Horovod (from Uber), Ray (from Anyscale), Spark PyTorch Distributor (from Databricks), Spark Tensoflow Distributor (from Databricks)

6 . Model hub - Hugging Face

7 . Application framework - LangChain, AgentGPT, Auto-GPT, BabyAGI, Flowise, GradientJ, LlamaIndex, Langdock, TensorFlow (Keras API)

8 . Document processing - Unstructured, Open-Parse

9 . Vector database - Milvus, Pgvector, Pinecone, Weaviate

10 . Data exploration and visualization - Pandas, Matplotlib, Seaborn, Streamlit

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1914568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python编写的俄罗斯方块小游戏

文章目录 游戏页面实现代码 游戏页面 左右键移动方块位置,上键切换方块形态。 实现代码 import pygame import random# 初始化 Pygame pygame.init()# 定义颜色 colors [(0, 0, 0), # 黑色(255, 0, 0), # 红色(0, 255, 0), # 绿色(0, 0, 255), # 蓝色(255,…

『大模型笔记』GraphRAG:用于复杂数据发现的新工具现已在GitHub上发布

GraphRAG:用于复杂数据发现的新工具现已在GitHub上发布 文章目录 一. GraphRAG:用于复杂数据发现的新工具现已在GitHub上发布1. 评估和结果2. 研究见解和未来方向二. 参考文献一. GraphRAG:用于复杂数据发现的新工具现已在GitHub上发布 下载 GraphRAG今年早些时候,我们介绍…

原理和组成

能力要素:(1)人员要素:“正确选人”。(2)过程要素:“正确做事”。(3)技术要素:“高效做事”。(4)资源要素:“保障做事”。…

IT审计必看!对比旧版,CISA考试改版升级亮点和重点内容是什么?

官方通知,今年8月1日,CISA新版考纲正式上线,旧版在7月23日后就无法约考了。 艾威培训邀请了国内知名的IT审计CISA授课老师吴老师来为大家详细讲解CISA新版考纲的变化 目前第28th版教材只有英文版,中文版尚未发布。我们艾威经验丰…

SAP PS学习笔记03 - 批量更改Project(CNMASS),批量创建Project(CNMASSCREATE)

上一章讲了网络(Network),活动(Activity),PS长文本, PS文书(凭证),里程碑(Milestone)的创建等相关知识。 SAP PS学习笔记02 - 网络&a…

如何用Vue3和Plotly.js创建交互式表格?

本文由ScriptEcho平台提供技术支持 项目地址:传送门 Plotly.js 动态生成 HTML 表格 应用场景介绍 在数据分析和可视化领域,经常需要以表格的形式展示数据。Plotly.js 是一款功能强大的 JavaScript 库,不仅可以创建交互式图表,…

产品使用手册深度剖析:五步快速敲定产品手册策划思路

引言 在这个信息爆炸的时代,产品使用手册不仅是产品的“说明书”,更是品牌与用户之间建立情感连接的桥梁。一份优秀的手册,能够迅速吸引用户的注意力,引导他们轻松上手,并深入体验产品的魅力。那么,如何撰…

gdb调试与Coredump

目录 一、gdb概述 1、gdb的调试以及常用参数解析 二、Coredump调试以及常用参数解析 1、coredump是什么? 2、前期设置 3、调试 三、其它方式(打印堆栈) 一、gdb概述 gdb是GNU 发布的一个强大的程序调试工具,也是Linux 程序…

按模版批量生成定制合同

提出问题 一个仪器设备采购公司,商品合同采购需要按模版生成的固定的文件,模板是固定的,只是每次需要替换信息,然后打印出来寄给客户。 传统方法 如果手工来做这个事情,准备好数据之后,需要从Excel表格中…

【论文阅读笔记】Meta 3D AssetGen

【论文阅读笔记】Meta 3D AssetGen: Text-to-Mesh Generation with High-Quality Geometry, Texture, and PBR Materials Info摘要引言创新点 相关工作T23D基于图片的3d 重建使用 PBR 材料的 3D 建模。 方法文本到图像:从文本中生成阴影和反照率图像Image-to-3D:基于pbr的大型重…

院内导航:如何用科技破解就医找路难题

自2019年开始“院内导航”被纳入医院智慧服务评估体系以来,到2023年改善就医服务升级的部署,每一步都见证了我国医疗卫生体系向智能化、人性化迈进的坚实步伐。 面对庞大复杂的医院环境与日益增长的就诊需求,如何让患者在茫茫人海中迅速找到就…

关于 RK3588刷镜像升级镜像”没有发现设备“ 的解决方法

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/140287339 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…

gitee上传和下载idea项目的流程

环境:idea2022 一、上传项目 1、在gitee中新建一个仓库。 2、打开所要上传的项目的文件夹,点击Git Bash,生成.git文件夹。 3、在idea中打开所要上传的项目,在控制台的Terminal菜单中,输入git add . (注意&#xf…

【卡尔曼滤波器】DR_CAN :1_递归算法_做估计 学习笔记

DR_CAN : 1_递归算法_Recursive Processing 学习笔记 DR_CAN 大神 地址 1_递归算法_Recursive Processing 取平均 做估计 前k-1次的平均值 当前估计值 与上次估计值和当前测量值的关系

简过网:哪些证书适合上班族考?这些证书挂着就能挣钱!

考证不一定暴富,但找工作时一定吃香 今天给大家整理几个比较吃香的证书! 不仅含金量高还可以领补贴 建议大家有时间都考一考 普通人就冲一冲:教资、二建、一建、一造、监理!! ​ ★ 教师资格证书 报名时间&#x…

如何才能半个月学习完自动化测试,成功跳槽涨薪?

一直想写类似的文章&#xff0c;但是一直没有时间&#xff0c;正好乘此周末&#xff0c;终于可以写写我的见解了<关于如何学习自动化测试>&#xff0c;其实自动化测试的知识很宽泛&#xff0c;具体细分又可以分为&#xff1a;Web自动化测试&#xff08;PythonSelenium&am…

Python的语言特性

1&#xff0c;python是动态语言 在编译期间就确定变量类型的语言是静态语言 在运行期间才知道变量类型的是动态语言 2&#xff0c;python是强类型语言 不同类型的变量是否允许隐式转换

Python基础小知识问答系列-遍历嵌套列表

1. 问题&#xff1a; 如何只使用一次for循环&#xff0c;遍历2层嵌套的列表&#xff1f; 2. 解决方法&#xff1a; 使用yield from语句的递归生成器&#xff0c;解决多层嵌套列表的遍历问题。 示例&#xff1a; from collections.abc import Iterablelist_b ["hong kong…

buuctf LSB

图片下来是一张 这个图片 放010 没有隐藏的文件 stegSolve打开 在三个0的时候,都发现图片上有东西 保存为png格式 得到了一个二维码 扫一下就是flag

防火墙安全策略与用户认证综合实验

一、实验拓扑 二、实验需求 1.DMZ区内的服务器&#xff0c;办公区仅能在办公时间内<9:00-18:00>可以访问&#xff0c;生产区的设备全天可以访问 2.办公区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网 3.办公区设备10.0.2.10不充许访问DMZ区的FTP服务器和HT…