企业网站空间多大合适,wordpress is,广州信科做网站,网站开发策略基础知识
5分钟看懂电脑硬件配置 - 知乎 (zhihu.com)
显存
定义#xff1a;显存是显卡上的专用高速缓存#xff0c;用于存储图形处理器#xff08;GPU#xff09;在处理图像和视频数据时所需的临时数据。
功能#xff1a;显存的主要作用是提供GPU快速访问的数据存储显存是显卡上的专用高速缓存用于存储图形处理器GPU在处理图像和视频数据时所需的临时数据。
功能显存的主要作用是提供GPU快速访问的数据存储支持图形渲染和并行计算任务。
内存
定义内存RAM是计算机系统中的一种易失性存储器用于存储CPU执行程序时所需的临时数据。
功能内存为CPU提供快速访问的数据存储支持程序的运行和数据的处理。它是外存与CPU进行沟通的桥梁计算机中所有程序的运行都在内存中进行。
CPU
定义CPUCentral Processing Unit是计算机系统的核心处理器负责执行程序中的指令处理数据。
功能CPU通过读取内存中的数据执行指令完成计算和控制任务。它是信息处理和程序运行的最终执行单元。
GPU
定义GPUGraphics Processing Unit是图形处理器专门用于处理图形和图像数据以及进行并行计算。
功能GPU通过其大量的核心和高速显存能够高效地处理图形数据同时支持深度学习等并行计算任务。
显卡
定义显卡Graphics Card是一种专门用于处理图像和视频数据的硬件设备。
功能显卡的主要作用是将计算机中的数字信号转换为可以在显示器上显示的图像信号。它通常由处理器GPU、显存、电路板等部分组成。
大模型参数和数据量的单位
参数量的单位
参数量指的是模型中所有权重和偏置的数量总和。在大模型中参数量的单位通常以“百万”M或“亿”B也常说十亿来表示。
百万M表示一百万个参数。例如如果一个模型有110M个参数那么它实际上有110,000,000即1.1亿个参数。亿B表示十亿个参数。例如GPT-3模型有175B个参数即175,000,000,000即1750亿个参数。
数据量的单位
在大数据和机器学习的语境下数据量通常指的是用于训练或测试模型的数据的大小。数据量的单位可以是字节Byte、千字节KB、兆字节MB、吉字节GB等。
字节Byte是数据存储的基本单位。一个字节由8个比特bit组成。千字节KB等于1024个字节。兆字节MB等于1024个千字节也常用于表示文件或数据的大小。吉字节GB等于1024个兆字节是较大的数据存储单位。
在大模型中由于模型参数通常是以浮点数如float32存储的因此可以通过模型参数量来计算模型所需的存储空间大小。例如如果一个模型有1.1亿个参数并且每个参数用float32表示即每个参数占4个字节那么该模型所需的存储空间大约为44MB1.1亿×4字节/1024/1024。
bit比特bit是二进制数字中的位是信息量的最小单位。在二进制数系统中每个0或1就是一个bit。bit是计算机内部数据存储和传输的基本单位。在数据传输过程中通常以bit为单位来表示数据的传输速率或带宽。
字节Byte定义字节是计算机信息技术用于计量存储容量的一种单位也表示一些计算机编程语言中的数据类型和语言字符。字节通常由8个bit组成。字节是计算机中数据处理的基本单位。在存储数据时通常以字节为单位来表示数据的大小或容量。
bit和字节的关系1字节Byte等于8比特bit。在计算机科学中经常需要将数据的大小从字节转换为比特或者从比特转换为字节。例如在数据传输过程中如果知道数据的传输速率是以比特每秒bps为单位的那么可以通过除以8来将其转换为字节每秒Bps的单位。 分布式训练Distributed Training
是指将机器学习或深度学习模型训练任务分解成多个子任务并在多个计算设备上并行地进行训练。这里计算设备可以是中央处理器Central Processing UnitCPU、图形处理器Graphics Processing UnitGPU、张量处理器Tensor Processing UnitTPU也可以是神经网络处理器Neural network Processing UnitNPU。 单设备计算速度主要由单块计算加速芯片的运算速度和数据 I/O 能力来决定对单设备训练效率进行优化主要的技术手段有混合精度训练、算子融合、梯度累加等 分布式训练系统中计算设备数量越多其理论峰值计算速度就会越高但是受到通讯效率的影响计算设备数量增大则会造成加速比急速降低多设备加速比则是由计算和通讯效率决定需要结合算法和网络拓扑结构进行优化.分布式训练并行策略主要目标就是提升分布式训练系统中的多设备加速比。 分布式训练系统仍然需要克服计算墙、显存墙、通信墙等多种挑战以确保集群内的所有资源得到充分利用从而加速训练过程并缩短训练周期。
• 计算墙单个计算设备所能提供的计算能力与大语言模型所需的总计算量之间存在巨大差异。
• 显存墙单个计算设备无法完整存储一个大语言模型的参数。
• 通信墙分布式训练系统中各计算设备之间需要频繁地进行参数传输和同步。由于通信的延迟和带宽限制这可能成为训练过程的瓶颈。
计算墙和显存墙源于单计算设备的计算和存储能力有限与模型对庞大计算和存储需求之间存在 矛盾。这个问题可以通过采用分布式训练方法来解决但分布式训练又会面临通信墙的挑战。在 多机多卡的训练中这些问题逐渐显现。随着大模型参数的增大对应的集群规模也随之增加这些问题变得更加突出。同时在大型集群进行长时间训练时设备故障可能会影响或中断训练过 程对分布式系统的问题性也提出了很高要求。
AI集群
集群就是指一组若干个相互独立的计算机利用高速通信网络组成的一个较大的计算机服务系统每个集群节点即集群中的每台计算机都是运行各自服务的独立服务器。这些服务器之间可以彼此通信协同向用户提供应用程序系统资源和数据并以单一系统的模式加以管理。当用户请求集群系统时集群给用户的感觉就是一个单一独立的服务器而实际上用户请求的是一组集群服务器。
硬件组成AI集群通常包括高性能的CPU和GPU以及大量的RAM和存储空间。其中GPU尤其重要因为它们能够并行处理大量数据加速深度学习模型的训练过程。此外还需要集群网络RDMA远程直接数据存取网络是集群网络的首选这是一种高带宽低延迟的大规模通信网络非常适用于AI算力集群。
软件架构集群需要运行特定的软件如分布式计算框架如TensorFlow、PyTorch等这些框架能够协调不同节点上的计算任务。
从设备数上优化计算速率
分布式训练需要使用由多台服务器组成的计算集群完成分布式训练集群属于高性能计算集群集群的架构主要有两种常见架构参数服务器架构 Parameter ServerPS和去中心化架构Decentralized Network。
高性能计算集群的硬件组成
AI集群通信中的软硬件介绍-腾讯云开发者社区-腾讯云 (tencent.com)
带宽每一秒通信多少数据延迟通信的快慢 分布式训练服务器集群架构
AI集群P/S服务器架构
参数服务器Parameter ServerP/S架构已经成为现在AI集群、AI服务器中最常用的组网架构有了参数服务器PS架构之后训练大模型就需要解决模型参数同步的问题于是出现了各种各样的物理网络互联方式通过集合通信进行网络数据传输。而环是一种较优的网络拓扑通过Ring All Reduce算法可以有效地解决参数服务器之间的数据同步问题。 区别在于CPU完成2、3GPU0完成2、3每一个GPU完成2、3。
参数服务器架构分布式训练过程可以细分为同步训练和异步训练。
同步并行
白色的部分叫bubble 异步并行
橘色是反向传播蓝色是正向传播可以看到device 1在device 2还没有开始反向时候就已经进行了下一步的前向传播这样就会导致冲突。 环同步Ring Sychronization
GPU和GPU之间是通过NVLink来连接的不同的GPU之间有环连接。
百度提出的Scatter-reduce and all gather 去中心化架构
去中心化架构没有中央服务器或控制节点而是由节点之间进行直接通信和协调这种架构的好处是可以减少通信瓶颈,提高系统的可扩展性。可以减少通信墙的影响。其通常采用集合通信CC实现。常见通信原语有
Broadcast Scatter Reduce All-Reduce Gather All-Gather Reduce-Scatter All-to-All Pytorch - 分布式通信原语附源码 - 知乎 (zhihu.com)
从设备间加速比优化计算速率
数据并行
DataParallel(DP) DP里面只有一个优化器Optimizer这个优化器Optimizer只在Master GPU上进行参数更新当环境不再不在改变的时候其它GPU选择了躺平当GPU:0忙前忙后去分发数据、汇总梯度更新参数的时候其它GPU就静静躺着。
DistributedDataParallelDDP)
DDP采用多进程架构赋予了每个GPU更多的自由支持多机多卡分布式训练。每个进程都拥有自己的优化器Optimizer可独立优化所有步骤。每个进程中在自己的GPU上计算loss反向计算梯度。
模型并行MP
1.按模型的「layer层切分」到不同设备流水线并行
朴素流水线并行计算图中的下游设备Downstream Device需要长时 间持续处于空闲状态等待上游设备Upstream Device的计算完成才能开始计算自身的任务。这种情况导致了设备的平均使用率大幅降低形成了模型并行气泡。 2.将参数切分到不同设备张量并行
混合并行
BLOOM 使用了 Megatron-DeepSpeed 框架进行训练主要包含两个部分Megatron-LM 提供张量并行能力和数据加载原语DeepSpeed 提供 ZeRO 优化器、模型流水线以及常规的分布式训练组件。通过这种方式可以实现数据、张量和流水线三维并行。 DeepSpeed 实践
这个博客介绍的非常清晰一文读懂deepSpeed深度学习训练的并行化-CSDN博客
目前训练超大规模语言模型技术路线GPU PyTorch Megatron-LM DeepSpeed
DeepSpeed 提供了分布式计算框架几个重要的基础的概念节点编号、全局进程编号、局部进程编号、全局总进程数和主节点。DeepSpeed 主节点master_ipmaster_port负责协调所有其他节点和进程的工作由主节点所在服务器的 IP 地址和主节点进程的端口号来确定 主节点。主节点还负责监控系统状态、处理任务分配和结果汇总等任务因此是整个系统的关键 部分。节点编号node_rank是系统中每个节点的唯一标识符用于区分不同计算机之间的通信。 全局进程编号rank是整个系统中的每个进程的唯一标识符用于区分不同进程之间的通信。局部进程编号local_rank是单个节点内的每个进程的唯一标识符用于区分同一节点内的不同 进程之间的通信。全局总进程数word_size是整个系统中运行的所有进程的总数用于确定可 以并行完成多少工作以及需要完成任务所需的资源数量。
ZeROZero Redundancy Optimizer
内存优化技术ZeRO将模型的参数、梯度和优化器状态进行分片平均分配到所有的GPU中这样每个GPU只存储一部分数据从而减少了单个设备的内存需求。
Megatron-LM