AI大语言模型之分布式训练概述

news2024/9/24 17:09:44

一、前言

随着语言模型参数量和所需训练数据量的急速增长,单个机器上有限的资源已无法满足大语言模型训练的要求。需要设计分布式训练(Distributed Training)系统来解决海量的计算和内存资源需求问题。

在分布式训练系统环境下需要将一个模型训练任务拆分成多个子任务,并将子任务分发给多个计算设备,从而解决资源瓶颈。

但是如何才能利用包括数万计算加速芯片的集群,训练模型参数量千亿甚至是万亿的大规模语言模型?这其中涉及到集群架构、并行策略、模型架构、内存优化、计算优化等一系列的技术。

二、分布式训练概述

分布式训练(Distributed Training)是指将机器学习或深度学习模型训练任务分解成多个子任务,并在多个计算设备上并行地进行训练。

下图给出了单个计算设备和多个计算设备的示例,这里计算设备可以是中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、张量处理器(Tensor Processing Unit,TPU)也可以是神经网络处理器(Neural network Processing Unit,NPU)。

图片

由于同一个服务器内部的多个计算设备之间内存也可能并不共享,因此无论这些计算设备是否处于一个服务器还是多个服务器中,其系统架构都属于分布式系统范畴。

一个模型训练任务往往会有大量的训练样本作为输入,可以利用一个计算设备完成,也可以将整个模型的训练任务拆分成子任务,分发给不同的计算设备,实现并行计算。

此后,还需要对每个计算设备的输出进行合并,最终得到与单个计算设备等价的计算结果。由于每个计算设备只需要负责子任务,并且多个计算设备可以并行执行,因此其可以更快速地完成整体计算,并最终实现对整个计算过程的加速。

促使人们设计分布式训练系统的一个最重要的原因就是单个计算设备的算力已经不足以支撑模型训练。机器学习模型快速发展,从2013年AlexNet开始,到2022年拥有5400亿参数的PalM模型,机器学习模型以每18个月增长56倍的速度发展。模型参数规模增大的同时,对训练数据量的要求也指数级增长,这更加剧了对算力的需求。

近几年CPU的算力增加已经远低于摩尔定律(Moore’s Law),虽然计算加速设备(如GPU、TPU等)为机器学习模型提供了大量的算力,但是其增长速度仍然没有突破每18个月翻倍的摩尔定律。 为了能够满足机器学习模型的发展,只有通过分布式训练系统才可以匹配模型不断增长的算力需求。

2.1、分布式训练目标

分布式训练的总体目标就是提升总的训练速度,减少模型训练的总体时间。总训练速度可以用如下公式简略估计:

总训练速度 ∝ 单设备计算速度 X 计算设备总量 X 多设备加速比

单设备计算速度主要由单块计算加速芯片的运算速度和数据I/O能力来决定,对单设备训练效率进行优化,主要的技术手段有混合精度训练、算子融合、梯度累加等;

分布式训练系统中计算设备数量越多,其理论峰值计算速度就会越高,但是受到通信效率的影响,计算设备数量增大则会造成加速比急速降低;

多设备加速比则是由计算和通讯效率决定,需要结合算法和网络拓扑结构进行优化,分布式训练并行策略主要目标就是提升分布式训练系统中的多设备加速比。

2.2、典型的分布式训练模型

  • OPT模型训练使用了992块NVIDIA A100 80G GPU,采用全分片数据并行(Fully Sharded Data Parallel)以及Megatron-LM张量并行(Tensor Parallelism),整体训练时间将近2个月。
  • BLOOM模型的研究人员则公开了更多在硬件和所采用的系统架构方面的细节。该模型的训练一共花费3.5个月,使用48个计算节点。每个节点包含8块NVIDIA A100 80G GPU(总计384个GPU),并且使用4*NVLink用于节点内部GPU之间通信。节点之间采用四个Omni-Path 100 Gbps网卡构建的增强8维超立方体全局拓扑网络进行通信。
  • LLaMA模型训练采用NVIDIA A100-80GB GPU,LLaMA-7B模型训练需要 82432 GPU小时, LLaMA-13B模型训练需要 135168 GPU小时, LLaMA-33B模型训练花费了 530432 GPU小时,而LLaMA-65B模型训练花费则高达 1022362 GPU小时。

2.3、分布式训练需要克服的挑战

分布式训练系统仍然需要克服计算墙、显存墙、通信墙等多种挑战,以确保集群内的所有资源得到充分利用,从而加速训练过程并缩短训练周期。

  • 计算墙:单个计算设备所能提供的计算能力与大语言模型所需的总计算量之间存在巨大差异。2022年3月发布的NVIDIA H100 SXM的单卡FP16算力也只有 2000 TFLOPs,而 GPT-3 则需要 314 ZFLOPs 的总计算量,两者相差了 8 个数量级。
  • 显存墙:单个计算设备无法完整存储一个大语言模型的参数。GPT-3包含1750亿参数,在推理阶段如果采用FP32格式进行存储,需要700GB的计算设备内存空间,而 NVIDIA H100 GPU只有80GB显存。
  • 通信墙:分布式训练系统中各计算设备之间需要频繁地进行参数传输和同步。由于通信的延迟和带宽限制,这可能成为训练过程的瓶颈。GPT-3训练过程中,如果分布式系统中存在128个模型副本,那么在每次迭代过程中至少需要传输 89.6TB的梯度数据。而截止2023年8月,单个InfiniBand链路仅能够提供不超过800Gb/s 带宽。

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

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

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

相关文章

关于java中Excel的导入导出

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、配置pom依赖二、搭建utils工具类1.Excel表头设置表2.Excel导入导出工具类3.Excel导出配置4.Excel导入配置 三、添加user表和工具类使用方法1.user表设置2.工…

uni-app开发日志:新增页和修改页因字段太多用分段器实现分段分类

schema2code默认只能实现较为简单的分组,当填写项目较多的时候,肯定是用选项卡明确分段比较合适,这时候schema2code自生成的就没法实现了,摒着最最少的代码修改来尝试设置生成前的schema和生成后的vue页面。 一、schema设计 先把…

【Hot100】LeetCode—46. 全排列

目录 1- 思路回溯 2- 实现⭐46. 全排列——题解思路 3- ACM 实现 题目连接:46. 全排列 1- 思路 回溯 由于是排列问题,需要讲究元素顺序。元素相同顺序不同是不同的排列,而组合问题不强调元素顺序。组合中的 startIndex 是用来保证&#xff…

如何用Java SpringBoot+Vue打造法律援助平台?毕业设计全攻略

✍✍计算机毕业编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java、…

【区间dp】 CF607B Zuma 题解

题面翻译 Genos \texttt{Genos} Genos 最近在他的手机上下载了祖玛游戏。在祖玛游戏里,存在 n ( 1 ≤ n ≤ 500 ) n(1\leq n\leq 500) n(1≤n≤500) 个一行的宝石,第 i i i 个宝石的颜色是 C i C_i Ci​。这个游戏的目标是尽快的消灭一行中所有的宝石…

python 实现zellers congruence泽勒一致算法

zellers congruence泽勒一致算法介绍 Zeller’s Congruence(泽勒一致算法)是一种用于计算给定日期是星期几的算法。这个算法可以处理公历(Gregorian calendar)和儒略历(Julian calendar)日期。其核心公式如…

SpringBoot实战:Spring Boot项目使用SM4国密加密算法

引言 在业务系统构建与部署的环节中,数据库作为核心存储组件,其连接信息的安全至关重要。通常情况下,这些敏感信息,如数据库密码,会直接以明文形式存储在YAML配置文件中,这无疑增加了信息泄露的风险。为有效…

用EA和SysML一步步建模的操作指南(01)

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 对于许多学习SysML和MBSE的同学来说,比较头痛的问题之一是:各种各样的教程里给出的案例,图都是画好了的!如何从零开始用建模工具把模型画…

【企业级】像素流管理平台 V1.0

在当今快速发展的数字世界里,虚幻引擎的像素流技术为用户带来了前所未未有的视觉体验和交互方式。为了进一步提升开发效率和用户体验,我们【企业级】像素流管理平台 V1.0应运而生。通过一系列精心设计的功能,这个平台不仅简化了开发流程&…

解锁流量密码!财谷通助力抖音小店优势最大化!

在数字经济蓬勃发展的今天,电商平台如雨后春笋般涌现,其中,抖音小店以其独特的短视频直播模式,成为了众多商家和消费者青睐的新宠。而提及四川财谷通信息技术有限公司在抖音平台上开设的小店,其可靠性更是备受瞩目。本…

初识AOP

Spring有两个核心的概念,一个是IOC/DI,一个是AOP。 AOP是在不改原有代码的前提下对其进行增强。 对于下面的内容,我们主要就是围绕着这一句话进行展开学习,主要学习两方面内容AOP核心概念,AOP作用: 1 什么是AOP? AOP(Aspect O…

【2024】10个好用的AI搜索引擎大盘点

在2024年,随着人工智能技术的飞速发展,AI搜索引擎已经成为我们日常生活中不可或缺的一部分。这些基于人工智能技术的搜索引擎不仅提供了更快速、更准确的搜索体验,还通过自然语言处理(NLP)和机器学习(ML&am…

ECharts tooltip默认html样式,保留样式只对数据数值格式化

之前遇到过需要对数据进行百分比展示,echarts提供的默认样式还是挺好的所以想保留样式,但是设置了formatter默认样式就没了,所以写了formatter的html字符串模拟还原了一下默认样式,在此记录和分享。 适用场景:对数据进…

Datawhale X 李宏毅苹果书 AI夏令营 task1

3.1 局部极小值与鞍点 在深度学习的优化过程中,模型的损失函数可能会在某些点处停止下降,即使我们希望进一步降低损失。这一章节探讨了导致这一现象的原因,包括局部极小值、鞍点,以及其他临界点。理解这些概念能够帮助优化神经网…

注册资本登记新规14问

2023年12月29日修订的《公司法》第四十七条规定,全体股东认缴的出资额由股东按照公司章程的规定自公司注册成立之日起五年内缴足。根据这个规定,存量公司注册资本缴纳期限如何调整还需要进一步明确规定。 就在新公司法正式实施的同一天,2024…

AI新格式超越SD,更轻更快的Flux

随着《黑神话悟空》的横空出世,全民“天命人”大杀四方。 与此同时,AI绘画大模型领域也是群雄逐鹿。 Stable Diffusion作为开源AI绘画大模型鼻祖,推出了SD3,但因为加入了对身体的限制(防止涩涩)&#xff…

【架构-24】XML和JSON

XML(可扩展标记语言)和JSON(JavaScript对象表示法)是两种常用的数据格式,用于在不同系统之间传输和交换数据。它们各有优点和缺点,适用于不同的场景。下面是对XML和JSON的简要介绍以及它们之间的对比。 XM…

武汉流星汇聚:亚马逊第二季度业绩斐然,第三季度展望充满积极动能

在全球电商与科技巨头竞相角逐的舞台上,亚马逊再次以亮眼的财报数据证明了其行业领导者的地位。近日,亚马逊公布的2024财年第二季度财报不仅彰显了公司在复杂经济环境下的稳健增长能力,更为投资者和消费者描绘了一幅充满希望的未来图景。 第…

Mac 笔记本折腾mac windows Linux 三系统(全网独一份)

1.正常安装 mac 可以使用启动盘或者在线恢复 按下并松开电源按钮以将Mac 开机,松开电源按钮按 Option-Command-R 安装最新软件 将整个盘进行抹掉安装,为后面安装windows 进行准备 2.bootcamp 安装 win11,选择系统镜像,我这里最新…

STM32(F103ZET6)第六课:定时器

目录 定时器需求一、系统滴答定时器1.配置流程2.程序配置 二、基本定时器1.TIM6定时器配置1.时钟源使能2.分频器3.装载值4.计数器使能5.打开定时器中断并配置6.中断函数编写 三、通用定时器TIM2 定时器需求 1.使用系统滴答定时器实现LED灯的翻转(0.5s翻转一次&…