- 2024-09-27
-
发表了主题帖:
《大模型时代的基础架构》阅读心得3—GPU集群
本帖最后由 乐悠刘 于 2024-9-27 17:59 编辑
第九章,GPU集群的网络虚拟化设计与实现,在第八章中阐述了一些GPU虚拟化调度方案,并且讲述了实现所需要的一些硬件复用需求、隔离性需求和可运营需求。第九章介绍了将GPU服务器等计算集群资源分配给不同租户时所需要的网络隔离,网络隔离技术也被称为“网络虚拟化技术",是云计算技术的核心技术。需要解决的技术问题是构建虚拟化网络、网络之间互联、访问物理节点等。在网络隔离方面,我了解到VPC(网络虚拟云),一种云计算服务,VPC网络又被称为“Overlay网络”。该技术基于SDN技术。SDN是一种将网络设备的控制平面与数据平面分离的网络架构,通过软件来实现对网络流量的灵活控制和管理。其核心思想在于通过标准化的接口(如OpenFlow)实现控制平面与转发平面的分离,从而简化网络管理,提高网络资源的利用率和灵活性。基于SDN的VPC技术具有高度灵活性、安全性、高效运维以及可扩展性等其他特点。VPC允许用户在公共云上创建一个独立的虚拟网络环境,该环境在逻辑上与公共云的其他部分隔离。用户可以在这个虚拟网络环境中自由配置IP地址段、子网、安全组等网络元素,以及申请弹性带宽和弹性IP来搭建业务系统,是一种创新的网络解决方案。此外,涉及到防火墙等网关功能书中介绍了SDN(Software Defined Network,软件定义网络)和NFV(Network Function Virtualization,网络功能虚拟化)的网关实现,SDN NFV网关的实现与部署是网络现代化和云化转型的关键步骤。我们要通过合理的技术架构设计和部署策略选择,充分发挥SDN和NFV的技术优势,实现网络资源的灵活调度、新业务的快速部署以及运维的简化。
第十章,GPU集群的存储设计与实现,机器学习中少不了持久化存储。在第十章中,作者介绍了三种存储,分别为分布式块存储、分布式对象存储以及分布式并发高性能存储。首先是分布式块存储,在早期的时候是集中式块存储,集中式在大规模集群下存在缺陷,后来发展出了分布式块存储。分布式块存储是一种扩展性的存储架构,它通过网络将多台独立的存储设备连接起来,形成一个统一的虚拟存储资源池,从而实现跨设备的数据分发和共享负载。分布式对象存储是一种先进的数据存储和管理技术,专门用于处理大规模数据集。它通过将数据分散存储在多个节点上,实现了高可用性、高性能和可扩展性,它可以采用基于HTTP的开放接口存取。分布式对象存储将数据切分成小块,并以对象的形式存储在不同的节点上,每个对象都具有唯一的标识符。这种存储方式允许数据在多个位置进行复制和冗余,以确保数据的可靠性和访问速度。分布式并发高性能存储是现代数据存储领域的一个重要发展方向,它结合了分布式系统的优势与高性能存储技术,以满足大数据时代对存储系统的高并发、高可用、可扩展性等需求。该技术将数据分散存储在多个物理节点上,通过网络连接构成一个虚拟的、统一的存储资源池,同时利用分布式技术和高性能存储硬件,实现高并发访问、高吞吐量、低延迟等性能要求。能够解决处理大量并发访问请求,确保系统在高负载下仍能保持稳定的性能。我们可以通过上述各种存储技术设计出高效、可扩展、可靠的GPU集群存储系统,为深度学习或高性能计算提供强有力的支持。
第十一章,机器学习应用开发与运行平台的设计与实现,在这一章中介绍了机器学习应用中还需要解决的一系列问题。首先介绍了微服务平台。在这里我认识了DNS,DNS域名系统是互联网的一项核心服务,它可以将域名和IP地址相互映射,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。DNS的可靠性和安全性对互联网的稳定运行至关重要。DNS的故障或攻击可能导致网站无法访问,对互联网用户和企业造成重大影响。第二节介绍了中间件服务,中间件服务是一种介于应用系统和系统软件之间的软件层,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,以达到资源共享、功能共享的目的。中间件服务并没有严格的定义,但普遍接受IDC的定义,即中间件是一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。书中还介绍了一些常见分类,如消息中间件用来屏蔽不同平台及协议之间的异构特性,实现应用程序之间基于数据交换的通信,支持异步消息传递,适用于系统解耦和跨地域跨组织的消息传递场景。还有数据访问中间件可以对异构环境下的数据库或文件系统实现联接的中间件,提供数据访问和缓存功能,适用于大量数据访问的应用场景。第三节介绍了应用日志服务,它是一种针对日志类数据提供的一站式服务,它涵盖了日志的采集、存储、查询、分析、可视化、告警以及消费投递等多个环节,旨在帮助企业或组织有效地管理和利用日志数据,提升运维和运营效率。应用日志服务可以进行日志采集、日志存储、日志查询与分析等多种功能,企业可以基于日志服务搭建日志平台,实现业务监控、运维与运营等。
第十二章,基于云平台的GPU集群的管理与运营,在这一章,作者介绍了GPU集群中运维与运营平台的相关事项。包括云运维平台、云运营平台和云审计平台。云运维平台是指对云计算平台进行管理和维护的系统或平台。它涵盖了云计算平台硬件、软件、网络和安全等方面的监控、维护、优化和升级,以确保云平台的高可用性、稳定性和安全性。云运维平台通过提供一体化、自动化、智能化的全面监控和运维服务,帮助企业应对数字化转型中复杂的IT运维挑战,提升运维效率。具有全面监控,智能告警,资源优化和系统健康检查等功能。云运营平台是在计算环境中管理、交付和使用软件的系统或平台,特别是在对应用程序底层基础架构的可见性有限的情况下。它利用持续集成和持续部署的DevOps原则,通过改进和优化在公共云中运行的业务流程来实现高可用性。有流程创建、工具选择和系统优化等功能,可以通过自动化和配置管理工具以及Docker、Mesos、Kubernetes等容器化技术,优化云平台的性能和资源利用率。云审计平台是一个实现各类审计信息数字化,促进信息交互和共享,使审计资源得到充分优化利用的综合性平台。它基于云计算服务构建,利用互联网审计技术和云计算技术将审计相关的各方联接在一起,实现协同作业。具有全生命周期管理、数据分析与展示、知识库与标准化和移动端应用等功能。云运维平台、云运营平台和云审计平台在云计算领域各自承担着不同的角色和功能,共同为企业数字化转型和业务发展提供有力支持。
第十三章,服务机器学习的GPU计算平台落地案例,转眼间就来到了最后一章,在阅读这个书的过程中,我感觉到受益匪浅,非常感谢主办方给我的这个机会,让我学会了许多。服务机器学习的GPU计算平台落地案例广泛存在于多个行业和领域,这些平台通过提供强大的GPU计算能力,加速了机器学习模型的训练和推理过程。在这一章中,介绍了一个世纪部署案例的分析。讲述了自动驾驶模拟训练的案例,当下自动驾驶是热点。有辅助驾驶、部分自动驾驶、条件自动驾驶、高度自我驾驶直至完全自我驾驶。后面讲述了计算需求分析与设计实现、存储需求分析与设计实现以及网络需求分析与设计实现。服务机器学习的GPU计算平台在多个行业和领域中都得到了广泛应用,并取得了显著成效。这些平台通过提供强大的算力支持和高效的工具链,推动了机器学习技术的快速发展和普及。
- 2024-09-02
-
发表了主题帖:
《大模型时代的基础架构》阅读心得2—学习GPU
本帖最后由 乐悠刘 于 2024-9-2 19:35 编辑
第五章,机器学习所依托的I/O框架体系,主要介绍了机器学习所依托的I/O框架体系,其中出现了许多我以前没有接触过的词语。首先是Magnum IO的引入。Magnum IO是NVIDIA发布的适用于现代GPU加速型数据中心的IO子系统。在分布式训练中,会遇到诸如GPU与其他GPU、与本地存储设备、与远端存储设备的交互等问题。Nvidia使用GPU Direct去解决该类问题,该技术可以实现GPU与其他设备之间的通信与数据传输,使其可以不涉及CPU。GPU Direct技术是Magnum IO架构中的一个重要组成部分。Magnum IO还需要的技术有DPDK(数据平面开发套件)、DPU(数据处理器)和MPI Tag Matching等技术。GPU Direct技术包括多个子技术,如GPUDirect Storage、GPUDirect RDMA、GPUDirect P2P(Peer-to-Peer,点对点)、GPU Direct Shared Memory等。其中GPU Direct P2P是一种优化的GPU通信技术,允许直接在不同GPU之间进行数据传输,避免了通过主机内存的额外开销。
此外,还有NVLink,它是NVIDIA开发的一种高速、高带宽的互连技术,用于连接多个GPU之间或GPU与其他设备如内存之间的通信。GPUDirect技术旨在优化GPU之间或GPU与第三方设备之间的数据传输,而NVLink则提供了一种更高速、更低延迟的连接方式。NVLink Switch是NVIDIA设计的一种交换芯片,它能够通过连接多个NVLink,实现GPU之间的全速通信。在深度学习领域,NVLink Switch能够支持多个GPU之间的快速数据传输和共享,从而加速模型的训练和推理过程。从书中的介绍可以看出,NVLink Switch是NVIDIA在GPU通信领域的一项重要技术,为高性能计算和大规模并行处理提供了强有力的支持。
然而对于跨服务器节点的GPU通信,无法采用NVLink。对此,书中介绍了RDMA,它是一种网络传输技术,基于IB网络,IB网络提供了包括RDMA在内的多种数据传输服务,是RDMA技术的一种重要实现方式,可用来进行高性能计算。目前RDMA有两种路线:IB和RoCE。RoCE基于以太网的RDMA实现,利用现有的以太网基础设施进行部署,降低成本,是Magnum IO的基石。
第六章,GPU集群的网络设计与实现,通过上一章的介绍,为这一章的学习打下了基础。GPU集群是一个由多台配备GPU的计算机(或服务器)通过高速网络连接而成的计算系统。为了充分发挥GPU集群的性能,需要实现三种网络:RoCE计算网络、存储网络和业务网络。在GPU集群中,RoCE计算网络主要用于支持GPU之间的高效通信和数据传输。业务网络重要负责GPU集群中各个节点之间的数据通信和交互,以支持各种计算任务和业务需求。存储网络主要负责GPU集群中数据的存储和访问,确保数据能够高效地传输到各个计算节点。第六章介绍了三张网络的不同需求和解决方案。书中介绍了两种实现思路:一种是使用第五章中介绍的IB网络实现RoCE计算网络,使用以太网实现存储网络和业务网络。另一种是三张网络均使用以太网来实现,并合并存储网络和业务网络,比较倾向于这种方法。在设计实现存储与业务网络时,则涉及根据以太网接口去考虑将存储与业务网络合并还是分离设计。此外,第六章还介绍了GPU集群中带外管理监控网络的设计实现,该部分有助于提高系统的可靠性和安全性,提高工作效率。还应设计网络边界,保证安全因素。
第七章,GPU板卡级算例调度技术,由于GPU卡的价格比较昂贵,故需要构建算力分配调度系统,将GPU资源分配给不同的任务使用。第七章中分别讲述了基于虚拟化技术和基于容器技术的GPU调度。在虚拟化技术部分介绍了KVM技术,其中提到了在第三章介绍的PCI-E,PCI-E是一种串行总线,具有很高的数据传输速率。KVM是支持PCI-E设备直通的,可以把一个PCI-E设备分配给一台虚拟机使用,实现GPU的调度。书中提到一些PCI-E设备直通的实现步骤以及硬件虚拟化技术。其中涉及了许多以前未曾接触的知识,读起来有些吃力。在基于容器技术的GPU调度中,书中提到云原生这个词,这个词语也是第一次接触,经查阅了解到其是一种软件开发和部署的方法,可以充分利用云计算的优势。书中也提到,云原生将应用拆分为微服务,将各微服务的可执行文件构建为容器镜像,再以容器化方式运行,再进行调度。越读越让人感受到科技的神奇力量和复杂程度。
第八章,GPU虚拟化调度方案,在这一章中阐述了GPU虚拟化实现的需求,此技术可以将GPU分享给其他应用。需求主要有三种。硬件复用需求、隔离性需求和可运营需求。可以用过时分复用和码分复用两种方式满足硬件复用需求。隔离性需求来保证虚拟化的各自独立运行。可运营需求则考虑到了租户的一种实际需求。随后书中介绍了一些厂商的虚拟化调度方案。首先讲的就是Nvidia的方案,Nvidia作为行业领头羊,其提出的多种方案如vCUDA、GRID vGPU以及MIG,引领了技术的发展方向。首先,Nvidia的vCUDA技术于2010年左右推出,通过在虚拟机中创建物理GPU的逻辑映像——虚拟GPU(vGPU),并在用户态拦截和重定向CUDA API调用,为GPU虚拟化提供了早期的基础框架。随后,Nvidia在2014年前后推出了GRID vGPU方案,作为vCUDA的进阶版。GRID vGPU采用了一种半虚拟化策略,通过虚拟化敏感资源和关键资源(如PCI-E配置空间和MMIO CSR),同时保留GPU显存的直通能力,从而在保证兼容性的同时,提升了调度的灵活性和性能。进入2020年,Nvidia又推出了MIG(Multi-Instance GPU)技术。
除了Nvidia之外,其他GPU生产商如AMD和Intel也在积极推动GPU调度方案的发展。这些技术的不断创新和发展,将为各种应用场景提供更加高效、灵活和安全的GPU资源利用方案。
通过阅读此书,让我了解到许多新的知识,受益匪浅。
- 2024-08-06
-
发表了主题帖:
《大模型时代的基础架构》阅读心得1—初识大模型基础
本帖最后由 乐悠刘 于 2024-8-6 20:21 编辑
很幸运有机会阅读到《大模型时代的基础架构》这本书,让我能够了解并学习当下的热点——大模型。为我下一步的学习阶段起到了一个很好的衔接作用。我在做本科毕设的时候接触到了YOLO系列算法,初步了解了数据集、训练、测试、推理以及服务器等。阅读本书的前四章,使我对之前的知识有了一个更深刻更明白的认识。以下是一些个人读书笔记。
在第1章中我了解到了AI时代的基础需求,还记得刚使用ChatGpt时的惊讶,后来也接触到了一些其他的问答AI大模型,深深叹服其的能力。没想到我开始了探究大模型原理之路。在第一章中作者介绍了一些常见的大模型,让我脑中对“大模型”这个词有了一个电子形象。作者还介绍了机器学习的基础知识,许多之前糊里糊涂的知识仿佛有了一个清晰的见解。见到之前毕设的训练和权重等字眼,才恍然大悟,原来我早已接触大模型。通过训练样本得到最好的训练权重,并使用该权重可以去进行测试和推理。之前毕设是云服务器进行,读了这本书或许我会对大模型对硬件的需求有一个更深的了解,明白通过什么样的硬件来实现机器算法。
首先需要知道的是CPU,CPU相当于计算机的大脑,评估一个CPU一般通过评价这个CPU是几核的(CPU core),CPU中的ALU(算术逻辑单元)支持乘法指令和加法指令,使这个计算机可以完成向量卷积运算,进而进行机器学习,这样的CPU也叫图灵完备的。然而技术是不断进步的,简单的CPU可能完成不了我们的一些任务,于是又有了PPU、GPU的问世,GPU又叫图形处理器。GPU是我们常说的显卡上的一块芯片,而显卡是包含GPU的一块集成电路板,GPU不等于显卡。GPU之后又出现了CUDA,每个GPU芯片内部都有一定数量的CUDA Core。技术不断变革,后又出现了擅长计算矩阵和向量的TPU,防止不必要的浪费。书中的插图1-9使我仿佛回到了大学上智能控制基础的课堂,前向传播与反向传播,知识串起来了!
第二章介绍了软件和硬件的结合。CUDA是一个为并行计算设计的编程框架,可以通过它调用GPU中的计算单元进行运算。CUDA的存在将CPU、GPU和系统主内存连接起来了。在这里还接触到了TensorFlow机器学习开发框架,它可以提升机器学习程序开发效率,支持分布式训练。
初步认识了这些基础知识后,第3,4章就开始对其内部硬件构造进行进一步的介绍。使读者有一个更深的见解。GPU的芯片内部可谓是复杂。书中列举了Nvidia H100 GPU为例向读者进行了介绍。它的核心芯片是Nvidia AH100。该卡上采用NVlink等多种互连技术,使GPU卡与外部相连。不得不感叹小小的芯片内部别有洞天,硬件的力量很强大。记忆深刻的是书中提到的核心部件SM(流式多处理器),它是运行CUDA内核的GPU的一部分。这也是GPU能够用来支撑机器学习程序的高效运行的原因之一。为了机器学习还需要搭建许多其他的服务平台,比如CPU,内存等,作者以此引入了第4章一台GPU服务器的搭建,这就不得不使我感叹做毕设的时候租用的云服务器和自己的电脑相比,简直云泥之别,速度非常快。借此书也让我对租用的服服务器有了初步了解。作者以Nvidia DGX A100为例作了介绍,它的内部配备了8个Nvidia A100 SXM GPU,这些GPU专为高性能计算和AI应用而设计。DGX A100采用了双路AMD Rome 7742处理器,每颗处理器拥有64个核心,总计128个核心。还配备了高速的NVMe SSD存储,以满足大数据处理和存储需求。可以看出来,NVIDIA DGX A100是一款集高性能GPU、CPU于一体的个人超级计算机,专为满足AI研究、深度学习等高性能计算任务而设计。
下一步我将继续学习如何保证数据读写和交换的效率。
- 2024-07-22
-
回复了主题帖:
读书活动入围名单:《大模型时代的基础架构:大模型算力中心建设指南》
个人信息无误,确认可以完成阅读分享计划。