当前位置: 首页 > news >正文

增量预训练经验积累(3)

站在巨人的肩膀上才能走的更远~本文主要是针对《千亿参数开源大模型 BLOOM 背后的技术》进行学习和提取关键经验。

1、BLOOM与Megatron-DeepSpeed

1.1 BLOOM训练细节

BLOOM 的模型架构与 GPT3 非常相似,只是增加了一些改进,176B BLOOM 模型的训练于 2022 年 3 月至 7 月期间,耗时约 3.5 个月完成 (约 100 万计算时),以下是其训练的一些细节信息。

硬件: 384 张 80GB A100 GPU
软件: Megatron-DeepSpeed
模型架构: 基于 GPT3
数据集: 含 59 种语言,共 3500 亿词元
训练时长: 3.5 个月

1.1.1 训练硬件
  • GPU: 384 张 NVIDIA A100 80GB GPU (48 个节点) + 32 张备用 GPU
  • 每个节点 8 张 GPU,4 条 NVLink 卡间互联,4 条 OmniPath 链路
  • CPU: AMD EPYC 7543 32 核处理器
  • CPU 内存: 每个节点 512GB
  • GPU 显存: 每个节点 640GB
  • 节点间连接: 使用 Omni-Path Architecture (OPA) 网卡,网络拓扑为无阻塞胖树
  • NCCL - 通信网络: 一个完全专用的子网
  • 磁盘 IO 网络: GPFS 与其他节点和用户共享
1.1.2 checkpoints
  • 主 checkpoints(https://huggingface.co/bigscience/bloom)
  • 每个 checkpoint 含精度为 fp32 的优化器状态和精度为 bf16+fp32 的权重,占用存储空间为 2.3TB。如只保存
    bf16 的权重,则仅占用 329GB 的存储空间。
1.1.3 数据集
  • 41.5TB 经过大量去重和清洗的文本,包含 46 种语言,最终转换为 350B 个词元
  • 模型的词汇表含 250,680 个词元
  • 更详细信息,请参阅 The BigScience Corpus A 1.6TB Composite Multilingual
    Dataset(https://openreview.net/forum?id=UoEw6KigkUn)

1.2 Megatron-DeepSpeed

176B BLOOM 模型使用 Megatron-DeepSpeed进行训练,它结合了两种主要技术:

  • DeepSpeed 是一个深度学习优化库,让分布式训练变得简单、高效且有效。
  • Megatron-LM 是由 NVIDIA 的应用深度学习研究团队开发的大型、强大的 transformer 模型框架。

DeepSpeed 团队通过将 DeepSpeed 库中的 ZeRO 分片和流水线并行 (Pipeline Parallelism) 与 Megatron-LM 中的张量并行 (Tensor Parallelism) 相结合,开发了一种基于 3D 并行的方案。有关每个组件的更多详细信息,请参见下表。

请注意,BigScience 的 Megatron-DeepSpeed 是基于原始 Me

http://www.lryc.cn/news/272513.html

相关文章:

  • R语言【CoordinateCleaner】——cc_dupl():根据物种名称和坐标以及用户定义的附加列删除或标记重复的记录
  • Hadoop安装笔记1单机/伪分布式配置_Hadoop3.1.3——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2:离线数据处理
  • python数据分析之交叉验证
  • 机器人技能学习--数据集剖析
  • Jenkins的Transfers路径怎么配置,解决Transfers配置不生效的问题
  • php安装扩展event 提示 No package ‘openssl‘ found 解决方法
  • 基于SpringBoot的动物领养平台的设计与实现
  • 计算机网络期末复习——计算大题(一)
  • 2024年深度学习、计算机视觉与大模型面试题综述,六大专题数百道题目
  • 解读 $mash 通证 “Fair Launch” 规则,将公平发挥极致
  • 06、docker 安装mysql8
  • 魔改Stable Diffusion,开源创新“单目深度估计”模型
  • 使用JAVA Zookeeper构建分布式键值存储
  • 2023-12-19 LeetCode每日一题(寻找峰值 II)
  • gin框架使用系列之五——表单校验
  • HackTheBox - Medium - Linux - Interface
  • C++ 字符串操作说明 续
  • [情商-7]:如何回答没有标准答案的两难问题
  • 对偶问题的基本性质
  • Google Chrome 现在会在后台扫描泄露的密码
  • 【Matlab】PSO-BP 基于粒子群算法优化BP神经网络的数据时序预测(附代码)
  • Linux 485驱动通信异常
  • mybatis配置与标签大全
  • Mysql的基本用法(上)非常详细、快速上手
  • 使用Vite创建React + TypeScript(node版本为16.17.0,含资源下载)
  • Springboot集成RabbitMq二
  • 机器学习笔记 - 基于Python的不平衡数据的欠采样技术
  • facebook广告的基础知识
  • java常见面试题:什么是异常?Java中的异常有哪些分类?
  • 类的加载顺序问题-demo展示