首页 > 其他分享 >GPU与国产芯片异构通信方案,异构万卡集群 初步调研

GPU与国产芯片异构通信方案,异构万卡集群 初步调研

时间:2024-09-22 09:21:07浏览次数:12  
标签:异构 训练 芯片 通信 万卡 GPU CPU

视频分享在这:

3.1异构万卡集群,GPU与国产计算卡芯片异构通信_哔哩哔哩_bilibili

国内已经有三家,实现了异构集群,GPU与国产芯片异构通信方案,初步调用结果如下。

异构集群的挑战

异构芯片间的混训主要面临两大挑战,一是异构卡通信库差异,导致异构卡之间通信难,二是异构卡之间性能差异,导致模型分布式训练低效。

1. 多芯片互通互联的复杂性:如何实现不同芯片间高效、稳定的通信;

2. 算力不均衡导致性能损失:不同芯片的计算能力存在天然的差异,这种不均衡性会直接影响到模型训练的整体效率,如何根据合理的并行策略进行任务的切分。

一、GPU与国产芯片异构通信方案

要实现异构万卡集群,那第一步就是实现不同计算卡间通信。异构通信方案如下。

1.1 基于CPU中转的异构通信

同构节点内部:GPU/国产计算芯片与CPU之间通过高速PCIe(Peripheral Component Interconnect Express)交换机进行通信。

跨节点:不同节点的CPU之间,通过IPoIB(IP over InfiniBand)适配器或者以太网,均可实现高效的数据传输。

具体通信流程:当模型参数需要从源GPU迁移到目标节点的异构GPU时,首先会经由PCIe通道,将数据从GPU复制到源节点的CPU,随后通过IPoIB或以太网跨越节点边界,抵达目标节点的CPU。在这里,数据再次借助PCIe的高速能力,被复制至目标GPU上,整个过程中,CPU起到了至关重要的中转与协调作用。

通过这一系列步骤,有效地规避了不同GPU间通信库差异带来的潜在障碍,尽管引入了额外的CPU-GPU数据拷贝开销,但这在很大程度上换取了异构混训系统的整体稳定性和兼容性,为大规模、跨架构的模型训练提供了坚实的基础。

1.2 无需CPU中转的异构通信 (直接芯片间RDMA)

基于RDMA(Remote Direct Memory Access)技术的通信架构,将不同计算芯片间通过InfiniBand(IB)网络进行高效数据交换。

同构节点内部:GPU/国产计算芯片与IB网卡之间通过高速PCIe(Peripheral Component Interconnect Express)交换机进行通信。

跨节点:不同节点,通过IB网卡,实现高效的数据传输。

二、国内异构通信集群

2.1 壁仞科技

壁仞科技将首次公布壁仞自主原创的异构GPU协同训练方案HGCT,业界首次支持3种及以上异构GPU混合训练同一个大模型,用一套统一方案支持多种不同型号、不同厂商的GPU,而且一行代码适配多种框架。

性能方面,HGCT混训方案的异构协同通信效率大于98%、端到端训练效率90-95%,一举突破了大模型异构算力孤岛难题。
可靠性上,目前可以实现千卡集群、千亿参数的自动断点续训小于10分钟,15天连续训练不中断,4天连续训练无故障。

支持3种及以上(壁仞GPU+英伟达GPU+其他国产芯片)异构GPU同时训练一个大模型。同时,目前壁仞科技打造的软硬一体、全栈优化、异构协同、开源开放的大模型整体解决方案可以实现千卡集群、千亿参数的自动断点续训小于10分钟,15天连续训练不中断,4天连续训练无故障。

2.2 无问芯穹

无问芯穹与清华、上交的联合研究团队发布了个针对大规模模型的异构分布式混合训练系统,这一系统解决了异构混训所面临的核心挑战。本文旨在深度解读无问芯穹在这两个挑战方向上的破局之道!

异构卡通信库的差异导致异构卡之间通信难,通常会成为大模型训练的瓶颈。不同厂商的GPU或AI芯片为了优化通信,通常会构建自己的通信库,在内部架构和通信接口上存在差异,导致不同通信库之间无法通信。这要求在构建大规模混合训练系统时,必须设计出高度兼容且高效的互联互通方案,确保多芯片间的高效、容错及稳定性通信,这需要复杂的软件栈支持和细致的网络配置,以最小化通信延迟和带宽瓶颈。

为了解决不同类型信显卡之间的通信问题,我们实现了无穹集合通信库(IHCCM),它支持基于CPU或者基于GPU的两种通信方式。

参考资料: 

混训算力利用率最高达 97.6%,这样的千卡异构混合训练系统是怎么炼成的?

无问芯穹发布全球首个支持单任务千卡规模异构芯片混合训练平台

2.3 百度 BCCL


BCCL 基于开源的 NCCL 进行了功能扩展和能力增强,针对大模型训练场景在可观测性、故障诊断、稳定性等方面进行优化,进一步提升集合通信库的可运维能力。同时,BCCL 针对百度智能云的特定 GPU 芯片进行了集合通信性能优化,进一步提升资源利用率。相比 NCCL,BCCL 的关键特性如下:

可观测性:新增集合通信带宽实时统计能力;

故障诊断:新增集合通信 hang 时的故障诊断能力;

稳定性:增强网络稳定性和故障容错能力;

性能优化:提升大模型训练主流 GPU 芯片的集合通信性能。

百度自研的BCCL,可以实现 GPU、昆仑芯等标准 RDMA 设备的互联互通。在已有 AI 算力集群的基础上,构建由GPU、昆仑芯、昇腾等不同芯片混合组成的单一集群。

百度百舸为了实现跨芯的互联互通,使用了CPU转发来实现跨昇腾910B子集群和GPU子集群的连接。

Accelerator抽象,屏蔽硬件差异充分发挥不同芯片的算力效能

Accelerator抽象层面向应用,屏蔽底层芯片在硬件层面的差异,将芯片算子与上层策略解耦开来,芯片厂商仅需要进行各自芯片的算子调优。百度百舸在GPU上沉淀的上层各项策略(比如通信overlap、显存offload、张量并行、数据并行等)都会平滑地迁移到各种芯片上,确保了各种国产芯片在百度百舸上能达到一个非常高的运行效率。

参考资料:  

专为大模型训练优化,百度集合通信库 BCCL 万卡集群快速定位故障

安装BCCL库 - 百舸异构计算平台AIHC | 百度智能云文档

标签:异构,训练,芯片,通信,万卡,GPU,CPU
From: https://blog.csdn.net/lianghuaju/article/details/142122616

相关文章

  • 制造业的异构系统集成解决方案
    企业通常会采用多个不同的业务系统来支持其运营,但这些系统往往来自不同的供应商,采用不同的技术架构和数据格式,形成了异构系统的格局。这种异构系统的存在给制造业企业带来了诸多问题,如信息孤岛、数据不一致、业务流程不顺畅等,严重影响了企业的运营效率和竞争力。制造业异构系......
  • 为大模型提供服务需要多少 GPU 显存?
    在几乎所有的LLM面试中,有一个问题总是会被提及:“**为大模型提供服务需要多少GPU显存?**”这不仅仅是一个随机的问题——它是一个关键指标,反映了你对这些强大模型在生产环境中部署和可扩展性的理解程度。当你使用GPT、LLaMA或任何其他LLM时,了解如何估算所需的GPU内存是至......
  • QT硬件异构计算
    QT硬件异构计算使用AI技术辅助生成1QT硬件异构计算概述1.1硬件异构计算概念1.1.1硬件异构计算概念硬件异构计算概念《QT硬件异构计算》正文硬件异构计算概念在进入具体的硬件异构计算概念之前,我们首先需要理解什么是硬件异构。硬件异构是指在一个计算系统中,存在着不......
  • 个人GPU云服务器是什么
    个人GPU云服务器是什么?简而言之,它是一种基于云计算平台的GPU服务器资源,为个人用户或小型团队提供,使用户能够通过互联网访问并利用这些资源执行高性能计算任务。这种服务背后的技术支撑,得益于云服务提供商的虚拟化技术。他们通过这一技术在数据中心部署和提供GPU云服务器,让用......
  • 带gpu的服务器为什么这么贵
    带GPU的服务器之所以昂贵,主要是由以下几个因素造成的:1.GPU硬件成本高端制程:GPU采用先进的半导体制造工艺,成本较高。研发投入:GPU的研发需要大量的资金投入,包括设计、测试和优化等。材料与制造:GPU的制造需要使用高性能的材料,且其复杂的设计导致制造成本较高。2.性能和功能并行处理......
  • 使用 腾讯云Windows GPU 云服务器搭建深度学习环境
    本文介绍如何使用WindowsGPU云服务器,通过云服务器控制台搭建深度学习环境。实例环境实例类型:GN8.LARGE56操作系统:WindowsServer2019数据中心版64位中文版CPU:Intel(R)Xeon(R)[email protected]*6vCPUsRAM:56GBGPU:TeslaP40*1驱动及相关库、软件版本:CUDA......
  • 使用腾讯云GPU云服务器对图像或视频进行超分辨率
    当今时代,人们对与图像与视频的分辨率要求越来越高,但是一些之前的图片或视频资源的分辨率却是比较堪忧,所以这里我们将会使用腾讯云的GPU服务器来对图像与视频进行超分辨率处理,用于修复一些分辨率较低的图像或视频。一、服务器的选购与远程连接这里我们使用的服务器是腾讯云的配置是6......
  • 使用 Docker 安装 TensorFlow 并设置 GPU/CPU 支持
    GPU云服务器(CloudGPUService)是基于GPU的快速、稳定、弹性的计算服务,主要应用于深度学习训练/推理、图形图像处理以及科学计算等场景。GPU云服务器提供和标准CVM云服务器一致的方便快捷的管理方式。GPU云服务器通过其强大的快速处理海量数据的计算性能,有效解放用户的计算......
  • 使用腾讯云 GPU 云服务器完成 blender 的动画图片渲染
    步骤1:准备环境系统环境blender在Windows上运行较为稳定易用,所以建议使用腾讯云的WindowsServer2019,已经预装好驱动前往blender官网安装blenderDownload—blender.org如果您希望只渲染,我们开发了一个专门用来blender渲染的软件:ArSrNaBlender渲染助手:https://www.arsrna.cn/app......
  • 使用腾讯云 GPU 云服务器训练 ViT 模型
    ViT模型简介ViT全称VisionTransformer,该模型由AlexeyDosovitskiy等人提出,在多个任务上取得SoTA结果。示意图如下:对于一幅输入的图像,ViT将其划分为多个子图像patch,每个patch拼接positionembedding后,和类别标签一起作为TransfomerEncoder的一组输入。而类别标签位......