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

视频分享在这:

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 | 百度智能云文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/148482.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

《概率论与数理统计》学渣笔记

文章目录 1 随机事件和概率1.1 古典概型求概率随机分配问题简单随机抽样问题 1.2 几何概型求概率1.3 重要公式求概率 2 一维随机变量及其分布2.1 随机变量及其分布函数的定义离散型随机变量及其概率分布(概率分布)连续型随机变量及其概率分布&#xff08…

Java之线程篇六

目录 CAS CAS伪代码 CAS的应用 实现原子类 实现自旋锁 CAS的ABA问题 ABA问题导致BUG的例子 相关面试题 synchronized原理 synchronized特性 加锁过程 相关面试题 Callable 相关面试题 JUC的常见类 ReentrantLock ReentrantLock 和 synchronized 的区别: 原…

《大学操作系统课程:开启计算机世界的关键之门》

在大学的计算机科学与技术专业中,操作系统课程犹如一把钥匙,为学子们打开了深入了解计算机系统运行机制的大门。 操作系统课程首先会带领你探索操作系统的基本概念。你会明白操作系统是一种系统软件,它管理着计算机的硬件资源和软件资源&…

win系统接入google_auth实现动态密码,加强保护

开源代码地址:windows动态密码: 针对win服务器进行的动态密码管控,需要配合谷歌的身份认证APP使用 (gitee.com) 为什么要搞个动态密码呢? 首先云服务器启用了远程访问,虽然更换了端口以及初始用户名,不过还是是不是被…

核心复现—计及需求响应的区域综合能源系统双层优化调度策略

目录 一、主要内容: 二、摘要介绍: 三、综合能源系统结构: 四、实际仿真运行结果: 五、 代码及数据下载: 一、主要内容: 在模型构建部分:建立了一个综合能源系统双层优化调度模型&#xf…

南京服务器测评【浪浪云】

前言 优质的服务器对于企业来说无疑是一把快速实现科技化成长的利剑。而南京,作为中国科技龙头之一的城市,也对服务器的需求愈发旺盛。而作为国内领先的云服务商,浪浪云致力于用科技培植企业的成长,其在南京的服务器便是企业数字化…

计算机毕业设计springboot+vue项目分享在线服务平台

目录 功能和技术介绍系统实现截图开发核心技术介绍:使用说明开发步骤编译运行需求分析系统设计软件测试核心代码部分展示详细视频演示源码获取 功能和技术介绍 本项目包含程序源码和MySql脚本和文档,idea开发,支持Eclipse。使用vue的本质是SpringFramework【IoC&am…

0基础跟德姆(dom)一起学AI 数据处理和统计分析07-分组和会员数据分析

向量化函数及Lambda表达式 * 分组操作相关 * 分组聚合 * 分组转换 * 分组过滤 * DataFrameGroupBy对象介绍 * 会员分析案例-数据透视表 --- 1.向量化函数 * 分析代码 python def avg_test2(x,y): if x20: return np.NaN else: retu…

【OSS安全最佳实践】对OSS内身份证图片中身份证号进行脱敏

为确保存储在私有OSS Bucket特定文件夹中包含中国内地身份证信息的PNG、JPG、JPEG、BMP或WEBP格式图片,在与其他用户共享时身份证信息不被泄露,可使用数据安全中心 DSC(Data Security Center)的图片脱敏功能。DSC目前仅支持对身份…

react hooks--useRef

基本用法 在类组件中获取一个dom元素实例,可以通过React.CreateRef或者回调函数的方式去获取。语法:const refContainer useRef(initialValue);使用场景:在 React 中进行 DOM 操作时,用来获取 DOM作用:返回一个带有 …

构建高可用和高防御力的云服务架构第五部分:PolarDB(5/5)

引言 云计算与数据库服务 云计算作为一种革命性的技术,已经深刻改变了信息技术行业的面貌。它通过提供按需分配的计算资源,使得数据存储、处理和分析变得更加灵活和高效。在云计算的众多服务中,数据库服务扮演着核心角色。数据库服务不仅负…

【C++高阶】深入理解C++ I/O流:标准库中的隐藏宝石

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C “ 登神长阶 ” 🤡往期回顾🤡:C 特殊类 🌹🌹期待您的关注 🌹🌹 ❀ C IO流 📒1. C语言的输入…

Stable Diffusion 优秀博客转载

初版论文地址:https://arxiv.org/pdf/2112.10752 主要流程图: Latent Diffusion Models(LDMs) DDPM是"Denoising Diffusion Probabilistic Models"的缩写, 去噪扩散概率模型 博客: 【论文阅读…

单发超快光场成像技术研究进展

摘要:单发超快光场成像技术能够在更广泛的条件下表征瞬态事件,为探索不可重复和难以再现的超快现象打开了大门,是探索未知领域必不可少的工具,具有巨大的科学技术应用价值。介绍近年来单发超快光场成像技术的研究进展,…

【Finetune】(三)、transformers之P-Tuning微调

文章目录 0、P-Tuning基本原理1、代码实战1.1、导包1.2、加载数据集1.3、数据集预处理1.4、创建模型1.5、P-tuning*1.5.1、配置文件1.5.2、创建模型 1.6、配置训练参数1.7、创建训练器1.8、模型训练1.9、模型推理 0、P-Tuning基本原理 P-Tuning的基本思想是在prompt-tuning的基…

预付费计量系统实体模型

1. 预付费计量系统实体模型 A generic entity model for electricity payment metering systems is shown in Figure 2. Although it provides a limited perspective, it does serve to convey certain essential concepts. 关于电子式预付费电表系统的实体模型见图 2…

如何选购笔记本电脑?要看哪些参数?

如何选购笔记本电脑?要看哪些参数? 文章目录 如何选购笔记本电脑?要看哪些参数?1、CPU(中央处理器)2、GPU(显卡)3、RAM(内存)4、硬盘5、屏幕6、散热7、接口8、…

前端工程化4:从0到1构建完整的前端监控平台

前言 一套完整的前端监控系统的主要部分: 数据上报方式数据上送时机性能数据采集错误数据采集用户行为采集定制化指标监控sdk 监控的目的: 一、数据上报方式 本文的方案是,优先navigator.sendBeacon,降级使用1x1像素gif图片…

Java | Leetcode Java题解之第417题太平洋大西洋水流问题

题目&#xff1a; 题解&#xff1a; class Solution {static int[][] dirs {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};int[][] heights;int m, n;public List<List<Integer>> pacificAtlantic(int[][] heights) {this.heights heights;this.m heights.length;this.n…

[数据结构与算法·C++] 笔记 2.1 线性表

线性结构 概念 二元组 B ( K , R ) B(K,R) B(K,R) K a 0 , a 1 , . . . , a n − 1 K{a_0,a_1,...,a_{n-1}} Ka0​,a1​,...,an−1​ ( R r R{r} Rr) 有一个唯一的开始结点&#xff0c;它没有前驱&#xff0c;有一个唯一的直接后继一个唯一的终止结点&#xff0c;它有一个…