首页 > 企业站 > 企业站_资讯眼> 正文

VMware Private AI方案详述四:VMware Private AI Foundation with NVIDIA演示

安浦(编译) 整合编辑:王珂玥 发布于:2024-04-22 09:30

本文编者为VMware中国资深架构师安浦,基于2024年2月21日VMware by Broadcom 在 Tech Field Day 活动现场AI Field Day 4主题的系列演讲整理。演讲嘉宾为Justin Murray,Product Marketing Engineer, VMware By Broadcom。

演示流程概述

VMware Private AI Foundation with NVIDIA 为数据科学家以及VMware系统管理员/DevOps人员等的工作提供了有力的帮助。数据科学家可以在VMware Cloud Foundation (VCF)上快速重现他们的LLM环境。这是通过自助服务门户或VCF系统管理员的协助完成的。本次演示显示了VCF管理员可以用一组虚拟机为数据科学家提供服务,这些虚拟机以一种新的自动化方式,从深度学习虚拟机映像模版中创建,其中已经包括了所有的深度学习相关的工具。该演示体现了终端用户(特别是数据科学家)如何从该解决方案中受益。

-大模型AI应用程序演示:首先展示了一个由大语言模型(LLM)驱动的聊天机器人应用,该模型利用了检索增强生成(RAG)技术,演示结果表明,更新知识库后,机器人可以更准确地回答问题。

-深度学习虚拟机演示:重点介绍了预装深度学习工具包的虚拟机的使用,这些工具包对数据科学家来说至关重要。这些虚拟机可以使用Aria Automation快速配置,并且可以根据数据科学家的需求使用特定的工具包进行定制。

-自动化和用户界面演示:演示了Aria Automation,它允许数据科学家或DevOps人员通过简单的界面请求资源,并选择所需的GPU能力。

-GPU可见性演示:该演示最后查看了GPU可见性,展示了如何使用vCenter来监控主机和虚拟机级别的GPU消耗,这对于管理LLM操作中的资源很重要。

演讲正文

本演示将展示VMware Private AI Foundation with NVIDIA的具体使用方式。

本演示从一个应用程序开始,展示终端用户所看到的内容,以及数据科学家为公司业务用户所创建的应用。首先是一个带有前端聊天窗口的RAG应用程序,接着,会深入了解支撑这一切的构建模块,即深度学习虚拟机,其中预装了满足数据科学家需求的工具包。然后,将使用之前提到的Aria Automation工具来自动化这些虚拟机的提供过程。最后,我们会深入探索GPU的内部运作。

这个演示的解决方案是容器与虚拟机的完美结合。你可以将虚拟机视为Kubernetes集群中的节点,在这些节点上运行包含容器的Pod。当在VMware上部署Kubernetes集群时,部署的是能够运行Pod的虚拟机,而Pod是容器的集合。容器和虚拟机在这里非常自然地结合在一起。NVIDIA组件是作为容器发布的,它们可以使用Docker作为独立容器运行,同时它们也是微服务,可以非常容易地集成到Kubernetes中。

1.大模型AI应用程序演示

演示的第一个应用程序是这个聊天机器人。在这里,我们将Llama-2 7b模型移植到了客户端,并启动了一个非常简单的聊天机器人应用。我们询问了“LlamaIndex是什么?”这个问题。这是数据科学界在LLM领域的一个最新发展,而这个模型没有给出答案,因此我们遇到了问题。有些知识只有在模型外部才能得知。

为了解决这个问题,通过文件向矢量数据库加载一段数据,告诉向量数据库LlamaIndex实际上是什么。然后,再次询问同样的问题,但这次打开了RAG,启用了外部知识库。现在当再次向同一模型提交相同的问题时,得到的答案更加贴切了。它说LlamaIndex是用于将大语言模型连接到数据源的工具或平台。

对于多个数据源的问题,LlamaIndex就是一个例子。这是从提供给模型的向量数据库中检索出的信息,模型基于此调整了答案,使其更易于理解。

此外,NVIDIA为用户提供了众多源代码示例,这些示例是数据科学家可以参考的RAG应用,帮助他们启动检索增强生成或大语言模型的项目。我们将与Private AI一同提供这些源代码,并附带相应的容器。

由于时间有限,本次演示不会深入讨论源代码。不过,NVIDIA和VMware的数据科学家们为用户准备了许多出色的示例,用户可以从中开始探索。比如,使用TensorRT进行优化,将模型从16位量化为8位。所有这些都是在相对较旧的、装备了两个GPU的服务器上运行的。这些服务器使用的是A100 40G,已经服役三年了。

2.深度学习虚拟机演示

可以看到特定虚拟机DLVM002-harbor上附加了两个A100.这里有一个小技巧:可以在VM上附加多个GPU,并让VM使用这些GPU。如演示所见,这些都是虚拟GPU。虚拟GPU是NVIDIA与VMware合作推出的概念,它允许用户将此虚拟机移动到数据中心中的任何位置,即使有GPU附加到其中。这也是VMware中用户经常采取的做法。

这个VM是基于从工程团队下载的镜像创建的,这个镜像存放在Content Library中。Content Library是存储虚拟机镜像的地方。在VMware Cloud Foundation中,演示用的Content Library称为“PAIF Deep Learning VM”。在该库中,可以看到一个OVA,这是生成新VM的基础模板。因此,作为Private AI Foundation的一部分,基于拥有深度学习VM的模板,可以创建一系列配置不同数据的VM。

深度学习VM解决方案将预先安装许多来自NVIDIA的AI工具,包括TensorFlow、PyTorch等适当工具包的容器。演示的时候不需要实时从NVIDIA去下载,只需要加载它们即可。

目前,已经有一些早期客户通过早期使用者计划参与进来。他们正在使用基于VMware Cloud Foundation和NVIDIA AI Enterprise的基础架构。VMware与这些客户已经建立了多年的合作关系,为他们提供了稳定的驱动程序支持。而新的LLM相关功能则是VMware产品的独特之处。

在快速启动方面,虽然启动虚拟机可能需要更长的时间,但VMware采用了轻量级操作方式,运行了一个基于Ray集群的轻量级虚拟机,Ray是一个广泛使用的平台。通过特殊处理使得链接克隆类型的操作变得非常快速,只需要几秒钟的时间。

虽然演示展示的是一个静态文件,用户可以上传自己的文档,但该方案也可以处理流式文档,即不断地提供文档,让你的模型持续更新。在许多平台中,包括NeMo在内,都有专门的API允许流式处理,用户可以同时进行流入和流出操作,因此响应会作为一系列输出而不是单个输出返回。

在深度学习VM中查看一下,其实非常简单,它只是一组基于Docker的容器。但这些容器有着一些独特之处。顺便一提,这是Milvus向量数据库,它能回答用户关于开源数据库的问题,本演示正好可以使用它。本演示使用了NVIDIA提供的内容,其中包括了一个开源的向量数据库,在此处直接选用它就行。

至于这个特定的标签“harbor.isvlab.vmware.com”,它指的是眼前所见的内部Harbor存储库。这个Harbor存储库是一个容器镜像的存储库,可以提供隐私保障。因为这意味着不需要从NVIDIA的公共存储库中拉取容器,也不会通过互联网获取。

本演示不会采用外部现成的最新的但可能不太安全的容器,相反,使用的是经过测试和验证的特定容器,并确保我们明白它的工作原理。这些容器都是属于演示的实例,被保存在演示的存储库中,因此具有私密性。由此,可以从中获得两个优势:首先,由于容器都在本地,因此下载速度更快;其次,获得了完全的隐私保护,因为这些都是NVIDIA容器的私有版本。

当然,对于真实用户场景来说,如果希望引入外部数据,完全可以选择新的数据源。事实上,容器和模型是两个独立的概念。Llama 2模型的数据来源于Meta。最初,先将其放置在一个安全的地方进行了测试,然后将其上传到了演示用的的本地HTTP服务器上,这样创建的虚拟机就可以从那里获取模型。因此,整个过程变得更加贴近真实场景,而不仅仅是个学术研究示例。

3.自动化和用户界面演示

现在,将会继续演示实现整个过程的自动化,为此将使用自动化工具Aria Automation。

在这里,先创建了一个磁贴,就像之前展示的那样。这是一个数据科学家在磁贴上发出请求的示例。这将是数据科学家看到的唯一页面,他们无需过多关注基础设施问题,只需通过简单的方式创建所需环境即可。

如之前所说,不仅数据科学家可以使用这个工具,DevOps人员、平台工程师等也可以。他们需要做的关键决策是分配多少GPU计算能力。在这个例子中,将允许他们选择8GB或16GB的GPU计算能力。这就是他们可以使用的全部内容。当然,可以根据需要调整这个范围。

通过提供用户ID和密码,数据科学家可以选择使用自己的工具包,而不是厂商提供的。他们只需在屏幕底部点击“提交”按钮发送请求,然后就可以等待了。无需他们再进行任何操作,系统会为他们完成所有底层虚拟机的配置。虽然这个过程需要超过3秒钟,但大约5分钟左右,数据科学家就可以开始使用了。

数据科学家也可以通过编写脚本的方式来确保构建的顺利进行,并自动执行相关操作。虽然本演示并未涉及创建这一过程的部分,比如如何创建这个磁贴并将其放置在用户界面的Service Broker上。但在这背后,是有一整套的脚本技术支持的,而这些脚本确实可以用来构建和自动化流程。另外,数据科学家在设置环境时也能这样做。Aria Automation提供了一个图形用户界面,专门用于构建这些内容。

最后来看一下整个流程的最终结果。有多种方式可以进入演示环境:如通过顶部的Jupyter Lab,或者是通过SSH进入虚拟机以查看内部运行情况等。在这里,将只演示Jupyter Lab部分,因为它可能是大多数数据科学家最感兴趣的部分。

这个演示示例非常简单,仅使用了PyTorch这个库,原始的Torch库被Python采纳并命名为PyTorch。这个简单的代码片段用于检查CUDA和GPU是否正常运行,并输出矩阵乘法的结果。在大语言模型内部,这种矩阵乘法操作是持续进行的。数据科学家可以通过SSH进入他们的虚拟机,查看更详细的运行情况。

在实际终端用户场景中,使用整个虚拟机作为数据科学家部署模型,以及随着Notebook功能的不断增强,利用类似“Notebook as Service”,在K8s上运行,这两种环境的需求都会存在。

4. GPU可见性演示

现在再来看看GPU可见性。如之前所提及的,在大语言模型中,谁在使用GPU以及他们如何使用GPU变得至关重要,因为将两个或更多GPU分配给单个大语言模型操作是非常常见的。

在这里,可以提供主机级别的可见性,最左边突出显示的是主机信息,但还可以提供虚拟机级别的可见性。因此,用户可以查看GPU的消耗情况,包括其内部的核心和内存。在vCenter用户界面中,用户可以详细了解每个GPU的情况。

通常出于某种原因,使用GPU的人都对功耗很感兴趣。如果没有足够的电力资源供给,GPU资源是无法被很好的利用的,电力和GPU都是稀缺资源,这也是需要有更好的GPU的可见性的重要原因之一。

本次演示到这里就全部结束了。简要回顾一下,演示中展示了AI应用程序、深度学习虚拟机、使用Aria Automation来简化数据科学家或DevOps工程师的工作流程。最后,还讨论了GPU作为底层基础设施技术的可见性。

VMware AI解决方案相关信息链接

Artificial Intelligence Solutions | VMware AI (https://www.vmware.com/artificial-intelligence.html)

VMware's Approach to Private AI (https://news.vmware.com/technologies/vmware-technology-private-ai )

Deploying Enterprise-Ready Generative AI on VMware Private AI (https://core.vmware.com/resource/deploying-enterprise-ready-generative-ai-vmware-vmware-cloud-foundation )

网友评论

聚超值•精选

推荐 手机 笔记本 影像 硬件 家居 商用 企业 出行 未来
二维码 回到顶部