~~~雅各布专栏——专注行业第一品牌商业模式研究~~~
来源:Robert Daigle
Jose Carlos Huescas
(专栏注:本文章来源联想网站,内容带有专业性质,较原文有删减,内容较长,供相关人员参考,建议分时阅读)
目录
摘要
联想遵循两个基本原则:为所有人提供更智能的技术;成为智能转型领域最值得信赖的合作伙伴。这些原则推动我们致力于加快创新,让全球合作伙伴和客户能够以最高的安全性和效率,在各行业垂直领域大规模开发、培训和部署人工智能。我们最近的努力围绕着通过我们的解决方案降低风险和增强支持生成式人工智能模型(GenAI)和大型语言模型(LLM)的基础设施。
本文介绍了生成式人工智能和大型语言模型专用架构的各个方面,并深入介绍了生成式人工智能和大型语言模型及其流行的使用案例。此外,本文还阐述了联想推荐的架构,并解释了其组成部分。
本文专为具有深厚人工智能(AI)背景的个人定制,包括首席信息官、首席技术官、IT 架构师、系统管理员和其他活跃在人工智能和技术领域的专业人士。本文旨在对这一主题进行全面深入的探讨,以满足那些希望在各自的角色和职责范围内深入研究人工智能错综复杂的问题的人的需求。
1. 内容提要
联想由两个核心原则驱动:普及先进技术与在智能转型时代建立无与伦比的合作伙伴信任。这些原则强调了我们对促进创新的坚定不移的奉献精神,使全球合作伙伴和客户能够在不同行业大规模地利用、开发和部署人工智能,并对安全和效率做出坚定的承诺。我们目前的计划主要集中在加强支持生成式人工智能模型(GenAI)和大型语言模型(LLM)的基础设施,旨在降低风险并提升这些技术的支持框架。
在常用的回归模型中,LLMs 的独特性凸显出来。与参数数量不多的传统回归模型不同,LLM 用数十亿个参数挑战传统,从而突破了硬件、软件、网络、存储、输入/输出操作和计算资源的极限。从零开始训练 LLM 模型的过程错综复杂,这就要求专门设计用于实现最佳性能的系统,通常需要集成 GPU 等强大的加速器。虽然部署 LLMs 进行推理可能不需要相同程度的资源强度,但却需要对代码优化进行细致的关注。这种优化包括加速器利用率的微调、熟练的并行化和明智的内核利用。
在本文中,我们将讨论硬件和软件堆栈之间的相互作用,这对于成功实施 LLM 和 GenAI 至关重要。此外,我们还将提供一份全面的材料清单(BoM)(专栏注:限于篇幅该部分进行了删减),作为构建稳健、高性能人工智能基础设施的基础。通过深入探讨这些关键方面,我们旨在为首席信息官、首席技术官、IT 架构师、系统管理员等专业人士以及具有人工智能背景的人员提供必要的知识和见解,以便有效地驾驭人工智能技术的复杂局面。
2. 简介
生成式人工智能(GenAI)和大型语言模型(LLM)涉及能够根据从现有数据中学到的模式生成新内容的算法。以下关于生成式人工智能的定义本身其实就是一个例子--这段文字是由ChatGPT 的搜索引擎集成商 Bing AI 创建的。
生成式人工智能是一种能够创造新的原创内容的人工智能,如文本、图像、音频、视频、音乐、艺术和代码。GenAI 基于各种技术基础,例如:模型架构、自监督预训练和生成建模方法。
生成建模方法:使模型能够学习数据的概率分布并从中采样新数据的技术和算法。
生成式人工智能的常见模型有:生成多媒体和逼真语音的生成式对抗网络(GANs)、用于信号处理的变异自动编码器(VAEs)、用于波形信号处理的自回归模型和扩散模型、多模态建模、分子图生成、时间序列建模和对抗净化。
大型语言模型是在广泛的无标记数据集上进行训练的,可用于不同的任务,并可针对许多垂直领域的目的进行微调。这些模型有数十亿个参数,最新的模型有 650 亿到 5400 亿个参数,需要大量的加速器(如 GPU)和更长的训练时间(例如,BloombergGPT 的 GPU 训练时间为 130 万小时)。
语言模型研究最近的一个重要发现是,使用更多的数据和计算能力来训练参数更多的模型,可以持续获得更好的性能。因此,参数数量正以指数级速度增长,从而对训练资源造成巨大压力,这使得预训练模型具有吸引力。预先训练好的模型,无论是开源模型还是商业模型,只需针对特定用例进行微调,就能相对快速地部署用于推理。
联想聊天机器人
联想使用预训练的 LLM,特别是来自 Meta 的 Llama 2,来驱动一个聊天机器人,帮助我们的销售社区快速查找有关我们硬件的技术和深奥细节。创建过程如下图所示。
创建联想 LLM 聊天机器人的过程:
图 1. 创建LLM 聊天机器人的过程
下面嵌入的 30 秒视频展示了创建过程的结果。该机器人引用了来自 Lenovo.com 的内容,为回复提供了一些上下文。为了对回复进行更多控制,存储在安全数据中心存储设备中的完全密闭数据提供了额外的保护。
像 LLM 聊天机器人这样的聊天机器人,其潜在的最终用途包括:回答有关保修和服务手册的问题,以获得全面的了解;在线购物者要求对网页上的技术规格进行简单的解释;或者客户寻求快速的在线产品支持。有了正确的文档作为背景,定制问答聊天机器人就能为用户提供轻松、翔实的体验。
3. 生成式人工智能和 LLM 的现状
下面的内容是 Bing AI 使用 "什么是生成式人工智能 "这一短语编写的,并分别使用了 "生成式人工智能和 LLM 的现状 "这一短语。展示这一内容的目的是为了说明使用 LLM 可以提供多么全面和有效的回应。
生成式人工智能是一个快速发展和扩张的领域,为企业和社会提供了许多机遇和挑战。生成式人工智能的一些优势包括
提高可访问性和多样性:生成式人工智能可以生成个性化和定制化的内容,满足不同用户和受众的需求和偏好,从而使内容和服务更具可访问性和包容性。
生成式人工智能面临的一些挑战包括:
规范道德和责任:生成式人工智能会引发有关所有权、责任、透明度、可解释性、公平性、可信度以及生成内容对个人和社会的影响等伦理和社会问题。
必应聊天机器人的输出结果总是包含所提供内容的参考文献。这些结果的参考文献如下:
带代码的论文--生成式人工智能完整调查(AIGC):
https://paperswithcode.com/paper/a-complete-survey-on-generative-ai-aigc-is
什么是 ChatGPT、DALL-E 和生成式人工智能?| 麦肯锡
https://www.mckinsey.com/featured-insights/mckinsey-explainers/what-is-generative-ai
企业中的生成式人工智能现状 | 调查结果
https://writer.com/guides/generative-ai-survey/
毕马威生成式人工智能
https://info.kpmg.us/news-perspectives/technology-innovation/kpmg-generative-ai-2023.html
说到生成式人工智能,还有一些令人担忧的挑战。这些问题包括:
对话式人工智能泄漏:当敏感数据被输入 LLM 并无意中暴露时,就会发生对话式人工智能泄漏。由于侵犯隐私、潜在的数据泄露、信任度下降、法律影响、竞争劣势和道德考虑,无意中暴露 LLM 中的敏感数据会引发重大问题。防止这种泄漏对于维护用户信任、遵守法律、防止滥用信息和维护声誉至关重要。要解决这一问题,就必须从技术上改进模型行为、健全数据处理流程,并遵守数据隐私和安全最佳实践。
这些问题是一个活跃的研究领域,而负责任的生成式人工智能准则现在才刚刚出现。在联想,我们创建规则引擎和其他人工智能模型来防止这些问题。
关注人工智能的开发和使用是否符合我们的价值观。我们成立了联想负责任人工智能委员会,以确保我们的解决方案和人工智能创新合作伙伴的解决方案符合保护最终用户的要求,并确保公平、合乎道德和负责任地使用人工智能。
4. 生成式人工智能与 LLM 的区别
生成式人工智能、大型语言模型和基础模型既相似又不同,通常可以互换使用,术语之间没有明确的界限,当需要进行必要的划分时,这就变得具有挑战性,在需要对术语进行区分的情况下,什么是意图,什么不是意图,可以起到指导作用。
以下定义阐明了两者的区别,摘自乔治城大学安全与新兴技术中心的以下文章:
什么是生成式人工智能、大型语言模型和基础模型?
https://cset.georgetown.edu/article/what-are-generative-ai-large-language-models-and-foundation-models/
"生成式人工智能是一个广义的术语,可用于任何以生成内容为主要功能的人工智能系统。这与执行其他功能的人工智能系统形成鲜明对比,如数据分类(如为图像分配标签)、数据分组(如识别具有类似购买行为的客户群)或选择操作(如引导自动驾驶汽车)。"
"生成式人工智能系统的典型例子包括图像生成器(如 Mid-journey 或 Stable Diffusion)、大型语言模型、代码生成工具(如 Copilot)或音频生成工具(如 VALL-E 或 resemble.ai)。"
"大型语言模型(LLM)是一种与语言打交道的人工智能系统。LLM 的目标是建立语言模型,即创建一个简化但有用的数字表示。该术语的 "大型 "部分描述了使用大量参数训练语言模型的趋势。LLM 的典型例子包括 OpenAI 的 GPT-4、Google 的 PaLM 和 Meta 的 LLaMA"。
大型语言模型在内容和代码生成、翻译、内容摘要和聊天机器人方面表现出色。基础模型不受限于语言,是在海量数据上训练出来的模型,可适应多种应用。GPT-4、PaLM、LLaMA 就是基础 LLM 的例子。基础模型可作为起点,根据特定用例进行再训练,从而节省计算、基础设施需求、资源和训练时间。
生成式人工智能和 LLM 模型都能从庞大的数据集中提取价值,并以易于理解的方式提供直接学习,下文将详细介绍更常用的预训练 LLM(基础模型)。
MPT-7B-Instruct建立在改进的纯解码器变换器架构上,拥有约 70 亿个参数,在来自各种文本数据集的 1 万亿个标记上进行了训练。它是开源的,可用于商业用途,是一种短式指令跟踪模型。
这些模型中,有些要接受常见的性能基准测试(如 MLPerf Training 3.0 和 MMLU 基准),并受限于训练数据的新鲜度。
5. 使用案例
生成式人工智能和 LLM 的使用案例如下图所示。该图显示,从音频、视频、文本、代码等各种输入开始,可以产生增强型输出,并转换为聊天机器人、翻译、代码、头像等其他形式。
从数据输入经过生成式人工智能或 LLM 生成输出的流程。
图 2. 生成式人工智能和当前用例
这些用例横跨大多数垂直领域:医疗保健、制造、金融、零售、电信、能源、政府、技术,并对业务产生重大影响。
大型语言模型可以将文本翻译成各种语言,对客户反馈进行分类和整理以改善体验,总结法律文件和盈利电话,并创建创新的营销内容。像 ChatGPT 这样的模型可以创建销售推销、创建广告文案、查找计算机代码错误、创建博客文章以及起草客户支持电子邮件。生成式人工智能提供的大部分价值属于客户运营、市场营销和销售、软件工程和研发、生命科学、金融和高科技等行业,预计这些行业使用生成式人工智能将对收入产生最大影响。
使用案例:
其他用例
5.1 生命科学用例
生命科学对生成式人工智能和 LLM 的使用正在不断扩大,为基础研究带来了巨大的前景。这些模型正被用于生成生物结构和过程的图像,从而加深对生物结构和过程的理解。现在,人们正在利用 GenAI 模型了解单个细胞的基因表达谱。使用这些模型可以对原始基因表达数据进行去噪处理。GenAI 和 LLM 可以提供生命科学和其他垂直领域常用的数据归因和合成数据生成。
创建这种计算机生成的数据对于建立更精确的模型非常重要,并有助于研究不存在真实世界大型数据集的罕见疾病。GenAI 模型可用于创建具有特定属性和功能的新型蛋白质序列。这些模型可以预测蛋白质结构,从而促进新的基因疗法,并有助于蛋白质工程、新型疗法的开发和酶的设计。
生成对抗网络(GAN)和变异自动编码器(VAE)是生成模型的一种,目前正被用于开发针对目标蛋白质结合亲和力的新型药物分子。利用生成式人工智能的其他生命科学用例包括药物发现、医学成像和个性化医疗。
5.2 金融应用案例
金融服务业已经在某些金融任务中采用了生成式人工智能模型。这些机构之所以使用这些模型,是因为它们能够提高效率、改善客户体验并降低运营成本。这些方法尤其擅长实现服务、其他金融流程和决策的自动化。其中一个例子是摩根士丹利(Morgan Stanley)使用由 OpenAI 驱动的聊天机器人,利用公司内部收集的研究和数据作为知识库,为金融顾问提供支持。BloombergGPT 是专门针对金融数据训练的 LLM,能够进行情感分析、新闻分类和其他金融任务。
与其他垂直行业一样,金融业也普遍使用生成式人工智能进行合成数据生成和风险建模。自然语言处理、语言理解和语言生成被广泛用于创建客户询问的对话式回复,以及个性化客户体验。此外,金融业正在使用生成式人工智能创建代码的能力,以应对基于过时语言的遗留系统所带来的挑战。这些不再受支持的语言可以被当代受支持的代码所取代,后者可以运行当前的应用程序并支持现代部署方法。
生成式人工智能模型可以很好地完成预测、文档分析和财务分析等任务,这些模型可以分析、总结历史数据并从中提取新的见解。这种方法可以理解复杂的关系和模式,从而对未来趋势、资产价格和经济指标做出预测。通过使用经过适当微调的生成式人工智能模型,可以生成报告、检测欺诈行为并识别邪恶模式。这些经过微调的模型可以通过模拟市场条件、宏观经济因素和其他变量生成各种情景,为潜在风险和机遇提供有价值的见解。
5.3 制造业用例
制造业的生成式人工智能用例与生命科学和金融业的用例有一些相似之处,都涉及对原始数据进行去噪和生成合成数据以提高模型性能。生成式人工智能使各行业能够设计出经过优化的新零件,以满足性能和制造等特定目标和限制。利用这些模型类型,工程师可以分析大型数据集,帮助提高安全性、创建仿真数据集、探索如何更快地制造或加工零件,并更快地将产品推向市场。对于工厂运营而言,生成式人工智能用例还处于早期阶段;不过,这些方法可以帮助优化整体设备效率,并提供一种有效的方法来 "阅读 "维修手册、服务公告和保修索赔,从而获得新的见解并更快地解决问题。
在制造业,传统系统和传统管理业务存在严重瓶颈。生成式人工智能可以将数据洞察力转化为驱动运营的动力,无论是在组织层面还是在工厂车间。这些方法可以帮助企业克服数据质量障碍,充分释放人工智能在制造业中的潜力,同时对现有数据进行结构化处理、清理和丰富。
5.4 运营用例
在运营方面,生成式人工智能模型可帮助优化供应链、改进需求预测、提供更好的供应商风险评估并改进库存管理。生成式人工智能可以分析大量历史销售数据,并将季节性、促销和经济状况等因素纳入其中。通过用这些数据训练人工智能模型,可以生成更准确的需求预测。这有助于企业更好地管理库存、分配资源和预测市场变化。
在供应链优化方面,生成式人工智能模型可以对交通状况、燃料价格和天气预报等各种来源进行数据分析,以确定最有效的运输路线和时间表。这些模型可以生成多种可能的方案,并根据所需的优化标准,提出节省成本、缩短交货时间和提高整个供应链运营效率的最佳方案。
在供应商风险评估方面,生成式人工智能模型可以通过处理大量数据,包括供应商历史表现、财务报告和新闻报道,识别与供应商风险相关的模式和趋势。这有助于企业评估供应商的可靠性,预测潜在的中断,并采取积极措施来降低风险,如实现供应商多样化或实施应急计划。
在库存管理方面,生成式人工智能模型可以分析需求模式、提前期和其他因素,以确定供应链各环节的最佳库存水平。通过生成关于再订购点和安全库存水平的建议,人工智能可以最大限度地减少缺货、减少多余库存并降低账面成本,从而帮助仓库管理。
5.5 其他用例
生成式人工智能在各个领域和行业都有许多应用和用例,其他例子如下:
网络安全:保护数据和系统免受恶意攻击或未经授权访问的任务可以使用生成式人工智能来完成。网络安全应用的例子包括异常检测、恶意软件检测、入侵检测和加密。
这些用例可以解决以前未解决的数学定理,从而产生新的物理、工程和统计方法。
生成式人工智能模型可以生成新的候选化学品、分子和材料。这些模型与计算化学一起,通过分析虚拟化学数据库中的非结构化数据和结构化数据,用于开发新材料。这些数据库规模庞大,即使仅限于分子数据,也很难进行全面研究。基于预训练语言模型和生成对抗网络(GANs)的人工智能技术的最新发展已被应用于材料发现领域。
6 性能考虑
生成式人工智能和大型语言模型的计算密集度极高。通过使用优化的软件、库和框架,充分利用加速器、并行运算符和最大化核心使用率,可以显著提高工作负载性能和计算资源的使用成本。在变压器架构方面、建模方面和代码部署方面,有许多方法可用于应对这些挑战。
基于转换器的架构采用自注意机制,使 LLM 能够更有效地理解和表示复杂的语言模式。这种机制增加了可并行计算量,降低了层内的计算复杂度,并减少了转换器架构长距离依赖关系的路径长度。
为了在训练和部署过程中有效利用资源,建模应具有适当的数据并行性和模型并行性。数据并行化涉及通过并行处理加速应用的算法考虑。这种方法可以提高性能和准确性,尤其是在使用 PyTorch 分布式数据并行技术将工作负载分散到 GPU 时。模型并行化是通过使用激活检查点和梯度累积技术来实现的,以克服与大型模型内存占用相关的挑战。
在代码部署方面,限制因素是在计算单元和内存之间移动权重和数据时的带宽。计算单元(CU)是图形处理器(GPU)上可并行执行数学运算的执行单元集合。要高效、快速地运行这些模型并最大限度地提高性能,就必须优化计算单元和内存的使用。
复杂的网络架构(如架构概述部分所讨论的架构)对高效的实时部署提出了挑战,并且需要大量的计算资源和能源成本。这些挑战可以通过神经网络压缩等优化措施来克服。网络压缩有两种类型:剪枝和量化。剪枝有多种方法,目的是去除冗余计算。量化则是降低数据类型的精度,以减少计算量。对于这些模型架构,权重、偏置和激活通常使用 8 位整数。
混合精度提高了速度,目的是在保持精度的同时智能地管理精度,并从更小更快的数字格式中获得性能。
7. 硬件堆栈
如前所述,由于生成式人工智能和大型语言模型(LLM)要求苛刻,因此必须采用精心打造的解决方案。为了优化性能,我们对解决方案的每个方面都进行了仔细检查。我们专注于处理通常会带来延迟的领域,并从整体角度构思架构,考虑所有组件的协同影响,我们创建了一个架构,其中的组件经过精心调整,能够精确地满足这些严格的要求。
下面展示了该架构的基石--建立在联想ThinkSystem SR675 V3 AI ready服务器基础上的主要构件,该服务器配备了8个英伟达H100 NVLink(NVL)GPU。
图 3. 主要硬件构件
为确保最佳性能,所有元件均通过 NDR InfiniBand Fabric 或高速以太网无缝连接。值得注意的是,这种配置在部署最新的英伟达 L40S GPU、英伟达 BlueField-3 时仍然适用。
该参考架构遵循了联想EveryScale解决方案的理念,即客户可以从简单开始,并根据自己的需求进行扩展。
联想EveryScale提供最佳配方指南,以确保各种联想和第三方组件之间的硬件、软件和固件的互操作性。要满足数据中心的特定需求,同时优化解决方案设计以提高应用性能,需要大量的努力和专业知识。客户需要选择正确的硬件和软件组件,解决多个供应商之间的互操作性难题,并确定整个解决方案的最佳固件级别,以确保卓越运营、最大限度地提高性能,并实现最佳总体拥有成本。
参考架构的可扩展性:
图 4. 参考架构的可扩展性
NVIDIA AI Enterprise 是该解决方案中的一个重要组成部分,它是一个高性能、安全的云原生 AI 软件平台,旨在保持用于创建和部署 AI 模型的软件的一致性、安全性和稳定性。
本节主题:
管理以太网交换机
7.1 GPUs(图形处理器)
生成式人工智能的特点是能够创建与现有数据实例相似的新数据实例,它给图像合成、文本生成甚至药物发现等多个领域带来了革命性的变化。图形处理器(GPU)在这方面的意义是多方面的,因为其独特的功能完全符合生成模型的要求。
以下是 GPU 在推动生成式人工智能发展方面发挥关键作用的原因:
可扩展性:GPU 的并行特性使其具有良好的可扩展性。研究人员和机构可以利用多个 GPU 甚至 GPU 集群来进一步加快训练和推理速度,从而能够处理更大、更雄心勃勃的生成式人工智能项目。
总之,GPU 通过提供高效训练和部署复杂模型所需的计算能力、并行处理能力和硬件加速,在促进生成式人工智能的发展方面发挥着举足轻重的作用。它们处理大规模数据和复杂神经架构的能力使其成为旨在推动生成式人工智能技术发展的研究人员和从业人员的重要工具。
在本文中,我们将使用英伟达™(NVIDIA®)的 GPU 选项:H100 和L40S。H100 推荐用于传统和高度密集型人工智能工作负载,而 L40S 则适用于既需要图形处理器又需要主流人工智能工作负载的工作负载。
英伟达 H100:英伟达 H100 Tensor Core GPU 是下一代高性能数据中心 GPU,基于英伟达 Hopper GPU 架构,该 GPU 的主要驱动力是加速人工智能训练和推理,尤其是生成式人工智能和 LLM。
从小型企业规模到超大规模 HPC,再到万亿次参数 AI 模型训练,H100 都能安全地加速各种工作负载。这款 GPU 拥有 800 亿个晶体管,专为英伟达™(NVIDIA®)定制。H100 GPU 有两种外形尺寸:PCIe 和 SXM;SXM 变体如下图所示。
图 5. NVIDIA H100 SXM GPU
如下图所示,NVIDIA H100 GPU 与上一代 A100 GPU 相比,性能大幅提升。
H100 性能对比:
图 6. 英伟达 H100 性能对比
英伟达 L40S:L40S是一款功能强大的通用GPU,适用于数据中心,可为新一代人工智能应用提供端到端加速,从GenAI模型训练和推理到3D图形再到媒体加速。L40S 强大的推理能力与 NVIDIA RTX 加速光线追踪和专用编码解码引擎相结合,可加速支持人工智能的音频、语音、2D、视频和 3D Generative AI 应用。
图 7. NVIDIA L40S GPU
与 A100 相比,L40S 拥有 18,176 个英伟达™(NVIDIA®)Lovelace GPU CUDA 内核,单精度浮点运算(FP32)性能提高了 5 倍。此外,L40S 支持两条 FP32 数据通道,使 FP32 运算峰值提高了一倍。对于混合精度工作负载,可提供增强的 16 位数学功能。
L40S 拥有 568 个第四代英伟达™(NVIDIA®)张量内核(Tensor Cores),其中包括英伟达™(NVIDIA®)变形引擎和全新的 FP8 数据格式。与前几代张量核心相比,张量矩阵运算能力提高了 2 倍。这得益于 L40S 张量核心能够加速更多的数据类型,同时仍然支持细粒度结构稀疏性功能。L40S Transformer Engine 可显著加速人工智能性能,提高训练和推理的内存利用率,它还能智能扫描变换器架构神经网络的层,并在 FP8 和 FP16 精确度之间自动重铸,从而提供更快的人工智能性能,并加快训练和推理速度。
对于 MLPerf 模型,与 A100 8 GPU 系统相比,主流服务器中的 8 个 L40S 可将训练性能提高 0.8 倍。
在下图中,针对两种常见的 GenAI 模型(GPT-408 LoRA 和 Stable Diffusion),L40S 的性能与英伟达 A100 进行了比较。
图 8. 英伟达™(NVIDIA®)L40S 性能对比
7.2 服务器配置
该联想参考架构基于市场上同类最佳的 x86 服务器产品线,我们的服务器适用于从小型企业和业务线应用、具有 HPC 工作负载的技术/金融客户到具有关键任务工作负载需求的跨国公司等各种客户。
对于生成式人工智能来说,在性能、功耗和可扩展性之间找到平衡点非常重要。在我们的ThinkSystem服务器产品线中,我们的ThinkSystem SR675 V3 AI就绪节点可以实现这种平衡。
配备 H100 或 L40S GPU 的 SR675 V3
联想ThinkSystem SR675 V3是一款GPU丰富的多功能3U机架式服务器,支持8个双宽GPU,包括新的英伟达H100和L40S Tensor Core GPU,或者英伟达HGX H100 4-GPU产品,配备NVLink和联想Neptune混合液冷-风冷系统。该服务器基于新的 AMD EPYC 9004 系列处理器(原代号为 "Genoa"、"Genoa-X "和 "Bergamo")。
图 9. SR675 V3 系统架构框图
SR675 VSR675 V3 采用模块化设计,具有极高的灵活性。支持多种配置,包括:
一个或两个第四代 AMD EPYC™ 处理器
最多八个带 NVLink 桥接器的双宽 GPU
配备 NVLink 和联想 Neptune 混合液体冷却的英伟达 HGX H100 4-GPU
可选择前置或后置高速网络
可选择本地高速 NVMe 存储
如下图所示,SR675 V3 有三种不同的基本配置。这些配置决定了支持的 GPU 类型和数量以及支持的驱动器托架。
SR675 V3 的三种基本配置:
图 10. ThinkSystem SR675 V3 可用配置
请务必参考 "部署选项 "部分,深入了解我们为该参考架构选择的服务器配置。不过,您可以使用以下建议以获得最大收益,此配置需要在每个节点上复制。
2x AMD EPYC 9634 处理器,84C,2.25GHz
24x 128GB TruDDR5 RDIMMs
2x 1.92TB NVMe SSD
6x 7.68TB NVMe SSD,此存储配置取决于您的存储需求,可以修改。
1x 1G 4 端口 OCP 适配器 - 管理连接器
8x 英伟达 H100 NVL 或英伟达 L40S
4x NVIDIA ConnectX-7 200 GbE 或 NDR 双端口
1x NVIDIA ConnectX-7 200 GbE 或 NDR 双端口(可选网络存储)
1x NVIDIA ConnectX-6 Lx 10/25GbE,只有在部署虚拟环境时才需要该卡
4x 2400W 电源(230V)
SR675 V3 OVX L40S 节点
生成式人工智能的发展和广泛采用不仅需要高性能 GPU,还需要图形处理能力。我们的联想 OVX L40S 选件为企业提供了完善基础生成式人工智能模型的能力。该服务器配置使企业能够无缝定制和实施生成式人工智能应用,包括直观的聊天机器人、先进的搜索系统和高效的摘要工具等尖端功能。
该服务器配置与上一节介绍的 SR675 V3 不同,集成了英伟达 BlueField-3 DPU 卡和 L40S 作为标准 GPU 选择。有了这种配置,我们现在不仅可以支持生成式 Ai 工作负载,还可以支持 Metaverse 应用程序。
此外,我们的服务器还配备了英伟达™(NVIDIA®)加速基础设施和软件,与英伟达™(NVIDIA®)的卓越技术协同提升了虚拟专用人工智能基础架构的潜力。
以下是基于 SR675 V3 的 OVX L40S 节点的推荐服务器配置:
4x 2400W 电源(230V)
此配置需要在每个节点上复制。
7.3 网络连接
以太网和 InfiniBand 都是高性能计算(HPC)环境(包括生成式人工智能集群)中常用的网络技术。
在以太网和 InfiniBand 之间做出选择取决于各种因素,在某些情况下,以太网可能是更好的选择:
可扩展性:如果您计划逐步扩展您的生成式人工智能集群,并希望为未来的扩展保持开放,那么以太网可能是更灵活的选择。
InfiniBand 通常在超低延迟和超高数据传输速率的应用场景中表现出色,例如大规模模拟、天气预报和某些科研应用。不过,对于许多生成式人工智能工作负载来说,以太网可以提供足够的性能,同时更易于实施和管理。
最终,应根据您的具体要求、现有基础设施、预算以及企业内可用来管理和优化所选网络技术的专业知识来做出决定。
适配器选择:根据您对 InfiniBand 或以太网的选择,您可以为服务器选择合适的 HCA 选项。
在此参考架构中,我们使用了两种方案:
ConnectX-7 用于 InfiniBand 或以太网实施
用于 OVX L40S 配置的 BlueField 3 + ConnectX-7
每种适配器的概要如下:
NVIDIA ConnectX-7支持 200 GbE/s 和 NDR400。这些 InfiniBand 适配器可提供最高的网络性能,非常适合生成式人工智能和 LLM 的极端需求,可提供超低延迟和更高吞吐量,加速引擎具有集体操作、MPI All-to-All、MPI 标签匹配和可编程数据路径加速器。
英伟达™(NVIDIA®)BlueField-3数据处理单元(DPU)是第三代基础架构计算平台,可帮助企业构建从云到核心数据中心再到边缘的软件定义、硬件加速IT基础架构,通过 400Gb/s 以太网或 NDR 400Gb/s InfiniBand 网络连接,BlueField-3 DPU 可以卸载、加速和隔离软件定义的网络、存储、安全和管理功能,从而显著提高数据中心的性能、效率和安全性。
BlueField-3 在 I/O 路径中提供强大的计算能力和广泛的可编程加速引擎,能够完美地满足最苛刻应用的基础架构需求,同时通过 NVIDIA DOCA™ 软件框架提供完全的软件向后兼容性。
InfiniBand 交换机: 参考架构中使用的 InfiniBand 交换机是基于 NVIDIA QM9700 和 QM9790 Quantum-2 的交换机系统,可在 1U 标准机箱中为每个端口提供 64 个 NDR 400Gb/s InfiniBand 端口。单个交换机的聚合双向吞吐量为每秒 51.2 太比特(Tb/s),容量超过每秒 660 亿个数据包(BPPS)。
这些交换机支持最新的 NDR 技术,可提供高速、超低延迟和可扩展的解决方案,其中包含远程直接内存访问 (RDMA)、自适应路由选择和 NVIDIA 可扩展分级聚合和缩减协议 (SHARP)。
NVIDIA InfiniBand 提供自愈网络功能和服务质量、增强型虚拟通道映射和拥塞控制,以提供最高的总体应用吞吐量。这些交换机支持包括胖树(Fat Tree)等在内的多种拓扑结构。
英伟达 QM9700 和 QM9790 InfiniBand 交换机:
图 11. 英伟达 QM9700 和 QM9790 InfiniBand 交换机
以太网交换机: NVIDIA Spectrum-3 SN4600 以太网交换机在 2U 外形中提供 64 个 200GbE 端口,网络容量比 SN3700 翻了一番。SN4600V 可用作高密度叶片,与分线器电缆配合使用时,最多可分拆为 128 个 10/25/50GbE 端口。SN4600具有最大的灵活性,端口跨度从1GbE到200GbE,端口密度可使整个机架以任何速度连接到任何服务器,并具有各种阻塞比。
英伟达™ Spectrum-3 SN4600:
图 12. NVIDIA Spectrum-3 SN4600
7.4 管理以太网交换机
这些交换机用于通过联想 XClarity 软件监控活动,如果选择虚拟环境,则用于虚拟操作。我们使用 1GbE 或 10GbE 进行 XClarity 管理,使用 25GbE 进行虚拟操作。
机架顶部交换机,最多可连接48个1G/100M/10M Base-T主机端口和无阻塞100 GbE主干上行链路
带外 (OOB) 管理交换机
SN2201 采用高度先进的硬件和软件,以及 ASIC 级遥测和 16MB 完全共享缓冲区,为 1G 交换提供了独特的创新功能。
SN2010,18 个 SFP28 端口,速度为 25Gb/s,4 个 QSFP28 端口,速度为 100Gb/s。
SN2410 是 25GbE Fabric 和更大聚合场景的理想选择,而 SN2010 则更适合存储和超融合用例,以及 HPC 部署的小型聚合。
图 13. NVIDIA SN2000 交换机
8. 软件堆栈
强大的端到端软件平台是确保成功构建生成式人工智能和 LLM 的关键。在此参考架构中,我们精心挑选了最全面、性能最优化的软件栈,用于推理和训练生成式人工智能。
在下图中,我们展示了联想生成式人工智能和大型语言模型参考架构的完整堆栈。
参考架构全栈组件:
图 14. 参考架构全栈组件
下一节我们将介绍应用层。
9. 应用层
在本节中,我们将介绍软件栈部分中介绍的应用层主要组件。
本节主题:
联想 XClarity 管理员
9.1 DataBricks MLflow
MLflow 是 DataBricks 创建的一个开源项目,为管理整个机器学习生命周期提供了一个全面的框架,它为跟踪实验、参数和结果以及打包和部署机器学习模型提供了一个集中式平台。
MLflow 有四个主要组件:
MLflow 注册中心:该组件提供了一个带有用户界面和应用程序接口的集中式模型存储,它允许用户协同管理整个模型生命周期,包括版本、注释和步骤转换。
机器学习应用可受益于 Databricks 的另一项资源:奖章架构。奖章架构又称多跳架构,是一种数据设计模式,它在逻辑上将数据组织在一个湖中。
该架构由三个数据层组成,每个层都有特定的目的和功能:
黄金层是经过策划的业务级表格层,数据在此被转换为可视化和报告的优化格式。
奖章架构与数据网格设计兼容,其中铜层和银层以一对多的方式连接。奖章架构的设计目的是在数据流经每一层时,逐步改善数据的结构和质量,它在 MLOps 中非常有用,因为它提供了一个清晰的数据脉络,以及一个优先考虑数据质量和所需水平以及高效数据处理的银层。
9.2 Kubeflow
寻求全面模型生命周期管理的企业可以选择部署 MLOps 平台,如 Kubeflow 和 MLflow,这些平台可简化人工智能模型的部署、监控和维护,确保在整个生命周期内进行高效管理和优化。
Kubeflow 是一套开源工具,旨在简化 Kubernetes 上机器学习应用的端到端开发。Kubeflow 使用 Kubernetes 处理所有代码执行和资源管理,它具有很高的可扩展性和效率,其他所需的 Kubernetes 应用程序可以共享集群。
Kubeflow 的主要目标是为机器学习应用创建一个标准,考虑机器学习生命周期的每个阶段,从实验到预测。为实现这一目标,Kubeflow 提供了一个用于控制 ML 项目的简单用户界面,即 Kubeflow Pipelines,它允许开发人员轻松创建、管理和运行 ML 工作流。Kubeflow 管道中的每个步骤都被隔离在自己的容器中,从而降低了步骤之间的污染风险,改善了开发人员的体验。
Kubeflow 的亮点在于其响应式用户界面(可实时更改状态)和高度可定制性,因为开发人员可以定制 Dockerfile、容器以及节点和内存的使用,以满足其特定需求。虽然这增加了复杂性,但也提供了对工作流程的高度控制。
总之,Kubeflow 是在 Kubernete 上构建和管理机器学习应用的强大工具。
9.3 Run.ai
Run.ai 是一个集群管理平台,旨在加快人工智能基础设施的开发、扩展和成本优化。它提供一个统一的仪表板,用于管理整个集群,包括计算、作业、用户权限和作业历史审计日志。
主要功能:
提供与 MLflow、Jupyter、TensorBoard 和 VSCode 等流行数据科学工具的集成。数据科学家只需点击几下就能设置环境或项目模板。
总体而言,Run.ai旨在为管理人工智能集群提供一个可扩展、经济高效且用户友好的解决方案。
9.4 联想智能计算协调(LiCO)
联想智能计算协调(LiCO)是一种软件解决方案,可简化集群计算资源在人工智能(AI)模型开发和训练以及高性能计算工作负载中的使用。LiCO 与开源软件编排堆栈相连接,可将人工智能融合到基于 HPC 或 Kubernetes 的集群中。
统一的平台简化了与底层计算资源的交互,使客户能够利用流行的开源集群工具,同时减少将其用于高性能计算和人工智能的工作量和复杂性。
LiCO 可使单个集群同时用于多个人工智能工作负载,多个用户可同时访问可用的集群资源。运行更多的工作负载可以提高集群资源的利用率,从而提高用户的生产力和环境的价值。
LiCO 有两个不同的版本:LiCO HPC/AI(主机)和 LiCO K8S/AI,允许客户选择使用哪种底层协调堆栈,特别是在将人工智能工作负载汇聚到现有集群上时。两个版本的用户功能是相同的,只是在环境方面与所使用的底层协调有细微差别。
用户访问的差异总结如下:
LiCO K8S/AI 版本:人工智能框架容器基于 docker,在客户的 docker 存储库中由 LiCO 外部管理,自定义作业提交模板由 YAML 定义,其中不包括 HPC 标准作业提交模板。
LiCO HPC/AI 版本:人工智能框架容器基于奇点,在 LiCO 界面内进行管理 自定义作业提交模板定义为批处理脚本(用于 SLURM、LSF 和 PBS) 包括 HPC 标准作业提交模板。
联想提供的 LiCO 是在裸机环境中协调人工智能工作负载的出色替代工具。
9.5 联想XClarity管理员
联想XClarity Administrator是一个集中式资源管理解决方案,可简化联想ThinkSystem基础架构和ThinkAgile解决方案的管理,它提供了一个统一的平台,用于管理联想数据中心基础设施的各个方面,包括服务器、存储、网络和软件。其主要价值在于降低复杂性、加快响应速度并提高联想服务器系统和解决方案的可用性。
XClarity Administrator作为虚拟设备运行,最多可支持管理1,000台设备。它在执行代理时不使用CPU周期或内存,与典型的管理系统相比,最多可节省1GB内存和1-2%的CPU使用率。它提供基于HTML的用户界面,可提供实时更新和警报。XClarity Administrator是设备管理和安全的关键工具,可与包括VMware在内的多家供应商提供的外部更高级管理集成。
10. 英伟达™(NVIDIA®)人工智能企业版(NVIDIA AI Enterprise)
NVIDIA AI Enterprise 是一个高性能、安全、云原生的 AI 软件平台,具有企业级的安全性、稳定性、可管理性,并支持创建和部署 AI 模型,它能够解决企业在构建和维护复杂的人工智能软件堆栈时遇到的复杂问题,该堆栈建立在4500多个独特的软件包之上:64 个英伟达 CUDA® 库和超过 4471 个第三方和开源软件 (OSS) 包。该平台可保持 API 的稳定性,以及这些独特软件包之间的 9000 多个依赖关系。
作为一个完整的人工智能软件栈,NVIDIA AI Enterprise 可加速人工智能流水线,简化生产型人工智能的开发和部署,涵盖从计算机视觉到生成型人工智能再到 LLM 的各种用例。
企业级软件包括:
英伟达™ AI 企业版仅在最常见的企业级 Linux 版本、虚拟化堆栈和 Kubernetes 的多个版本上运行。
下图显示了 NVIDIA AI Enterprise 软件平台:
图 15. 英伟达™(NVIDIA®)AI 企业软件平台
本节将讨论 NeMo 和 Riva 框架、作为解决方案一部分的预训练模型以及 Triton 推断服务器。
本节主题
英伟达™ NeMo
英伟达 Riva
Triton 推理服务器
10.1 英伟达NeMo
NVIDIA NeMo(包含在 NVIDIA AI Enterprise 中)是一个端到端的云原生框架,用于在任何地方构建、定制和部署生成式 AI 模型,它包括训练和推理框架、防护栏工具包、数据整理工具和预训练模型,它为 LLM 的分布式训练提供了工具,实现了先进的规模、速度和效率。NeMo 可通过 Inform 整合实时的特定领域数据。
NeMo Guardrails 可帮助定义操作边界,从而使模型保持在预定的领域内,避免不适当的输出,该框架支持从人类反馈中强化学习(RLHF)技术,使企业模型随着时间的推移变得更加智能,与人类意图保持一致。
NeMo 提供整个管道的预打包脚本、参考示例和文档。NeMo 的自动配置工具可自动搜索最佳超参数配置,以优化任何给定的多 GPU 配置、训练或部署限制条件下的训练和推理,从而帮助构建基础模型。
NeMo 提供针对各种类别的预训练模型,包括自动语音识别 (ASR)、NLP 和文本到语音 (TTS)。此外,NeMo 还提供来自英伟达™(NVIDIA®)NGC Catalog 和 Hugging Face 的预训练模型,这些模型都经过测试和优化,以获得最佳性能。
此外,英伟达还为语言、生物、视觉设计和交互式头像提供了其他人工智能代工服务。作为 NeMo 框架的一部分,有一个工具可以帮助用户使用该框架,用户只需使用该工具并完成相应的配置文件,与该工具相关的启动器就会自动生成所需的脚本。此外,该框架还提供了一项服务(早期版本),可对现有模型进行微调,然后进行托管和部署。
10.2 英伟达 Riva
英伟达Riva是一款GPU加速SDK,用于构建语音人工智能应用,为您的用例定制并提供实时性能,它在 NVIDIA NGC™ 中提供预训练的语音模型,可在自定义数据集上使用 NVIDIA NeMo 对其进行微调,从而加快特定领域模型的开发。只需使用 Helm 图表下达一个命令,就可以轻松地将这些模型作为语音服务导出、优化和部署到企业内部或云中。
Riva 的高性能推理由英伟达 TensorRT™ 优化技术提供支持,并使用英伟达 Triton™ 推理服务器提供服务。与 NeMo 一样,Riva 也是完全容器化的,可以轻松扩展到成百上千个并行数据流。
Riva可用于访问高度优化的自动语音识别(ASR)和语音合成服务,适用于实时转录和虚拟化等用例。
10.3 Triton推理服务器
人工智能推理系统的核心是 Triton 推理服务器,它是英伟达™(NVIDIA®)人工智能企业版的一部分,负责处理人工智能模型和推理请求。Triton 是一款功能强大的推理服务器软件,能够以低延迟和高吞吐量为人工智能模型提供高效服务。它与计算基础设施、GPU加速器和网络的集成确保了推理操作的流畅和优化。
Triton 支持部署来自多个深度学习和机器学习框架的任何人工智能模型,包括 TensorRT、TensorFlow、PyTorch、ONNX、OpenVINO、Python、RAPIDS FIL 等。Triton 支持在英伟达™(NVIDIA®)GPU、x86 和 ARM CPU 或 AWS Inferentia 上跨云、数据中心、边缘和嵌入式设备进行推理。Triton 可为多种查询类型提供优化性能,包括实时、批处理、合集和音频/视频流。
11. 部署选项
本参考架构的主要目标是为企业部署生成式人工智能解决方案提供无与伦比的灵活性。本参考架构经过精心设计,对各种工作负载要求、操作注意事项和应用的细微差别有着深刻理解。
为了增强客户的能力,我们为他们提供了定制部署方法的自主权,使他们可以在强大的裸机设置或多功能虚拟部署之间进行选择,无论在哪种情况下,我们都能保证客户的决策具有最佳性能和无与伦比的灵活性,为充分发挥生成式人工智能解决方案的潜力创造有利环境。
这里讨论的部署选项包括:
部署到虚拟环境
12. 部署到裸机
本节主题:
红帽和 Kubernetes
12.1 优点
使用 InfiniBand 为生成式人工智能集群部署裸机环境可带来多种优势:
总之,使用 InfiniBand 为生成式人工智能集群部署裸机环境可带来卓越的性能、定制化和资源利用率,使其成为高性能和时间敏感型应用的理想选择。不过,在决定部署方法之前,必须仔细评估工作负载的要求、可用资源和管理能力。
12.2 裸机部署的建议配置
我们对裸机部署的硬件和软件建议如下。请注意,此部署是使用 InfiniBand 网络设计的。
值得一提的是,该部署方案利用了 Red Hat 和 Kubernetes,并在其上部署了英伟达™ AI Enterprise,以完成该参考架构的完整堆栈。
12.3 红帽和 Kubernetes
Red Hat 和 Kubernetes 是容器编排平台,可有效用于部署和管理生成式人工智能解决方案。它们为容器化应用的自动化部署、扩展和管理提供了一个强大的框架,在复杂和资源密集型的生成式人工智能工作负载中尤其具有优势。
红帽和 Kubernetes 可用于以下工作负载:
生成式人工智能工作负载的容器化:可使用 Docker 等技术将生成式人工智能应用打包到容器中。容器封装了应用程序、其依赖关系和运行环境。Kubernetes 和 OpenShift 擅长管理和协调这些容器,确保在各种环境中进行一致的部署。
资源分配和扩展:Kubernetes 和 Red hat 可根据资源利用率自动扩展生成式人工智能工作负载。随着计算资源需求的增加,这些平台可以动态分配额外资源,以确保最佳性能;反之,当需求减少时,多余的资源可以回收。
高可用性和容错性:这两个平台都便于在多个节点上部署生成式人工智能工作负载,从而提供高可用性和容错性。如果某个节点出现故障,协调系统会自动将工作负载重新分配到健康的节点上,从而最大限度地减少停机时间。
持久存储:生成式人工智能解决方案通常需要存储和管理大量数据,如训练数据集和模型检查点。Kubernetes 和 OpenShift 与各种存储解决方案集成,为容器提供持久存储。
环境一致性:无论底层基础设施如何,Kubernetes 和 Red hat 都能确保部署环境的一致性,这种一致性对于依赖于特定软件库、配置和依赖性的生成式人工智能应用来说至关重要。
高效的资源利用:这些平台将多个容器打包到同一个物理节点上,从而优化了资源利用率,这有助于有效利用硬件资源,同时保持容器之间的性能隔离。
应用程序更新和回滚:Kubernetes 和 Red Hat 简化了为生成式人工智能应用部署更新的流程,它们支持滚动更新,确保在保持应用程序可用性的同时逐步部署新版本。如果出现问题,可以轻松执行回滚。
配置管理:这两个平台都允许使用声明式清单定义和管理生成式人工智能应用的配置,这使得保持一致性和自动化部署流程变得更加容易。
监控和日志:Kubernetes 和 Red hat 提供了用于监控生成式人工智能工作负载的健康状况和性能的工具,它们提供与各种监控和日志解决方案的集成,帮助您深入了解应用程序的行为。
与 CI/CD 管道集成:生成式人工智能解决方案通常涉及持续集成和持续部署(CI/CD)管道。Kubernetes 和 Red hat 可以与 CI/CD 工具无缝集成,实现新人工智能模型的自动测试、部署和验证。
多云和混合部署:这两个平台都支持多云和混合部署场景,让您可以在不同的云提供商或内部部署基础架构上部署生成式人工智能解决方案。
总之,红帽和 Kubernetes 通过利用容器化和协调功能,为部署、扩展和管理生成式人工智能解决方案提供了强大的基础,它们有助于简化部署工作流、提高资源利用率、增强可用性并简化复杂人工智能工作负载的管理。
13. 部署到虚拟环境
正如我们前面所述,我们的目的是灵活地找到满足您需求的正确部署选项,虚拟化技术是当今企业的重要组成部分。
本节主题
优势
借助英伟达™(NVIDIA®)的 VMware Private AI Foundation
虚拟化部署的推荐配置
VMware 云计算基础架构
使用 Tanzu 的 VMware vSphere
部署注意事项
13.1 优势
在虚拟环境中部署生成式人工智能集群还能带来一些好处,与裸机部署形成鲜明对比:
易于管理:虚拟化平台通常提供用于监控、调配和扩展虚拟机的管理工具,可简化管理任务。
在决定采用裸机部署还是虚拟部署时,应仔细分析生成式人工智能工作负载的要求、可用资源、预算限制以及与每种部署方法相关的权衡因素。
对于虚拟环境,我们的参考架构设计基于最新的 VMware Private AI Foundation with NVIDIA。
13.2 与英伟达合作的 VMware 私有人工智能基础平台(VMware Private AI Foundation)
该平台使企业能够对 LLM 模型进行微调,并在其数据中心运行推理工作负载,解决隐私、选择、成本、性能和合规性等问题。该平台包括在VMware Cloud Foundation上运行的英伟达NeMo框架、英伟达LLM和其他社区模型(如Hugging face模型)。联想的世界级服务器将为该平台提供硬件层。
采用英伟达构建模块的 VMware 私有 AI 基础架构:
图 16. 采用英伟达构建模块的 VMware 私有 AI 基础架构
VMware Private AI Foundation 的功能包括以下内容:
深度学习虚拟机
数据科学家通常会在版本和依赖性管理上花费大量时间,尤其是在处理复杂的机器学习(ML)应用和 GPU 使用时。ML 应用程序和 GPU 之间的各层库、框架、工具包和驱动程序可能非常微妙且相互依赖。为了帮助我们的客户加快这一过程并使他们能够快速上手,本平台提供定制的深度学习虚拟机镜像,专门针对运行深度学习工作负载进行了优化,并预置了 TensorFlow 和 PyTorch 等流行框架以及各种英伟达™(NVIDIA®)库和集成开发环境(IDE)、库,同时与基础架构保持一致。这将为数据科学家节省宝贵的时间和精力,使他们能够专注于开发机器学习模型。
矢量数据库(Postgres + PGVector)
GenAI 系统,尤其是使用 LLM 的应用程序,使用矢量数据库(Vector DB)进行上下文检索或相似性搜索。一般来说,矢量数据库比重新训练 LLM 成本更低,速度更快,可以实时更新 LLM 的可用数据。矢量数据库可以在提示生成过程中为 LLM 提供更多信息,使 LLM 能够获得更多最新的、与上下文相关的信息。
我们相信,对于拥有快速变化的知识库或任何其他信息源的企业来说,矢量数据库是一个关键的差异化因素。VectorDB提供数据访问细分功能,因为它具有基于角色的身份验证功能,可以限制特定用户访问数据库索引的特定部分,并允许企业对数据进行相应的细分。在Private AI Foundation中提供 Vector DB 功能,与我们专注于提供一个既能保证数据安全又能经济地使用计算能力的平台不谋而合。
模型库和转换器
LLM 会消耗大量 GPU 内存空间。LLM 运行的容器也会消耗大量磁盘空间,平均为 10-30GB。因此,对于 Kubernetes 调度器来说,大模型意味着繁重的工作。因此,本地化的容器存储库能为高效的软件管理和部署带来一系列实质性的好处。通过建立一个更接近工作节点的存储库,可以大大加快提取容器映像的过程,从而减少延迟并提高整体性能。VMware Private AI Foundation应能从本地化的资源库中提取,从而避免组织出现配置错误。此外,我们还希望通过创建可通过 vCenter UI 子菜单轻松部署的设备,尽可能实现从本地化模型资源库调用的无缝体验。
GPU 扩展(NVLink/NVSwitch)
随着 ML 模型越来越大,单个 GPU 的显存已经无法满足它们的需求,因此需要使用多个 GPU,有了 NVLink 和 NVSwitch,客户就可以灵活地在同一台主机上组合多个 GPU,并支持更大的模型,而无需大量的通信开销。
英伟达GPUDirect RDMA
NVIDIA NVLink 和 NVSwitch 可优化单个 ESXi 主机内 GPU 之间的通信,而 NVIDIA GPUDirect RDMA(远程直接内存访问)则可优化独立 ESXi 主机内 GPU 之间的完整路径,它在 GPU 内存与高性能网卡之间提供了直接的点对点数据通道。vSphere 设备组允许将共享同一 PCIe 交换机进行通信的 GPU 设备和网卡作为一个单元展示给虚拟机。硬件拓扑的自动发现可帮助 VI-admin 配置优化的虚拟机,而 DRS 则使用 vSphere 设备组来决定虚拟机的位置。
英伟达 GPUDirect 存储(vSAN 快速通道)
与 GPUDirect RDMA 一样,GPUDirect Storage 通过在本地或远程存储系统与 GPU 内存之间创建直接路径来避免系统开销,GPUDirect RDMA 可帮助加速机器学习单主机和多主机工作负载。
(注:vSAN 目前不属于本参考架构的一部分,计划在未来的版本中加入 vSAN。)
13.3 虚拟化部署的建议配置
我们对虚拟部署的硬件和软件建议如下。请注意,所有虚拟组件都包含在 VMware Cloud Foundation 中。
4、8 或 16x ThinkSystem SR675 V3
客户操作系统 最新 Ubuntu 或 Red Hat Enterprise Linux
带 Tanzu Standard 的 VMware vSphere 8 Enterprise Plus
VMware NSX 高级负载平衡器企业版
VMware vCenter Server 8 Standard for vSphere 8
VMware Tanzu 服务安装程序
NVIDIA Riva(包括 NVIDIA Al Enterprise Essentials 以及支持自动语音识别 (ASR) 文本到语音 (TTS) 和神经机器翻译 (NMT) 应用的 Riva SDK)
1x 或 2x 英伟达 SN4600 200GB 以太网高速频谱交换机
1x SN2410 25GbE 虚拟服务网络
1x SN2201 1GbE 硬件管理网络
GPU: v22.9.1
网络:v23.5.0
存储,830TB 可用
8x 7.68TB NVMe SSD
Premier Essential 服务和支持 - 3 年、24x7、4 小时响应时间,使用 "Your Drive Your Data"(YDYD)
13.4 VMware 云计算基础架构
在裸机部署方面,我们将 Red Hat 和 Kubernetes 描述为构建环境的核心要素。对于虚拟环境,我们选择 VMware Cloud Foundation 作为强大的替代方案,以满足那些寻求具有虚拟化技术优势的生成式人工智能的客户的需求。
VMware Cloud Foundation 为传统企业和现代应用提供了无处不在的混合云平台,该平台基于成熟、全面的软件定义堆栈,其中包括 VMware vSphere with Tanzu、VMware vSAN™、VMware NSX® 和 VMware vRealize® Suite。这样就能实现灵活、可靠、高效的云计算基础架构,并在私有云和公有云上提供一致的操作。
VMware 云计算基础架构:
图 17. VMware云计算基础架构
与传统的手动流程相比,通过使用 VMware Cloud Foundation (VCF),云计算基础架构管理员可以以快速、可重复和自动化的方式调配应用环境。
随着团队希望采用并运行人工智能/ML 和 LLM,每个团队都需要一个满足其需求的环境,这一点至关重要。管理员可以借助 VCF,利用符合角色需求的工作负载域来帮助解决这一模式转变问题。例如,一个团队需要为生产中的模型和数据集提供支持,而另一个团队则负责在开发环境中开发最先进的模型。这些团队都需要各自的基础架构组件,它们不应该影响彼此的性能或接触彼此的数据集,VCF 中的工作负载域(WLD)提供了这种隔离。
下图显示了 VCF 中工作负载域的一些结构。
图 18. VMware Cloud Foundations 中的工作负载域
13.5 使用 Tanzu 的 VMware vSphere
VMware vSphere with Tanzu 可将传统的虚拟化基础架构转变为适用于容器化工作负载的强大平台。当然,它还使客户能够支持其传统虚拟机,并将其与 Kubernetes 群集一起运行,这为维护可访问 GPU 的现有资源提供了一种更加异构的方法。
VMware Tanzu Kubernetes Grid™ 可促进在 vSphere 中原生创建和管理 Tanzu Kubernetes 集群,将 Kubernetes 功能与 vSphere 的可靠功能无缝集成。借助 vSphere 的网络、存储、安全和高可用性功能,企业可为其混合应用环境实现更好的可视性和操作简便性。
vSphere with Tanzu 还使企业能够在统一平台上以容器或虚拟机(VM)的形式运行应用组件,从而简化工作负载管理和部署。通过融合容器和虚拟机,IT 团队可以充分利用这两种模式的优势,同时保持基础架构的一致性和可扩展性。在创建算法和模型的过程中,它还能为开发工作提供使用 GPU 的虚拟机的快速通道,并在模型进入 DevOps/MLOps 管线后,为在 Kubernetes 集群上部署这些元素提供动态通道,以便将其推广到生产中。
13.6 部署注意事项
在部署之前,您必须在环境中配置以下功能。
多节点(分布式)学习
许多数据科学家都在寻求扩展计算资源,以缩短完成神经网络训练和实时生成结果所需的时间。采用多 GPU 方法能让科学家更快地尝试不同的神经网络和算法,从而实现突破。为了最大限度地提高吞吐量,多节点学习采用的方法是在安装了 GPU 的不同 VMware ESXi 主机上使用 Tanzu Kubernetes Grid Cluster 的两个或更多工作节点,为每个工作节点分配一个虚拟 GPU,这些工作节点可以通过 TCP 或远程直接内存访问(RDMA)协议在网络上传输数据。
对于数据科学家来说,如果他们可以使用装有多个 GPU 的系统,那么在开始初期工作时,就无需利用分布式框架,也能实现同样的结果,这可以简化初始开发阶段,并减少对先进网络设计的需求。
VMware vSphere 上的 GPUDirect 利用英伟达™(NVIDIA®)vGPU 技术和英伟达™(NVIDIA®)ConnectX-6 和 ConnectX-7 等支持 RDMA 的网络适配器进行工作,必须为虚拟机 ACS 放宽 VMX 设置以及 NUMA 亲和性或设备组配置,以便在同一根复合体上的 PCIe 设备之间实现点对点通信。
GPUDirect RDMA 的优势包括:
增强可扩展性:GPUDirect RDMA 允许多个 GPU 同时访问远程数据源,从而提高了大规模 GPU 集群的可扩展性。
在 vSphere 中配置 RDMA 网络设备虚拟功能(VF)、在 ESXi 主机上安装 vGPU 软件并将英伟达™(NVIDIA®)GPU 配置为 vGPU 模式后,即可使用 GPUDirect RDMA。在此设置中,客户虚拟机必须安装兼容的英伟达 vGPU 驱动程序和网络驱动程序。在 Tanzu Kubernetes Grid 上,可以利用英伟达™(NVIDIA®)GPU 操作员和英伟达™(NVIDIA®)网络操作员安装适当的 vGPU 和网络驱动程序,并对设备应用适当的配置和设置。
当虚拟机请求数据传输时,GPUDirect RDMA 可促进 vGPU 与远程设备之间的直接通信,而不需要管理程序或 CPU 来避免数据的额外缓冲副本。vGPU 的内存缓冲区在支持 RDMA 的设备上注册,绕过管理程序的干预,数据可直接在这些内存缓冲区之间传输。
通过实现虚拟机与 vGPU 及其他设备之间的直接通信,GPUDirect RDMA 提高了数据传输效率,减少了数据路径延迟,并增强了 VMware 虚拟化环境中 AI/ML 等 GPU 加速应用的整体性能。
英伟达™(NVIDIA®)GPU 操作员
Kubernetes 可通过设备插件框架访问英伟达™(NVIDIA®)GPU、网卡、InfiniBand 适配器和其他设备等特殊硬件资源。但是,配置和管理带有这些硬件资源的节点需要配置多个软件组件,如驱动程序、容器运行时或其他库,这既困难又容易出错。英伟达™(NVIDIA®)GPU 操作员使用 Kubernetes 中的操作员框架来自动管理配置 GPU 所需的所有英伟达™(NVIDIA®)软件组件,这些组件包括英伟达驱动程序(启用 CUDA)、用于 GPU 的 Kubernetes 设备插件、英伟达容器工具包、使用 GFD 的自动节点标签、基于 DCGM 的监控等。
GPU 操作员允许 Kubernetes 集群管理员像管理集群中的 CPU 节点一样管理 GPU 节点。管理员无需为 GPU 节点配置特殊的操作系统映像,而是可以为 CPU 和 GPU 节点使用标准的操作系统映像,然后依靠 GPU Operator 为 GPU 配置所需的软件组件。
GPU Operator 还支持 GPUDirect RDMA;这是英伟达™(NVIDIA®)GPU 中的一项技术,可使用 PCI Express 在 GPU 和第三方对等设备之间直接交换数据。第三方设备可以是英伟达™(NVIDIA®)ConnectX SmartNIC 或 BlueField DPU 等网络接口。
图 19. GPU 直接,GPU 之间的直接通信
英伟达网络操作员(Network Opertaor)
英伟达™(NVIDIA®)网络操作员利用Kubernetes CRD和操作员SDK管理网络相关组件,为Kubernetes集群中的工作负载实现快速联网、RDMA和GPUDirect。网络操作员与 GPU 操作员协同工作,在兼容系统和高速网络(如 InfiniBand 或 RoCE)上启用 GPU 直接 RDMA。网络运营商的目标是管理网络相关组件,同时支持在 Kubernetes 集群中执行 RDMA 和 GPUDirect RDMA 工作负载。
英伟达™ Network Opertaor 包括:
用于网络密集型工作负载的 Kubernetes 辅助网络组件
英伟达™(NVIDIA®)网络操作系统可在不同模式下部署。在本参考架构中,我们使用主机设备网络部署网络运营商。该部署包括:
Whereabouts IPAM CNI 插件
网络操作员也可部署在虚拟化部署中,它支持以太网和 InfiniBand 模式。从网络操作员的角度来看,部署程序之间没有区别。要在 VM(虚拟机)上运行,必须为 SR-IOV 设备配置 PCI 直通。网络操作员可在虚拟机或 Tanzu Worker 节点内使用 VF(虚拟功能)和 PF(物理功能)。
与裸机环境一样,英伟达™ AI Enterprise 也将为该部署选项的全堆栈提供补充。
14. 配置示例
在硬件堆栈部分,我们解释了该参考架构如何采用我们的 EveryScale 理念。根据本文档的建议和指导,您将能够按照自己需要的规模构建自己的解决方案。
参考架构的可扩展性:
图 20. 解决方案的可扩展性
为帮助部署本参考架构,我们定制了三个配置示例("T恤尺寸"),从以下方面开始:
大型(16 节点配置)
根据本文档,您可以构建一个更大的解决方案。
三个“ T-shirt 大小”的示例都有一个 InfiniBand 网络,该解决方案基于英伟达 H100 NVL 和英伟达 L40S GPU。我们还为由 BlueField-3 和英伟达™(NVIDIA®)L40S GPU 支持的 OVX L40S 配置提供了补充设计。该架构包括所需的 VMware 组件和英伟达™(NVIDIA®)人工智能企业版。
下图显示了三种配置示例。
图 21. 小型配置(4 个节点)
图 22. 中型配置(8 个节点)
图 23. 大型配置(16 个节点)
15. 设计建议
构建一个利用 GPU 和 InfiniBand 网络的生成式人工智能集群需要精心规划、硬件选择、软件配置和优化,以下是一些需要考虑的设计建议。
15.1 服务器配置
内存:服务器中安装的内存应是 GPU 内存的 2 倍。
15.2 网络
为使用无阻塞拓扑的生成式人工智能用例构建网络,需要设计一个网络基础设施,以最大限度地减少数据传输瓶颈,最大限度地提高通信带宽,并确保低延迟。
以下是一些需要考虑的最佳实践:
未来可扩展性:设计网络时要考虑到可扩展性。选择一种拓扑结构和基础设施,以便随着生成式人工智能工作量的增加,能够容纳更多的节点和资源。
15.3 管理软件
协调:利用 Kubernetes 或 VMware Tanzu 等平台,实现工作负载部署、扩展和管理的自动化。
15.4 人工智能软件栈
InfiniBand 驱动程序:确保安装和配置正确的 InfiniBand 驱动程序,以充分利用高速网络。
15.5 并行性和优化
数据并行:利用数据并行性在 GPU 上分配训练数据,通过并发处理批次来加快训练速度。
15.6 部署灵活性
可扩展性:设计集群架构以适应未来的可扩展性需求,根据需要添加更多 GPU、服务器和网络资源。
通过遵循这些实践,您可以构建一个强大而高性能的生成式人工智能集群,充分利用 GPU 加速和 InfiniBand 网络加快复杂人工智能模型的训练和推理。